Un éditeur web pour décrire votre établissement — salles, professeurs, classes, programmes, préférences — et un solveur OR-Tools de Google qui place tous les cours de la semaine. Rien à installer pour l'essayer.
Moteur CP-SAT d'OR-Tools (Google). Sans préférences, même plusieurs établissements se placent en quelques secondes ; chaque contrainte souple ajoutée demande un peu plus de recherche. Progression affichée en direct.
Licence Apache 2.0 + Commons Clause : libre de forker, modifier et distribuer pour un usage non commercial. Le solveur est publié sur GitHub.
« Résoudre en ligne » n'envoie le classeur que le temps du calcul, en mémoire. Le planning revient, puis rien n'est conservé, ni analysé, ni partagé.
Un clic sur le drapeau 🇫🇷 interroge l'annuaire de l'Éducation nationale (data.education.gouv.fr) : adresse, GPS, département — puis génère classes, salles et professeurs.
L'éditeur guide le remplissage dans l'ordre ⓪→④. À chaque étape, un tableau de type tableur : une cellule = un clic. La plupart des lignes peuvent être générées automatiquement.
Trois portes d'entrée : ouvrir un fichier .xlsx existant, partir d'un planning
vierge, ou lancer la démo intégrée (trois lycées parisiens, programme collège).
Un travail en cours est repris automatiquement depuis le navigateur.

Les listes de choix proposées partout ailleurs — niveaux, matières, statuts, types de salle, types de préférence — préremplies au standard collège/lycée et entièrement modifiables. Seule saisie obligatoire : le(s) numéro(s) de département.

Le bouton drapeau interroge l'annuaire officiel de l'Éducation nationale. On choisit son établissement dans la liste ; la fiche se remplit (type, adresse, GPS) et l'éditeur propose de générer classes (effectifs réels), salles et professeurs à partir des données publiques.



Trois onglets, générés à l'étape précédente ou saisis à la main. On renomme les professeurs, on vérifie les capacités de salles, les matières enseignées, les effectifs et sections de classe.


Heures hebdomadaires par discipline et par niveau. Les grilles collège/lycée sont chargées d'office ; on les ajuste, on retire les niveaux inutiles, on renomme les lignes « Spécialité ».

Des contraintes souples et pondérées : jour libre, ne pas commencer avant 9 h, cours groupés, créneau bloqué, refus d'un niveau… chacune en priorité contrainte (toujours respectée), haute (×100), moyenne (×10) ou basse. Un bouton « 🎲 Préférences démo » en empile des aléatoires pour tester.

Un contrôle de faisabilité : charge de chaque professeur face à ses heures de contrat, marges disponibles, déficits par matière. On corrige les impossibilités avant de lancer le calcul.

Le solveur OR-Tools place tous les cours de la semaine en respectant salles, contrats, indisponibilités et préférences. Progression affichée en direct : pré-affectation des professeurs → construction du modèle → résolution CP-SAT.
Deux vues, exportables en CSV, XLSX ou impression. Les couleurs suivent les matières ; les repas et créneaux bloqués sont respectés.

Après résolution, le récapitulatif indique combien de vœux ont été honorés et lesquels n'ont pas pu l'être — utile pour arbitrer et relancer.

Le seul appel à un service extérieur est la requête à l'annuaire ouvert de l'Éducation nationale (data.education.gouv.fr), et seulement quand vous cliquez sur le drapeau pour préremplir un établissement.
Pour un usage hors ligne, sans aucune limite et sans qu'aucune donnée ne sorte de votre poste.
Avec Docker :
docker run --rm -p 8002:8002 dnavatar/timetabler
Ou avec Python (via uv) :
uv run uvicorn server:app --port 8002
Code source et instructions : github.com/DNAvatar-org/timetabler-solver · télécharger le zip
Aucune inscription, aucune installation. Ouvrez l'éditeur et lancez la démo intégrée.
▶ Ouvrir l'éditeur