Projet professionnel
Juin 2023
J’ai été contacté pour développer un site vitrine pour le mas provençal de Nathalie et David qui souhaitaient pouvoir mettre en avant leur bien locatif, ses informations, tarifs et prestations pour pouvoir petit à petit s’extraire des plateformes de réservation et en être moins dépendants.
J’ai eu l’occasion pour ce projet, de travailler avec une designeuse qui s’est occupée de construire la maquette. J’ai pu y contribuer en offrant mes retours pour essayer d’améliorer l’UX du site web.
Le site web devait permettre aux utilisateurs de découvrir le mas sous tous ses angles, il fallait donc implémenter de nombreuses galeries photos pour présenter l’extérieur, et les diverses pièces du mas.
Il fallait également proposer une séparation été/3 saisons car le mas est divisé en 2 parties distinctes ayant des disponibilités différentes en fonction des saisons.
David tenait également à avoir un blog où il souhaitait partager :
Un autre point important était la possibilité de proposer un devis sur-mesure automatisé aux clients, en leur demandant des infos sur leur séjour, notamment les dates et le nombre de personnes.
Le dernier point était la possibilité de lire le site en Anglais pour proposer aux touristes internationaux des explications accessibles.
Pour réaliser ce site, il était primordial que je puisse mettre en place un panneau administrateur efficace permettant la mise en ligne de contenus.
Mon choix s’est donc porté sur Laravel ce qui me permettrait de répondre efficacement au cahier des charges (notamment au niveau des fonctionnalités de traduction et de blog).
J’ai donc utilisé la stack TALL :
J’ai pu, pour ce projet apprendre à utiliser Filament, qui m’a permis de construire une interface administrateur responsive, efficace et sécurisée. Il m’a fallu permettre à David de créer des articles complets de blog mais également pouvoir spécifier leurs traductions respectives.
J’ai mis en place une connexion avec le site Abritel pour récupérer automatiquement le calendrier de disponibilités du mas. Pour se faire, j’ai mis en place une commande PHP qui devait s’éxecuter tous les jours, télécharger le calendrier Abritel et mettre à jour l’entité Calendrier dans ma base de données. J’ai d’ailleurs rencontré un problème imprévu quelques temps après la mise en production où David m’a mentionné le fait que le calendrier du site montrait des dates bloquées qui étaient libres. Je n’avais pas prévu le cas d’une annulation.
Pour remédier à ce problème, j’ai simplement fait en sorte de réinitialiser mon entité Calendrier avant chaque mise à jour, afin de garantir une correlation 1:1 entre l’entité stockée et le calendrier abritel.
Cette connexion m’a permis de proposer, dans le formulaire de contact, une sélection de dates précise et parfaitement corrélée aux disponibilités actuelles du mas.
Grâce à Livewire j’ai pu faire des interactions entre le Front-End et le Back-End sans avoir à recharger ma page, ce qui m’a permis d’éxecuter les calculs permettant de donner un devis précis aux potentiels clients.
J’ai proposé la mise en place d’un bouton créant une variable locale qui stock la langue sélectionnée. Grâce à Laravel, j’ai pu préciser toutes les traductions de mes textes dans un long fichier json. Ces traductions sont récupérées ou non en fonction de la valeur de langue stockée.
Il a également fallu prendre en compte la gestion des traductions pour les articles postés via l’espace admin, au lieu de stocker mes textes directement, les lignes correspondants dans la base de données sont stockées dans un array json permettant de choisir entre la traduction ‘fr’ ou ‘en’. L’interface dispose donc de 2 champs pour écrire et stocker la traduction de l’article.
J’ai dû, pour ce projet, construire de nombreuses galeries d’images, pour améliorer ma vélocité de travail, j’ai construit des composants réutilisables auxquels il ne fallu plus que fournir les liens des images et leur description.
Josué Orcière © Copyright 2024