Flutter Templates

Comment créer une application de traduction vocale IA en utilisant Flutter et Back4App

30min

Introduction

Dans ce tutoriel, vous apprendrez à créer une application de traduction vocale AI en utilisant Flutter comme framework frontend et Back4App comme service backend. L'application permettra aux utilisateurs de traduire la parole, le texte et les images dans plusieurs langues. Elle comportera des fonctionnalités de traduction alimentées par l'IA, de reconnaissance optique de caractères (OCR) et de reconnaissance vocale. À la fin de ce tutoriel, vous aurez construit une application capable de gérer des traductions en temps réel et de stocker l'historique sur Back4App pour une utilisation future.

Prérequis

Pour compléter ce tutoriel, vous aurez besoin de :

  • Un compte Back4App. Inscrivez-vous pour un compte gratuit sur Back4App.
  • Flutter SDK installé sur votre machine locale. Suivez le guide d'installation de Flutter.
  • Connaissances de base en Dart et Flutter. Si vous êtes nouveau sur Flutter, consultez la documentation de Flutter avant de continuer.
  • Un compte avec un fournisseur d'API de traduction comme Google Cloud Translation ou DeepL.
  • Familiarité avec les API REST et la programmation asynchrone en Dart.

Étape 1 — Configuration de votre backend Back4App

Dans cette étape, vous allez configurer une application Back4App, définir les modèles de données et configurer le backend pour stocker l'historique des traductions, les langues et les données des utilisateurs.

1.1. Créer une nouvelle application sur Back4App

  1. Connectez-vous à votre tableau de bord Back4App.
  2. Cliquez sur "Créer une nouvelle application".
  3. Entrez un nom d'application (par exemple, "Traducteur Vocal IA") et sélectionnez votre icône d'application.
  4. Choisissez votre emplacement de serveur si cela vous est demandé.
  5. Cliquez sur "Créer".

1.2. Récupérer les clés de l'application

  1. Accédez à Paramètres de l'application > Sécurité et clés dans le tableau de bord de votre application.
  2. Notez l'ID de l'application et la clé client. Ceux-ci seront nécessaires pour la configuration de l'application Flutter.

1.3. Définir vos modèles de données

Nous allons créer les classes suivantes dans Back4App :

  • Utilisateur (par défaut)
  • Traduction
  • Langue
  • Phrase
  • EntréeDuDictionnaire

1.3.1. Créer la classe de traduction

  1. Allez à Base de données > Navigateur.
  2. Cliquez sur "Créer une classe".
  3. Choisissez "Personnalisé" et nommez-le Traduction.
  4. Cliquez sur "Créer une classe".

Ajoutez les colonnes suivantes à Traduction:

  • utilisateur (Pointer<_User>): Pointe vers l'objet Utilisateur.
  • langueSource (String): Code de la langue source.
  • langueCible (String): Code de la langue cible.
  • texteSource (String): Le texte original à traduire.
  • texteTraduit (String): Le texte traduit.
  • typeDeTraduction (String): Type de traduction (voix, texte, image).
  • horodatage (DateTime).

1.3.2. Créer la classe Langue

  1. Répétez les étapes pour créer une nouvelle classe nommée Langue.

Ajoutez les colonnes suivantes à Langue:

  • nom (String): Le nom de la langue (par exemple, "Anglais").
  • code (String): Code ISO de la langue (par exemple, "en").
  • flagIconUrl (String): URL de l'image du drapeau représentant la langue.

1.3.3. Créer la classe Phrase

  1. Créez une classe nommée Phrase.

Ajoutez les colonnes suivantes à Phrase:

  • catégorie (Chaîne) : La catégorie de la phrase (par exemple, "Salutations").
  • langueSource (Chaîne) : Code de la langue source.
  • langueCible (Chaîne) : Code de la langue cible.
  • texteSource (Chaîne) : La phrase originale.
  • texteTraduit (Chaîne) : La phrase traduite.

1.3.4. Créer la classe DictionaryEntry

  1. Créer une classe nommée DictionaryEntry.

Ajoutez les colonnes suivantes à DictionaryEntry:

  • mot (Chaîne) : Le mot étant défini.
  • langue (Chaîne) : La langue du mot.
  • définition (Chaîne) : La définition du mot.
  • exemples (Tableau) : Phrases d'exemple utilisant le mot.

1.4. Définir les autorisations au niveau de la classe

Assurez-vous que seuls les utilisateurs authentifiés peuvent accéder à leurs propres données :

  1. Pour chaque classe, allez à Sécurité > Autorisations au niveau de la classe (CLP).
  2. Définissez le CLP pour permettre l'accès en lecture/écriture uniquement aux utilisateurs authentifiés.

Étape 2 — Initialiser votre projet Flutter

Dans cette étape, vous allez configurer un projet Flutter et le configurer pour se connecter à Back4App.

2.1. Créer un nouveau projet Flutter

Ouvrez votre terminal et exécutez :

Bash


Naviguez vers le répertoire du projet :

Bash


2.2. Ajouter les dépendances requises

Ouvrez pubspec.yaml et ajoutez les dépendances suivantes :

YAML


Exécutez flutter pub get pour installer les paquets.

2.3. Initialiser Parse dans votre application Flutter

Créez un nouveau fichier lib/config/back4app_config.dart:

Dart


Remplacez 'VOTRE_ID_APPLICATION' et 'VOTRE_CLE_CLIENT' par les clés de Back4App.

In lib/main.dart, initialize Parse:

Dart


Create lib/app.dart:

Dart


Step 3 — Implementing Text Translation

The first feature to implement is basic text translation.

3.1. Configure Translation Service

Create lib/services/translation_service.dart to manage interactions with a translation API (Google Cloud Translation API or DeepL).

Dart


3.2. Implement Language Model

Create lib/models/language.dart to represent supported languages.

Dart


3.3. Créer l'écran de traduction de texte

Créer lib/screens/text_translation_screen.dart pour gérer l'entrée de texte et la traduction :

Dart


Étape 4 — Mise en œuvre de la traduction vocale

Dans cette étape, vous ajouterez la traduction vocale en intégrant la reconnaissance vocale et la synthèse vocale fonctionnalités.

4.1. Configurer la reconnaissance vocale

Créer lib/services/speech_recognition_service.dart en utilisant le speech_to_text paquet :

Dart


4.2. Ajouter la synthèse vocale (TTS)

Créer lib/services/tts_service.dart en utilisant le flutter_tts paquet :

Dart


4.3. Créer l'écran de traduction vocale

Créer lib/screens/voice_translation_screen.dart pour gérer la traduction vocale :

Dart


Étape 5 — Mise en œuvre de la Traduction d'Image (OCR)

5.1. Configurer le Service OCR

Créer lib/services/ocr_service.dart en utilisant le google_ml_kit paquet :

Dart


5.2. Créer l'écran de traduction d'image

Créer lib/screens/image_translation_screen.dart pour gérer l'entrée d'image et l'OCR :

Dart


Étape 6 — Historique des traductions et livre de phrases

Dans cette étape, vous allez implémenter la sauvegarde de l'historique des traductions et la gestion d'un livre de phrases.

6.1. Sauvegarder l'historique des traductions

Mettre à jour lib/services/translation_service.dart pour enregistrer l'historique des traductions dans Back4App:

Dart


6.2. Implémenter le carnet de phrases

Créer lib/screens/phrase_book_screen.dart pour gérer les phrases courantes:

Dart


Conclusion

En suivant ce tutoriel, vous avez construit une application AI Voice Translator App riche en fonctionnalités avec Flutter et Back4App. Vous avez implémenté :

  • Traduction de texte de base et avancée.
  • Traduction voix à voix utilisant speech recognition et text-to-speech.
  • Traduction image à texte utilisant OCR.
  • Gestion de l'historique des traductions et un livre de phrases pour les expressions courantes.

Prochaines étapes

  • Améliorer l'UI/UX: Améliorer l'interface de l'application pour une expérience utilisateur plus fluide.
  • Améliorer la gestion des erreurs: Ajouter une gestion des erreurs et des mécanismes de secours pour les échecs d'API.
  • Implémenter le mode hors ligne: Mettre en cache les traductions, phrases et historiques courants pour un accès hors ligne.
  • Déployer l'application: Préparer l'application pour le déploiement sur les plateformes iOS et Android.