Trip Builder
Trip Builder logo

Trip Builder

Plateforme de recherche de vols pour trajets aller simple et aller-retour avec tri, filtres pratiques, autocomplétion d'aéroports et génération automatisée de données via CLI.

Trip Builder est un service web concentré sur la construction d'itineraires pour un passager unique, avec une architecture orientée backend. Le projet a d'abord été réalisé comme test technique PHP backend, puis a évolué vers un produit complet avec interface publique, logique de recherche et endpoints REST API simulant des intégrations avec des services externes de voyage.

Du point de vue produit, la valeur clé est la rapidité et la clarté de recherche de vols: l'utilisateur définit points de départ/arrivée, dates, classe cabine et détails passager, puis affine les résultats avec des critères utiles sans perdre le contexte. La version en production est disponible sur trip-builder.tarasov.ca, et le code source est maintenu dans le dépôt GitHub.

#Logique de recherche aller simple et aller-retour

La plateforme supporte les trajets aller simple du point A vers le point B et les parcours aller-retour composés de deux segments (A vers B, puis B vers A). Le classement des résultats repose sur des priorités de réservation concrètes: prix du billet, durée totale, plages de départ et plages d'arrivée.

Formulaire principal de recherche de vols aller simple et aller-retour

Le même modèle de recherche reste disponible sur la page de résultats pour modifier rapidement les paramètres sans revenir à l'écran d'accueil.

Barre de parametres sur page de resultats pour modifications rapides

#UX du formulaire: dates et autocomplétion aéroports

La sélection de dates utilise un calendrier adapté aux scénarios aller simple et aller-retour, ce qui limite les erreurs sur les combinaisons de départ/arrivée.

Calendrier de selection des dates de depart et retour

La saisie d'aéroports inclut une autocomplétion pour retrouver plus vite les aéroports par code ou ville, surtout pour les destinations moins fréquentes.

Autocomplete de selection d'aeroports dans le formulaire

#Page de résultats et cartes de vols

La sortie de recherche est présentée sous forme de cartes par paires de villes, ce qui facilite la comparaison lorsque plusieurs combinaisons de routes existent pour la même requête.

Mise en page des cartes de paires de villes dans les resultats

La présentation des cartes met en avant les informations les plus actionnables pour prendre une décision rapidement.

Vue de comparaison des offres de vol avec metriques cles

Un résumé compact en haut conserve le contexte d'itinéraire pendant la lecture d'une longue liste d'options.

Barre de resume en haut de page avec contexte d'itineraire

#Filtres avancés pour une meilleure pertinence

Les filtres permettent de réduire progressivement la liste sans reconstruire toute la requête. C'est particulièrement utile pour optimiser selon confort, horaires ou préférence compagnie.

Vue combinee des filtres de tri, horaires, confort, bagages et compagnies

Comme les filtres sont modulaires, il est possible d'ajouter des filtres métier personnalisés pour enrichir l'expérience de recherche.

#Génération automatisée des vols avec Noah CLI

Un outil CLI dédié (noah) gère la génération de datasets et les scripts opérationnels. La commande flights:add peut injecter des enregistrements réalistes avec aéroports départ/arrivée, dates, distances (calcul Vincenty), durée, note et coût dérivé de la route.

Pour une génération par défaut:

php noah flights:add

Sortie de la commande Noah CLI flights:add par defaut

Pour une génération à grand volume:

php noah flights:add 10000

Sortie de la commande Noah CLI flights:add en volume eleve

D'autres commandes opérationnelles issues de la documentation sont php noah list, php noah help flights:add, php noah db:clear et php noah flights:cleaning.

#Architecture backend, installation et données opérationnelles

L'application serveur est écrite en PHP et séparée en deux couches coopérantes: moteur web et REST API simulant des interactions avec services externes. L'installation du projet est simplifiée via le CLI (php noah install) documenté dans le README.

La qualité de recherche de vols dépend de jeux de référence fiables, notamment des modules de gestion aéroports et compagnies:

Interface de gestion du referentiel aeroports

Interface de gestion du referentiel compagnies aeriennes

Le parcours de réservation est aussi couvert de bout en bout dans l'UI, pour relier résultat de recherche et intention de commande.

Interface de resume de commande pendant la reservation

#Livraison, hébergement et optimisation des assets statiques

Le produit est à la fois versionné et hébergé publiquement: code source sur GitHub et site en ligne sur trip-builder.tarasov.ca. La diffusion des assets statiques a été optimisée via Amazon S3, ce qui améliore la flexibilité de stockage et la vitesse de livraison des contenus non dynamiques.

Le projet inclut également une page 404 dédiée pour conserver la continuité de navigation en cas d'URL invalide.

Page 404 personnalisee pour routes inconnues

#Bilan

Trip Builder montre comment un projet axé backend PHP peut livrer une vraie valeur produit quand logique de recherche, génération de données et UI de filtrage sont pensées comme un seul système. En combinant planification sensible aux fuseaux, outillage CLI pour l'automatisation et pratiques d'hébergement production, la plateforme fournit une base évolutive pour les cas de recherche de vols ou pertinence des résultats et maintenabilité opérationnelle sont toutes deux critiques.

Comment puis-je vous aider ?

Le meilleur moyen de me contacter est par e-mail. Je réponds généralement sous 24 heures.