← Retour aux réalisations Application mobile · Automobile

Application mobile V. Parrot Garage

Une application mobile Flutter connectée à l’API du Garage V. Parrot pour consulter, filtrer et explorer les véhicules disponibles.

Application mobile V. Parrot Garage
PROJET

Le projet

Une application Dart et Flutter consommant l’API Symfony du garage, avec recherche de véhicules, filtres avancés, fiches détaillées, galeries d’images et formulaire de contact pour les demandes d’information.

Architecture Mobile & Écosystème Flutter

Application mobile cross-platform développée avec Flutter et Dart pour iOS et Android. Elle s'intègre directement à l'API REST de la plateforme web Symfony du Garage V. Parrot pour offrir aux utilisateurs mobiles une recherche de véhicules d'occasion fluide, tactile et ultra-rapide.

┌─────────────────────────────────────────────────────────────────────────────┐
│              V. Parrot Garage Mobile App — Flutter & Dart                   │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                       │
           ┌───────────────────────────┼───────────────────────────┐
           ▼                           ▼                           ▼
  📱 UI & State Management      📡 API Client & HTTP         💾 Local Cache & Offline
  • Flutter Material 3 Widgets • Symfony REST Connector    • CachedNetworkImage
  • Multi-criteria range slider • JSON Model Deserializer   • SQLite / SharedPreferences
  • Touch carousel gestures     • Async HTTP Error recovery • Offline catalog inspection
  • 1-Tap native dialer (tel:)  • Post lead contact payload • Network connectivity guard
            

Codebase Unique iOS & Android

Développement multiplateforme haute performance avec widgets Material 3 natifs et animations 60 FPS.

Connecteur API REST Symfony

Synchronisation asynchrone en temps réel avec le catalogue de véhicules et l'arborescence des marques.

Génération de Leads Mobile

Passerelle directe vers le composeur d'appels natif (tel:) et formulaire de contact pré-rempli lié au véhicule.

1. Modules Fonctionnels & Expérience Utilisateur

Conçue pour transformer les consultations mobiles en prises de contact directes avec le garage :

Filtres Multi-Critères Tactiles

Curseurs doubles tactiles pour ajuster les plages de prix, de kilométrage et d'année sans latence.

Fiche Détaillée & Carrousel d'Images

Visionneuse plein écran avec gestes de balayage (swipe), zoom photo et liste complète des équipements.

Prise de Contact & Réservation d'Essai

Envoi immédiat d'une demande de devis ou de visite avec transmission automatique de l'ID du véhicule.

Horaires d'Ouverture & Géolocalisation

Consultation instantanée des horaires hebdomadaires et guidage GPS vers l'atelier de réparation.

2. Stack Technique & Conception Logicielle

  • Framework & Langage: Flutter 3.x & Dart avec compilation native ARM pour iOS et Android.
  • Couche Réseau HTTP: Client HTTP asynchrone avec gestion des timeouts, désérialisation JSON et gestion des erreurs de connexion.
  • Gestion d'État: Architecture réactive séparant la logique métier des composants visuels de l'interface.
  • Gestion du Cache Médias: Mise en cache intelligente des vignettes photos pour une consultation fluide même avec un réseau limité.

3. Endpoints API REST Consommés

L'application mobile communique avec les points d'entrée JSON exposés par le backend Symfony :

Method Endpoint URL Usage dans l'Application Mobile Traitement des Données
GET /api/vehicules Chargement du catalogue des véhicules d'occasion avec filtres JSON Array (Desérialisation Dart Model)
GET /api/marques-modeles Remplissage des sélecteurs dépendants de marques et modèles Arborescence hiérarchique Marques & Modèles
POST /api/contact Transmission de la demande de contact liée au véhicule consulté { nom, email, tel, message, vehiculeId }

4. Matrice des Performances Techniques

Composant Mobile Implémentation Technique Bénéfice Utilisateur
Moteur Multiplateforme Flutter 3.x + Dart Cross-Platform Engine Expérience Native Fluidité maximale et rendu identique sur iPhone et smartphones Android
Flux Asynchrone HTTP Client + Asynchronous Stream Listeners Zéro Blocage L'interface reste toujours réactive pendant les requêtes réseau
Cache Images CachedNetworkImage + Lazy Disk Storage Économie de Données Chargement instantané des véhicules déjà consultés
Passerelle Téléphonique url_launcher (tel:, mailto:) Conversion Rapide Appel du garage en 1 clic sans avoir à composer manuellement le numéro

Consulter le Dépôt du Projet Mobile

Explorez le code source de l'application mobile Flutter sur GitHub.

Voir le Code Flutter sur GitHub ↗