Étape 7 — Génération automatique
Une fois les séances créées, vous les positionnez sur la grille. Construire un EDT est en pratique un cycle, pas un geste unique :
- on place quelques séances à la main — pour ancrer des immuables ou verrouiller des contraintes fortes (interventions datées, examens, calages) ;
- on génère (tout ou partie) pour que l'algorithme place le reste sous contraintes ;
- on ajuste en marge — corriger un cas particulier, déplacer une séance, changer d'avis ;
- et ça peut reboucler : on régénère au fil de l'eau (séances ajoutées, ou — en mode calendrier — par intervalles de dates, par lots de classes ou de campus).
On peut aussi tout faire 100 % à la main, sans solveur. Le positionnement manuel (placer, déplacer, verrouiller, une à une ou en lot) a sa page dédiée : Positionnement manuel. Pour le flux d'ensemble, voir Vue d'ensemble du module.
Cette page couvre la génération automatique.
Disponibilité
Disponible sur les EDT hebdomadaires, cycliques et calendrier. En mode calendrier, les séances sont placées sur des dates réelles et les options peuvent limiter la plage de dates à générer.
Préparation
Avant de cliquer Générer EDT :
- déroulez l'onglet Génération (intitulé Vérification sur un EDT calendrier) pour vérifier les statistiques globales,
- corrigez les alertes critiques (rouges) — elles bloquent la génération,
- relisez les avertissements (orange) — ils ne bloquent pas mais signalent un risque (disponibilités trop contraignantes, capacité limite, etc.).
L'écran indique aussi :
- nombre de séances créées vs séances positionnées,
- volumes horaires saisis vs services horaires des professeurs,
- groupes affectés à au moins un cours (pour repérer les groupes oubliés ou inutilisés).
Lancement
Cliquez sur Générer EDT. Omniscol lance un environnement de calcul dédié et parallélisé. La durée dépend de la taille de l'EDT, du nombre de contraintes et des options choisies. Il n'y a pas de file d'attente à gérer côté école ; l'initialisation prend souvent autour d'une dizaine de secondes avant que le calcul commence réellement.
Le calcul est plafonné à vingt minutes, mais c'est en pratique bien au-delà du nécessaire : un EDT d'environ 200 cours répond souvent en une vingtaine de secondes — l'algorithme est quasi instantané, c'est surtout le démarrage de la machine qui pèse — et ~600 cours en une minute environ. Pour un très gros établissement qui approcherait ce plafond, l'équipe Omniscol peut augmenter la puissance de la machine de calcul, sur demande.
Options de génération
Par défaut, la génération place toutes les séances créées et non positionnées. Elle peut aussi déplacer des séances déjà positionnées si cela améliore l'EDT. Les séances verrouillées gardent leur position.
Le menu d'options permet notamment de :
- gérer les salles avec trois choix : assignation optimisée par défaut, vérification uniquement, ou ignorance complète des salles ;
- sélectionner seulement certaines classes ou certaines matières ;
- restreindre un EDT calendrier à une fenêtre de dates cible ;
- ignorer les salles déjà assignées ou les positionnements actuels ;
- assigner uniquement les salles sans recalculer tout le placement ;
- lancer une génération rapide sans optimisation ;
- autoriser le placement flexible sur les sous-créneaux de la grille horaire quand l'EDT utilise des sous-créneaux.
Les paramètres avancés d'optimisation permettent aussi de réduire les trous, éviter deux séances de la même matière le même jour, répartir les séances, fixer des minima ou maxima d'heures, ou choisir le nombre de jours de présence des professeurs. Les usages varient selon les pays : en France, certains établissements cherchent à réduire le nombre de jours de présence des professeurs ; dans d'autres contextes, on peut au contraire préférer répartir ces jours, par exemple pour organiser d'autres missions sur site.
Options spécifiques au mode calendrier
En mode calendrier, les options avancées peuvent limiter la génération à une fenêtre de dates cible plus courte que la plage totale de l'EDT. C'est utile pour générer seulement une partie de l'année : test sur un mois, construction progressive d'un semestre, ou reprise d'une période déjà préparée.
L'autre option importante est le compactage des journées pour les classes. Par défaut, le solveur cherche plutôt un équilibre sur les jours disponibles ; si vous générez seulement une partie des séances de l'année, ce comportement peut étaler artificiellement les cours. Le compactage permet de demander un regroupement :
- en début de fenêtre ;
- en fin de fenêtre ;
- sans préférence de début ou fin, mais en gardant les journées aussi compactes que possible.
Comment la génération travaille
Comprendre la logique du solveur aide à anticiper ce qu'il placera, ce qu'il sacrifiera, et comment l'orienter. Il poursuit deux objectifs, dans cet ordre :
- Tout faire entrer — la priorité absolue : positionner toutes les séances en respectant les contraintes dures.
- Optimiser la qualité — une fois que tout rentre, réduire les trous, lisser les journées, honorer les préférences.
Il part d'un état propre (les séances verrouillées gardent leur place, les autres sont rejouées) et place de la séance la plus difficile à la plus facile. La difficulté tient surtout à l'étroitesse des contraintes : un cours dont le professeur n'est disponible qu'une après-midi par semaine, ou un bloc de quatre heures à caser d'un seul tenant, passe en tête. À difficulté égale, il alterne les matières et traite les plus rares avant les plus courantes, pour répartir équitablement les chances de chacune.
Quand tout ne rentre pas : le sacrifice
Si l'EDT est trop contraint pour tout caser, le solveur ne renonce pas : il choisit le plus petit ensemble de séances à laisser de côté pour que le reste tienne, puis optimise cet EDT partiel. Les séances sacrifiées restent dans la barre des post-its à placer. Comme le tri a priorisé le plus dur et le plus rare, ce sont plutôt des séances faciles et nombreuses qui cèdent : la 5ᵉ heure d'une matière à gros volume avant l'unique heure d'une matière rare.
Vous gardez la main sur ces arbitrages : verrouillez les séances qui ne doivent jamais bouger — placées en priorité, elles ne sont pas sacrifiées — et détendez la sur-contrainte (créneaux ouverts, disponibilités) là où c'est possible, pour que l'ensemble rentre.
Contraintes dures et contraintes souples
Toutes les contraintes ne se valent pas :
- Dures — jamais violées : l'occupation (un professeur, une classe, un groupe, une salle ou une ressource ne sert pas deux fois au même moment), les plages marquées Indisponible (en noir) sur un professeur, une classe, une salle, une matière ou un groupe, l'absence de salle ou de ressource libre sur le créneau, les jours fermés, les positions verrouillées et les alignements.
- Souples — tout le reste, que le solveur peut enfreindre au prix d'une pénalité pour réussir à tout caser : les plages marquées Non souhaité (en rouge — à éviter, pas interdites) et les préférences d'optimisation (compacité, étalement, regroupement par jour…). Une contrainte de priorité élevée pèse plus lourd qu'une de priorité faible, mais aucune n'est bloquante. Le solveur tente aussi des assouplissements ponctuels (placement sur les sous-créneaux de la grille…) quand c'est le prix à payer pour ne sacrifier aucune séance.
Vérifier sans optimiser
L'option de génération rapide (sans optimisation) lance une passe allégée qui répond surtout à une question : est-ce que tout rentre ? Utile pour tester la faisabilité d'une configuration avant d'investir le temps d'une optimisation complète.
Résultat
- Bannière verte : génération réussie. Les séances du périmètre demandé ont pu être positionnées et le résultat peut être inspecté.
- Bannière rouge : aucune solution complète n'a été trouvée. Le meilleur EDT calculé reste visualisable et les séances non positionnées apparaissent dans la barre des post-its pour diagnostic.
Voir Diagnostiquer une génération qui échoue.
Consolider ou copier
Après une génération réussie, Omniscol propose deux options :
- Consolider dans l'EDT en cours (le positionnement remplace l'existant).
- Créer une copie (l'EDT actuel reste intact, le résultat optimisé devient un nouvel EDT).
Si vous prévoyez de re-générer plus tard (parce que vous construisez incrémentalement, par exemple), ne consolidez pas : sinon les séances déjà positionnées seraient des points de départ pour la nouvelle génération.
Verrouiller une séance avant de relancer une génération
Sur une séance déjà positionnée, utilisez le cadenas de position pour la verrouiller. La prochaine génération ne la déplacera pas mais ajustera les autres séances autour. Pratique pour ancrer les séances « immuables » (interventions extérieures fixées, examens datés, calages manuels…). Détails complets dans Verrouiller une séance : verrouillage en masse, effets sur le diagnostic (rouge → orange), comportement de l'algorithme.
Exporter un EDT en JSON
Le bouton exporte l'EDT courant uniquement au format JSON. Ce n'est pas l'export complet du compte documenté dans Import et export.
Cas typiques :
- conserver une trace d'un brouillon ou d'un scénario avant suppression ;
- archiver un état intermédiaire avant une réorganisation importante ;
- transmettre cet EDT précis à l'équipe Omniscol dans le cadre du support.
Comme pour l'exportation complète du compte école en JSON, la réinjection n'est pas un usage standard librement accessible côté école.
Et ensuite
Étape finale : Publier (activer) un emploi du temps.
Procédure
Lancer une génération automatique
-
La génération automatique positionne les séances sur la grille en respectant des dizaines de contraintes (disponibilités, capacités, alignements, spécialisations, alternances). Disponible sur EDT hebdomadaire, cyclique et calendrier.
-
Vérifiez l'onglet Génération. Les statistiques globales y apparaissent : séances créées vs positionnées, volumes horaires saisis vs services des professeurs, alertes critiques (rouge — bloquent), avertissements (orange — préviennent sans bloquer).
-
Corrigez les alertes rouges avant de lancer. Tant qu'il en reste, la génération ne peut pas démarrer — sauf à forcer via le menu "plus d'options", mais cela n'est pas recommandé. Les orange sont à arbitrer mais n'empêchent pas la génération.
-
Réglez les options de génération si besoin : salles à assigner, vérifier seulement ou ignorer ; classes ou matières ciblées ; génération rapide sans optimisation ; ignorer les salles déjà assignées ou des positions actuelles. En mode calendrier, les options avancées permettent aussi de restreindre la fenêtre de dates générée et de compacter les séances en début de période, en fin de période ou sans préférence.
-
Cliquez sur Générer EDT. Le traitement tourne en arrière-plan ; l'écran indique l'état de la génération et permet d'inspecter le résultat lorsqu'il est disponible.
-
Sauvegardez quand la note vous convient. L'EDT est positionné. Étape suivante : passez en revue les éventuels conflits, ajustez à la main les cas particuliers (voir Positionnement manuel), puis publiez.
-
Et ensuite : Publier (activer) un emploi du temps.