Fossnote est un serveur alternatif "PRONOTE" gratuit, open-source et auto-hébergeable (Free Open Source Selfhostable PRONOTE). Conçu pour être compatible avec le client web officiel de PRONOTE, il permet aux établissements ou aux développeurs de reprendre le contrôle de leurs données scolaires en toute transparence.
L'application est divisée entre des interfaces web (front-end) et une API émulant le comportement de PRONOTE (back-end).
-
Portail d'index : Page de sélection des différents espaces (
/fossnote/). -
Espace Élèves : Panel de connexion implémenté avec accès à la page d'accueil, aux informations personnelles, aux notes et au cahier de textes (
/fossnote/eleve.html). -
Espace Professeurs : Panel de connexion implémenté avec accès à la page d'accueil (
/fossnote/professeur.html). -
Autres espaces : Les pages de connexion sont présentes (en statique) pour la Vie scolaire, les Parents, les Accompagnants et la Direction.
Fossnote implémente le système de communication de PRONOTE :
- Sécurité et Sessions :
- Génération d'identifiants de session liés à l'horodatage.
- Résolution du défi d'authentification (génération et vérification de
aleaetchallenge). - Stockage des sessions via SQLite (
database.db).
- Requêtes système partagées : Prise en charge de
FonctionParametres,Identification,AuthentificationetParametresUtilisateur. - Méthodes Espace Élèves : Prise en charge de
PageAccueil,DernieresNotes,PageInfosPersoetPageCahierDeTexte. - Méthodes Espace Professeurs : Prise en charge de
PageAccueil,listeClassesGroupes,ListePeriodesetListeRessources. - Méthodes générales : Gestion basique de la
Navigationet de laPresencepour le maintien de session.
Fossnote utilise Bun comme environnement d'exécution, offrant des performances optimales.
-
Cloner le dépôt :
git clone https://github.com/xFufly/fossnote.git cd fossnote -
Installer les dépendances :
bun install
-
Initialiser la base de données : Cette étape crée les tables requises et injecte les données de test.
bun run db:push bun run db:seed
-
Lancer le serveur de développement :
bun run dev
Une fois le serveur démarré, rendez-vous sur : http://localhost:3000/fossnote/
Des comptes de test sont créés automatiquement lors de l'exécution de la commande db:seed :
| Espace | Identifiant | Mot de passe |
|---|---|---|
| Élève | akaty |
Password123! |
| Professeur | pgothier |
Password123! |
- Serveur Web : Bun couplé au framework Hono.
- Base de données : SQLite (via le pilote
better-sqlite3). - ORM : Drizzle ORM.
Pour administrer la base de données de manière visuelle, vous pouvez utiliser Drizzle Studio :
bun run db:studioLa documentation détaillée des protocoles réseau échangés entre le client officiel et le serveur Fossnote est en cours de rédaction.
Fossnote est un projet indépendant. Ce projet n'est ni affilié, ni associé, ni soutenu, ni sponsorisé par Index Education (l'éditeur du logiciel PRONOTE). Le terme "PRONOTE" et les éléments s'y rapportant sont des marques déposées appartenant à leurs propriétaires respectifs. Fossnote est développé dans un but éducatif et d'interopérabilité.
Copyright (c) 2023-2026 Tim DIDELOT • LittleGlory (SIRET 109 055 707 00011)
Ce projet est sous licence GNU AGPLv3. L'AGPLv3 (Affero General Public License) garantit que toute personne ou organisation qui modifie ce code source et l'héberge en tant que service réseau doit également rendre publiques ses modifications (open-source) sous la même licence.
Les contributions (issues, pull requests) sont les bienvenues ! Afin de garantir un environnement sain et bienveillant pour tous les contributeurs, nous vous prions de bien vouloir lire et respecter notre Code de Conduite avant de participer au projet.
Ce projet open-source a été créé et est maintenu par Tim DIDELOT.


