Tous les projets

Backend & applications web

Little Lemon · Django

Le site d’un restaurant piloté par la base de données : menu et fiches plats générés depuis les modèles Django, gérés par l’équipe depuis un admin personnalisé.

  • Projet individuel
ligne de code à changer pour modifier le menu
0
Django, version majeure
5

01Le point de départ

Contexte & mission

Le problème

Un menu écrit en dur dans le HTML oblige à toucher au code à chaque changement de plat ou de prix.

La mission

Construire un site de restaurant où le menu vit dans la base de données et se gère sans développeur.

Mon rôle

Projet conçu et développé seul.

02Réalisation

Ce que j’ai fait

  1. Menu piloté par les données

    Plats récupérés via l’ORM Django, triés par ordre alphabétique, avec une page de détail pour chaque plat.

  2. Images des plats

    Images stockées via ImageField, traitées avec Pillow et affichées dans le menu et les fiches.

  3. Admin personnalisé

    Colonnes affichées et recherche personnalisées : l’équipe ajoute, modifie et supprime des plats sans toucher au code.

  4. Templates réutilisables

    Héritage de templates, vues basées sur des classes et CSS responsive sans framework lourd.

03Conception

Architecture

Architecture Model-View-Template de Django : le routage mène aux vues, qui lisent les modèles via l’ORM (SQLite) et rendent les templates.

Architecture MVT
  1. Navigateur
  2. Routage
  3. VuesBasées sur des classes
  4. Modèles · ORM
  5. SQLite
En appui
  • Django AdminGestion du menu
  • TemplatesHéritage

04Impact

Résultats

  • Un menu géré entièrement depuis l’administration.
  • Des pages cohérentes grâce à l’héritage de templates.

05Bilan

Ce que j’en retiens

Ce que ce projet démontre

Que je sépare contenu et code dès la conception : l’équipe gère, le site suit.

Enseignements et suite

La page de réservation est informative ; un vrai parcours de réservation serait l’étape suivante.

06Technologies

Stack complète

  • Python
  • Django 5
  • Django ORM
  • SQLite
  • Pillow
  • HTML
  • CSS