- HTML 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| public | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
🗞️ Journal de Classe Freinet
Application de création de journaux scolaires coopératifs, conçue pour les classes pratiquant la pédagogie Freinet.
Les élèves écrivent des articles, votent pour leurs textes préférés, et l'enseignant compose un journal imprimé avec une mise en page professionnelle — le tout sans connexion internet.
📸 Aperçu
L'application propose 6 onglets : Articles, Éditions, Élèves, Stats, Impression et Paramètres.
L'onglet Impression offre un aperçu en direct avec drag & drop, templates de mise en page, et export PDF.
✨ Fonctionnalités
📝 Gestion des articles
- Création d'articles avec titre, auteur, catégorie, contenu et illustrations
- Choix de la police d'écriture par article (15 polices Google Fonts + polices personnalisées)
- Choix du niveau de lecture
- Position des images configurable (avant, après ou à côté du texte)
- Filtres par catégorie, auteur et recherche textuelle
- Import rapide depuis des fichiers
.txt
🗞️ Éditions du journal
- Composition par glisser-déposer des articles dans l'édition
- Bouton "Par catégorie" pour regrouper automatiquement les articles de même rubrique
- Éditorial du rédacteur en chef
- Vote coopératif : chaque élève vote pour son texte préféré → le texte élu est mis en avant ⭐
- Système d'archivage des anciennes éditions
- Sauts de page manuels par article
👨🎓 Fiches élèves
- Profil par élève avec avatar (initiales colorées)
- Statistiques individuelles : nombre d'articles écrits et textes élus
📊 Tableau de bord statistiques
- Compteurs globaux (articles, éditions, élèves, votes)
- Graphiques en barres : articles par élève, par catégorie
- Palmarès des textes élus
- Chronologie des éditions
🖨️ Impression & Export PDF
- 6 templates de mise en page : Classique, Magazine, Gazette, Blog, Poésie, Personnalisé
- Aperçu en direct avec réorganisation par drag & drop
- Couverture automatique avec sommaire, logo, liste des participants
- Options complètes : orientation, colonnes, taille de police, marges, bordures, filigranes
- Mode Compact : interligne réduit, articles enchaînés sans espace perdu
- Mode Aéré : articles entiers sur chaque page, mise en page classique
- Numérotation intelligente des pages (s'adapte au contenu et à la densité)
- Séparateurs visuels entre catégories
- Export PDF direct (Electron) ou via la boîte d'impression (navigateur)
- Format livret A3 plié
⚙️ Paramètres & personnalisation
- 6 thèmes visuels (Classique, Sombre, Nature, Océan, Automne, Lavande)
- Mode dyslexie (police OpenDyslexic)
- Mode tablette optimisé pour écran tactile
- Catégories personnalisables
- Import de polices personnalisées (.ttf, .otf, .woff) — idéal pour Belle Allure, Cursive Standard…
- Logo et identité de l'école
- Correction orthographique native (français)
- Sauvegarde automatique avec versioning (5 dernières versions)
🚀 Installation
Version Electron (recommandée)
Application de bureau autonome avec sauvegarde sur disque et export PDF natif.
# Cloner le dépôt
git clone https://gitlab.com/votre-utilisateur/journal-de-classe.git
cd journal-de-classe
# Installer les dépendances
npm install
# Lancer l'application
npm start
Créer un raccourci bureau (Linux/Debian)
chmod +x install-desktop.sh
./install-desktop.sh
Le script crée un fichier .desktop dans ~/.local/share/applications/ pour un lancement depuis le menu.
Version standalone (navigateur)
Fichier HTML unique, sans installation. Ouvrir journal-de-classe.html dans un navigateur moderne (Chrome, Firefox, Edge).
Les données sont sauvegardées dans le localStorage du navigateur.
⚠️ En version standalone, l'export PDF passe par la boîte d'impression du navigateur ("Enregistrer au format PDF").
📁 Structure du projet
journal-de-classe/
├── src/
│ ├── index.html # Interface complète (HTML + CSS + JS)
│ ├── main.js # Processus principal Electron (IPC, fichiers, PDF)
│ └── preload.js # Pont sécurisé entre Node.js et le renderer
├── icons/
│ ├── icon.png # Icône 512x512
│ └── icon.svg # Icône vectorielle
├── journal-de-classe.html # Version standalone (tout-en-un)
├── install-desktop.sh # Script d'installation raccourci Linux
├── package.json
└── README.md
🛠️ Technologies
- Electron 33 — Application de bureau multi-plateforme
- HTML / CSS / JavaScript — Vanilla, aucun framework
- Google Fonts — 15 polices intégrées (Nunito, Merriweather, Playfair Display, Dancing Script, Caveat, Patrick Hand, Kalam, etc.)
- localStorage / fichier JSON — Persistance des données (navigateur / disque)
Aucune dépendance côté client, aucun bundler, aucun build nécessaire.
📋 Pédagogie Freinet
Cette application s'inscrit dans les pratiques coopératives de la pédagogie Freinet :
- Texte libre : les élèves écrivent librement sur les sujets de leur choix
- Vote coopératif : la classe vote démocratiquement pour élire le meilleur texte de chaque édition
- Rédacteur en chef : un élève rédige l'éditorial (rôle tournant)
- Journal scolaire : publication régulière valorisant le travail des élèves
- Individualisation : suivi des contributions de chaque élève via les statistiques
📦 Versions
| Version | Fonctionnalités |
|---|---|
| 1.0 | Gestion articles, éditions, impression de base |
| 2.0 | Thèmes, mode tablette, versioning, pédagogie Freinet (fiches élèves, vote coopératif, archives) |
| 2.1 | Mise en page avancée (templates, drag & drop, images, sauts de page), statistiques, export PDF, import texte, mode compact |
🤝 Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou proposer une merge request.
Quelques idées d'améliorations futures :
- Export au format ePub
- Mode collaboratif réseau local
- Dictée vocale pour les plus jeunes
- Intégration avec le LSU (Livret Scolaire Unique)
📄 Licence
Ce projet est distribué sous licence MIT. Libre d'utilisation, de modification et de redistribution, y compris dans un cadre scolaire.
Développé avec ❤️ pour les classes Freinet.