Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

Api - traduction


SailorEudes

Messages recommandés

Pour avoir accès à cette image, merci de vous connecter.

 

Bien le bonjour moussaillon, et bienvenue à toi sur un nouveau tutoriel passionnant et assez complexe à la fois.

Aujourd'hui, après quelques mois d'absence, je reviens vers toi pour te partager un script que j'ai créé, sur lequel j'ai passé 5h, et qui s'avérait être inexistant sur la toile.

 

Pour avoir accès à cette image, merci de vous connecter.

 

Oui, aujourd'hui, tu vas apprendre à intégrer en PHP/JSON l'API

Pour avoir accès à ce lien, merci de vous connecter.

sur ton site internet, ce qui te permettra de proposer à tes internautes, la possibilité de traduire proprement et dans le respect de l'art ton site internet.

 

Ce tutoriel fait suite à un autre tutoriel que j'avais présenté par le passé sur HabboDev, et qui reste accessible

Pour avoir accès à ce lien, merci de vous connecter.

.

 

Citation

Information hors contexte mais tout de même importante avant de commencer :

 

Swayn (Chris), a définitivement quitté le monde d'Habbo pour se consacrer à sa vie, à son travail et à sa compagne, ce qui fait qu'il a supprimé tous ses comptes virtuels (Discord, Snap, Facebook, Téléphone ....) et qu'il n'est plus joignable par ces canaux. Étant donné que c'est un ami à moi, qui m'a permis de venir sur HabboDev, je vais bientôt te quitter aussi, et quitter la communauté d'HabboDev pour me consacrer moi aussi à ma vie "réelle".

Ce tutoriel signe donc la lignée de mes derniers tutoriels passés et/ou à prévoir.

 

Nous pouvons maintenant commencer !

 

 

Pour avoir accès à cette image, merci de vous connecter.

Citation

DeepL est un service de traduction automatique en ligne de la société DeepL GmbH, qui a été lancé le 28 août 2017 par l'équipe de Linguee. Le service permet de traduire onze langues formant 110 combinaisons de langue à langue (allemand, anglais, français, néerlandais, polonais, russe, italien, espagnol, portugais, japonais, chinois simplifié).

 

Ce service utilise des réseaux de neurones convolutifs constitués sur la base de données Linguee. À l’en croire, au moment de la publication, DeepL dépasserait ses concurrents dans des tests à l’aveugle, entre autres Google Traduction, Microsoft Traduction et Facebook. Il serait aussi plus précis et plus nuancé pour une rapidité égale à ses concurrents.

 

Depuis décembre 2018, les traductions vers le russe et le portugais sont également disponibles. Le 19 mars 2020, les traductions en chinois simplifié et en japonais ont été ajoutées.

Son principe se fonde sur un robot d'indexation de collecte de traductions déjà existantes sur les sites internet.

 

En août 2018, la barre des 20 millions de personnes utilisatrices est franchie. Au 12 mai 2019, 21,8 % du trafic vient d'Allemagne, 17,4 % de France, 10 % d'Espagne, 7,9 % de Suisse et 4,1 % de Pologne.

 

Source :

Pour avoir accès à ce lien, merci de vous connecter.

 

 

Pour avoir accès à cette image, merci de vous connecter.

 

Une documentation complète et officielle est accessible à ce lien :

[hide]

Pour avoir accès à ce lien, merci de vous connecter.

[/hide]

 

 

Pour avoir accès à cette image, merci de vous connecter.

 

Pour pouvoir intégrer l'API Deepl à ton site internet, il te faudra un minimum de connaissances dans le domaines des

Pour avoir accès à ce lien, merci de vous connecter.

, du

Pour avoir accès à ce lien, merci de vous connecter.

et/ou du 

Pour avoir accès à ce lien, merci de vous connecter.

.

 

De plus, la mauvaise nouvelle, c'est qu'il te faudra un compte "Développeur" afin de pouvoir avoir accès à une clé d'authentification qui te permettra par la suite d'utiliser l'API sur ton site internet, malheureusement, l'abonnement coûte 5€/mois puis  20,00 € pour 1 000 000 de caractères traduits (tu as de la marge).

 

Ensuite, la bonne nouvelle, c'est que Deepl propose 1 mois GRATUIT à tous les nouveaux utilisateurs, ce qui te permettra de pouvoir au moins tester l'API, t'entraîner, voir peut-être par la suite, l'utiliser pour des clients potentiels (si tu es freelance) ou tout simplement pour la future entreprise pour laquelle tu travailleras.

 

Lien des tarifs (Section Développeur) : 

Pour avoir accès à ce lien, merci de vous connecter.

 

Enfin, rien ne t'oblige à utiliser cet API, car il existe bien d'autres manières pour pouvoir proposer un système de traduction à tes futurs internautes, mais il faut tirer que du positif de ce tutoriel, car, en plus de te sortir de ta zone de confort, il t'enseignera des rudiments du code qui te seront importants pour la poursuite de tes études et/ou de ton apprentissage dans le développement.

 

CURL, et les TABLEAUX sont des fondamentaux en PHP.

 

Une personne se prétendant "Développeur" et ne sachant pas les utiliser, est une personne qui est vouée à l'échec dans ce domaine.

 

Nous pouvons commencer !

 

  • Etape I - Choisir une méthode

Tu vas devoir déjà faire un choix entre la méthode CURL et la méthode HTTPREQUEST pour pouvoir consommer ton API.

Citation

Pense-bête

Curl est fourni avec PHP, HTTPRequest est une extension

Pour avoir accès à ce lien, merci de vous connecter.

séparée.

Il est donc beaucoup plus probable que CURL soit installé sur ta plate-forme cible, ce qui est à peu près le facteur décisif pour la plupart des projets, et pour ce tutoriel.

 

  • Etape II - Convertir CURL et/ou HTTPREQUEST en PHP

 

Si tu es plus expérimenté, je te laisse la possibilité de faire à ta manière, voici en tout cas les informations à consommer pour 1 mot à traduire :

 

- Méthode Curl

curl https://api.deepl.com/v2/translate \ 
-d auth_key=[yourAuthKey] \ 
-d "text=Hello, world"  \ 
-d "target_lang=FR"

 

- Méthode HTPPREQUEST

POST /v2/translate?auth_key=[yourAuthKey]> HTTP/1.0
Host: api.deepl.com
User-Agent: YourApp
Accept: */*
Content-Length: 54
Content-Type: application/x-www-form-urlencoded

auth_key=[yourAuthKey]&text=Hello, world&target_lang=FR

 

Si tu es moins expérimenté, nous allons partir sur la méthode CURL et la convertir en PHP :

 

- Méthode Curl 

 

curl https://api.deepl.com/v2/translate \ 
-d auth_key=[yourAuthKey] \ 
-d "text=Hello, world"  \ 
-d "target_lang=FR"

Tu vas utiliser un convertisseur déjà existant grâce à

Pour avoir accès à ce lien, merci de vous connecter.

, et coller le code ci-dessus dans la case prévue à cet effet (c'est magique, et plutôt rapide ;)).

 

Tu devrais avoir ce résultat :

// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.deepl.com/v2/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "auth_key=[yourAuthKey]&text=Hello, world&target_lang=FR");

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

 

  • Etape III - Paramétrer le code PHP

Si tu comprends bien l'Anglais, et que tu as un minimum de compétences dans ce domaine, tu dois déjà avoir trouvé les paramètres à modifier dans le code.

 

Sinon, je vais t'éclairer :

Citation

Remplacer : [yourAuthKey]

Par : Ta clé d'authentification que tu peux visualiser

Pour avoir accès à ce lien, merci de vous connecter.

après t'être inscrit, connecté et avoir souscrit à l'abonnement "Développeur".

Citation

Remplacer : Hello, world

Par : Un mot que tu souhaites traduire

Citation

Remplacer : FR

Par : Le code

Pour avoir accès à ce lien, merci de vous connecter.

de la langue vers laquelle tu veux traduire ton mot

 

Et voilà, tu as fini de paramétrer ton code !

 

  • Etape IV - Convertir le JSON vers le BRUT

Et maintenant, il va falloir afficher ton mot traduit, et pour cela, tu vas devoir jouer avec du JSON et du PHP :

 

<?php

// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.deepl.com/v2/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "auth_key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx&text=Hello, world&target_lang=FR");

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

$translatedWords = json_decode($result, true); // Décoder le mot
$result = $translatedWords['translations'][0]['text']; // Chercher le mot

echo $result; // Afficher le mot

 

Et voilà, ton site est bien connecté à Deepl !

 

 

Pour avoir accès à cette image, merci de vous connecter.

 

Si tout s'est bien passé; et que tu as bien suivi le tutoriel, ceci devrait s'afficher :

 

Pour avoir accès à cette image, merci de vous connecter.

 

 

Pour avoir accès à cette image, merci de vous connecter.

 

Et enfin, comme d'habitude, si tu as eu la flemme de suivre le tutoriel et que tu préfères le direct, voici le lien de téléchargement du code :

 

[hide]

index.php

 

[/hide]

 

 

Eh voilà moussaillon, ce sujet touche enfin à sa fin !

J'espère qu'il te sera utile, et que tu proposeras aux utilisateurs d'inshare, une version améliorée de ce script afin de le faire perdurer dans le temps !

 

En attendant, je te souhaite une bonne continuation, et un bon courage pour la suite, et que la mer soit avec toi !

spacer.png

  • J'aime 1
  • J'adore 2
Lien à poster
Partager sur d’autres sites

Le 17/07/2020 à 21:55, Arwantys a dit :

Sinon il y a déjà ça de partagé : 

Pour avoir accès à ce lien, merci de vous connecter.

 

Merci pour cette autre méthode qui est tout autant intéressante.

 

Le but de ce tutoriel, c'était principalement de faire quelque chose de plutôt simple, car toutes les personnes présentent sur HabboDev, sont pour la plupart là pour apprendre et pas pour se lancer sur des choses trop complexes en somme.

spacer.png

Lien à poster
Partager sur d’autres sites

  • 6 mois plus tard...
  • 1 an plus tard...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...