De nombreux clients de 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 trouvé le début de leurs premiers projets de traduction de sites Web quelque peu déconcertant. Ils se demandaient souvent pourquoi ils ne pouvaient afficher que l'URL de la page d'accueil dans la liste de traduction et comment créer des traductions de leur contenu.
Cela indiquait 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, il nous manquait une solution concrète à ce moment-là.
Le résultat, comme vous l'aurez sans doute deviné, a été l'introduction de la fonctionnalité de gestion des URL. Elle 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 des traductions basée sur les URL, plus adaptable et plus puissante. Maintenant, nous pensons qu'il est temps de révéler l'histoire derrière la création de cette fonctionnalité.
Le début du verrouillage de 2020 dû à la pandémie m'a offert la chance d'apprendre enfin le langage de programmation Golang qui avait été mis à l'écart en raison de contraintes de temps.
Développé par Google, Golang ou Go gagne 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 un code efficace, fiable et simultané. Sa simplicité prend en charge l'écriture et la maintenance de programmes étendus et compliqués sans sacrifier la vitesse.
En réfléchissant à un éventuel projet parallèle pour me familiariser avec Golang, un robot d'indexation m'est venu à l'esprit. Il répondait aux critères mentionnés et offrait potentiellement une solution aux utilisateurs de ConveyThis. Un robot d'indexation, ou « bot », est un programme qui visite un site web pour en 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 simplifier le processus de génération des traductions. Actuellement, les utilisateurs doivent consulter leur site web dans une langue traduite pour les générer, une tâche fastidieuse pour les grands sites multilingues.
Bien que le prototype initial fût simple – un programme qui prenait une URL en entrée et commençait à explorer le site – il s'est avéré rapide et efficace. Alex, directeur technique de ConveyThis, a perçu le potentiel de cette solution et a donné le feu vert à la recherche et au développement pour affiner le concept et réfléchir à l'hébergement du futur service de production.
Lors du processus de finalisation du robot d'exploration Web, nous nous sommes retrouvés aux prises avec les nuances de différents CMS et intégrations. La question s'est alors posée : comment pouvons-nous présenter au mieux le bot à nos utilisateurs ?
Au départ, nous avons envisagé l'approche éprouvée consistant à utiliser AWS avec une interface de serveur Web. Cependant, plusieurs problèmes potentiels sont apparus. Nous avions des incertitudes sur la charge du serveur, l'utilisation simultanée par plusieurs utilisateurs et notre manque d'expérience avec l'hébergement du programme Go.
Cela nous a conduit à envisager un hébergement sans serveur. Cette solution 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. Nous n'avions donc pas à nous soucier de la capacité du serveur, puisque chaque requête s'exécutait dans son propre conteneur isolé.
Cependant, en 2020, l'informatique sans serveur était limitée à 5 minutes. Cela s'est avéré un problème pour notre bot qui pourrait potentiellement être amené à explorer de grands sites de commerce électronique avec de nombreuses pages. Heureusement, début 2020, AWS a étendu la limite à 15 minutes, bien que l'activation de cette fonctionnalité se soit 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 des messages AWS.
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.
Afin d'optimiser l'interactivité, 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 indispensable pour une telle fonctionnalité, je souhaitais que nos utilisateurs reçoivent un retour immédiat dès la mise en service du bot.
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 au bot pour la communication avec le serveur websocket et l'automatisation du 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. Au fil des 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 pour l'avenir, car le bot offre de nouvelles opportunités. Nous souhaitons réécrire notre outil de comptage de mots pour une meilleure efficacité et potentiellement l'utiliser pour le réchauffement du cache. J'espère que vous avez apprécié cet aperçu de l'univers technologique de ConveyThis autant que j'ai aimé le partager.
La traduction, bien plus que la simple connaissance des langues, est un processus complexe.
En suivant nos conseils et en utilisant ConveyThis , vos pages traduites trouveront un écho auprès de votre public, se sentant natives de la langue cible.
Même si cela demande des efforts, le résultat est gratifiant. Si vous traduisez un site web, ConveyThis peut vous faire gagner du temps grâce à la traduction automatique.
Essayez ConveyThis gratuitement pendant 3 jours !