Site institutionnel du collectif MIAM, développé sans CMS “clé en main” type WordPress, avec un objectif clair :
simplicité pour les non-techs, robustesse technique, maintenance minimale dans le temps.
Ce projet sert également de démo technique pour présenter mon approche d’architecture web moderne et pragmatique.
- Remplacer un site WordPress vieillissant et non maintenu
- Offrir un back-office simple pour des gérants non techniques
- Permettre des mises à jour rares (menus trimestriels, agenda, partenaires)
- Garantir une base saine, lisible et durable
- Éviter toute dépendance inutile à des plugins ou frameworks lourds
- Python 3.12
- Django
- Wagtail CMS
- PostgreSQL
- Templates Django (HTML)
- CSS moderne, sans framework (design system léger)
- Responsive mobile-first
- Docker & Docker Compose
- Séparation claire dev / prod
- Variables d’environnement
- Git propre (pas de média, pas de secrets)
-
pages/
App unique de contenu Wagtail :- HomePage
- Pages standards
- Traiteur (Menus)
- Agenda / événements
- Actualités
- Snippets (infos pratiques, partenaires)
-
miam/
Projet Django :- settings
- urls
- templates globaux
- static globaux
-
Snippets Wagtail utilisés pour :
- Infos pratiques (adresse, téléphone, horaires)
- Partenaires (logos, liens, ordre d’affichage)
- Affiche automatiquement :
- le principer de la cuisime au miam
- les prochains événements
- Zéro maintenance manuelle
- Un menu = un PDF
- Toujours un rendu propre
- Aucun risque de mise en page cassée
- Événements datés
- Séparation automatique à venir / passés
- Logos + liens
- Gestion via Snippets
- Ordre et activation contrôlés par les gérants
- SEO title / description natifs Wagtail
- OpenGraph basique
- HTML sémantique
Le back-office est pensé pour des non-développeurs :
- Peu de types de pages
- Champs explicites
- Règles simples
- Pas de dépendance à un “expert WordPress”
Résultat :
👉 Les gérants peuvent mettre à jour le site sans assistance technique.
docker compose up -d --build
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuserAccès :
- Site : http://localhost:8000
- Admin : http://localhost:8000/admin
Pour stopper le serveur
docker compose downPour tout supprimer
docker compose down -v- Wagtail plutôt que WordPress : structure claire, pas de plugins magiques
- Pas de framework JS : pas nécessaire pour un site institutionnel
- PDF-first pour les menus : fiabilité > sophistication
- Snippets pour données globales : simplicité et maintenabilité
- Docker dès le départ : reproductibilité
- Capacité à concevoir une architecture simple et robuste
- Compréhension des enjeux non-tech (usagers, éditeurs)
- Maîtrise de Django / Wagtail / Docker
- Goût pour les solutions sobres, maintenables et durables
Sebastien Destannes Développeur backend / full-stack Intéressé par les projets à impact, l’open-source et les architectures propres.
Ce projet est volontairement sobre : moins de “features”, plus de fiabilité.