À l'intérieur de ConveyThis Tech : Création de notre robot d'exploration de sites Web

Rendez votre site Web multilingue en 5 minutes
2024
Mise en œuvre la plus rapide
2023
Performant
2022
Meilleur support

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 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 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é.

Adopter Golang : ConveyThis' Voyage vers des services de traduction améliorés

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 projet parallèle potentiel 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 aux utilisateurs ConveyThis. Un robot d'exploration Web 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 de scanner 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.

Même si le prototype initial était 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é le 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 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 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 l'é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é 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.

Le parcours vers des communications interactives en temps réel avec des robots 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 souhaitais que nos utilisateurs reçoivent un retour immédiat dès que le bot commençait à 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 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 apporte de nouvelles opportunités. Nous visons à 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 du monde technologique de ConveyThis autant que j'ai aimé le partager.

Prêt à commencer ?

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 des heures grâce à la traduction automatique.

Essayez ConveyThis gratuitement pendant 7 jours !

CONVEYTHIS