GR 2 - CR, TC & TB
DigiCheese – API Backend
Conception et développement d’une API backend sécurisée pour la refonte du système d’information de la fromagerie DigiCheese.
Commencer
Index
Introduction
Gestion de projet
Architecture
Authentification
Dockerisation
Seeding
Démo de l'API
Tests
Conclusion
Introduction
Digicheese est une application de gestion de colis de goodies, dans un contexte de programme de fidélité client d'une fromagerie.
Gestion de projet
Méthodologie et organisation
Rôles et outils collaboratifs
GitHub
Architecture de notre API
Architecture backend en couches
Models / Schema
Schema = rôle fonctionnel (contrat d’échange API)Pydantic Model = implémentation technique de ce rôle
Router / Repository / Service
+ info
+ info
+ info
+ info
+ info
Authentification et autorisation
Autorisation et protection des routes
Informations embarquées dans le token
Authentification par JWT
Sécurisation des identités
Chaque route vérifie les droits d'accès et les actions non autorisées sont automatiquement bloquées.
Le token transporte l'identité de l'utilisateur et définit précisément ce qu'il a le droit de faire.
L'utilisateur s'authentifie une seule fois et un token sécurisé lui permet d'accéder à l'API.
Les mots de passe sont protégés dès leur création et aucun secret n'est explosé en base de données.
+ info
+ info
+ info
+ info
Docker
Facilise le Déploiement.
Environnement contrôlé et uniforme.
Isolation des Services.
Accélèration du Développement.
Optimisation des Ressources
+ info
Seed
Le seeding permet de peupler une Base de Données avec de fausses données, pour faciliter le développement et les tests manuels des applications.
+ info
Documentation
Swagger
ReDoc
README
Démo de l'API
Démo API
Tests
Mise en place de tests afin de garantir la fiabilité de l’API et sécuriser les évolutions du code.
Tests et qualité
« Les tests ne servent pas à prouver que le code fonctionne, mais à détecter quand il ne fonctionne plus. »— Kent Beck, co-créateur de l’Extreme Programming
Ce que couvrent nos tests- Authentification (succès / erreurs)- CRUD sur les ressources principales- Codes HTTP et réponses API
OBJECTIFS DES TESTS- Prévenir les régressions- Vérifier les comportements attendus- Sécuriser les évolutions du code
Comment nous avons testé l'API- Tests automatisés avec Pytest- Base de données isolée pour les tests- Mock des dépendances (authentification / rôles)
+ info
+ info
Démo tests
Conclusion & feedback
Ce qui a bien fonctionné
Axes d'amélioration
- Augmenter la couverture de tests- Ajouter une CI/CD- Préparer l’intégration d’un front (V2)
- Organisation claire du projet- API fonctionnelle, sécurisée et testée- Environnement Docker reproductible
hash bcrypt + vérification
restriction par rôle via dépendance FastAPI
endpoint /auth/login + génération token
test de création d'un conditionnement
sub (id) + roles + exp dans le JWT
extrait du dockerfile
Exemple deSeed
isolation de la base de données
Router - Requête HTTP GET
Service – Logique métier
Repository
Schéma + objet pydantic généré
Réponse envoyée au client
DigiCheese – API Backend
Tracy Bachmann
Created on January 19, 2026
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Urban Illustrated Presentation
View
Snow Presentation
View
Corporate Christmas Presentation
View
Historical Presentation
View
Scary Eighties Presentation
View
Memories Presentation
View
Winter Presentation
Explore all templates
Transcript
GR 2 - CR, TC & TB
DigiCheese – API Backend
Conception et développement d’une API backend sécurisée pour la refonte du système d’information de la fromagerie DigiCheese.
Commencer
Index
Introduction
Gestion de projet
Architecture
Authentification
Dockerisation
Seeding
Démo de l'API
Tests
Conclusion
Introduction
Digicheese est une application de gestion de colis de goodies, dans un contexte de programme de fidélité client d'une fromagerie.
Gestion de projet
Méthodologie et organisation
Rôles et outils collaboratifs
GitHub
Architecture de notre API
Architecture backend en couches
Models / Schema
Schema = rôle fonctionnel (contrat d’échange API)Pydantic Model = implémentation technique de ce rôle
Router / Repository / Service
+ info
+ info
+ info
+ info
+ info
Authentification et autorisation
Autorisation et protection des routes
Informations embarquées dans le token
Authentification par JWT
Sécurisation des identités
Chaque route vérifie les droits d'accès et les actions non autorisées sont automatiquement bloquées.
Le token transporte l'identité de l'utilisateur et définit précisément ce qu'il a le droit de faire.
L'utilisateur s'authentifie une seule fois et un token sécurisé lui permet d'accéder à l'API.
Les mots de passe sont protégés dès leur création et aucun secret n'est explosé en base de données.
+ info
+ info
+ info
+ info
Docker
Facilise le Déploiement.
Environnement contrôlé et uniforme.
Isolation des Services.
Accélèration du Développement.
Optimisation des Ressources
+ info
Seed
Le seeding permet de peupler une Base de Données avec de fausses données, pour faciliter le développement et les tests manuels des applications.
+ info
Documentation
Swagger
ReDoc
README
Démo de l'API
Démo API
Tests
Mise en place de tests afin de garantir la fiabilité de l’API et sécuriser les évolutions du code.
Tests et qualité
« Les tests ne servent pas à prouver que le code fonctionne, mais à détecter quand il ne fonctionne plus. »— Kent Beck, co-créateur de l’Extreme Programming
Ce que couvrent nos tests- Authentification (succès / erreurs)- CRUD sur les ressources principales- Codes HTTP et réponses API
OBJECTIFS DES TESTS- Prévenir les régressions- Vérifier les comportements attendus- Sécuriser les évolutions du code
Comment nous avons testé l'API- Tests automatisés avec Pytest- Base de données isolée pour les tests- Mock des dépendances (authentification / rôles)
+ info
+ info
Démo tests
Conclusion & feedback
Ce qui a bien fonctionné
Axes d'amélioration
- Augmenter la couverture de tests- Ajouter une CI/CD- Préparer l’intégration d’un front (V2)
- Organisation claire du projet- API fonctionnelle, sécurisée et testée- Environnement Docker reproductible
hash bcrypt + vérification
restriction par rôle via dépendance FastAPI
endpoint /auth/login + génération token
test de création d'un conditionnement
sub (id) + roles + exp dans le JWT
extrait du dockerfile
Exemple deSeed
isolation de la base de données
Router - Requête HTTP GET
Service – Logique métier
Repository
Schéma + objet pydantic généré
Réponse envoyée au client