Plannr est une application web one-page complète pour la gestion de projet. Elle permet de visualiser et d'organiser vos phases et tâches à travers un diagramme de Gantt interactif, des vues compactes intelligentes et des tableaux de bord détaillés.
- Bandeau de validation : anomalies corrigées au chargement (doublons, dates invalides, dépendances inconnues, liens non-http), butoirs dépassées, incohérences statut/avancement, et journal des changements depuis le chargement précédent
- Schéma machine :
schemas/plannr-data.schema.jsondécrit le format complet — l'agent peut valider avant de livrer - Dates butoirs (
deadline) : marqueur ⚑ sur le Gantt, badge tableau, alerte quand une cascade fait dépasser une butoir - Notes & lien par tâche (
notes,linkhttp(s)) : contexte de l'agent dans l'infobulle, icônes 📝/🔗 dans le tableau, note éditable au clic - Lag de dépendance :
"1.2+3"= démarre 3 jours ouvrés après le jour ouvré suivant la fin de 1.2 - Sélecteur de dépendances (v2.3) : popover à cases à cocher dans le tableau — anti-cycle préventif (les descendantes sont grisées), lag par ligne, Échap pour annuler
- Pastille de connexion (v2.3) : au survol d'une barre, un ⊕ apparaît à côté du bord droit (zone disjointe du resize) — tirer une flèche élastique jusqu'à une autre barre crée la dépendance (cibles invalides en rouge, cycles refusés), cascade immédiate
- Charge par responsable : section dédiée avec totaux en jours ouvrés et détection des chevauchements de tâches non terminées
- Fenêtre temporelle : Tout / 3 mois / 1 mois / 2 sem + ◀ ▶ + Aujourd'hui
- Calendrier paramétrable (
calendar) : samedi ouvré, fériés ajoutés ou retirés — affecte les durées et la cascade (métier) - Enregistrer 💾 : écrit
plannr-data.jsdirectement sur disque (Chrome/Edge), fallback téléchargement ailleurs - Clic sur une barre : navigation vers la ligne du tableau (surbrillance)
- Tout HTML issu des données est échappé (données agent = non fiables)
- Dépendances entre tâches (
dependsOn) : édition dans le tableau, flèches sur le Gantt, décalage automatique en cascade des successeurs (un successeur démarre au plus tôt le jour ouvré suivant la fin de ses prédécesseurs), détection de cycles - Chemin critique : plus long chemin du graphe de dépendances, surligné en pointillé rouge sur le Gantt
- Jours ouvrés : durées calculées hors week-ends et fériés français (fixes + Pâques/Ascension/Pentecôte calculés), jours non ouvrés grisés sur le Gantt
- Baseline : bouton 📌 pour figer le planning de référence — la dérive s'affiche en barres fantômes grises sous les barres actuelles
- Ligne « Aujourd'hui » sur le Gantt + détection des retards (badge rouge dans le tableau, contour rouge sur le Gantt, carte « En retard » au dashboard)
- % d'avancement par tâche : éditable dans le tableau, rempli dans les barres du Gantt, progression globale pondérée par la durée ouvrée
- Édition inline de tous les champs (phases, tâches, dates, responsables)
- Ajout/suppression de tâches et de phases (groupes)
- Drag & drop interactif pour déplacer les tâches et les jalons directement sur le Gantt
- Jalons (Milestones) : Transformation facile de tâches en jalons et inversement
- Renumérotation automatique des tâches lors des modifications
- Diagramme de Gantt interactif propulsé par Chart.js
- Mode Compact : Algorithme de compactage intelligent pour minimiser l'espace vertical tout en gardant les titres lisibles (placement alterné, tiges de liaison)
- Mode Cascade : Vue classique une ligne par tâche
- Dashboard Dynamique : Statistiques en temps réel (Tâches totales, En cours, Terminées, En retard, Durée totale ouvrée, Progression pondérée)
- Export PDF Premium : Génération de rapports incluant une capture haute résolution de votre diagramme de Gantt
- Export Excel & CSV : Exportation structurée de toutes les données du planning
- Export/Import JSON : Sauvegarde complète de vos données (format canonique v2.1, clé
phases; l'ancienne clériskGroupsreste lue) - Export plannr-data.js : fichier de données rechargeable à reposer à côté du HTML
- Export ICS : les jalons deviennent des événements calendrier (Outlook, Apple Calendar…)
- Impression : feuille
@media printdédiée (A3 paysage, contrôles masqués)
- Undo/Redo complet (Cmd+Z / Cmd+Y)
- Sauvegarde automatique locale (localStorage, namespacée par document — plusieurs copies de Plannr sur le même domaine ne se polluent pas)
- Fonctionne entièrement hors-ligne : les 4 bibliothèques sont vendorisées inline dans le HTML, aucune dépendance CDN
L'artefact livré est un seul fichier HTML autonome.
- Télécharger
plannr.html(+ optionnellementplannr-data.jspour vos données) - Ouvrir le fichier dans votre navigateur
- C'est tout ! Aucune installation requise, aucun réseau nécessaire
Les données vivent dans plannr-data.js (window.PLANNR_DATA, format
canonique v2.1 documenté en tête de fichier). Le menu Exporter propose un
plannr-data.js rechargeable qui se repose tel quel à côté du HTML.
Le HTML est généré — ne pas l'éditer directement :
# Sources éditables
src/head.html # <head> (meta, favicon)
src/styles.css # CSS applicatif (+ @media print)
src/body.html # markup
src/features.js # module v2.1 (jours ouvrés, dépendances, baseline, plugins Gantt)
src/app.js # application historique
src/libs/ # bibliothèques vendorisées (pinnées)
python3 build.py # assemble -> plannr.html (déterministe, vérifié en CI)
npm install && npx playwright install chromium
npm test # suite e2e (8 tests : libs, jours ouvrés, cascade,
# round-trip, rétro-compat, UI v2.1, progression)- HTML5 / CSS3 - Design moderne inspiré des codes visuels d'Apple
- JavaScript (ES6+) - Vanilla JS pur, aucune dépendance framework complexe
- Chart.js - Moteur de rendu du diagramme de Gantt
- jsPDF - Génération des rapports PDF
- SheetJS - Exportation vers Excel (XLSX)
Ce projet est sous licence GNU Affero General Public License v3.0 (AGPL-3.0).
Voir le fichier LICENSE pour plus de détails.
Les contributions sont les bienvenues !
- Fork le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Pour toute question ou suggestion :
- Ouvrir une issue
- Consulter la documentation dans le code source
© 2026 Plannr — Gestion de planning et diagramme de Gantt