Générateur d'emploi du temps scolaire automatique (gratuit)

Construire un emploi du temps à la main revient à résoudre un immense casse-tête : chaque enseignant, chaque classe et chaque salle ne peuvent occuper qu'un seul créneau à la fois, tout en respectant des dizaines de contraintes qui s'influencent mutuellement. Ce générateur automatise ce travail en le confiant à un solveur de programmation par contraintes (le même type de moteur mathématique utilisé pour la planification industrielle), en quelques secondes à quelques dizaines de secondes selon la taille de l'établissement.

Comment fonctionne la génération automatique

Vous décrivez votre établissement en cinq étapes : la grille horaire (jours ouvrés, nombre de périodes par jour, pauses), les classes et les matières avec leur volume horaire hebdomadaire, les enseignants (matières qu'ils peuvent assurer, créneaux où ils ne sont pas disponibles, maximum d'heures par jour), les salles spécialisées si votre établissement en a (laboratoire, salle informatique...), et enfin des curseurs de préférence optionnels. Le calcul se lance ensuite sur nos serveurs : contrairement à un tableur ou un algorithme qui procède case par case, le solveur explore l'espace des combinaisons possibles de façon mathématiquement complète et garantit qu'aucune ressource ne se retrouve doublement occupée.

Deux catégories de règles coexistent. Les contraintes strictes ne sont jamais négociables : un enseignant ne peut pas être à deux endroits à la fois, un cours ne peut pas dépasser le volume horaire déclaré, une salle spécialisée ne peut accueillir qu'un cours à la fois. Les préférences souples, réglables par curseur, orientent le résultat sans jamais le bloquer : étaler les séances d'une même matière sur plusieurs jours plutôt que de les regrouper, ou limiter les trous dans l'emploi du temps d'un enseignant entre deux cours de la même journée. Le solveur cherche toujours la solution qui respecte toutes les contraintes strictes et satisfait au mieux les préférences pondérées, jamais l'inverse.

Pourquoi certains emplois du temps sont impossibles

Un emploi du temps peut être mathématiquement irréalisable, et ce n'est pas un bug de l'outil : c'est souvent l'établissement lui-même qui demande l'impossible sans s'en rendre compte. Le cas le plus courant est un enseignant dont le volume horaire à assurer dépasse ses disponibilités déclarées — l'outil le détecte en quelques millisecondes par un simple calcul arithmétique et l'explique nommément ("M. Adjovi doit assurer 26 heures mais n'est disponible que 22 heures"), sans même avoir besoin de lancer le solveur complet.

D'autres impossibilités sont plus subtiles : trop de cours nécessitant la même salle spécialisée au même moment, ou une accumulation de petites contraintes qui, prises une par une, semblent anodines mais qui, mises bout à bout, ne laissent plus aucune combinaison valide. Dans ces cas plus rares, l'outil relâche méthodiquement des groupes de contraintes strictes jusqu'à identifier un ensemble minimal responsable de l'impossibilité, et le traduit en phrase compréhensible plutôt que de se contenter d'annoncer un échec.

Conseils pour bien saisir les disponibilités

La qualité du résultat dépend directement de la précision des disponibilités déclarées. Quelques principes limitent les mauvaises surprises : ne cochez une indisponibilité que si elle est réelle et récurrente (un enseignant à temps partiel, un jour banalisé) — une case cochée par excès de prudence peut suffire à rendre tout l'emploi du temps infaisable alors qu'une petite marge de manœuvre aurait suffi. À l'inverse, un enseignant déclaré disponible partout par défaut donne au solveur un maximum de latitude : c'est d'ailleurs le comportement par défaut de l'outil, une case à cocher n'ajoute une contrainte que si vous l'activez explicitement.

Pensez aussi à répartir raisonnablement le volume horaire total par rapport au nombre de créneaux disponibles dans la semaine : demander à un enseignant d'assurer plus d'heures qu'il n'existe de créneaux dans sa semaine de travail rend le problème infaisable avant même de considérer les autres enseignants. Si vous testez l'outil pour la première fois, commencez par un petit sous-ensemble de classes et de matières pour vous familiariser avec la saisie, puis élargissez progressivement.

Résultat et ajustements

Une fois la génération terminée, l'emploi du temps se consulte sous trois angles complémentaires : par classe (pour l'affichage aux élèves), par enseignant (pour la remise individuelle) et par salle (pour vérifier l'occupation des espaces partagés). Chaque case peut être déplacée à la main par glisser-déposer si un ajustement de dernière minute est nécessaire ; l'outil revérifie alors immédiatement les conflits potentiels, sans jamais recalculer l'ensemble depuis le début.

L'emploi du temps final s'exporte en PDF (une page par classe et par enseignant, prête à imprimer ou à afficher), en Excel (pour vos propres retraitements) et au format iCalendar (pour importer l'agenda de chaque enseignant dans son application de calendrier habituelle). L'intégralité du projet — grille, classes, enseignants, contraintes — peut également être exportée en JSON pour être reprise plus tard ou partagée avec un collègue qui dispose du même outil.

Häufig gestellte Fragen

Combien de temps prend la génération d'un emploi du temps ?
Pour un petit établissement (quelques classes), la solution optimale est généralement trouvée en quelques secondes. Pour un collège complet (une vingtaine de classes, une trentaine d'enseignants), comptez de quelques secondes à une trentaine de secondes selon la difficulté des contraintes — le calcul est plafonné à 45 secondes, au-delà desquelles le meilleur résultat trouvé jusque-là est proposé.
Pourquoi l'outil me dit-il que mon emploi du temps est impossible ?
Le solveur explique la cause la plus probable en une phrase, avec le nom de la ressource en cause — par exemple "M. Adjovi doit assurer 26 heures mais n'est disponible que 22 heures". Le cas le plus fréquent est un enseignant sur-sollicité par rapport à ses disponibilités déclarées ; viennent ensuite les salles spécialisées en nombre insuffisant et les créneaux surchargés.
Que faire si le diagnostic ne pointe aucune cause évidente ?
Certaines impossibilités résultent de la combinaison de plusieurs petites contraintes plutôt que d'une seule cause dominante ("problème du logement" : trop de cours à caser sur trop peu de créneaux compatibles). Dans ce cas, commencez par assouplir les disponibilités les plus restrictives ou par augmenter le nombre de créneaux disponibles, puis relancez la génération.
Les contraintes de "préférence" sont-elles toujours respectées ?
Non, et c'est voulu : étaler les cours d'une matière sur la semaine ou minimiser les trous dans la journée d'un enseignant sont des préférences pondérables, jamais des règles strictes. Le solveur ne renonce jamais à trouver une solution faisable à cause d'une préférence — il l'ignore plutôt que de déclarer l'ensemble infaisable.
Puis-je modifier l'emploi du temps généré à la main ?
Oui : chaque cours peut être déplacé par glisser-déposer dans la grille. Chaque déplacement est revérifié instantanément (même enseignant sur deux cours en même temps, salle spécialisée manquante...) et les conflits éventuels s'affichent immédiatement, sans qu'il soit nécessaire de relancer tout le calcul.
Comment importer mes classes, matières et enseignants sans tout ressaisir ?
Téléchargez le modèle Excel depuis l'assistant, remplissez les feuilles Classes, Matières, Enseignants, Salles et Cours, puis importez le fichier : les champs de l'assistant se remplissent automatiquement. Un import CSV partiel (une seule table à la fois) est également accepté.
Mes données (noms des enseignants, des classes) sont-elles conservées ?
Non : le projet est enregistré uniquement dans votre navigateur (stockage local), jamais sur nos serveurs. Le calcul lui-même s'exécute côté serveur le temps de la résolution, puis les données envoyées sont supprimées — vous pouvez exporter votre projet en JSON pour le sauvegarder vous-même ou le reprendre sur un autre appareil.
Y a-t-il une limite au nombre de classes ou d'enseignants ?
Oui, par prudence sur les temps de calcul : 30 classes et 60 enseignants au maximum, ce qui couvre largement un établissement secondaire complet. Au-delà, l'outil affiche un message explicite plutôt qu'un calcul qui échouerait silencieusement.