Projet BTS SIO — 2025

HealthyDrivers

Une application web complète de livraison de repas sains — menus personnalisés selon le Nutri-Score, abonnements flexibles, suivi nutritionnel et un coach IA intégré.

Stack Laravel · PHP 8 · MySQL
Frontend Tailwind CSS · Blade
Rôle Développeur Full-Stack
Menus Concept Abonnements

Mangez sain, chaque jour.

Repas livrés chez vous · Coach nutritionnel inclus

S'abonner
🥗

Ratatouille

B
🍝

Lasagne vég.

C
🍛

Poulet Curry

B

01 — Contexte

Pourquoi ce projet ?

Un projet de BTS SIO qui répond à une vraie problématique : comment aider les gens à bien manger au quotidien, sans prise de tête, grâce au numérique.

HealthyDrivers est une application web de livraison de repas sains développée dans le cadre du BTS SIO. L'idée de départ est simple : des personnes souhaitent améliorer leur alimentation mais n'ont ni le temps de cuisiner équilibré, ni les connaissances pour le faire.

L'application propose une solution complète : des menus variés avec Nutri-Score, des abonnements hebdomadaires flexibles, un accès aux recettes adaptées à son régime, et un coach nutritionnel IA disponible à tout moment via un chatbot intégré.

Côté technique, c'est un vrai projet Laravel full-stack : authentification, gestion des utilisateurs, abonnements avec différents niveaux d'accès, catalogue de menus dynamique depuis une base MySQL, et un design responsive réalisé avec Tailwind CSS.

🥗
Menus disponibles +10 recettes avec Nutri-Score
📦
Formules d'abonnement Économique · Classique · Premium
🤖
Coach IA Chatbot nutritionnel intégré
🔒
Accès abonné Recettes verrouillées sans abonnement

02 — Architecture

Comment c'est construit

Une architecture MVC Laravel classique, avec une séparation claire des responsabilités et un pipeline complet : routes → contrôleurs → modèles → vues Blade.

01

Routing Laravel

Toutes les URLs sont définies dans routes/web.php. Les pages publiques (menus, concept, livraison, abonnements) côtoient les routes protégées par le middleware auth pour l'espace abonné.

routes/web.php Middleware auth Named routes
02

Contrôleurs

Le MenuController gère le catalogue de menus : liste paginée et vue détaillée via le slug. Le ProfileController gère les données utilisateurs authentifiés.

MenuController ProfileController MVC
03

Modèle Eloquent

Le modèle Menu mappe la table MySQL. Chaque menu a un titre, une description, un slug unique, un Nutri-Score (A–E), un temps de préparation, un comptage de calories et des ingrédients stockés en JSON.

Eloquent ORM JSON columns Slugs
04

Vues Blade

Toutes les pages utilisent le système de templating Blade de Laravel avec un layout partagé (x-app-layout). La navigation et le chatbot sont inclus via des composants réutilisables.

Blade Templates x-app-layout Composants
05

Base de données

Schéma géré par les migrations Laravel. La table users a été étendue avec un champ abonnement (nullable) pour gérer les 3 niveaux d'accès. Les menus sont peuplés via un Seeder dédié.

MySQL Migrations Seeders
06

Authentification

Système d'auth généré par Laravel Breeze. Les routes d'abonnement sont protégées : seul un utilisateur connecté peut souscrire à une formule. Le statut is_subscribed conditionne l'accès aux recettes complètes.

Laravel Breeze Sessions Contrôle d'accès

03 — Fonctionnalités

Ce que fait l'application

De la page d'accueil au détail de recette, chaque écran a été pensé pour guider l'utilisateur vers une alimentation plus saine et un engagement sur le long terme.

🥗

Catalogue de Menus

Un catalogue dynamique de repas équilibrés, chacun avec son Nutri-Score visuel.

  • Affichage du Nutri-Score A→E avec code couleur officiel
  • Temps de préparation et calories par plat
  • URL unique par menu via slug (menus/poulet-curry-coco)
  • Recette complète déverrouillée pour les abonnés
A B C D E
📦

Système d'Abonnements

3 formules avec un accès progressif aux fonctionnalités, géré en base de données.

Économique
47,99€/mois
6 repas/semaine
Classique
59,99€/mois
10 repas/semaine
Premium
70,00€/mois
14 repas/semaine
🤖

Coach Nutrition IA

Un chatbot flottant disponible sur toutes les pages, accessible en un clic.

  • Bouton flottant persistant (bottom-right) sur tout le site
  • Interface chat avec historique de conversation
  • Réponses du coach personnalisées aux objectifs nutritionnels
  • Design intégré aux couleurs Healthy Drivers
🚚

Livraison & Concept

Des pages informatives pensées pour convaincre et rassurer l'utilisateur.

  • Page Concept : mission, valeurs, personnalisation
  • Page Livraison : chaîne du froid, domicile ou bureau
  • Transport frigorifique garantissant la fraîcheur
  • Coach nutritionniste en ligne inclus

04 — Stack & Technologies

Les outils utilisés

Un stack moderne centré sur l'écosystème PHP/Laravel, complété par Tailwind CSS pour un frontend soigné sans sur-ingénierie.

Laravel
Framework PHP — MVC, routing, Eloquent, Blade
🐘
PHP 8
Langage backend — controllers, models, migrations
🗄️
MySQL
Base de données — users, menus, abonnements
🎨
Tailwind CSS
Framework CSS utility-first — design responsive
🔪
Blade
Moteur de templates Laravel — layouts, composants
🔑
Breeze
Auth Laravel — inscription, connexion, profil
📦
Composer
Gestionnaire de dépendances PHP
🌐
Apache
Serveur web — hébergement local de l'appli

05 — Compétences BTS SIO

Ce que ce projet valide

HealthyDrivers mobilise un large spectre des compétences attendues en BTS SIO option SLAM, de la conception à la mise en production.

B1.1 Analyse et modélisation d'un besoin métier

Identification du besoin (livraison de repas sains, abonnements, accès différencié), conception du modèle de données (menus, users, abonnements), définition des cas d'usage et des règles métier (accès conditionnel aux recettes).

Analyse besoin Modélisation BDD Cas d'usage
B2.1 Conception et développement d'une solution applicative

Développement complet d'une application web MVC avec Laravel : création des routes, contrôleurs, modèles Eloquent, vues Blade. Gestion des migrations et des seeders pour initialiser la base de données.

Laravel MVC PHP 8 Eloquent ORM Migrations
B2.2 Gestion des données — SQL et persistance

Conception et administration d'une base MySQL via phpMyAdmin et les migrations Laravel. Requêtes Eloquent pour la lecture et mise à jour des données utilisateurs et menus. Stockage d'ingrédients en JSON.

MySQL SQL Seeders JSON
B2.3 Développement web — Frontend & Responsive

Intégration des interfaces avec Tailwind CSS et Blade. Design responsive, composants réutilisables (navigation, chatbot), gestion des layouts partagés. Respect de la charte graphique (vert, orange, crème).

Tailwind CSS Blade Responsive UI/UX
B3.1 Cybersécurité — Authentification & Contrôle d'accès

Mise en place du système d'authentification Laravel Breeze (inscription, connexion, sessions). Protection des routes sensibles par middleware. Contrôle d'accès granulaire selon le type d'abonnement de l'utilisateur.

Laravel Breeze Middleware auth Sessions CSRF
B4.1 Déploiement & Administration système

Installation et configuration d'un environnement Apache + PHP + MySQL sous Linux Ubuntu. Configuration des VirtualHosts, gestion des permissions, utilisation de Composer et NPM. Exécution des commandes Artisan pour initialiser l'application.

Apache Linux Ubuntu Composer php artisan npm

06 — Documentation

Documentation du projet

Retrouvez ici l'ensemble des documents techniques et fonctionnels produits dans le cadre du projet HealthyDrivers.

Contact

Me contacter

Des questions sur ce projet ? N'hésitez pas.