Plateforme Web Django & Intelligence Artificielle
🤖 Projet Libre Django : Application Web & IA Déployée
1.0.1. Contexte & Objectifs
Ce projet est un projet majeur et libre vous invitant à concevoir une application web complète sous Django, intégrant une brique d’Intelligence Artificielle (générative ou prédictive) et déployée en ligne accessible publiquement.
Vous avez toute liberté sur la thématique et le type d’IA intégrée. L’objectif est d’allier la puissance de l’écosystème Django à des capacités IA modernes (via des API tierces ou des modèles hébergés), le tout habillé par un Design System soigné (UI/UX) et poussé en production cloud.
- LLM & Génération de Texte : Assistant RAG (Retrieval-Augmented Generation) sur documents, générateur de code ou de synthèses via Mistral AI, HuggingFace ou NVIDIA NIM.
- Vision par Ordinateur & OCR : Détection d’objets, classification d’images médicales/industrielles ou analyse de documents (YOLO, ResNet, HuggingFace Vision).
- Génération Média (Image, Audio, Vidéo, 3D) : Générateur d’illustrations (Stable Diffusion/Flux), synthèse vocale (Text-to-Speech) ou génération d’art 3D.
- Machine Learning Prédictif & Tabulaire : Moteur de recommandation, prédiction financière ou estimation de risques (scikit-learn, XGBoost, PyTorch).
1.0.2. Modalités de Rendu & Déploiement
- Groupe : 1 à 3 personnes maximum.
- Livrables :
- Un lien vers un dépôt GitHub Public (avec commits atomiques et réguliers).
- Une URL de Production accessible en ligne (ex: Render, Railway, Fly.io, Hugging Face Spaces ou serveur VPS).
- Fichier README.md (CRITÈRE ÉLIMINATOIRE) : Le README doit obligatoirement comporter les Noms et Prénoms de tous les membres du groupe dès l’en-tête, l’URL de production, ainsi que le guide d’exécution.
1.0.3. Spécifications Techniques Obligatoires
- Intégration du Modèle IA :
- Connexion propre à un fournisseur IA (HuggingFace, Mistral AI, NVIDIA NIM, Replicate, OpenAI) ou exécution d’un modèle local/embarqué (
torch,onnx,scikit-learn). - Gestion asynchrone des requêtes longues (Celery / Redis / Django Channels ou tâches en arrière-plan) pour ne pas bloquer l’interface.
- Connexion propre à un fournisseur IA (HuggingFace, Mistral AI, NVIDIA NIM, Replicate, OpenAI) ou exécution d’un modèle local/embarqué (
- Modélisation ORM & Persistence :
- Historique des prédictions/générations, gestion des utilisateurs (
User), profils et stockage sécurisé des promts ou datasets d’entrée. - Stockage sécurisé des fichiers générés ou analysés (images, audio, PDF) via volumes ou stockage objet (S3/Cloudinary).
- Historique des prédictions/générations, gestion des utilisateurs (
- Design System & Tokens :
- Centralisation des variables CSS (couleurs, indicateurs de chargement, typographie, thèmes sombre/clair).
- Composants & Retours d’État IA :
- États d’attente (Loaders / Skeletons) : Retours visuels immédiats pendant l’inférence ou la génération du modèle IA.
- Affichage réactif : Streaming de réponses texte (pour les LLM) ou prévisualisation dynamique (pour l’image/audio).
- Gestion des erreurs IA : Alertes explicites en cas de dépassement de quota d’API ou d’échec de génération.
- Mise en Production Accessible :
- Déploiement fonctionnel sur une plateforme cloud (Render, Railway, Fly.io, Hugging Face Spaces) avec HTTPS actif.
- Gestion des Sécrets & Sécurité :
- Interdiction absolue de pusher des clés d’API (Mistral, HuggingFace, OpenAI) ou des mots de passe en dur sur Git.
- Utilisation stricte des variables d’environnement (
.envlocal et variables Cloud en prod).
- Conteneurisation Docker :
Dockerfileoptimisé pour la production avec Gunicorn/Uvicorn.- Orchestration
docker-compose.ymlmulti-services (Web, PostgreSQL, Redis/Worker).
- Tests Automatisés :
- Tests unitaires sur les vues, les formulaires et le mock des appels API IA (utilisation de
unittest.mockpour éviter les coûts d’API pendant les tests).
- Tests unitaires sur les vues, les formulaires et le mock des appels API IA (utilisation de
- Pipeline CI/CD :
- Pipeline GitHub Actions exécutant les tests et le linteur (
ruff/flake8/black) à chaque commit.
- Pipeline GitHub Actions exécutant les tests et le linteur (
- Monitoring & Logs :
- Journalisation propre des appels IA et des erreurs d’inférence.
1.0.4. Le Rapport Technique (README.md)
Le fichier README.md est le document central d’évaluation du projet. Il doit obligatoirement inclure :
- En-tête & Déploiement (OBLIGATOIRE) :
- Noms et Prénoms de tous les membres du groupe (Critère éliminatoire).
- URL de l’application en ligne (accessible au correcteur).
- Thématique du projet et cas d’usage de l’IA retenu.
- Guide d’Exécution Locale : Instructions pour lancer le projet localement avec
docker compose upet injecter ses clés d’API (.env.examplefourni). - Architecture Technique & Pipeline IA :
- Schéma d’architecture expliquant le flux de données entre Django, la base de données et l’API/Moteur IA.
- Modèle ORM (Diagramme ERD).
- Choix UI/UX & Gestion du Temps d’Inférence : Explication des retours visuels mis en place pour gérer la latence de l’IA.
- Rapport d’Ingénierie & Post-Mortem : Analyse critique des performances du modèle, gestion des coûts/quotas API et difficultés de déploiement résolues.
📝 Fiche de Notation (40 Points — 2 Notes sur 20)
🚫 Critères Éliminatoires (Go / No-Go)
Si l’une des cases ci-dessous est cochée “NON”, le projet n’est pas corrigé (Note = 0 ou rattrapage).
| Critère | OUI | NON |
|---|---|---|
Présence du fichier README.md avec les Noms et Prénoms de tous les membres du groupe |
☐ | ☐ |
| Application déployée et accessible en ligne via une URL publique fonctionnelle | ☐ | ☐ |
| L’intégration IA fonctionnelle (le modèle génère, prédit ou traite les données de façon effective) | ☐ | ☐ |
| Aucune clé d’API ou secret n’est exposé en clair dans le dépôt Git public | ☐ | ☐ |
📊 PARTIE 1 : Application Web Django, UI/UX & Intégration IA (Note 1 / 20)
Cette première note évalue la qualité de la plateforme web, la robustesse du backend Django et la valeur ajoutée de l’expérience utilisateur liée à l’IA.
2.1.1. Architecture Django, ORM & Moteur IA (8 pts)
| Critère | Détail | Note |
|---|---|---|
| Intégration du Moteur IA | Pipeline IA fonctionnel (API ou local), traitement propre des données et gestion des réponses. | / 3 |
| Modélisation ORM & Storage | Modèles Django structurés (User, History, Result), persistance des résultats et des médias. |
/ 3 |
| Architecture Asynchrone / SRP | Séparation claire du moteur IA et des vues Django. Traitement des requêtes longues sans blocage de l’app. | / 2 |
2.1.2. Ergonomie UI/UX & Retours d’État IA (6 pts)
| Critère | Détail | Note |
|---|---|---|
| Design System & Tokens | Thème visuel propre, utilisation de tokens CSS (couleurs, typographie) et layout réactif. | / 2 |
| Gestion des Latences IA | Interfaces d’attente soignées (Loaders, Skeletons, Streaming) adaptées aux temps de réponse du modèle IA. | / 2 |
| Gestion des Erreurs & Quotas | Messages d’erreur et retours utilisateur explicites en cas d’échec du modèle ou de problème réseau. | / 2 |
2.1.3. Valeur Métier & Originalité du Projet (6 pts)
| Critère | Détail | Note |
|---|---|---|
| Utilité & Pertinence du Cas | L’application répond à un vrai besoin ou cas d’usage pertinent tirant parti des capacités de l’IA. | / 3 |
| Qualité du Prompt / Modèle | Prompt engineering poussé ou bon paramétrage du modèle IA (hyperparamètres, RAG, température). | / 3 |
📊 PARTIE 2 : Cloud, Infrastructure, DevOps & Documentation (Note 2 / 20)
Cette seconde note évalue la mise en production, la conteneurisation Docker, la sécurité des secrets, la qualité de code et la documentation.
2.2.1. Déploiement Cloud & Production (7 pts)
| Critère | Détail | Note |
|---|---|---|
| URL de Production Live | Site déployé et pleinement fonctionnel en ligne (Render, Railway, Fly.io, HF Spaces) avec HTTPS. | / 4 |
| Gestion des Secrets & SecOps | Aucune clé d’API sur Git. Isolation stricte via variables d’environnement Cloud et .env.example. |
/ 3 |
2.2.2. Conteneurisation Docker & Infrastructure (5 pts)
| Critère | Détail | Note |
|---|---|---|
| Dockerfile de Prod | Image légère, exécution non-root, collecte des statiques et entrypoint propre. | / 2.5 |
| Orchestration Compose | docker-compose.yml multi-services (Web, PostgreSQL, Redis/Worker) avec volumes nommés et healthchecks. |
/ 2.5 |
2.2.3. Tests, CI/CD & Qualité de Code (4 pts)
| Critère | Détail | Note |
|---|---|---|
| Tests Automatisés & Mocks | Suite de tests Django testant les vues et simulant les API IA avec mock sans consommer de tokens. |
/ 2 |
| CI/CD & Linting | Workflow GitHub Actions exécutant les tests et le formatage (ruff/black) à chaque commit. |
/ 2 |
2.2.4. Rapport Technique README.md & Post-Mortem (4 pts)
| Critère | Détail | Note |
|---|---|---|
| Présentation & Noms | En-tête avec Noms et Prénoms, URL de prod et instructions d’installation locale claires. | / 2 |
| Architecture & Post-Mortem | Diagrammes d’architecture, analyse critique de l’IA et bilan du déploiement en ligne. | / 2 |