Exécutez votre propre service de traduction basé sur Raspberry Pi avec LibreTranslate

Exécutez votre propre service de traduction basé sur Raspberry Pi avec LibreTranslate

Être capable de traduire instantanément des mots, des phrases et des documents est un élément essentiel de la vie en ligne et hors ligne au 21e siècle. Alors que Google Translate est préinstallé sur la plupart des téléphones Android, beaucoup de gens ne veulent pas qu’une agence de publicité intrusive sache combien de cervezas ils commandent dans un bar de Barcelone ou la nature exacte de leurs activités à Aguascalientes.

Avec LibreTranslate, vous pouvez héberger votre propre service de traduction sur un Raspberry Pi, ce qui facilite la traduction de plusieurs langues loin des yeux des géants de la technologie trop intéressés.

Pourquoi ne pas utiliser Google Traduction ?

Google Traduction sur un téléphone Android

Si vous êtes le genre de personne qui héberge déjà un tas de sites et de services sur un Raspberry Pi, vous avez probablement déjà une réponse à cela. Vous essayez de rompre avec la grande technologie et de développer une sorte d’autonomie numérique sans rien perdre de la fonctionnalité et de la facilité qui accompagnent la vie dans une société technologiquement développée.

Il est facile d’accepter les améliorations de la qualité de vie offertes par Google et d’autres géants de la technologie, et d’ignorer les violations flagrantes de la vie privée, la divulgation de données et la dépendance acquise à un écosystème dont vous pouvez être éjecté à tout moment.

Nous avons récemment couvert des projets d’auto-hébergement Raspberry Pi pour remplacer les services courants, notamment :

  • Jellyfin va créer un serveur de streaming multimédia
  • Mycroft pour créer votre propre assistant virtuel activé par la voix
  • Bibliothèque audio pour diffuser des livres audio
  • Comment créer un serveur de messagerie basé sur Raspberry Pi
  • FreshRSS comme moyen d’obtenir des nouvelles
  • Et diverses alternatives Google Photos auto-hébergées.

Jusqu’à récemment, vos options de traduction de mots, de phrases et de documents étaient limitées, mais vous pouvez désormais exécuter votre propre service de traduction basé sur Pi, accessible depuis n’importe quel appareil.

Qu’est-ce que LibreTranslate ?

LibreTranslate est une API de traduction automatique gratuite et open source, qui a été publiée en 2020, avec des images ARM64 compatibles Raspberry Pi en décembre 2022. Le projet est entièrement auto-hébergé, avec son moteur de traduction alimenté par la bibliothèque open source Argos Translate, plutôt que Google ou Azure.

Si vous exécutez LibreTranslate sur votre Raspberry Pi, vous pouvez accéder aux traductions via des applications FOSS dédiées ou via une interface Web accessible avec n’importe quel navigateur.

Comment installer LibreTranslate sur votre Raspberry Pi

LibreTranslate ne fonctionnera pas sur n’importe quel Raspberry Pi car il nécessite une bonne puissance de traitement et les images ne sont disponibles que pour ARM64, plutôt que pour les versions 32 bits antérieures. Assurez-vous donc que vous disposez d’un Raspberry Pi 4B exécutant un système d’exploitation 64 bits récent.

Il existe plusieurs façons d’installer LibreTranslate sur votre Raspberry Pi, mais le moyen le plus simple consiste à utiliser Docker Compose, car il vous permet de gérer facilement le service, ainsi que d’extraire et de mettre à jour lorsque de nouvelles images sont publiées.

Connectez-vous à votre Raspberry Pi en utilisant Secure Shell (SSH), puis mettez à jour tous les logiciels installés :

sudo apt update
sudo apt upgrade

Si vous n’avez pas installé Docker et Docker Compose, vous devez les installer maintenant. Vous aurez également besoin de Git.

sudo apt install git

Assurez-vous d’être dans votre répertoire personnel, puis clonez le dépôt LibreTranslate GitHub :

cd ~
git clone https://github.com/LibreTranslate/LibreTranslate.git

Déplacez-vous dans le nouveau répertoire :

cd LibreTranslate

Et puis entrez :

docker-compose up -d --build

Remarque : Si vous exécutez déjà un service via le port 5000, vous devrez modifier le fichier docker-compose.yml :

nano docker-compose.yml

… et définissez un nouveau port inutilisé.

Docker Compose téléchargera les images Docker et exécutera des scripts pour configurer vos conteneurs LibreTranslate. Ce processus peut prendre plus d’une demi-heure, alors profitez-en pour nettoyer votre espace de travail. Une fois terminé, vous serez renvoyé à l’invite de commande.

Accédez à LibreTranslate sur votre réseau local

LibreTranslate sur l'interface Web de Raspberry Pi

Si vous n’avez pas modifié le port dans votre Docker Compose, l’interface Web de votre instance LibreTranslate sera disponible sur votre réseau local à your.pi.local.ip.address:5000 , et vous pourrez y accéder via votre navigateur.

Écrivez ou collez votre texte dans la zone de gauche et la sortie traduite apparaîtra dans la zone de droite. Par défaut, la langue de saisie est l’anglais, mais vous pouvez sélectionner parmi 29 langues dans la liste déroulante, ou même demander à LibreTranslate de détecter automatiquement la langue. Les langues prises en charge incluent l’irlandais, le catalan et l’azerbaïdjanais, ainsi que des langues européennes et asiatiques plus courantes.

La traduction est effectuée instantanément au fur et à mesure que le texte est saisi, ce qui signifie que vous n’avez pas besoin d’appuyer sur Retour ou d’appuyer sur d’autres boutons. Si le texte que vous souhaitez traduire se trouve dans un fichier, cliquez sur le bouton bien visible Traduire le fichier , puis cliquez sur le bouton de téléchargement turquoise pour choisir votre fichier. Les formats de fichiers pris en charge incluent. SMS,. odt,. odp,. docx,. pptx,. epub,. html.

Il n’y a pas de limite à la taille du texte à traduire, mais vous pouvez facilement définir une limite de caractères en modifiant votre fichier docker-compose.yml .

Accéder à LibreTranslate sur Internet

Il y a de fortes chances que lorsque vous avez désespérément besoin d’un logiciel de traduction, vous soyez dans le monde, loin de votre Raspberry Pi, et essayant désespérément de négocier un trajet en taxi de l’aéroport à votre AirBnB.

La première chose à faire est de vous assurer que vous pouvez accéder à votre Pi depuis l’extérieur de votre réseau domestique. Visitez la page d’administration de votre routeur (généralement à 192.168.1.1) et recherchez la section Gestion des ports . Créez une nouvelle entrée pour les requêtes HTTP.

Définissez les ports local et public sur 80 et l’adresse IP locale sur l’adresse IP de votre Raspberry Pi. Un deuxième port ouvert est requis pour les requêtes HTTPS. Définissez à la fois le port local et le port public sur 443 , et encore une fois, l’adresse IP locale sur l’adresse IP de votre Pi.

Choisissez un nom de domaine ou un nom de sous-domaine auprès d’un bon registraire de domaine. À partir de la page des paramètres du bureau d’enregistrement, recherchez les options « DNS avancé » et ajoutez un nouvel enregistrement A. Définissez le champ Hôte sur « @ » et le champ de valeur sur votre adresse IP personnelle. Définissez la valeur TTL (Time to Lease) aussi basse que possible, puis enregistrez.

De retour sur le Pi, installez Apache :

sudo apt install apache2

Démarrez et activez Apache avec les commandes suivantes :

sudo systemctl start apache2
sudo systemctl enable apache2

Activez les modules proxy d’Apache avec :

sudo a2enmod proxy
sudo a2enmod proxy_http

Changez maintenant de répertoire et créez un nouveau fichier de configuration :

cd /etc/apache2/sites-available
sudo nano libretranslate.conf

Dans le nouveau fichier, collez les lignes suivantes :

<VirtualHost *:80>
ServerName your-domain-name.tld
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http:/127.0.0.1:5000/
ProxyPreserveHost On
</VirtualHost>

Enregistrez et quittez nano avec Ctrl + O, puis Ctrl + X , et activez votre nouveau fichier conf avec :

sudo a2ensite libretranslate.conf

…et redémarrez Apache.

sudo service apache2 restart

Pour vous assurer que vos traductions sont cryptées en transit et non ouvertes aux espions, vous devez utiliser Certbot pour récupérer les clés de cryptage et les certificats de sécurité. Installez-le avec :

sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt-get install python3-certbot-apache

Exécutez Certbot :

sudo certbot

…et redémarrez Apache.

sudo service apache2 restart

Vous pouvez désormais accéder à votre LibreTranslate depuis n’importe quel navigateur à l’adresse https://votre-nom-de-domaine.tld .

Accédez à votre instance LibreTranslate avec une application

Il est facile d’accéder à votre traducteur alimenté par Pi lors de vos déplacements. Si vous êtes un utilisateur Android, vous pouvez télécharger LibreTranslator depuis le Google Play Store ou depuis F-Droid . Si vous utilisez un iPhone, vous pouvez trouver LiTranslate dans l’App Store .

Ouvrez les paramètres de l’application et entrez votre domaine dans le champ « URL du serveur personnalisé ». Le texte à traduire va dans le champ supérieur et la traduction apparaît en bas de l’écran. C’est tout ce qu’on peut en dire.

Tirez le meilleur parti de votre traducteur hébergé Raspberry Pi

Avec une vaste gamme de traductions linguistiques à votre disposition, vous pouvez voyager partout dans le monde en étant sûr que vous serez en mesure de demander votre chemin, de commander de la nourriture et de tenir des conversations avec les habitants.

Lorsque vous faites le tour du monde, vous pouvez prendre des photos et les télécharger automatiquement depuis votre téléphone vers une instance Raspberry Pi PhotoPrism auto-hébergée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *