Application web pour les étudiants MMI, l’idée c’est :
[!WARNING] This is experimental software, primarily built with AI.
Ce projet est réalisé MAJORITAIREMENT avec l’aide de l’Intelligence Artificielle. Je suis réellement loin d’avoir le niveau pour réaliser ce projet, mais sa réalisation me permet de progresser et de mieux comprendre comment réellement réaliser un “Logiciel” à un niveau professionnel.
En bref, si vous me dites : “Aaahh, c’est de l’IA”, je répondrai que, pour la majorité, oui. Mais au moins, je sais exactement comment fonctionne l’intégralité du projet et ce que fait chaque partie.
| Côté | Technologies |
|---|---|
| Frontend | React 18, React Router, Axios, CSS Modules, Vite |
| Backend | Node.js, Express, Socket.IO |
| Base de données | SQLite via Prisma ORM |
| Auth | JWT (jsonwebtoken) + bcryptjs |
git clone https://github.com/Bebbou/Pronote-MMI.git
cd Pronote-MMI
cd server
cp .env.example .env
# Remplir JWT_SECRET et DATABASE_URL dans .env
npm install
npx prisma migrate dev --name init
node index.js
cd ../client
npm install
npm run dev
Le client tourne sur http://localhost:5173, le serveur sur http://localhost:3000.
Fichier server/.env (copie de .env.example) :
| Variable | Description | Exemple |
|---|---|---|
DATABASE_URL |
Chemin vers la base SQLite | file:./prisma/dev.db |
JWT_SECRET |
Clé secrète pour signer les tokens JWT | une_chaine_aleatoire_longue |
CLIENT_ORIGIN |
URL du frontend (CORS) | http://localhost:5173 |
Pronote-MMI/
├── client/ # Frontend React
│ └── src/
│ ├── api/ # Client HTTP Axios
│ ├── components/ # Composants partagés (Layout)
│ ├── context/ # AuthContext (état global auth)
│ ├── hooks/ # useSocket
│ ├── pages/ # Une page par route
│ └── widgets/ # Widgets pour le mode Canvas
├── server/ # Backend Express
│ ├── middlewares/ # requireAuth, requireRole
│ ├── routes/ # auth, admin, devoirs, notes, edt, profil
│ ├── prisma/
│ │ └── schema.prisma # Modèles de la base de données
│ └── index.js # Point d'entrée du serveur
└── README.md
| Rôle | Droits |
|---|---|
etudiant |
Lecture devoirs/EDT, gestion de ses propres notes |
delegue |
+ Création/modification/suppression de devoirs |
admin |
Accès complet, gestion des comptes et de l’EDT |
Les nouveaux comptes sont en attente de validation par un admin avant de pouvoir se connecter.
Voir CONTRIBUTING.md.
Ce projet est sous licence MIT — voir LICENSE. </br></br>