- JavaScript 82.4%
- HTML 11.8%
- CSS 5.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| public | ||
| .gitlab-ci.yml | ||
| LICENSE | ||
| README.md | ||
BrevetManager — Brevets de compétences, ceintures et PIDAPI
BrevetManager est une application libre de gestion de brevets de compétences, de ceintures de progression et de ceintures PIDAPI pour l'école élémentaire (CP → CM2), avec un générateur intégré de 96 types d'exercices de français et de mathématiques.
Développée par et pour des enseignants pratiquant la pédagogie Freinet/coopérative, elle fonctionne en version web (GitLab Pages, aucun serveur nécessaire) et en application de bureau (Electron AppImage pour Linux).
📦 Licence : GNU GPL v3 — Version : 0.14.10
Fonctionnalités
Module Brevets de compétences
Un brevet est un ensemble d'exercices ciblant des compétences du programme officiel. L'enseignant crée un brevet en sélectionnant des compétences dans le référentiel, puis en ajoutant des exercices générés (capturés avec leur image et leur HTML) ou des blocs libres (consigne manuelle, image, lignes séyès/carreaux).
Le référentiel est alimenté par les données Progz 2026.24 (mis à jour le 2026-06-03) : environ 1 300 compétences officielles, CP → CM2, sur 23 domaines (dont le nouveau domaine EVAR — Vie affective et relationnelle). Chaque compétence est enrichie de son thème, sous-thème, période (« En fin de période 1 », « En milieu d'année »…) et d'exemples concrets. Un système de mapping par mots-clés suggère automatiquement les générateurs d'exercices adaptés à chaque compétence cochée.
Parcours de ceintures
Les brevets s'organisent en parcours de ceintures par domaine (Lecture, Grammaire, Nombres et calcul…). Neuf couleurs par défaut (Blanc → Noir) + ceintures personnalisables. Pour chaque domaine, l'enseignant configure le seuil de validation : « tous les brevets » ou « minimum N ».
Suivi des élèves
Quatre onglets dans le suivi :
- Élèves : cartes individuelles avec pastilles 4 états (pâle/en cours/prêt/validée). Clic → bilan interactif.
- Tableau de brevets : vue d'ensemble (tous les parcours en colonnes) ou vue détaillée (un parcours, une colonne par ceinture). Filtre par niveau (CP/CE1/CE2/CM1/CM2).
- ◎ PIDAPI : grille élèves × 9 domaines avec ceintures colorées. Clic → bilan PIDAPI.
- ⚿ Clés : compétences PIDAPI en cours, groupées par code, avec détection automatique d'ateliers (⚠ quand 3+ élèves partagent la même clé).
Le bilan individuel s'ouvre au clic et contient trois onglets : Ceintures (brevets), PIDAPI (compétences cliquables), Historique.
Plans de travail
L'enseignant crée un plan de travail personnalisé par élève. L'éditeur propose en un clic :
- Ceintures brevets : pilules colorées → un clic ajoute tous les brevets non validés de la ceinture en cours de l'élève.
- Ceintures PIDAPI : même logique pour les ceintures PIDAPI.
- ⚿ Clés en cours : les compétences PIDAPI que l'élève a en état « en cours » s'affichent en pilules colorées et s'ajoutent d'un clic au plan.
- ⊞ Charger modèle : bouton dans le header de l'éditeur pour choisir un modèle enregistré en un clic (sans passer par la configuration avancée).
- Activités libres : avec icône personnalisable parmi les catégories (Lecture, Maths, Arts, Sciences…).
Le plan se génère en PDF directement depuis l'éditeur, avec police pédagogique configurable, type de semaine (4/5 jours), projets personnels, zone d'avis avec smileys.
Module PIDAPI (optionnel)
Module activable dans ⚙️ Paramètres → Modules optionnels. Il permet de suivre les ceintures de compétences PIDAPI avec :
- 9 domaines : Mots, Phrases, Textes, Calculs, Espace et Géométrie, Grandeurs et Mesures, Nombres, J'écris, Je résous.
- 9 niveaux de ceintures : Vert clair → Noir (~300 compétences au total).
- Validation individuelle : clic sur une compétence pour cycler ○ (pas fait) → ⚿ (clé en cours) → ✓ (validé).
- Validation par ceinture : clic sur la barre de ceinture pour valider toutes les compétences d'un coup.
- Vue Clés : cartes par compétence montrant les élèves en cours, avec icône ⚠ atelier quand 3+ élèves partagent la même clé. Clic sur une carte → modale de validation rapide.
- Intégration plans de travail : les clés en cours d'un élève apparaissent directement dans l'éditeur de son plan de travail.
Générateur d'exercices (96 types)
Français (42 types) — Texte à trous, copie, production d'écrits, dictée, écriture sur lignes Seyes (3mm/2.5mm), copie différée, nuage de mots, fluence (mots/syllabes/pseudo-mots), compréhension (vrai/faux), mots mêlés, mots croisés (grille auto-générée), illustrer le texte, remettre la phrase dans l'ordre, phrases à remettre en ordre, lecture de consignes, anagrammes, dictionnaire, vocabulaire, trouver l'intrus, relier, ordre alphabétique, familles de mots, synonymes/antonymes, classes grammaticales (souligner par nature avec légende colorée), fonctions, compléments (COD/COI/CC), sujet-verbe, groupe nominal (identifier/enrichir/réduire), remplacer par un pronom, nature et fonction (tableau), conjuguer un verbe (temps/personne/format), tableau de conjugaison, trouver l'infinitif, accords, transformer des phrases, ponctuation, homophones grammaticaux (a/à, et/est, on/ont, son/sont, ce/se, ou/où, ces/ses, mais/mes), types de phrases (D/I/E/Imp), reconnaissance lettres/syllabes, compter les syllabes, localiser un son, écrire des mots avec des syllabes.
Mathématiques (54 types) — Écrire en chiffres/lettres, décomposer, comparer/ranger, droite graduée (SVG), encadrer, fractions (6 modes), suites numériques, tableau de numération, arrondir, nombres décimaux (5 modes), additions/soustractions/multiplications/divisions posées (grilles 12mm), division avec potence, calcul en ligne, doubles/moitiés/tiers/quarts, tables de multiplication/additions/soustractions (4 formats chacune), calcul mental, compléments à 10/100/1000, pyramide additive, cible numérique, carré magique, reproduction et repérage sur quadrillage (SVG), tracer avec outils, identifier des figures (SVG), angles (SVG), symétrie (SVG), pavages et frises (SVG), programme de construction, patrons de solides (SVG), codage/déplacements (SVG), périmètres, aires, identifier les solides, conversions, lire l'heure (horloges SVG), calculer des durées, monnaie, mesurer avec une règle, problèmes générés, lecture de graphiques, tableaux double entrée et proportionnalité.
Chaque exercice est paramétrable et utilise un système de preview/confirmation : brouillon (fond jaune) pendant la configuration, figé sur la feuille après confirmation.
Référentiel de compétences (Progz 2026.24)
Le référentiel est chargé dynamiquement depuis les données Progz. La consultation (Paramètres → Référentiels → Compétences officielles) affiche pour chaque compétence :
- Badge thème coloré (ex : Lecture, Écriture, Vocabulaire…)
- Badge période sémantique (vert = début d'année, jaune = milieu, rouge = fin)
- Intitulé principal
- Sous-thème en italique gris
- Exemples dépliables (« Voir 4 exemples »)
La mise à jour du référentiel se fait en remplaçant les fichiers src/js/data/c2.js, src/js/data/c3.js et src/js/data/_meta.js par les versions suivantes de Progz, sans toucher au reste du code.
Rétro-compatibilité : les brevets créés avec l'ancien référentiel restent intacts. Les compétences dont l'intitulé a légèrement changé (ponctuation, casse) sont reconnues automatiquement par normalisation. Les reformulations majeures apparaissent en tête de liste avec un badge « ancien » pour permettre une migration manuelle en douceur.
Sauvegarde et synchronisation
- Web (GitLab Pages) : stockage IndexedDB dans le navigateur. Export/import JSON manuel. Synchronisation optionnelle via Nextcloud (WebDAV) avec validation live des identifiants dans les paramètres.
- AppImage : stockage JSON local dans le dossier choisi. Archives automatiques à chaque fermeture (10 jours conservés). Synchronisation Nextcloud disponible.
- Structure Nextcloud :
config.json+brevets.json+plans.json+eleves/eleve-XXX.json(un fichier par élève) +captures/*.png. Architecture multi-fichiers pour éviter les conflits en cas d'utilisation sur plusieurs appareils.
Souveraineté numérique et sécurité
- Zéro dépendance CDN obligatoire — toutes les bibliothèques sont embarquées localement.
- Aucune télémétrie, aucun cookie de suivi, aucune donnée envoyée à des tiers.
- CSP (Content Security Policy) stricte, aucun usage de
eval()ounew Function(). - Les données de connexion Nextcloud restent dans le navigateur (jamais transmises ailleurs).
- GNU GPL v3 — code source intégralement public.
Installation
Version web (GitLab Pages)
L'application est accessible directement sans installation via GitLab Pages.
Pour déployer votre propre instance :
# Cloner le dépôt
git clone https://forge.apps.education.fr/heroldemmanuel/brevetmanager.git
cd brevetmanager
# Déployer sur GitLab Pages (CI/CD automatique)
git push origin master
Le fichier .gitlab-ci.yml gère le déploiement automatique.
PWA : sur mobile (Android/iOS), ouvrez l'app dans Chrome ou Firefox puis « Ajouter à l'écran d'accueil » pour l'utiliser comme une application native hors-ligne.
Version Electron (AppImage Linux)
Prérequis : Node.js 18+ et npm.
# Depuis le zip complet (brevetmanager-vX.Y.Z-complet.zip)
cd brevetmanager-vX.Y.Z
# Installer les dépendances (une seule fois)
npm install
# Lancer en mode développement
npm start
# Construire l'AppImage
npm run build
L'AppImage produite se trouve dans dist/BrevetManager-X.Y.Z.AppImage.
Note : l'AppImage nécessite libfuse2 sur Ubuntu 22.04+ / Linux Mint 21+.
sudo apt install libfuse2
Polices emoji : sur Linux, installer fonts-noto-color-emoji pour un affichage optimal des symboles dans l'interface.
sudo apt install fonts-noto-color-emoji
Structure du projet
src/
├── index.html # SPA unique — HTML + définitions SVG + scripts
├── manifest.json # Manifeste PWA
├── sw.js # Service Worker (cache hors-ligne)
├── css/
│ ├── common.css # Layout, variables CSS, sidebar, nav mobile, polices
│ └── brevets.css # Styles spécifiques aux brevets, plans, suivi
├── js/
│ ├── app.js # Navigation SPA, panier, paramètres, aide, archives
│ ├── francais.js # 42 générateurs exercices FR
│ ├── maths.js # 54 générateurs exercices MA
│ ├── brevets.js # Éditeur brevets, parcours, ceintures, templates
│ ├── suivi.js # Suivi élèves, tableaux, clés, bilan, validation
│ ├── plans.js # Plans de travail, modèles, intégration PIDAPI/clés
│ ├── pidapi.js # Module PIDAPI : validation compétences/ceintures
│ ├── brevet-pdf.js # Export PDF : fiches, sommaire, export intelligent
│ ├── referentiel.js # Construit REFERENTIEL_COMPETENCES depuis Progz
│ ├── referentiel-pidapi.js # Référentiel PIDAPI : 9 domaines, ~300 compétences
│ ├── mapping.js # Table compétences → générateurs suggérés
│ ├── persistence.js # Stockage IndexedDB/JSON, sync Nextcloud
│ ├── nextcloud.js # Synchronisation WebDAV
│ ├── utils.js # Capture html2canvas, notifications, helpers
│ └── data/ # Données Progz (ne pas modifier manuellement)
│ ├── _meta.js # Version du référentiel (Progz 2026.24)
│ ├── c2.js # Cycle 2 : 529 compétences (CP CE1 CE2)
│ └── c3.js # Cycle 3 : 792 compétences (CM1 CM2)
└── fonts/ # Polices pédagogiques (BelleAllure, Luciole, OpenDyslexic…)
Données stockées
Web : IndexedDB, clés brevets-plans, eleves, pidapi-data, pidapi-config, app-config.
AppImage : fichiers JSON dans le dossier choisi par l'utilisateur, même structure que Nextcloud.
Utilisation rapide
Créer un brevet
- Onglet Brevets → + Créer (ou depuis un parcours de ceintures).
- Donner un titre, choisir domaine et ceinture.
- Bouton ⊞ Compétences → sélectionner dans le référentiel Progz.
- Ajouter des exercices : FR (capture depuis Français), # (capture depuis Maths), ✎ Libre (bloc manuel).
- ◉ Aperçu pour prévisualiser, ▤ PDF pour exporter.
Configurer un parcours de ceintures
- Onglet Brevets → onglet Parcours.
- + Créer un parcours → choisir domaine, niveau, ceintures actives.
- Glisser-déposer des brevets existants dans les ceintures.
- Configurer le seuil de validation (tous / minimum N brevets).
Suivre les élèves
- Onglet Suivi → + Ajouter un élève.
- Vue Élèves : clic sur une carte → bilan interactif.
- Vue Tableau : vue d'ensemble tous parcours ou vue détaillée par parcours.
- Bouton ▤ Brevets à passer : export PDF par élève (fiche de suivi + brevets non validés).
Créer un plan de travail
- Onglet Plans → clic sur un élève → + Créer un plan.
- Section Ceintures : clic sur une pilule pour ajouter les brevets de la ceinture.
- Section Clés en cours : clic sur une clé PIDAPI pour l'ajouter au plan.
- ⊞ Charger modèle (header) : charger un modèle enregistré en un clic.
- ⎙ Générer le plan pour exporter en PDF.
Utiliser PIDAPI
- Paramètres → Modules optionnels → activer PIDAPI.
- Suivi → onglet ◎ PIDAPI → clic sur un élève → bilan PIDAPI.
- Clic sur une compétence : ○ → ⚿ (en cours) → ✓ (validé).
- Suivi → onglet ⚿ Clés : vue groupée des compétences en cours.
- Les clés apparaissent automatiquement dans l'éditeur de plan de l'élève.
Sauvegarder / transférer ses données
- Export : Paramètres → Sauvegarde → ↑ Exporter tout (JSON).
- Import : Paramètres → Sauvegarde → ↓ Importer (même format web et AppImage).
- Nextcloud : Paramètres → Synchronisation Nextcloud → saisir URL, identifiant, mot de passe d'application (généré dans Nextcloud → Sécurité → Appareils & sessions).
Polices pédagogiques incluses
| Police | Usage |
|---|---|
| BelleAllure Cursive / Script | Cursive recommandée Éducation nationale |
| Écriture A romain ligne | Manuscrite scolaire |
| Luciole | Haute lisibilité (malvoyance) |
| OpenDyslexic | Adaptée dyslexie |
| Marelle / MarelleBaton | Polices Freinet |
Changelog
v0.14.10 — Corrections suite retours sur les nouveaux exercices
Fix : arêtes visibles/cachées du cube et du pavé inversées dans « Reconnaître les solides » (perspective cavalière corrigée). Ajout de la balance de Roberval (poids étiquetés à additionner) dans « Lire une balance ». Choix du format des montants (mélange/euros entiers/centimes) dans « Problèmes de monnaie ». Formulation naturelle des questions de thermomètre (plus de mention de « °C », réponse en toutes lettres).
v0.14.4 → v0.14.9 — Cinq nouveaux exercices + deux fonctionnalités existantes rendues visibles
Audit complet du catalogue d'exercices (rendu PDF, redondances, nouveautés). Cinq exercices créés : Lire une balance (aiguille kg / écran numérique g), Lire un thermomètre (échelle verticale, plage positive ou avec négatifs), Estimer un ordre de grandeur (36 objets réels, masses/longueurs/contenances), Reconnaître les solides (cube, pavé, pyramide, cylindre, sphère, cône en perspective, mode nommer ou compter F/S/A), Écrire à partir d'une image (upload manuel, même mécanisme que les Brevets). Deux fonctionnalités déjà présentes mais invisibles au catalogue ont été renommées : la dictée à trous (mode caché de « Dictée préparée ») et la symétrie à compléter par tracé (anciennement « Axes de symétrie »).
v0.14.1 → v0.14.3 — Rendu PDF des feuilles d'exercices et clarification du catalogue
Police unifiée sur les titres d'exercice (fin du mélange serif/sans-serif), aération entre exercices avec filet de séparation, icônes homogènes (fin des doublons génériques en maths, icônes texte remplacées par des pictogrammes sur le plan de travail imprimé). En-tête enrichi : champ de titre de séquence facultatif et case « Vérifié », avec correction d'un piège de capture PDF (les champs de saisie n'étaient pas synchronisés avant capture par html2canvas). Titres et descriptions clarifiés pour les exercices proches (Chasse aux fonctions / Sujet-verbe / Compléments / Nature-tableau, Conjuguer un verbe / Tableau de conjugaison, Calculs de durées / Convertir des durées) après analyse ayant montré qu'il s'agissait de formats complémentaires et non de doublons.
v0.14.0 — Générateur de problèmes entièrement réécrit
Remplacement du système d'assemblage aléatoire (objet + verbe + lieu tirés indépendamment, produisant des énoncés absurdes) par près de 70 scénarios rédigés en entier sur les 20 types de problèmes (Vergnaud). Trois styles d'énoncé (court, mise en situation, donnée inutile). Vraisemblance garantie par contexte (décimaux et grands nombres réservés aux situations qui les supportent). Corrigé rédigé en phrase complète. 64 000 énoncés testés automatiquement sans anomalie avant intégration.
v0.13.0 → v0.13.18 — Horodatage PIDAPI, suivi de plan de travail, ergonomie
Ajout d'un registre parallèle pidapiDates (fichier élève) pour dater les validations de compétences PIDAPI, jusque-là non historodatées — chaîne complète : validation, fichiers élèves, synchro Nextcloud, fusion multi-appareils. Analyses du plan de travail (collective et individuelle) affichées en fenêtre dédiée plutôt qu'en encart fixe. Ateliers ponctuels pris en compte dans les analyses. Colonnes du suivi regroupées par catégorie avec en-tête fusionné. Validation au clavier (Entrée valide, Échap ferme) dans toutes les fenêtres. Bouton « Ceintures à remettre » pour préparer la distribution en classe. Ajout multi-élèves (activités, projets personnels) avec choix entre plan actuel et nouveau plan de la semaine suivante. Plusieurs correctifs de persistance (banque d'activités et ateliers perdus au redémarrage ou à la synchronisation).
v0.12.0 → v0.12.22 — Banque d'activités et suivi de plan de travail
Nouvelle « banque d'activités » réutilisable (nom, groupe, compétence par défaut, icône), classée par catégories dépliables, avec ajout à plusieurs élèves en un clic — condition nécessaire pour que le suivi regroupe correctement les colonnes. Nouvel onglet « Plans de travail » dans le Suivi (vue classe et vue individuelle), cycle d'état à trois valeurs (réussi / des erreurs / à travailler), colonnes PIDAPI par domaine, ateliers ponctuels avec choix des élèves concernés. Portfolio élève en PDF (individuel et classe entière, un seul fichier). Plusieurs correctifs de synchronisation Nextcloud et de persistance multi-fichiers.
v0.11.14 → v0.11.35 — Effacement des données, ergonomie PIDAPI, fiche de suivi collective
Zone de danger dans les Paramètres pour effacer les données locales (web et AppImage), avec plusieurs correctifs successifs (localStorage non vidé, config Nextcloud non effacée par défaut, banque non persistée). Refonte de l'onglet PIDAPI en deux colonnes interactives. Fiche de suivi collective dans l'export PDF de tous les plans. Groupes d'activités dans les plans de travail, avec bandeau dédié sur la fiche imprimée. Code de la clé préfixé au nom de l'activité pour que l'élève retrouve sa fiche.
v0.10.7 — Numérotation continue des exercices sur toute la feuille
Les compteurs Ex.N reprenaient à 1 dans chaque catégorie au lieu de continuer sur toute la feuille. instanceCounter centralisé et partagé entre toutes les fonctions d'ajout d'exercice.
v0.10.6 — Fix clés PIDAPI dans les plans de travail
Correction d'un bug introduit en v0.10.5 : la condition de vérification du module PIDAPI utilisait PidapiModule.actif (propriété inexistante) au lieu de App.pidapiEnabled !== false (la vraie propriété utilisée partout dans l'app). La section « Clés en cours » affichait donc systématiquement « Module PIDAPI non activé » même quand le module était bien actif.
v0.10.5 — Clés PIDAPI intégrées dans les plans de travail
L'éditeur de plan de travail affiche désormais une section ⚿ Clés en cours sous la section ceintures PIDAPI. Elle liste toutes les compétences PIDAPI de l'élève qui sont dans l'état « en cours » (⚿), avec leur code, leur libellé complet et l'icône du domaine. Un clic les ajoute directement au plan comme activité.
Les clés déjà ajoutées au plan affichent un ✓ (au lieu du +) pour éviter les doublons visuels. La fonction _addCle vérifie également les doublons en base et donne un retour visuel si la clé est déjà dans le plan.
v0.10.4 — Charger un modèle en un clic dans l'éditeur de plan
Nouveau bouton ⊞ Charger modèle dans le header de l'éditeur de plan, à gauche d'Aperçu. Un clic ouvre une modale avec toutes les modèles enregistrés sous forme de cartes (nom, nombre d'activités, date, type de semaine). Sélectionner un modèle et confirmer remplace les activités du plan en cours.
L'ancien select enfoui dans la section « Configuration avancée » est retiré. La configuration avancée reste disponible pour le type de semaine, la date, la police et les options d'affichage.
v0.10.3 — Remplacement des emoji par des symboles Unicode standards
Sur Linux, les emoji haute plage (U+1F000+) s'affichaient en boîte vide dans l'AppImage car la police Noto Color Emoji n'était plus installée sur le système. Tous les emoji des éléments UI (boutons, onglets, libellés) ont été remplacés par des symboles Unicode de la plage U+2000-27FF, présents dans les polices standard (DejaVu Sans, Roboto). Exemple : 🎯 → ◎, 🔑 → ⚿, 📊 → ▦, 🖨 → ⎙.
Les palettes d'icônes choisies par l'utilisateur dans les plans de travail (lignes 19-30 de plans.js) sont conservées telles quelles — elles sont de la responsabilité de l'utilisateur.
v0.10.2 — Tentative CSS de correction emoji (partiellement supersédée par v0.10.3)
Ajout d'un @font-face avec unicode-range pour l'alias SystemEmoji pointant vers les polices emoji système via local(), et réorganisation de la font-family pour mettre les polices emoji avant sans-serif. Flags Electron ajoutés dans main.js pour Linux. Cette approche fonctionne si fonts-noto-color-emoji est installé ; sinon, voir v0.10.3.
v0.10.1 — Rétro-compatibilité des données existantes après migration Progz
Audit complet et correction du matching des compétences cochées dans les anciens brevets. Les compétences dont l'intitulé diffère légèrement entre ancien et nouveau référentiel (ponctuation finale, casse) sont reconnues par normalisation (_normalizeCompText). Les reformulations majeures apparaissent en tête de liste de l'éditeur avec un badge « ancien » sur fond jaune. Aucune donnée n'est modifiée — le stockage reste identique, seul l'affichage est amélioré.
v0.10.0 — Intégration du référentiel officiel Progz 2026.24
Migration du référentiel de compétences : les ~600 strings hard-codées dans referentiel.js sont remplacées par les données Progz 2026.24 (~1 300 compétences CP→CM2 avec thèmes, sous-thèmes, périodes et exemples). Les fichiers js/data/_meta.js, c2.js, c3.js sont chargés avant referentiel.js et alimentent window.PROGRAMMES. La mise à jour future du référentiel = remplacer ces 3 fichiers. Nouveau domaine EVAR ajouté. UI de consultation des compétences refondue avec badges thème/période et exemples dépliables.
v0.9.6 — Fix icônes SVG géantes dans la nav mobile (Brave Android)
Ajout des attributs HTML width="22" height="22" viewBox="0 0 24 24" aria-hidden="true" sur les 17 balises <svg> de la sidebar et de la nav mobile. Sur Brave Android, les SVG sans attributs HTML se rendaient à 300×150 (taille par défaut SVG) malgré le CSS.
v0.9.5 — Paramètres : version visible, validation live Nextcloud
Bandeau version en haut de la modale Paramètres. Validation live des champs Nextcloud (pastilles ✓/✗) + auto-test de connexion 1 s après la dernière frappe.
v0.9.4 — Icônes SVG dans la nav mobile
La barre de navigation mobile affichait des pastilles rondes colorées (héritage). Remplacées par les mêmes icônes SVG <use href="#sb-i-X"> que la sidebar desktop.
v0.9.3 — Fix bug nbLignes à 0
ex.nbLignes || 4 remplacé par ex.nbLignes ?? 4 (nullish coalescing). Sur un exercice dont les lignes avaient été mises à 0, l'ajout d'un nouvel exercice réinitialisait l'affichage à 4.
v0.9.2 — Réorganisation de la sidebar
Section Gestion (Suivi, Plans) avant la section Exercices (Brevets, Français, Maths, Panier). Brevets déplacé de Gestion vers Exercices. Même ordre sur la nav mobile et dans la modale d'aide.
v0.9.1 — Onglet de démarrage : Suivi
App.naviguerVers('suivi') appelé à la fin de App.init() : l'app s'ouvre sur l'onglet Suivi.
v0.9.0 — Audit complet du code
Suppression de ~170 lignes de code mort (3 fonctions orphelines, 14 variables locales inutilisées, 1 commentaire trompeur). Audit sécurité : zéro eval(), zéro prompt() natif, zéro TODO/FIXME. Régression corrigée immédiatement : autoInfo dans showElevePlans() faussement identifiée comme orpheline par l'outil d'audit, restaurée. Version reculée de 1.0.x → 0.9.0 (validation en usage réel requise avant v1.0.0).
Licence
GNU General Public License v3.0 — voir https://www.gnu.org/licenses/gpl-3.0.fr.html
Auteur
Emmanuel Hérol — instituteur Freinet, Cavillargues (Gard)
Forge des Communs Numériques Éducatifs : forge.apps.education.fr/heroldemmanuel