Détecter et résoudre les conflits (à la génération)

Omniscol détecte les conflits en continu pendant la préparation d'un emploi du temps et à chaque positionnement manuel. Le diagnostic distingue les conflits bloquants des contraintes non respectées et des avertissements qui demandent un arbitrage, et il code cette gravité par une couleur — sur les créneaux candidats et les listes de sélection quand vous placez une séance, et sur chaque ligne du panneau de diagnostic. La génération automatique est un calcul séparé (le solveur place sous contraintes, ou laisse une séance non posée) : son diagnostic est traité dans Diagnostiquer une génération qui échoue.

Ce que le diagnostic vérifie

  • Occupation (double-réservation) — un professeur, une classe, un groupe, un élève, une salle ou une ressource ne peut pas servir à deux séances qui se chevauchent, sauf modélisation explicite (groupes compatibles, partitions, grandes salles).
  • Disponibilités et contraintes horaires — période déclarée indisponible, ou contrainte horaire non respectée (professeur, classe, groupe, salle, matière, site), graduée selon la priorité de la contrainte. Une fenêtre de dates imposée, elle, est toujours bloquante.
  • Capacité et service — sur-effectif d'une salle, ressource demandée en trop d'exemplaires, salle inadaptée (capacité, spécialisation, site), ou heures de service d'un professeur dépassées.
  • Débordement de grille — les heures de cours à placer dépassent, ou approchent, le nombre de créneaux ouverts de la grille, pour un professeur ou pour une classe entière.
  • Lieux et déplacements — temps de trajet insuffisant entre deux sites pour un professeur ou une classe, ou deux matières déclarées incompatibles placées au même moment.
  • Calendrier — séance posée sur une absence (professeur ou classe), un jour fermé / des vacances, ou un événement incompatible.
  • Modélisation — alignement rompu (groupes alignés sans séance commune), nombre de séances différent entre groupes d'une même partition ou d'un même alignement, professeur ou salle manquant, ou configuration incomplète (site, grille, paramètre nécessaire avant la génération).

Niveaux de gravité

La même échelle de gravité — vert, jaune, orange, rouge — colore plusieurs endroits de l'édition.

Sur les créneaux candidats, quand vous positionnez une séance (voir Positionnement manuel). Et sur chaque option des listes de sélection : quand vous choisissez un professeur, une salle, une ressource, un groupe ou des participants pour une séance, chaque entrée porte une icône de calendrier colorée selon son niveau au créneau visé — verte si l'entité est libre, rouge si elle est occupée — avec le détail au survol. Seule une indisponibilité rouge (occupé, période fermée) empêche le choix ; une salle trop petite ou mal spécialisée reste sélectionnable, avec avertissement.

Couleur Signification
vert aucun conflit — l'entité est libre (ou une ressource reste sous sa limite)
jaune gêne légère, non bloquante (contrainte horaire de priorité moyenne, absence entièrement remplacée, salle correcte mais pas idéale)
orange contrainte forte (contrainte horaire de priorité élevée, salle remplie jusqu'à 110 % de sa capacité, heures de service jusqu'à 110 %, trajet entre sites trop court, matières incompatibles, jour fermé)
rouge conflit bloquant (double-réservation, contrainte horaire obligatoire ou fenêtre de dates imposée, salle au-delà de 110 % de sa capacité, absence non couverte, alignement rompu)

Dans le panneau de diagnostic. Chaque problème listé porte un niveau, repris par le filtre. Le panneau regroupe l'orange et le jaune sous un seul niveau « important », et ajoute un niveau « conseil » pour les informations non bloquantes :

Niveau Sens Couleurs de créneau correspondantes
rouge Conflit bloquant rouge
jaune Contrainte non respectée / Avertissement orange + jaune
bleu Conseil / Limite proche pression de grille, partitions

Quand l'option Blocage des choix en conflit (contraintes fortes) est active, Omniscol empêche les choix qui créeraient une contrainte forte ; sinon, l'alerte reste visible pour que l'administrateur arbitre.

Débordement et pression de grille

Omniscol compare en permanence les heures de cours à placer au nombre de créneaux ouverts de la grille — pour chaque professeur (par classe et par site) et pour chaque classe entière. Le message indique les deux valeurs, par exemple « 18 h / 16 h ». Trois paliers, selon le remplissage :

Palier Remplissage Lecture
bleu — pression grille remplie à 90–100 % les limites seront bientôt atteintes ; le placement est déjà tendu
orange — débordement faible 100–110 % (heures > créneaux jusqu'à 110 %) un EDT valide sera probablement impossible
rouge — débordement fort au-delà de 110 % un EDT valide sera quasi certainement impossible

Ce calcul ne tourne que si au moins un site est configuré, et ne signale rien tant que la grille reste sous 90 %. Il mesure les heures requises face aux créneaux disponibles — à ne pas confondre avec le dépassement d'heures de service d'un professeur (heures enseignées face aux heures contractuelles), qui partage les mêmes couleurs mais reste une détection distincte.

Toutes les détections

Détection Famille de filtre Niveau
Professeur, classe ou groupe déjà occupé Conflits rouge
Salle déjà occupée Conflits rouge
Alignement rompu (groupes alignés sans séance commune) Conflits rouge (orange si seule la salle ou la ressource diffère)
Contrainte horaire non respectée (professeur, classe, groupe, salle, matière, site) Contraintes horaires obligatoire → rouge, élevé → orange, moyen → jaune (fenêtre de dates → toujours rouge)
Sur-effectif d'une salle Capacité orange jusqu'à 110 % de la capacité, rouge au-delà
Ressource en surnombre Capacité orange
Salle inadaptée (capacité, spécialisation, site) Capacité jaune — forçable
Heures de service d'un professeur dépassées Capacité orange jusqu'à 110 %, rouge au-delà
Débordement / pression de grille Débordement de grille bleu → orange → rouge (voir ci-dessus)
Temps de trajet insuffisant entre sites (prof, classe) Distance orange
Matières incompatibles au même moment Compatibilité orange
Aucune salle disponible parmi les salles autorisées Salle manquante jaune (rouge si aucune)
Professeur manquant (cours sans professeur affecté) Professeur manquant jaune
Salle manquante (séance placée sans salle requise) Salle manquante jaune
Nombre de séances différent entre groupes d'une partition Partitions bleu (indicatif)
Nombre de séances différent entre groupes alignés Alignements rouge (configuration bloquante)
Professeur absent sur son cours Absences non couvert → rouge, remplacé → jaune, partiel (co-enseignement) → orange
Classe absente Absences rouge
Séance un jour fermé / vacances Calendrier orange (parfois forcé en rouge)
Configuration incomplète (site, grille, paramètre) bloquant avant la génération

Chaque ligne du panneau est cliquable : la loupe amène directement au cours, au groupe ou à la classe concerné — le moyen le plus rapide d'isoler le contexte d'un conflit. Pour un conflit de groupes (partition, alignement), l'icône ne garde que les groupes en relation, ce qui fait ressortir la contrainte quand le diagnostic brut ne suffit pas.

Filtrer le diagnostic : sur les comptes Premium, le panneau de diagnostic se filtre par niveau, entité, niveau de classe, campus, site, type de problème ou intervalle de dates pour isoler ce qui compte.

Filtrer le diagnostic

Le bouton Filtres des diagnostics (triangle d'alerte, en tête du panneau) ouvre un menu pour ne garder que les alertes utiles à l'analyse en cours. Son icône passe en orange tant qu'un filtre reste actif. On y règle :

  • Niveaux — afficher ou masquer le rouge (bloquant), le jaune (important / à vérifier), le bleu (conseil / limite proche).
  • Entités — classes, professeurs, salles, ressources, groupes, et les types d'événements de calendrier (événements, vacances, absences).
  • Niveaux de classe, campus, sites — restreindre à un périmètre. Le campus isole une entité organisationnelle (implantation, faculté, pôle) ; le site porte sur le lieu physique.
  • Raisons — activer ou désactiver chaque famille de détection : contraintes horaires, conflits, capacité, distance, professeur manquant, salle manquante, compatibilité, partitions, alignements.
  • Intervalle (EDT calendrier) — limiter aux prochaines semaines ou mois, et masquer le passé.
  • Comportement — Blocage des choix en conflit (contraintes fortes) empêche activement les placements qui créeraient un conflit fort.
  • Réinitialiser — tout réafficher.

Un filtre ne résout pas un conflit : il masque seulement ce qui n'aide pas l'analyse en cours.

Résoudre un conflit

Les corrections les plus fréquentes sont :

  • déplacer une séance ;
  • changer de professeur, salle ou ressource ;
  • ajuster une contrainte trop forte ;
  • corriger une indisponibilité ou une absence saisie par erreur ;
  • créer ou corriger les groupes, partitions ou alignements ;
  • ajouter une salle compatible, une capacité ou une spécialisation ;
  • verrouiller une séance qui doit rester fixe avant de relancer une génération.

Si la génération ne trouve pas de solution complète, elle peut retourner un EDT partiel : les séances non positionnées restent dans la barre des post-its des séances à placer. Corrigez les diagnostics prioritaires, puis relancez ou positionnez manuellement les cas restants.

Cas qui demandent un arbitrage

Certains signaux correspondent à une décision métier plutôt qu'à une erreur de saisie. Exemples :

  • examen avec une salle principale et une salle de tiers-temps ;
  • capacité déclarée supérieure aux places saisies quand l'établissement sait qu'une partie des inscrits ne sera pas présente ;
  • salle annexe non modélisée dans Omniscol.

Dans ces cas, il vaut mieux modéliser explicitement la situation quand c'est possible : multi-salles, groupes adaptés, capacité corrigée ou événement séparé. Laisser une alerte volontaire doit rester une décision connue de l'équipe, pas un bruit permanent.

Procédure

  1. Ouvrez le diagnostic de l'EDT.
  2. Filtrez si nécessaire par niveau, campus, site, entité ou type de problème.
  3. Traitez d'abord les conflits bloquants.
  4. Ouvrez le détail du problème pour identifier les séances et ressources impliquées.
  5. Corrigez la séance, la contrainte ou la modélisation.
  6. Relancez le diagnostic ou la génération pour vérifier que le problème a disparu.

Voir aussi