Trip Builder
Trip Builder logo

Trip Builder

Plateforme de recherche de vols pour trajets aller simple et aller-retour avec tri, filtres pratiques, autocomplete d'aeroports et generation automatisee de donnees via CLI.

Trip Builder est un service web concentre sur la construction d'itineraires pour un passager unique, avec une architecture orientee backend. Le projet a d'abord ete realise comme test technique PHP backend, puis a evolue vers un produit complet avec interface publique, logique de recherche et endpoints REST API simulant des integrations avec des services externes de voyage.

Du point de vue produit, la valeur cle est la rapidite et la clarte de recherche de vols: l'utilisateur definit points de depart/arrivee, dates, classe cabine et details passager, puis affine les resultats avec des criteres utiles sans perdre le contexte. La version en production est disponible sur trip-builder.tarasov.ca, et le code source est maintenu dans le depot 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 composes de deux segments (A vers B, puis B vers A). Le classement des resultats repose sur des priorites de reservation concretres: prix du billet, duree totale, plages de depart et plages d'arrivee.

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

Le meme modele de recherche reste disponible sur la page de resultats pour modifier rapidement les parametres sans revenir a l'ecran d'accueil.

Barre de parametres sur page de resultats pour modifications rapides

#UX du formulaire: dates et autocomplete aeroports

La selection de dates utilise un calendrier adapte aux scenarios aller simple et aller-retour, ce qui limite les erreurs sur les combinaisons de depart/arrivee.

Calendrier de selection des dates de depart et retour

La saisie d'aeroports inclut une autocomplete pour retrouver plus vite les aeroports par code ou ville, surtout pour les destinations moins frequentes.

Autocomplete de selection d'aeroports dans le formulaire

#Page de resultats et cartes de vols

La sortie de recherche est presentee sous forme de cartes par paires de villes, ce qui facilite la comparaison lorsque plusieurs combinaisons de routes existent pour la meme requete.

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

La presentation des cartes met en avant les informations les plus actionnables pour prendre une decision rapidement.

Vue de comparaison des offres de vol avec metriques cles

Un resume compact en haut conserve le contexte d'itineraire pendant la lecture d'une longue liste d'options.

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

#Filtres avances pour une meilleure pertinence

Les filtres permettent de reduire progressivement la liste sans reconstruire toute la requete. C'est particulierement utile pour optimiser selon confort, horaires ou preference compagnie.

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

Comme les filtres sont modulaires, il est possible d'ajouter des filtres metier personnalises pour enrichir l'experience de recherche.

#Generation automatisee des vols avec Noah CLI

Un outil CLI dedie (noah) gere la generation de datasets et les scripts operationnels. La commande flights:add peut injecter des enregistrements realistes avec aeroports depart/arrivee, dates, distances (calcul Vincenty), duree, note et cout derive de la route.

Pour une generation par defaut:

php noah flights:add

Sortie de la commande Noah CLI flights:add par defaut

Pour une generation a grand volume:

php noah flights:add 10000

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

D'autres commandes operationnelles 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 donnees operationnelles

L'application serveur est ecrite en PHP et separee en deux couches cooperantes: moteur web et REST API simulant des interactions avec services externes. L'installation du projet est simplifiee via le CLI (php noah install) documente dans le README.

La qualite de recherche de vols depend de jeux de reference fiables, notamment des modules de gestion aeroports et compagnies:

Interface de gestion du referentiel aeroports

Interface de gestion du referentiel compagnies aeriennes

Le parcours de reservation est aussi couvert de bout en bout dans l'UI, pour relier resultat de recherche et intention de commande.

Interface de resume de commande pendant la reservation

#Livraison, hebergement et optimisation des assets statiques

Le produit est a la fois versionne et heberge publiquement: code source sur GitHub et site en ligne sur trip-builder.tarasov.ca. La diffusion des assets statiques a ete optimisee via Amazon S3, ce qui ameliore la flexibilite de stockage et la vitesse de livraison des contenus non dynamiques.

Le projet inclut egalement une page 404 dediee pour conserver la continuite de navigation en cas d'URL invalide.

Page 404 personnalisee pour routes inconnues

#Bilan

Trip Builder montre comment un projet axe backend PHP peut livrer une vraie valeur produit quand logique de recherche, generation de donnees et UI de filtrage sont pensees comme un seul systeme. En combinant planification sensible aux fuseaux, outillage CLI pour l'automatisation et pratiques d'hebergement production, la plateforme fournit une base evolutive pour les cas de recherche de vols ou pertinence des resultats et maintenabilite operationnelle sont toutes deux critiques.

Comment puis-je vous aider ?