Points essentiels
- La génération consomme une structure dotée et vérifiée pour la faisabilité, et la transforme en cours placés.
- Les éléments les plus contraints passent en premier : les singletons, puis les matières de base, puis les options.
- Les planifications manuelle, automatique et mixte sont toutes légitimes ; le choix revient au planificateur.
- Le retour du solveur est examiné avant qu’un changement s’applique, jamais après.
Ce que la génération consomme
Les entrées sont les classes convenues, les affectations de personnel, les salles et les contraintes issues de la planification. La génération les place ; elle ne les remet pas en question. Une structure qui n’a pas passé les contrôles de faisabilité peut échouer au placement pour des raisons qu’aucun solveur ne peut réparer, parce que l’échec a été conçu en amont.
Cette frontière est utile. Quand une exécution échoue, la première question est de savoir de quel côté se trouve le problème : les données et la structure, ou le placement.
Exécuter la génération dans l’ordre des contraintes
Placez les éléments les plus difficiles pendant que la grille a encore de la place pour eux.
- Confirmer que la structure est dotée en personnel et vérifiée pour la faisabilité avant tout placement.
- Verrouiller les points fixes auxquels l’école s’est déjà engagée.
- Placer les singletons et les autres cours avec très peu de périodes valides.
- Placer les matières de base que de nombreux élèves doivent suivre.
- Placer les options et les matières facultatives dans l’espace restant.
- Examiner le retour du solveur, puis envoyer les conflits non résolus vers la validation ou la résolution de conflits plutôt que de forcer la grille.
Comment faire dans Smootables : générer un emploi du temps
Fall 2026
Recurring weeks18.8.2026 - 20.12.2026 / 18 weeks
Planned hours 142 h
Dans Smootables, la génération s’exécute à partir du plan de période et valide avant de résoudre.
- Dans Planification, ouvrez la période et cliquez sur Générer l’emploi du temps (ou Générer un nouvel emploi du temps s’il en existe déjà un).
- Choisissez le périmètre dans la boîte de dialogue Périmètre de génération : Groupes modifiés uniquement, ou Tous les groupes d’élèves.
- Le solveur s’exécute en deux phases : d’abord les contraintes dures pour trouver une grille faisable, puis les préférences souples pour l’améliorer.
- Réglez le côté souple sous Paramètres du solveur : six poids de 0 à 200 (Trous des élèves, Trous des enseignants, Équilibre quotidien des élèves, Équilibre quotidien des enseignants, Répartition des matières, Préférence matinale). Un poids de 0 désactive une contrainte, et seule la Préférence matinale est activée par défaut.
- Restreignez un placement unique avec les Préférences d’horaire : jours de semaine spécifiques, matin ou après-midi, ou tous les cours le même jour.
Manuel, automatique ou mixte
Certaines écoles placent tout à la main, d’autres génèrent tout, et beaucoup mélangent : le solveur place les cours, le planificateur examine les exceptions et verrouille ce qui ne doit pas bouger. Les trois approches sont légitimes. La question décisive est de savoir où le jugement apporte de la valeur, et la réponse diffère selon l’école.
Ce qui ne diffère pas : le retour est examiné avant l’application des changements. Un solveur qui montre un clash avant le déplacement est un assistant. Appliquée en silence, la même suggestion est un risque.
Certains planificateurs se demandent si un chatbot généraliste pourrait faire ce travail à la place d'un solveur. Voir ChatGPT peut-il créer un emploi du temps scolaire ? pour connaître les éléments disponibles à ce sujet.
Liste de contrôle avant génération
Un manque dans cette liste est ce qui réapparaît plus tard déguisé en erreur du solveur.
- Des classes dotées en personnel issues de la structure de planification annuelle
- Blocs, bandes, sets et motifs d’options vérifiés là où l’école les utilise
- Points fixes identifiés et verrouillés
- Disponibilités des enseignants et besoins de salles saisis pour la validation
- Un choix délibéré de planification manuelle, automatique ou mixte
- Une étape d’examen entre le retour du solveur et les changements appliqués
Après l’exécution
Une exécution terminée est un brouillon, pas une décision. Vérifiez la grille par rapport aux engagements qui ont été verrouillés, puis traitez les restes : les constats de validation retournent aux données, les cours bloqués vont en résolution de conflits.
Pour la façon dont les contrôles eux-mêmes se divisent en étapes statique et dynamique, voir validation des contraintes.
Questions des planificateurs sur la génération
La génération peut-elle corriger un plan de curriculum inachevé ?
Non. Si la dotation en personnel, les blocs ou les structures de classes ne sont pas faisables, le solveur redécouvre cette infaisabilité sous forme de placements échoués. Corrigez la structure en planification, là où la correction est peu coûteuse.
Qu’est-ce qu’un singleton et pourquoi passe-t-il en premier ?
Un cours avec très peu de créneaux valides, souvent une classe unique avec un seul enseignant qualifié. Les cours faciles peuvent remplir presque n’importe quel créneau, ils peuvent donc attendre. Laissez un singleton pour la fin et ses rares créneaux valides seront déjà pris.
Une exécution échouée signifie-t-elle que les données sont fausses ?
Souvent. Les lacunes de données remontent comme des échecs de placement, et le solveur ne peut signaler que l’endroit où il s’est bloqué. Lancez la validation avant d’accuser les contraintes.