Tomaz Solc, tomaz.solc@tablix.org
Ce module appartient aux groupes suivants :
Ajoute un poids à chaque fois qu'un enseignant ou une classe doivent être dans deux salles en même temps.
Remarquez que ce module ne considèrera pas comme une erreur le fait qu'un enseignant ou une classe ont deux évènements programmés à une même heure dans une même salle. Cela signifie que dans 99% des cas, vous devrez utilisez ce module en conjonction avec le module
Le fichier de configuration doit définir les types de ressources suivants pour pouvoir utiliser ce module :
<restriction type="conflicts-with">name</restriction>
Cette restriction spécifie que la classe (groupe d'élève) ou l'enseignant ne doivent jamais avoir de cours en même temps que la classe ou l'enseignant spécifiés dans la restriction.
Il existe deux utilisations courantes de cette restriction :
Quand plusieurs classes partagent un même évènement. Quand c'est le cas pour des enseignants.
Considerons l'exemple suivant :
Disons que nous avons deux groupes d'étudiants. Chaque groupe a son propre emploi du temps, excepté deux cours qu'ils suivent en commun.
Nous définissons chaque groupe d'étudiants, plus un groupe supplémentaire pour les cours commun.
<resourcetype type="class"> <resource name="Group 1"> <restriction type="conflicts-with">Group 1+2</restriction> </resource> <resource name="Group 2"> <restriction type="conflicts-with">Group 1+2</restriction> </resource> <resource name="Group 1+2"/> </resourcetype>
De cette manière, le groupe 1+2 n'aura jamais de cours en même temps que les groupes 1 et 2, si bien que les étudiants de chacun de ces groupes pourront assister à ces cours en commun.
De manière similaire, on peut traiter le cas de cours nécessitant l'intervention de plusieurs enseignants, la méthode est similaire.
En présence de cette option (toute valeur sera ignorée), alors toutes les restrictions "conflicts-with" (en conflit avec) deviennent récursives.
Par exemple, si une classe A entre en conflit avec une classe B et que la classe A entre en conflit avec la classe C, alors la classe B entrera aussi automatiquement avec la classe C.
Sans cette option, la classe C n'entrera pas en conflit avec la classe B, à moins que vous l'ayez spécifié dans une autre restriction "conflicts-with" .