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

Rendez votre site Web multilingue en 5 minutes
Transmettrecette démo
Transmettrecette démo
My Khanh Pham

My Khanh Pham

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

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'avez peut-être deviné, a été l'introduction de la fonctionnalité de gestion des URL. Il permet aux utilisateurs de scanner 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é.

921

Adopter Golang : le parcours de ConveyThis vers des services de traduction améliorés

922

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 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 de scanner leur site et de récupérer toutes les URL. De plus, nous voulions rationaliser le processus de génération des traductions. Actuellement, les utilisateurs doivent visiter leur site Web dans une langue traduite pour les générer, une tâche qui devient intimidante pour les grands sites multilingues.

Bien que 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, CTO de ConveyThis, 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 à l'hébergement du 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.

923

Le voyage vers les communications de bot interactives en temps réel avec ConveyThis

924

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.

Visant 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 obtiennent 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 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 plans futurs 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.

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 résonneront auprès de votre public, se sentant natives de la langue cible.

Bien que 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 !

dégradé 2