Améliorer l'expérience utilisateur : ConveyThis présente la gestion des URL

De nombreux clients ConveyThis préfèrent que toutes les URL de leur site Web soient correctement traduites, ce qui peut être une tâche exigeante, en particulier pour les sites volumineux traduits en plusieurs langues.
Les commentaires des utilisateurs ont montré que certains clients ont constaté le début de leur première traduction du site web projets quelque peu déroutants. Ils se demandaient souvent pourquoi ils ne pouvaient consulter que l’URL de la page d’accueil dans la liste de traduction et comment créer des traductions de leur contenu.
Cela indique un domaine potentiel d’amélioration. Nous avons vu une opportunité de faciliter un processus d’intégration plus fluide et une gestion de projet plus efficace. Cependant, nous manquions à ce moment-là d’une solution concrète.
Le résultat, comme vous l’auriez peut-être deviné, a été l’introduction de la fonctionnalité de gestion des URL. Il permet aux utilisateurs d'analyser les URL de leur site Web et de générer leur contenu traduit via le tableau de bord ConveyThis, rapidement et efficacement.
Récemment, cette fonctionnalité a été déplacée de la liste de traduction vers une nouvelle page de gestion de traduction basée sur des URL, plus adaptable et plus puissante. Nous pensons maintenant qu’il est temps de révéler l’histoire derrière la création de cette fonctionnalité.
Adopter Golang : ConveyThis’ Voyage vers des services de traduction améliorés

Le début du confinement de 2020 dû à la pandémie m’a offert la chance d’apprendre enfin le langage de programmation Golang qui avait été mis de côté en raison de contraintes de temps.
Développé par Google, Golang ou Go a gagné en popularité ces dernières années. Langage de programmation compilé statiquement, Golang a été conçu pour permettre aux développeurs de créer du code efficace, fiable et simultané. Sa simplicité permet l'écriture et la maintenance de programmes étendus et complexes sans sacrifier la vitesse.
En réfléchissant à un éventuel projet parallèle pour me familiariser avec Golang, un robot d’exploration Web m’est venu à l’esprit. Il répondait aux critères mentionnés et offrait potentiellement une solution pour les utilisateurs ConveyThis. Un robot d'exploration Web ou ‘bot’ est un programme qui visite un site Web pour extraire des données.
Pour ConveyThis, notre objectif était de développer un outil permettant aux utilisateurs d'analyser leur site et de récupérer toutes les URL. De plus, nous souhaitions rationaliser le processus de génération de traductions. Actuellement, les utilisateurs doivent visiter leur site Web dans une langue traduite pour les générer, une tâche qui devient ardue pour les grands sites multilingues.
Bien que le prototype initial soit simple – un programme qui prend une URL en entrée et commence à explorer le site – il était rapide et efficace. Alex, ConveyThis’ CTO, a vu le potentiel de cette solution et a donné son feu vert à la recherche et au développement pour affiner le concept et réfléchir à la manière d'héberger le futur service de production.
Naviguer dans la tendance sans serveur avec Go et ConveyThis

Lors du processus de finalisation du robot d'exploration Web, nous nous sommes retrouvés aux prises avec les nuances des différents CMS et intégrations. La question s'est alors posée – comment pouvons-nous présenter au mieux le bot à nos utilisateurs ?
Dans un premier temps, nous avons envisagé l’approche éprouvée consistant à utiliser AWS avec une interface de serveur Web. Toutefois, plusieurs problèmes potentiels sont apparus. Nous avions une incertitude quant à la charge du serveur, à l’utilisation simultanée par plusieurs utilisateurs et à notre manque d’expérience avec l’hébergement de programmes Go.
Cela nous a amené à envisager un scénario d’hébergement sans serveur. Cela offrait des avantages tels que la gestion de l’infrastructure par le fournisseur et une évolutivité inhérente, ce qui en faisait une solution idéale pour ConveyThis. Cela signifiait que nous n’avions pas à nous soucier de la capacité du serveur puisque chaque requête fonctionnerait dans son propre conteneur isolé.
Cependant, en 2020, l’informatique sans serveur était limitée à 5 minutes. Cela s'est avéré être un problème pour notre bot qui pourrait potentiellement être amené à explorer de grands sites de commerce électronique comportant de nombreuses pages. Heureusement, début 2020, AWS a étendu la limite à 15 minutes, même si l’activation de cette fonctionnalité s’est avérée être une tâche difficile. Finalement, nous avons trouvé la solution en déclenchant le code sans serveur avec SQS – le service de mise en file d'attente de messages AWS.
Le voyage vers les communications interactives en temps réel avec ConveyThis

Alors que nous résolvions le dilemme de l’hébergement, nous avions un autre obstacle à surmonter. Nous disposions désormais d’un bot fonctionnel, hébergé de manière efficace et évolutive. La tâche restante consistait à relayer les données générées par le bot à nos utilisateurs.
Dans le but d'une interactivité maximale, j'ai opté pour une communication en temps réel entre le bot et le tableau de bord ConveyThis. Bien que le temps réel ne soit pas une exigence pour une telle fonctionnalité, je voulais que nos utilisateurs reçoivent un retour immédiat dès que le bot a commencé à fonctionner.
Pour y parvenir, nous avons développé un simple serveur websocket Node.js, hébergé sur une instance AWS EC2. Cela a nécessité quelques ajustements du bot pour communiquer avec le serveur WebSocket et automatiser le déploiement. Après des tests approfondis, nous étions prêts à passer à la production.
Ce qui a commencé comme un projet parallèle a finalement trouvé sa place dans le tableau de bord. Grâce aux défis, j’ai acquis des connaissances en Go et perfectionné mes compétences dans l’environnement AWS. J'ai trouvé Go particulièrement bénéfique pour les tâches de mise en réseau, la programmation coopérative et l'informatique sans serveur, compte tenu de sa faible empreinte mémoire.
Nous avons des projets d’avenir car le bot apporte de nouvelles opportunités. Notre objectif est de réécrire notre outil de comptage de mots pour une meilleure efficacité et de l'utiliser potentiellement pour le réchauffement du cache. J'espère que vous avez apprécié cet aperçu du monde technologique de ConveyThis’ autant que j'ai aimé le partager.
À lire aussi : Ajout de Google Translate à votre site Web WordPress