# Analyse et conception d'un outil interactif d'aide à la gestion des emplois du temps basé sur les points de vue

Sylvain Piechowiak, Christophe Kolski

► To cite this version:

Sylvain Piechowiak, Christophe Kolski. Analyse et conception d'un outil interactif d'aide à la gestion des emplois du temps basé sur les points de vue. Revue d'Interaction Homme Machine, 2004, 5 (2), pp.1-30. hal-03390782

HAL Id: hal-03390782

https://uphf.hal.science/hal-03390782

Submitted on 11 Jul 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Analyse et conception d'un outil interactif d'aide à la gestion des emplois du temps basé sur les points de vue

S. Piechowiak, C. Kolski

LAMIH - UMR CNRS 8530 -

Université de Valenciennes et du Hainaut-Cambrésis

59313 Valenciennes Cédex 9- France

email : {sylvain.piechowiak, christophe.kolski}@univ-valenciennes.fr

http://www.univ-valenciennes.fr/LAMIH/

Résumé : La gestion des emplois du temps est un problème difficile, notamment dans les universités, et qui consomme de nombreuses ressources humaines et donc financières. Cet article est relatif à l'analyse et la conception d'un outil interactif d'aide à la gestion des emplois du temps capable de prendre en compte une organisation hiérarchisée des données et de maintenir la cohérence des contraintes sur ces données. L'étude qui a débouché sur l'outil EDT²⁰⁰² vise trois objectifs. Le premier objectif est de fournir un outil léger et exploitable par des utilisateurs non informaticiens sur des ordinateurs de type « bureautique » disposant d'une faible puissance de traitement. Le deuxième objectif est de recenser les besoins en manipulation d'emplois du temps et de proposer une organisation générique pour que l'outil soit exploitable dans de nombreuses structures. Enfin, le troisième objectif est de proposer un outil ouvert qui autorise de nombreuses évolutions.

# 1 Introduction

Chaque année, les responsables pédagogiques des universités et des écoles d'ingénieurs ont pour mission d'organiser les emplois du temps des différentes formations ou filières en essayant, au mieux, de satisfaire les contraintes « humaines » des enseignants et des étudiants, les contraintes pédagogiques imposées par la progression des enseignements et en tenant compte des contraintes « physiques » liées aux ressources matérielles (les salles, les équipements, etc.).

Jusqu'à présent certains responsables ont vainement tenté d'apporter des solutions « informatisées » pour ce problème. Certains d'entre eux ont exploité des outils existants de génération automatique des emplois du temps (Azevedo et Barahona, 1994 ; Yoshikawa et al., 1995 ; Boizumault et al., 1996 ; Goltz, 2000). Cependant, ces responsables reprochent souvent la complexité et la lourdeur de ces outils. De plus, il est nécessaire d'avoir des compétences suffisantes en informatique pour comprendre les mécanismes d'utilisation et les machines sur lesquelles fonctionnent ces outils doivent généralement être assez puissantes. D'autres
responsables ont élaboré eux-mêmes des outils qui leur permettent de dresser des
bilans. Ces outils facilitent certaines tâches liées à la gestion des emplois du temps
mais restent des solutions locales limitées et difficilement exploitables dans d'autres
organisations.

Il existe bien des outils de génération des emplois du temps dans les
laboratoires de recherche, mais ces outils souffrent d'un manque d'interfaces
conviviales et accessibles. Par exemple, certains outils peuvent prendre en compte
différentes contraintes que doit exprimer l'utilisateur dans un langage spécifique
(Schaerf, 1995 ; Cooper, 1995). Cependant, les contraintes concernant les souhaits
des responsables, des enseignants et des étudiants sont difficiles à exprimer. De
plus, les responsables pédagogiques avouent que les difficultés ne viennent pas
seulement de la génération des emplois du temps mais aussi de leur manipulation.
On constate, en effet, que lors de la création d'un emploi du temps, les responsables
partent généralement d'un emploi du temps existant auxquels ils apportent des
modifications. La méthode ne consiste donc pas à créer mais à adapter un emploi
du temps. D'où la nécessité de disposer d'outils interactifs facilitant ces adaptations
(Kolski, 1997). Contrairement aux outils de génération automatique, les outils
recherchés sont « centrés utilisateur » d'après la terminologie de (Norman, 1986) ou
(Dix et al., 1998) : il convient de revenir à des outils totalement sous le contrôle de
l'utilisateur, adaptés aux démarches de travail selon différents points de vue liés
aussi bien à la conception, qu'à la visualisation (consultation et recherche) et la
modification des emplois du temps. Dans cette optique, l'utilisateur redevient
l'acteur central de la résolution du problème, et les outils s'articulent autour de son
activité. Dans la suite de ce papier, nous parlerons donc d'acteur plutôt que
d'utilisateur ou d'opérateur.

L'outil recherché doit donc avant tout être interactif, souple, ouvert et doit
présenter des qualités ergonomiques au sens de (Bastien et Scapin, 1993 ; 2001). Ces
raisons nous ont motivés à réfléchir sur la conception d'un outil d'aide à la
manipulation des emplois du temps suffisamment ouvert pour permettre de
nombreuses extensions. Cette réflexion a abouti à la conception de EDT²⁰⁰². Avant
d'en décrire les fonctionnalités, nous commençons par décrire l'organisation du
système homme-machine qui nous servira ensuite de terrain d'expérimentation.

## 2 Analyse de l'existant et identification des besoins<fnref n="1" />

### 2.1 Analyse globale du Système Homme-Machine

Dans un premier temps, il a été nécessaire d'analyser le système homme-
machine (dans notre cas : l'environnement pédagogique universitaire) dans lequel
doit s'intégrer l'outil interactif d'aide à la gestion des emplois du temps visé. Cette
analyse a été effectuée à partir d'interviews, d'observations et de lectures de

<footnote n="1">¹ Dans la mesure où cette recherche a été menée sur l'initiative des auteurs et n'a donc pas fait l'objet d'une demande officielle d'un organisme, aucun cahier des charges officiel n'a été rédigé. Cependant, les auteurs possédant une longue expérience de responsables pédagogiques, de gestion de salles, de TP et de stages, ils partent sur l'hypothèse suivante : les idées émises dans cette partie se seraient retrouvées dans un tel cahier des charges.</footnote>
supports écrits à l'activité<fnref n="2" /> de responsables pédagogiques, de responsables de salles ou de responsables de matériels ; ces analyses ont été effectuées sur leur lieu de travail à l'Université de Valenciennes et du Hainaut-Cambrésis, en nous focalisant dans un premier temps sur l'Institut des Sciences et Techniques (4000 étudiants environ).

Il s'avère que ce système homme-machine ne possède pas de particularité pédagogique ciblée et possède de nombreuses similarités avec le fonctionnement d'autres universités. Ainsi, l'Institut des Sciences et Techniques de Valenciennes (ISTV) est un institut qui regroupe différentes formations de niveau BAC+1 à BAC+5. Elles ont une durée qui varie entre un an et trois ans. Par exemple la Licence et la Maîtrise se déroulent chacune pendant une seule année alors que le DEUG se déroule sur deux ans et l'IUP sur trois années. Les étudiants s'inscrivent en début de chaque année universitaire, c'est-à-dire généralement au début de septembre. Mais cela peut varier d'une formation à l'autre. Le programme pédagogique de chaque formation est connu a priori. Ce programme précise les matières à suivre, leurs volumes horaires et quelques informations pédagogiques (répartition en cours, travaux dirigés, etc.).

Selon les besoins pédagogiques et les conditions physiques des ressources, chaque formation est structurée en groupes qui peuvent eux-mêmes être scindés en sous-groupes, etc. Par exemple, le nombre d'étudiants par groupe en travaux dirigés (TD) est limité à 30 pour préserver un meilleur suivi des étudiants. Ce nombre dépend également des ressources nécessaires en matériel. Par exemple on limite à 2 le nombre d'étudiants par poste informatique pendant les séances de travaux pratiques (TP). De plus, chaque salle informatique $S_i$ possède un nombre limité $np(S_i)$ de postes et ces postes sont de type PC, terminaux X ou stations de travail dédiées ou non (le nombre de postes par salle est le plus souvent différent d'une salle à l'autre). De ce fait, chaque séance de TP en informatique ne peut concerner que des groupes d'au plus $2 \times np(S_i)$ étudiants.

Les enseignants interviennent selon leur discipline et leur domaine de compétence. Ils ne sont pas titulaires des enseignements qu'ils dispensent, mais il est habituel d'attribuer un enseignement à un enseignant en accord avec celui-ci. Traditionnellement, les enseignants conservent leurs enseignements d'une année sur l'autre. Administrativement, les enseignants doivent assurer un nombre minimal d'heures qui est défini dans leur statut. Selon le type d'enseignement et le statut de l'enseignant, on pondère le nombre d'heures par un coefficient. Ainsi, par exemple, pour un Maître de Conférences, une heure de cours est comptabilisée comme 1,5 heures de travaux dirigés. Le volume minimal d'heures à assurer et les coefficients d'équivalence entre cours, travaux dirigés et travaux pratiques dépendent du grade de l'enseignant (Professeur, Maître de Conférences, Vacataire, etc.). Lorsqu'un enseignant accepte la responsabilité d'un enseignement, il est tenu d'en respecter le volume horaire prévu par le responsable pédagogique. En cas d'absence, un enseignant doit prévoir des séances de rattrapage. Il doit donc connaître précisément la disponibilité des ressources de sa séance. Cette organisation garantit

<footnote n="2">² L'emploi de ces méthodes et techniques d'analyse, très classiques (verbalisations, interviews, analyses de documents) est expliqué et discuté dans de nombreux ouvrages, tels (Wilson et Corlett, 1996) et (Drouin *et al.*, 2001).</footnote>
que tous les étudiants qui suivent une même formation auront eu le même volume horaire d'enseignement.

Chaque formation est gérée par son responsable pédagogique qui crée les emplois du temps en concertation avec les enseignants mais aussi, moins souvent, avec les responsables des autres formations. Les enseignants peuvent assurer leurs enseignements dans différentes formations. Lors de la création des emplois du temps, les responsables pédagogiques ne tiennent généralement pas compte explicitement des salles disponibles. Dans la réalité, les responsables pédagogiques s'appuient sur l'expérience des années précédentes pour planifier les enseignements.

Une fois que les emplois du temps sont créés, l'attribution des salles est assurée par différents responsables qui peuvent être des personnels administratifs ou techniques ou même des enseignants selon le type des salles (banalisée, TP informatique, etc.). Par exemple, à l'ISTV, il y a un responsable qui gère les amphithéâtres, un autre qui s'occupe des salles d'informatique (c'est un enseignant d'informatique), un troisième responsable supervise les salles du département audiovisuel, etc. Ces personnes peuvent demander des modifications d'emploi du temps aux responsables pédagogiques si les ressources nécessaires sont insuffisantes. Le schéma de la Figure 1 indique de manière simplifiée les différentes étapes suivies pour aboutir à un emploi du temps ainsi que les échanges importants entre les différentes composantes de l'organisation.

<figure><img src="image_2.png" /><figcaption>**Figure 1.** *Activité actuelle de création et de gestion des emplois du temps à l'ISTV*</figcaption></figure>

L'emploi du temps sert également aux personnels administratifs pour suivre le travail des intervenants en vue de leur rémunération, pour prévoir l'achat de nouveaux équipements ou de leur mise en maintenance, pour argumenter la demande d'acquisition de nouveaux locaux, etc. Sur le plan pédagogique, l'étude des emplois du temps sert à mettre en évidence certains problèmes tels que les surcharges de travail des intervenants, les mauvaises répartitions des enseignements, et elle permet ainsi de corriger et améliorer le planning les années suivantes.

Le nombre des ressources disponibles croît, malheureusement, bien moins rapidement que le nombre des formations ou que leur diversification. Cela oblige donc les responsables à « optimiser » la planification des ressources et rend plus
délicate leur gestion. Le besoin d'un outil d'aide devient donc essentiel pour cette gestion efficace des ressources disponibles. L'objectif n'était pas de remplacer les acteurs actuels mais de les aider, il est donc important de considérer les différents profils des futurs utilisateurs, en particulier par rapport à leur maîtrise des outils informatiques (Mayer, 1997). Pour satisfaire un large éventail de profils d'utilisateurs et faciliter l'acceptation de l'outil visé, il convient de soigner en particulier la robustesse de celui-ci vis-à-vis des erreurs de manipulation, la rapidité d'exécution des commandes, la puissance des fonctions assurées.

## 2.2 Analyse des besoins

L'analyse réalisée à partir des observations sur le terrain fait ressortir plusieurs besoins qui convergent tous vers la conception d'un outil interactif d'aide à l'élaboration des emplois du temps plutôt que vers la conception d'un outil de génération automatique des emplois du temps comme on le fait généralement en Recherche Opérationnelle (RO). En effet, les approches issues de la RO nécessitent que toutes les contraintes liées à la définition des emplois du temps soient clairement et exhaustivement décrites pour que des résultats exploitables soient obtenus. Or le fonctionnement des Universités rend cette description très délicate.

De plus ces approches fournissent des solutions « toutes faites » qu'il est ensuite difficile de modifier notamment pour prendre en compte les aléas de dernière minute. Elles fonctionnent comme des boîtes noires et obligent souvent à adapter le problème à la méthode de résolution plutôt que d'adapter les méthodes aux problèmes. De ce fait il n'est pas raisonnable de demander à un utilisateur quelconque de s'approprier ces méthodes dans la réalité.

L'outil doit donc être interactif, extrêmement convivial, capable de rendre visible de grandes quantités d'informations de manière à les modifier simplement, à les maintenir cohérentes, à rechercher et expliquer les incohérences lorsqu'elles apparaissent. De plus l'outil doit tenir compte de la présence de différentes classes d'utilisateurs : concepteurs, manipulateurs ou observateurs d'emplois du temps. Face aux particularités des différentes formations de l'Université (comme la granularité du temps), l'outil doit être très paramétrable.

Enfin, une caractéristique de l'étude est qu'elle se fait en situation réelle ce qui oblige à une certaine prudence. Ainsi il est préférable de commencer par apporter des aides en s'inspirant de la situation actuelle puis de faire évoluer ces aides plutôt que d'imposer des outils qui changent radicalement les habitudes de travail au risque d'un rejet cuisant (cf. le critère d'acceptabilité au sens de Nielsen, 1993).

Le contexte de l'étude ayant été décrit, il s'agit de détailler la modélisation du problème, afin de mieux situer par la suite les contraintes exploitées.

## 3 Modélisation du problème des emplois du temps à partir de l'observation des activités relatives à la gestion des emplois du temps

De manière abstraite, le problème des emplois du temps consiste à répartir dans le temps des séances, pendant lesquelles s'effectue une activité pédagogique nécessitant des ressources, en l'occurrence des enseignants, groupes, salles et
matériels. Ces séances ont une durée. Le problème des emplois du temps nécessite
donc de modéliser les activités, les ressources et le temps.

3.1 Modélisation de l'activité pédagogique

L'activité pédagogique est modélisée à l'aide de trois entités : les matières, les enseignements et les modules.

Chaque matière est caractérisée par : son nom, sa description pédagogique, son type (cours, travaux dirigés, travaux pratiques, ou autre), une discipline.

Chaque enseignement est caractérisé par : son nom, ses enseignants, ses groupes, ses matériels par défaut (d'une manière abstraite, ses ressources par défaut), sa matière, son volume horaire total, sa durée par défaut. De plus pour chaque enseignement est indiqué la liste des enseignements qui doivent avoir été suivis auparavant (pré-requis). D'une manière abstraite, les enseignants, les groupes, les matériels par défaut constituent les ressources par défaut de l'enseignement. Les matériels par défaut sont les matériels qui seront attribués par défaut aux séances de l'enseignement. Les matériels qui sont réellement utilisés dans chaque séance peuvent être différents de ces matériels par défaut. Un enseignement peut être assuré simultanément par plusieurs enseignants. C'est le cas, par exemple de certains TP d'informatique. La durée par défaut est la durée qui sera choisie par défaut pour les séances de l'enseignement. La durée réelle de chaque séance peut être différente de cette durée par défaut.

Les modules sont des ensembles d'enseignements.

3.2 Modélisation des ressources

Les ressources considérées sont les entités physiques nécessaires à l'élaboration des emplois du temps. Il s'agit des salles, des enseignants, des groupes, des étudiants et des matériels. Afin de prendre en compte la plupart des configurations imaginables, chaque ressource R peut être décomposée en un ensemble de sous-ressources désignées par *filles(R)*. De même, R peut faire partie de la composition de plusieurs autres ressources. On désigne par *mères(R)* l'ensemble des ressources qui contiennent cette ressource R. Par exemple, dans la figure 2 on a :

filles(DEUG 2ème année) = {MASS_2, STPI_2, MIAS_2} et
mères(groupeD) = {STPI_2, option_informatique_2},

Cette organisation hiérarchique permet de considérer les groupes sous
différents angles : par exemple, on peut aussi bien parler des étudiants du DEUG-
Sciences que des étudiants qui sont inscrits en MIAS, etc. Cette structuration
hiérarchisée se retrouve également dans la gestion des matériels. Par exemple une
unité de reportage se compose d'une caméra, d'un pied, d'un micro, etc. Lorsque le
responsable du matériel doit attribuer le matériel aux séances de TP d'audiovisuel, il
lui est plus facile de parler d'unité de reportage plutôt que de faire référence à la liste
des matériels qui la compose.

Chaque référence à une ressource R concerne également toutes les filles de R,
ainsi que ces "petites filles", etc., jusqu'au niveau le plus bas de la hiérarchie. De
plus, dès qu'on place une séance qui concerne R, cela limite les degrés de liberté de
toutes ses ressources mères.
Il faut également souligner que pour pouvoir faire face à toutes les situations, la hiérarchie n'est pas simplement de nature arborescente. Dans l'exemple de la figure 2, les sous-groupes D, E et F font partie de plusieurs groupes : STPI_2, MIAS_2 et option_informatique_2.

<figure><img src="image_3.png" /><figcaption>**Figure 2.** *Exemples de hiérarchie sur les groupes*</figcaption></figure>

Les ressources sont caractérisées par des données abstraites et des données spécifiques. Les données abstraites caractérisent chaque ressource et sont constituées d'un code, qui permet de la différencier des autres ressources, son calendrier qui précise quels sont les jours de disponibilité et d'indisponibilité et sa description. En plus de ces données abstraites, chaque ressource possède des caractéristiques spécifiques qui dépendent du type de la ressource. L'intérêt de distinguer ces deux types de caractéristiques est que l'outil peut très facilement évoluer pour prendre en compte de nouveaux types de ressources. Dans ce cas, il suffit de développer uniquement les parties spécifiques (que l'on pourrait aussi qualifier de concrètes) de ces nouvelles ressources pour que l'outil les intègre.

Dans la suite nous décrivons les caractéristiques spécifiques des ressources considérées dans l'étude.

### Les ressources de type « salle »

Une *salle* est un lieu dans lequel sont assurés des enseignements. Chaque salle est caractérisée par : son nom, une capacité qui indique le nombre maximal d'étudiants qu'elle peut recevoir, un type indiquant si la salle est dédiée à des TP spécifiques (informatique, chimie, etc.), si elle permet des cours magistraux, etc. Le type d'une salle est une indication sur le type d'enseignement qu'on peut y faire.

### Les ressources de type « enseignant »

L'enseignant désigne une personne pouvant assurer des enseignements. Chaque enseignant est caractérisé par : son nom et son prénom, son grade, sa résidence administrative, sa spécialité. La spécialité renseigne sur les matières que peut enseigner un enseignant.

### Les ressources de type « groupe »

Un groupe est un ensemble d'étudiants. Il se compose d'autres groupes qui peuvent être réduits à un seul étudiant. Cette modélisation ne fait pas de distinction entre groupe et étudiant. Ceci permet de traiter de manière homogène les situations
dans lesquelles on crée les emplois du temps en fonction des formations (c'est le cas de l'ISTV) et les situations dans lesquelles on planifie des enseignements indépendamment des formations (c'est le cas à l'Université Technologique de Compiègne, cf. Boufflet, 1992). Dans les premières situations, chaque étudiant qui s'inscrit dans une formation doit suivre tous les enseignements de celle-ci (les choix sont très limités : par exemple en maîtrise d'informatique, chaque étudiant choisit deux matières parmi quatre optionnelles). Les emplois du temps sont faits pour chaque formation sans volonté de partager des enseignements entre plusieurs formations<fnref n="3" />. Dans les deuxièmes situations, les étudiants choisissent différents enseignements pour obtenir leur diplôme (diplôme « à la carte » selon le modèle anglo-saxon). Lors de la création des emplois du temps, il faut s'arranger pour permettre à chaque étudiant de suivre les enseignements qu'il a choisis. Il y a toujours un risque que 2 enseignements que veut suivre un étudiant se déroulent en même temps.

Au sein de l'ISTV, la possibilité de décomposer les ressources en ressources filles, se fait essentiellement au niveau des groupes et du matériel. La figure 2 est une illustration de cette décomposition pour les groupes.

Les jours d'indisponibilité des groupes sont scindés en trois ensembles : les jours de congé, les jours d'examen et les jours de stage. Par défaut, pendant ces journées, il ne peut pas y avoir de séances d'enseignement, mais cette contrainte peut également être ignorée.

## Les ressources de type « matériel »

Pour qu'un enseignement puisse se dérouler, l'enseignant utilise un matériel pédagogique. Généralement ce matériel est limité à un tableau, des craies, éventuellement un rétroprojecteur et parfois un vidéo projecteur. Pour des enseignements particuliers, l'enseignant peut avoir besoin de matériel spécifique. Par exemple, au département audiovisuel, les travaux pratiques ou les projets des étudiants nécessitent du matériel tel qu'une caméra. En apprentissage des langues, une télévision associée à un magnétoscope peut s'avérer nécessaire. La disponibilité de ce matériel doit donc être prise en compte pour le bon déroulement de l'enseignement.

En définitive, un matériel se caractérise par : son nom, sa description, son prix (ainsi, à un groupe d'étudiants en projet sera confié du matériel de moindre coût, par exemple une caméra coûtant 1.500 euros plutôt que 45.000 euros), sa fréquence de révision et son historique (en terme de maintenance). Ces caractéristiques sont utilisées notamment pour planifier les périodes de révision pendant lesquelles le matériel est indisponible. Cela a donc une conséquence sur les emplois du temps.

## 3.3 Modélisation du temps

Les analyses menées avec les utilisateurs mettent en avant différentes perceptions du temps. Par exemple, lors de la définition des maquettes pédagogiques c'est le temps sous forme de durée qui est considéré : chaque

<footnote n="3">³ Il n'est pas encore courant qu'un enseignement de Maîtrise d'Informatique soit suivi par un étudiant inscrit en MST Audiovisuel, mais les réformes actuelles évoluent vers cette possibilité.</footnote>
responsable détermine le volume de chaque enseignement. Puis lors de l'élaboration des emplois du temps, le responsable répartit les enseignements dans une semaine "type" et reproduit cette semaine tout au long de l'année (c'est souvent comme cela que se font les emplois du temps en 1er cycle ou dans les lycées). Dans d'autres situations, notamment pour les formations de 3ème cycle, il n'y a pas de semaine type qui se répète compte tenu du nombre important des enseignements et de leur faible volume horaire. La représentation du temps est un problème en soi. Si l'on cherche une représentation la plus générique possible et la plus indépendante possible de l'application, on aboutit à une certaine lourdeur et des performances réduites. Paradoxalement, si l'on souhaite définir un outil suffisamment convivial, celui-ci doit répondre rapidement aux requêtes de son utilisateur d'où la nécessité d'une représentation adaptée qui permette des temps de réponse très courts (de l'ordre de quelques secondes).

Pour représenter le temps, deux notions de base sont nécessaires : l'instant et la durée. De plus, pour le problème des emplois du temps on rajoute la notion de fréquence. Cette notion de fréquence n'est pas indispensable puisqu'elle peut s'exprimer à partir de celles d'instant et de durée. Dans les emplois du temps, on dira qu'un enseignement a lieu tous les 15 jours (fréquence) si la durée qui sépare deux séances consécutives de E est d'au moins 15 jour (durée). Par exemple, dire « qu'il y a cours de mathématiques tous les quinze jours » c'est dire que la durée qui sépare deux séances consécutives de ce cours est de 15 jours. Ainsi on distingue la durée de chaque séance de la durée qui sépare les séances.

## Granularité du temps

La granularité du temps permet de mettre en relation des représentations du temps de différentes finesses comme l'illustre la figure 3. Au niveau le plus bas se trouve la représentation temporelle de base (par exemple le quart d'heure). Aux niveaux plus élevés se trouvent des notions composées du temps (par exemple l'heure, la demi-journée, la journée, la semaine, la quinzaine, le mois, etc.). Il est important de pouvoir appréhender le temps selon différentes granularités, pour pouvoir exprimer facilement des propriétés temporelles.

Dans cette étude, l'objectif n'est pas de déterminer une représentation universelle du temps. La structure a été choisie de manière adaptée au problème traité, en fonction des observations sur le terrain. Nous avons donc confondu le temps avec l'axe des nombres entiers et pris comme point d'origine une date arbitraire.

<figure><img src="image_4.png" /><figcaption>Figure 3. Exemples de granularité du temps</figcaption></figure>
## Les entités temporelles

Pour modéliser le temps, les entités : *date*, *heure*, *durée*, *créneau* et *calendrier* sont définies.

Une *date* désigne un instant défini par un triplet (jour, mois, année). A partir de ce triplet, on détermine la valeur qui lui est associée sur l'axe des jours. Pour avoir un grain plus fin, la notion d'heure est utilisée. Il s'agit d'un nombre entier compris entre la valeur minimale *HMin* et la valeur maximale *HMax*. Ces deux nombres correspondent à des heures par rapport à une date. Par exemple, dans notre cas, nous avons choisi $HMin=8h00$ et $HMax=20h00$ par défaut.

Une *durée* est un nombre compris entre *DMin* et *Dmax* = *Hmax* - *HMin*. *DMin* représente la plus petite unité temporelle disponible. Nous avons choisi par défaut la valeur *DMin* = 30 minutes.

Un *créneau* horaire désigne un intervalle temporel dans une journée. Ainsi, un créneau est caractérisé par un couple (*H*,*D*) où *H* représente l'heure de début du créneau et *D* sa durée.

Un *calendrier* est un ensemble de dates. Chaque ressource possède son propre calendrier ce qui permet de différencier les disponibilités de toutes les ressources. Par exemple, on peut rendre indisponible une salle du 1er au 15 décembre 2001 pour raison de travaux de rénovation ou du 13 au 17 mai 2002 (pour cause de conférence). On peut également rendre indisponible tel enseignant en dehors de la période qui s'étend du 1er septembre au 31 décembre (par exemple, pour des raisons de détachement). Un calendrier est donc un ensemble de dates auxquelles on associe un état, c'est-à-dire une valeur parmi {disponible, non disponible}. Pour des raisons pratiques d'autres valeurs ont été utilisées pour rendre l'outil mieux adapté aux pratiques courantes de l'université. Par exemple pour les groupes, ces valeurs sont {congé, examen, stage, ouvré}.

## Les séances et les réservations

Une *séance* correspond à une instance temporelle d'un enseignement à une date donnée, pendant un créneau précis. Les caractéristiques d'une séance sont : son enseignement, sa date, son créneau, ses matériels et sa salle. L'ensemble des séances d'une ressource est appelé *planning* de cette ressource. Il s'agit de l'ensemble des séances dans lesquelles apparaît la ressource. Ainsi, il est possible de considérer le planning d'une salle au même titre que celui d'un enseignant. La notion de planning apparaît également au niveau des enseignements : cela permet ainsi de manipuler l'évolution dans le temps d'un enseignement particulier en vue, par exemple, de s'assurer que le volume horaire prévu a bien été réalisé.

Une *réservation* correspond à un créneau ajouté au planning d'une ressource. Elle correspond à une option posée sur l'occupation de cette ressource. Par rapport à une séance, une réservation n'est pas associée à un enseignement. Les réservations apportent de la souplesse dans l'utilisation de l'outil notamment lors de la phase de création des emplois du temps par les différents responsables. Par exemple, une salle peut être réservée par un responsable pour un groupe sans savoir précisément quel enseignement y sera fait. Cette réservation est connue des autres responsables qui éviteront ainsi d'occuper cette salle. S'ils le font, le responsable des salles devra envisager une alternative en proposant une autre salle.
## 3.4 Modélisation des filières

La notion de filière permet de limiter le nombre des ressources à considérer. En effet, le responsable d'une filière n'a besoin de connaître que le planning des ressources qu'il utilise. Une filière est donc caractérisée par : son nom, son responsable, une liste d'enseignants qui interviennent dans la filière, une liste de salles, une liste de groupes, un calendrier de référence, une liste d'enseignements et une liste de matières. Le calendrier de référence est celui qui est partagé par toutes les ressources de la filière.

Par exemple, pour l'année 1999-2000 la quantité de données pour l'Institut des Sciences et Techniques de Valenciennes (ISTV) est environ : 650 enseignants, 50 salles, 600 groupes, 1200 matières, 3000 enseignements, 24000 séances ; pour ce qui concerne la filière IUP Génie Électrique et Informatique Industrielle (qui dépend de l'ISTV) il y a : 80 enseignants, 20 salles, 80 groupes, 135 matières, 405 enseignements, 2450 séances ; il est clair que les responsables pédagogiques de cette formation ont donc intérêt à ne considérer que les données qui leur sont relatives.

Cependant, certains conflits ne peuvent être détectés que lorsque les différentes filières sont rassemblées dans une base de données commune. Il s'agit surtout des conflits d'enseignants et de salles puisqu'il est fréquent qu'un enseignant intervienne dans plusieurs filières ou qu'une salle soit partagée par plusieurs filières. Par contre, il est rare qu'un groupe appartienne à plusieurs filières.

## 3.5 Les contraintes sur les données

L'analyse sur le terrain montre que les données gérées doivent vérifier certaines contraintes pour garantir leur cohérence. De manière abstraite, les contraintes à respecter peuvent être classées en deux groupes : les *contraintes physiques* et les *contraintes pédagogiques*.

### Les contraintes physiques

Ces contraintes ne doivent pas être violées sinon cela conduirait à des situations conflictuelles. On dira qu'il y a un « conflit physique de ressource » entre deux séances s1 et s2 si ces deux séances ont une ressource en commun pendant une durée non nulle.

Voici les contraintes physiques intégrées dans EDT²⁰⁰² :

- une ressource ne peut pas être occupée en même temps dans deux séances différentes ;

- dès qu'une ressource *r* est occupée par une séance *s*, toutes ses ressources filles *r*<sub>*f*</sub> sont également occupées par la même séance et cela récursivement (il s'agit d'une contrainte liée à la hiérarchisation) ;

- on ne peut pas mettre plus d'étudiants qu'il n'y a de places dans une salle

- le volume horaire total des séances d'un enseignement ne peut pas dépasser le volume prévu ;

- les calendriers sont respectés pour toutes les ressources.

### Les contraintes pédagogiques

Lors des interviews, des contraintes pédagogiques ont pu être identifiées. Elles se différencient des contraintes physiques par le fait qu'elles peuvent éventuellement
être violées : dans ce cas on obtient des emplois du temps de moins bonne qualité d'un point de vue pédagogique. Typiquement ces contraintes sont utilisées pour exprimer ce que doit être un « bon » emploi du temps. Voici quelques exemples de ces contraintes :

- homogénéiser la durée des séances d'un enseignement,

- éviter les « trous » dans l'emploi du temps,

- éviter les cours magistraux en fin de journée,

- éviter de placer plusieurs séances d'un même enseignement dans une journée,

- répartir la charge d'enseignement des enseignants et des étudiants, si possible, sur toute la période d'enseignement. L'objectif est d'éviter d'avoir des périodes de surcharges. Pour répartir cette charge, on peut considérer différents niveaux de granularité du temps. Par exemple on peut distinguer la journée, la semaine, le mois, le semestre et l'année.

- accorder plus d'importance à la qualité de l'emploi du temps du plus grand nombre. Par exemple, si l'on doit choisir entre planifier une séance de 2 heures pour un groupe de 10 étudiants ou pour un groupe de 100 étudiants, on préfèrera placer le groupe de 100 étudiants.

- éviter de commencer avant 8h30 ou de finir après 18h30,

- éviter de placer des cours l'après midi,

- favoriser la régularité dans les emplois du temps.

On peut remarquer que dans l'expression de ces contraintes pédagogiques les termes utilisés ne sont pas précis (éviter, devraient, si possible ...). Ces contraintes sont plus difficiles à formaliser que les contraintes physiques et leur traitement est plus délicat.

Il peut y avoir des degrés d'importance entre les contraintes et une même contrainte peut avoir différents « degrés » d'importance. Par exemple, la contrainte « éviter les trous dans l'emploi du temps » représente l'ensemble de toutes les contraintes « éviter les trous d'une durée D dans l'emploi du temps », où $D \in [30\min, 1h, 1h30, ...]$. Mais il est moins important d'éviter les trous de 30 minutes que d'éviter les trous de 10 heures !

Pour traiter ces contraintes, on les représente par un ensemble de contraintes auxquelles on associe un degré d'importance. Soit C une contrainte représentée par l'ensemble $\{c(1), c(2), ..., c(max)\}$ où dans chaque $c(i)$, i est le degré d'importance accordé à la contrainte c. Si $c(i)$ est vérifiée alors toutes les $c(j>i)$ sont implicitement respectées.

Certaines de ces contraintes sont prises en compte de la manière suivante. Lorsqu'on cherche les séances qu'il est possible de placer sur un créneau précis, ces séances sont classées en fonction de critères liés à la qualité de l'emploi du temps. En tête de cette liste, se trouve la séance qui respecte le mieux les contraintes. Par exemple, si la semaine précédente une séance est déjà placée, on propose une séance du même enseignement et de même durée.
# 4 Architecture de l'outil interactif et conception des interfaces homme-machine

Dans cette partie, nous distinguons clairement deux types de personnes : l'utilisateur et l'acteur. L'utilisateur fait référence à une personne qui manipule un outil. Dans ce cas, ce sont les propriétés d'accessibilité de cet outil qui sont mises en avant (convivialité, facilité d'appropriation, etc.). L'acteur, quant à lui, fait référence à une personne qui réalise une activité particulière et dont les choix et les actions ont des conséquences sur le problème à résoudre. Dans ce cas, ce sont les propriétés de l'outil facilitant cette activité qui sont concernées.

L'architecture conceptuelle visée est présentée dans la figure 4. Chaque acteur doit résoudre une partie locale d'un problème global (concevoir l'ensemble des emplois du temps au sein de l'Institut, voire de l'université). Les parties locales ont des zones de recouvrement qui peuvent être en conflit. L'objectif est de concevoir un outil interactif et convivial qui permette aux acteurs d'intégrer ces conflits dans leur raisonnement afin de les résoudre ou de les éviter.

<figure><img src="image_5.png" /><figcaption>Figure 4. Architecture conceptuelle de l'outil interactif visé.</figcaption></figure>

Avant de préciser la notion de point de vue sur laquelle s'appuie notre proposition, nous commençons par présenter l'architecture matérielle visée ainsi que les supports graphiques mis en place. Notons dès à présent que dans cet article nous focalisons notre présentation sur l'outil interactif exploité par chaque acteur, le partage des connaissances et des données manipulées n'est pas abordé ici. Les échanges inter-acteurs ne sont pas considérés et les acteurs travaillent séquentiellement, chacun leur tour. Dans la suite de l'article nous présentons les notions de point de vue, d'interaction et de gestion des conflits.

## 4.1 Architecture technique

L'organisation globale dans laquelle s'insère l'outil interactif visé est décrite dans la figure 5. Cette architecture comporte des acteurs organisés autour d'un
serveur. Le rôle du serveur est de centraliser l'information et d'en maintenir la cohérence. Le serveur répond également aux requêtes des acteurs. On distingue sept « profils » d'acteurs : l'administrateur (au sens personnel administrateur et non pas administrateur du système informatique), le responsable pédagogique, le responsable du matériel, le responsable des salles, la secrétaire pédagogique, l'enseignant et l'étudiant.

Selon son profil, un acteur peut visualiser ou agir sur certaines informations. Les actions que peut effectuer un acteur dépendent de son profil. Par exemple, l'étudiant peut consulter son emploi du temps ainsi que celui des salles et des matériels. Par contre il ne peut pas faire de modification des emplois du temps : il doit nécessairement passer par la secrétaire pédagogique. Dans notre étude, nous avons commencé par nous focaliser sur les activités individuelles du responsable pédagogique et des responsables des salles et des matériels.

Selon le principe visible en figure 5, les enseignants, étudiants, secrétaires pédagogiques, responsables pédagogiques, responsables administratifs et responsables des salles et des matériels peuvent consulter le planning des différentes ressources avec des droits variables. Chaque enseignant donne ses disponibilités aux secrétaires pédagogiques et signale ses absences afin d'organiser des séances de rattrapage. De même, les étudiants peuvent demander des reports de cours en cas d'absence d'un nombre important d'entre eux. Les secrétaires peuvent supprimer des séances, par exemple lorsqu'un enseignant est absent. Toutes les modifications effectuées par les secrétaires sont transmises aux responsables pédagogiques qui « contrôlent » le bon déroulement des formations. En particulier, si un enseignant est souvent absent cela peut entraîner une gêne pour la progression pédagogique d'une formation. Dans ce cas les responsables pédagogiques doivent réagir rapidement et prévoir des solutions acceptables. Les emplois du temps doivent vérifier les contraintes pédagogiques fournies par les responsables pédagogiques, les contraintes administratives fournies par les responsables administratifs et les contraintes liées à la disponibilité des enseignants. Les responsables des salles et des matériels sont chargés d'attribuer les salles et les matériels nécessaires au bon fonctionnement des enseignements.
<figure><img src="image_6.png" /><figcaption>**Figure 5.** *Architecture technique proposée pour le problème des emplois du temps à l'ISTV*</figcaption></figure>

## 4.2 Visualisation des emplois du temps

Lors de notre étude, nous avons recherché une représentation graphique simple des emplois du temps. D'emblée il est apparu important que cette représentation soit accessible par tous les acteurs. D'autre part, il faut prendre en compte les contraintes liées au matériel informatique utilisé. Par exemple, les écrans ont chez la plupart des acteurs concernés une taille de 17 pouces ce qui oblige à privilégier des représentations légères.

L'analyse a montré qu'il faut aussi prendre en compte le fait que deux types de vision sont traités : la vision hebdomadaire et la vision annuelle. Dans les deux cas, visualiser un emploi du temps consiste à représenter sur un plan des séances d'une ou plusieurs ressources. Sur chaque vue d'un emploi du temps, deux axes sont représentés : l'axe des ressources et l'axe des temps.

La manipulation graphique des emplois du temps se fait grâce à des commandes que l'on retrouve invariablement dans chaque vue (elles seront décrites en 4.4). Ces commandes permettent de « naviguer dans les emplois du temps » et de les modifier en maitrisant constamment les conflits (en les évitant). Des commandes supplémentaires sont ajoutées à la vision hebdomadaire : le passage à la semaine suivante ou précédente et le retour à la semaine choisie comme semaine de référence. Pour la vision annuelle, il suffit de préciser quelle est la période à visualiser en indiquent les dates de début et de fin.

Les commandes de manipulation se font par le biais des vues. Elles permettent de placer, déplacer, détruire, sélectionner des séances individuellement ou collectivement. Pour faciliter le placement des séances dans les emplois du temps, les contraintes sont prises en compte de manière dynamique. Ainsi, par exemple, lors du déplacement d'une séance, l'outil ne propose que les déplacements autorisés
qu'il détermine de manière dynamique. Cette démarche consiste à réduire l'espace
de recherche de l'acteur à l'espace des placements de séances sans conflit.

4.3 Points de vue

Nous avons défini la notion de points de vue dans le cadre d'une recherche sur
le raisonnement coopératif et son application au cas du diagnostic interactif (Jouglet
et al., 1998). L'idée de base consiste à représenter un modèle selon différents angles
de visions appelés points de vue. Chaque point de vue ne concerne qu'une partie du
modèle mais l'ensemble des points de vue couvre entièrement le modèle. Le
raisonnement réalisé à partir de chaque point de vue est propagé aux autres points
de vue ce qui assure la cohérence de l'ensemble des points de vue (Piechowiak et al.,
1998). Cette approche a été validée par la réalisation d'un outil interactif dans le cas
où le raisonnement concerne le diagnostic. Bien que les utilisateurs de l'outil n'étaient pas habitués à manipuler des outils informatiques, les résultats des
expérimentations en situation réelle ont été très convaincants. En effet, les
diagnostics obtenus avec l'outil étaient, en moyenne, meilleurs (plus précis, plus
fiables et obtenus en moins de temps) que ceux obtenus sans l'outil (Jouglet, 2000).

Dans notre travail sur l'analyse et la conception d'un outil interactif d'aide à la gestion des emplois du temps, nous avons repris cette notion de point de vue de manière à représenter, pour un même repère (temps, ressource), différentes informations sans surcharger les vues. Ainsi, les points de vues retenues sont : le point de vue des ressources (enseignant, groupe, salle et matériel), le point de vue des enseignements et un point de vue particulier dans lequel l'acteur choisit les informations qu'il souhaite voir. Dans ce dernier point de vue, on peut, par exemple, visualiser le nom des salles, leur capacité et leur taux d'occupation ainsi que le nom des enseignants qui occupent ces salles. Un simple bouton permet de basculer d'un point de vue à un autre tout en gardant l'apparence générale de sa vue et en bénéficiant des mêmes commandes (ajout, retrait, etc.).

Lors de la conception de son emploi du temps, les interviews font ressortir qu’un acteur travaille rarement en ne considérant qu’un seul groupe à la fois. Généralement il traite simultanément plusieurs groupes avec leurs sous-groupes. Or chaque séance d’enseignement nécessite plusieurs ressources : un groupe, des enseignants, une salle, etc. Il n’est pas possible d’afficher toutes ces informations à l’écran bien qu’elles soient nécessaires pour construire un emploi du temps. Nous avons donc défini la notion de point de vue d’un emploi du temps qui permet d’appréhender un même emploi du temps sous différents angles.

Un point de vue est une vision paramétrée en fonction d'un critère. Par exemple, l'emploi du temps des groupes G1, G2 et G3 peut être paramétré en fonction des enseignements, des enseignants, des salles, etc. Ceci permet d'afficher le nom des enseignements correspondant aux séances, ou les noms des enseignants pour chaque séance, ou les noms des salles dans lesquelles ont lieu les séances, etc.

L'outil visualise les emplois du temps selon différents points de vue et permet de basculer simplement d'un point de vue à un autre. Par exemple, on peut visualiser la semaine 40 pour les groupes G1, G2 et G3. Par défaut ce sont les noms des séances qui sont affichées avec des couleurs qui dépendent du type de la séance. On peut par simple appui sur un bouton changer l'information affichée sur le même
planning pour visualiser le nom des enseignants, le nom des salles affectées aux séances ou la liste des matériels affectés aux séances.

<figure><img src="image_7.png" /><figcaption>**Figure 6.** *Le même acteur dispose de plusieurs points de vue sur le problème*</figcaption></figure>

Dans les Figures 7a et 7b, nous présentons à titre d'illustration une partie du planning du DESS ICHM et de ses groupes 1 et 2, du point de vue des enseignants et des salles, pour la période du 03/09/2001 au 05/11/2001. Il s'agit d'une vision annuelle dans laquelle on représente une semaine par ligne. Chaque ligne comporte autant de sous-lignes que de ressources sélectionnées (ici les ressources sont les groupes DESS-ICHM, 1 et 2). Les séances sont visualisées selon le point de vue sélectionné. Ainsi dans la figure 7a on affiche les noms des enseignants de chaque séance visualisée (point de vue enseignant) alors que dans la figure 7b ce sont les noms des salles des séances qui sont affichés (point de vue des salles).

La représentation graphique a été proposée en fonction des représentations qui sont faites actuellement dans la pratique (en essayant d'arriver à un compromis entre la plupart des représentations qui se basent toutes au départ sur des grilles ou tableaux, cf. critère de compatibilité au sens de Bastien et Scapin, 1993). Ainsi les utilisateurs ne sont pas désorientés et retrouvent des emplois du temps plus ou moins proches de ce qu'ils connaissent (des exemples d'emplois du temps actuellement exploités sans l'outil, sont fournis en annexe).
<figure><img src="image_8.png" /><figcaption>Figure 7a. Un emploi du temps vu selon le point de vue des enseignants</figcaption></figure>

Les points de vues disponibles dans la version actuelle d'EDT²⁰²² sont :

* enseignant, salle, groupe, matériel : dans ces cas ce sont les noms des ressources qui sont affichés ainsi que d'autres informations (par exemple la capacité des salles pour le point de vue « salle »);

* enseignement : dans ce cas c'est l'intitulé des matières relatives aux enseignements ainsi que le type de matière (cours, travaux dirigé, ...) qui sont affichés ;

* spécial : dans ce cas on affiche le maximum d'informations pour chaque séance. Par exemple, une séance dont l'enseignant est Robert Dupont, la salle 200C, le groupe STPI et l'enseignement de type travaux dirigés sera affiché sous le format : RD 200C STPI TD.
<figure><img src="image_9.png" /><figcaption>Figure 7b. Le même emploi du temps vu selon le point de vue des salles</figcaption></figure>

## 4.4 Actions possibles à l'aide des interfaces graphiques

Nous avons pu recenser deux grandes classes de besoins de la part des différents acteurs. La première classe concerne la conception des emplois du temps et la seconde concerne le suivi des emplois du temps et leur étude.

### Pour la conception des emplois du temps

Nous supposons que la création des emplois du temps se fait dans un premier temps de manière locale à une formation ou une filière ; puis les différents emplois du temps sont rassemblés pour déceler les conflits et les résoudre. Le traitement local des emplois du temps n'exclue pas l'exploitation incrémentale des informations. C'est d'ailleurs comme cela que les responsables travaillent actuellement puisqu'ils essaient d'intégrer le plus tôt possible l'indisponibilité des enseignants s'ils sont déjà planifiés dans d'autres emplois du temps.

Lors de la création d'un emploi du temps, le concepteur souhaite donc :

* placer des séances lors de l'élaboration des emplois du temps en respectant ou non les contraintes,

* rechercher les conflits et les résoudre,

* rechercher des améliorations de l'emploi du temps,

* rechercher des créneaux,

* modifier l'emploi du temps en permutant deux séances ou deux paquets de séances, en augmentant ou réduisant la durée d'une ou plusieurs séances.
Actuellement, ce travail est réalisé essentiellement sur papier ou à l'aide d'un
tableur. Ce dernier ne sert que d'outil graphique pour soigner la présentation des
emplois du temps. La méthode consiste à partir d'un calendrier sur lequel sont
placées les dates des congés, des stages et des examens. Puis l'emploi du temps est
créé en s'inspirant de l'emploi du temps de l'année précédente.

Pour l'exploitation des emplois du temps

L'exploitation des emplois du temps est faite par deux acteurs principaux : la secrétaire pédagogique qui déplace des séances si un enseignant ne peut pas assurer un enseignement et le responsable pédagogique qui suit la bonne marche des filières en faisant régulièrement des bilans.

Lors de l'exploitation d'un emploi du temps, la secrétaire et le responsable pédagogique souhaitent donc :

* placer des séances pour prendre en compte l'évolution des emplois du temps tout au long de l'année,

- rechercher des créneaux libres pour placer une nouvelle intervention,

* déplacer une ou plusieurs séances,

* faire des bilans :

- pour rendre des comptes aux responsables administratifs, notamment pour le paiement des heures effectuées,

- pour connaître les taux d'occupation des salles ou du matériel et ainsi anticiper leur maintenance,

- pour mettre en évidence les besoins en personnel,

- pour mettre en évidence des lacunes pédagogiques,

* diffuser les emplois du temps et leurs modifications auprès des étudiants, des enseignants et des différents responsables.

Manipulations par commandes directes ou indirectes

Selon leurs habitudes de travail, les intervenants souhaitent manipuler les
emplois du temps à l'aide de l'interface graphique par des menus surgissants ou
« pop-menus » (directement sur la visualisation des emplois du temps) ou par des
commandes disponibles par menus ou par boutons. Il est important que ces deux
modes de manipulation soient disponibles. En effet, dans la phase de prise en main
de l'outil, l'utilisateur ne connaît pas précisément les possibilités offertes. Dans ce
cas, les menus permettent d'obtenir la liste des commandes. Dès que l'utilisateur a
pris connaissance de la plupart de ces commandes et qu'il a assimilé la démarche de
création ou mise à jour des emplois du temps, les menus surgissants sont plus
directs.

Par les menus il est donc possible de définir, modifier ou détruire des
ressources, des matières, des modules ou des enseignements. Ces menus permettent
egalement d'obtenir des bilans tels que le nombre d'heures effectuées par chaque
ressource durant une période paramétrable, la répartition de ces heures selon le type
d'enseignement (cours, travaux dirigés, etc.). L'utilisateur peut obtenir la liste des
conflits classés par type de ressources (enseignants, salles, groupes, etc.). Enfin, il est
possible de placer de nouvelles séances dans les emplois du temps ou de modifier,
déplacer ou détruire des séances existantes à l'aide des menus. Par exemple on peut
demander de placer une séance de cours de mathématiques pour un groupe donné
tous les lundis de 8h30) 10h30 et les mardis de 14h00 à 16h00 du Lundi 1er Septembre au Vendredi 20 Décembre (bien sûr, en respectant la disponibilités des ressources).

Ces manipulations d'emplois du temps sont également réalisables graphiquement. Lorsque l'utilisateur indique avec la souris un instant de l'emploi de temps, **EDT<sup>2002</sup>** réagit en fonction de l'état de l'emploi du temps. S'il s'agit d'un espace libre, l'outil détermine quelles sont les séances qui peuvent être placées et l'acteur n'a qu'à choisir l'une d'entre elles. S'il s'agit d'un espace occupé, alors l'outil propose à l'utilisateur de détruire ou de déplacer la séance repérée. En cas d'un choix de déplacement, **EDT<sup>2002</sup>**, commence par déterminer les déplacements possibles en les classant (par exemple déplacement dans la journée ou dans la semaine). Tous ces choix sont calculés en temps réel et les menus surgissants sont construits dynamiquement.

Les Figure 8a, 8b et 8c donnent un aperçu des différentes commandes disponibles en conséquence dans l'outil **EDT<sup>2002</sup>** respectant au maximum le vocabulaire identifié lors des analyses sur le terrain.

Dans la figure 8a on trouve le menu général de l'outil qui permet de créer un nouvel emploi du temps ou de charger un emploi du temps existant (commande filière). On y trouve également un accès au menu de chaque type de ressource et des enseignements. Une aide en ligne a également été conçue. La liste des commandes est ordonnée en fonction de l'ordre à respecter pour créer un emploi du temps. Cet ordre logique a été défini en tenant compte des remarques formulées par les utilisateurs des premières versions de l'outil (cf. aussi la partie 7 portant sur l'évaluation). L'ordre établi sert en quelque sorte au guidage de l'utilisateur (au sens de Bastien et Scapin, 1993).

Dans la figure 8b on trouve le détail du menu associé aux enseignants. Par ce menu on peut ajouter, modifier ou détruire tout type de ressource. Pour faciliter la vision des emplois du temps il est possible de choisir une couleur pour chaque ressource. Ce choix peut être proposé automatiquement par l'outil.

Enfin, la figure 8c montre le menu **surgissant** obtenu lorsqu'on pointe sur une zone de l'emploi du temps et qu'on a choisi les commandes « déplacer » puis « cette séance » qui désigne la séance pointée, puis « dans la journée » et enfin une valeur représentant une heure possible de déplacement. Les valeurs possibles sont calculées dynamiquement et tiennent compte de la disponibilité des ressources concernées par le déplacement de la séance. Ceci a pour objectif d'éviter les conflits.

<figure><img src="image_10.png" /><figcaption>Figure 8a : Les commandes et les menus disponibles dans EDT<sup>2002</sup></figcaption></figure>
<figure><img src="image_11.png" /><figcaption>Figure 8b : Les menus disponibles par activation des commandes dans EDT²⁰²²</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Figure 8c : Les menus surgissants disponibles par activation au niveau des vues graphiques</figcaption></figure>

L'ensemble des commandes mises à la disposition des concepteurs d'emplois du temps doit être complété par les commandes d'annulation. Ces commandes d'annulation sont actuellement en étude. En particulier nous souhaitons étudier d'autres formes d'annulation que la simple annulation chronologique car celle-ci ne permet pas d'analyser précisément l'origine d'une annulation en vue d'une aide future, par exemple, par détection des erreurs de manipulations parmi les erreurs de raisonnement de la part des utilisateurs.

## 4.5 Diffusion des emplois du temps

### Diffusion sur papier

Traditionnellement, les emplois du temps sont diffusés sur support papier : dans ce cas, le support utilisé par les responsables pédagogiques pour créer leurs emplois du temps est le même que celui qui est diffusé auprès des intervenants (en particulier lorsqu'ils utilisent un tableur ou qu'ils écrivent à la main sur une grille qu'ils ont créée eux-mêmes ou récupérée d'un autre service). Cette remarque nous a
conduit à conserver les mêmes représentations graphiques pour l'exploitation et
pour la diffusion.

Nous avons également constaté lors de l'analyse sur le terrain que le choix
d'une représentation est souvent lié aux habitudes du responsable et aux habitudes
des filières. Certaines personnes ont tenté de proposer de nouvelles représentations,
généralement graphiques et basées sur l'utilisation d'un tableur. Malheureusement
ces représentations sont souvent difficiles à lire et à comprendre. Par exemple,
certains responsables ont utilisé, pour un même planning, des représentations
différentes selon le type d'enseignement. Ceci traduit implicitement la pose de
contraintes sur les emplois du temps (par exemple, on fixe des « journées TP »). En
annexe, on présente un tel exemple de planning avec une représentation pour les
cours et travaux dirigés et une autre représentation pour les travaux pratiques.

Nous avons donc essayé de trouver un compromis adapté au plus grand
nombre de personnes. Ce compromis consiste à faciliter la visualisation, pour une
semaine ou pour une partie de l'année, des séances pour des enseignants, des
groupes, des salles, des matériels ou un mélange de ces ressources. De plus, ces
deux modes de visualisation répondent aux attentes exprimées lors de l'analyse de
terrain. Celle-ci a montré la nécessité de limiter le nombre des représentations des
informations.

Diffusion par réseau informatique

La diffusion par réseau est en cours d'étude et soulève de nombreux
problèmes. Ceux-ci ne sont pas nécessairement liés au problème des emplois du
temps mais à la confidentialité des informations. Par exemple, on doit permettre à
chaque étudiant d'avoir accès à son emploi du temps. Les enseignants, quant à eux,
devraient avoir un plus grand accès pour leur permettre de déplacer des séances
(dans la mesure des ressources disponibles). L'accès aux différents emplois du
temps devrait également permettre de savoir à tout moment où trouver une salle
libre, un étudiant ou un enseignant particulier ou même où trouver un vidéo
projecteur.

Cependant la diffusion de toutes ces informations (hors du contexte des
universités) pose le problème de confidentialité. Ce problème n'est pas résolu
actuellement et sort des objectifs visés dans cette étude. Techniquement, il est
possible de limiter les droits d'accès aux différentes informations. Par contre sur le
plan organisationnel, juridique, etc., une étude plus poussée serait nécessaire.

5 Traitement des conflits

Dans la section relative aux contraintes (cf. 3.5), nous avons défini précisément
ce que représente un conflit : un conflit se caractérise par le partage de ressources
entre plusieurs séances au même moment.

L'idée de base de nos travaux est de concevoir un outil qui permette
interactivement de placer des séances dans un planning en garantissant l'absence de
conflit. Néanmoins, plusieurs raisons nous obligent d'une part à accepter la
présence de conflit et, d'autre part, à traiter ces conflits.
D'abord, lors de nos tests en situation réelle avec différents utilisateurs, il est apparu qu'en cours d'élaboration des emplois du temps, certains préfèrent avoir la possibilité de placer temporairement des séances conflictuelles et corriger ensuite ces conflits plutôt que de ne pouvoir considérer que les situations non conflictuelles. Cette remarque a été faite dans (Lefort et Labat, 2000) où un outil de planification autorisant la présence de conflits est proposé.

Ensuite, dans la réalité, les emplois du temps sont créés localement aux filières, sans avoir la connaissance des plannings des autres filières. Lors du regroupement de tous les plannings de toutes ces filières, les conflits apparaissent généralement à cause des enseignants qui interviennent en commun entre plusieurs filières.

Enfin, nos essais montrent que même pour les acteurs qui souhaitent placer des séances en évitant les confits, il est important d'avoir la possibilité d'être informé sur les raisons de l'impossibilité de placer certaines séances. Par exemple, quand on clique à l'aide de la souris sur une grille pour y placer une séance, l'outil commence par rechercher la liste des séances qui peuvent être placées sans qu'il y ait de conflit. Si cette liste est vide il est souhaitable d'indiquer pourquoi. Deux explications peuvent être fournies. La première est que toutes les séances sont déjà placées. La seconde explication est que dans toutes les séances qui restent à placer, il y a systématiquement l'une des ressources qui est occupée dans une autre séance au même moment. Dans ce cas, il convient de fournir à l'utilisateur la liste des séances qui gênent le placement de la séance et il revient à l'acteur de décider s'il doit remettre en cause le choix de son nouveau placement ou s'il doit remettre en cause les placements antérieurs.

## 5.1 1ère approche : éviter les conflits

La méthode qui consiste à éviter les conflits est bien adaptée lorsque l'emploi du temps est disponible et qu'on souhaite y apporter quelques modifications ou lorsqu'il est disponible sur papier et qu'on souhaite le saisir. Éviter les conflits revient alors à éviter les erreurs de saisie. Les acteurs qui apprécient cette méthode sont les responsables des salles puisqu'ils attribuent les salles aux séances une fois que celles-ci sont planifiées.

Cette méthode est également intéressante pour la création des emplois du temps puisqu'elle limite à chaque instant l'espace des séances qu'on peut placer sur un créneau donné. Dans ce cas, cette méthode seule ne suffit pas. Nous avons constaté que, lorsqu'il souhaite placer une séance sur un créneau, l'acteur est dérouté si la séance qu'il pense pouvoir placer est absente de la liste des séances possibles. Pour résoudre ce problème, il faut expliquer les causes de cette absence (enseignant ou salle occupé, ou groupe ou l'un de ses descendants ou ascendants occupé). Une autre façon d'aborder ce problème est d'accepter les conflits et de les résoudre après coup. Le danger extrême de cette méthode est qu'on risque d'avoir beaucoup de conflits qu'il sera impossible de résoudre sans recommencer le travail au point de départ.

En autorisant la manipulation de séances incomplètes (pas d'enseignant, pas de salle), on adopte une démarche différente qui consiste à créer un emploi du temps sans ressource (ou le moins de ressources possible) puis à attribuer les ressources après coup. La faiblesse de cette approche vient de ce que les contraintes ne sont pas intégrées suffisamment tôt. A l'ISTV, c'est cette approche qui est retenue
puisque les salles sont allouées une fois que les emplois du temps sont créés. Même si les salles ne sont pas considérées comme des ressources bloquantes, il se peut que pour des séances il n'y ait pas de salle libre. Dans ce cas, l'emploi du temps doit être modifié.

Ces deux approches peuvent être comparées aux approches prospectives et rétrospectives bien connues en programmation par contraintes (Tsang, 1993). Il est montré que les approches qui consistent à propager les choix (forward checking) aux travers des contraintes sont plus efficaces que celles qui vérifient le respect des contraintes après avoir effectué les choix.

## 5.2 2ème approche : visualiser les conflits pour les résorber

La résolution d'un conflit peut se faire de différentes manières.

La première manière consiste à supprimer certaines des séances qui sont en conflit et à demander à l'utilisateur de les replacer dans le planning. Cette méthode n'est viable que si on prend en compte les dépendances entre conflits et si le nombre des conflits est raisonnable. Par exemple, considérons le cas de la Figure 9 dans laquelle les séances S1, S2 et S3 sont planifiées le même jour sur le même créneau.

<figure><img src="image_13.png" /><figcaption>Figure 9. Exemple de conflit de groupes</figcaption></figure>

Dans ce cas, il y a deux conflits liés : S1 avec S2 et S2 avec S3. On peut les résoudre en supprimant les trois séances et en essayant de les replacer, en supprimant S1 et S3 et en les replaçant ailleurs, ou alors en supprimant uniquement S2 et en la replaçant sur un autre créneau. Le choix de la résolution peut dépendre de différents critères. On peut choisir la résolution qui remet en cause le moins de séances (uniquement S2 dans l'exemple). On peut également choisir la résolution qui préserve la qualité des emplois du temps.

La deuxième manière consiste à regrouper les ressources qui interviennent dans différentes séances. Il se peut que des enseignements soient partagés par plusieurs groupes de différentes filières. Lors de la fusion des données relatives à plusieurs filières, ces enseignements sont déclarés plusieurs fois. Ceci provoque, par exemple des conflits d'enseignants puisque pour ces enseignements partagés un même enseignant donne ses cours aux mêmes moments devant des groupes différents. La résolution de ces conflits est aisée : il suffit de fusionner les groupes des deux enseignements.

La troisième manière de résoudre les conflits consiste à réduire la durée des séances en conflit de manière à annuler l'intervalle de temps associé aux conflits.
Dans l'exemple précédent, les deux conflits ont lieu sur les intervalles de temps [10h-11h] et [11h-12h]. Il y a plusieurs possibilités :

* réduire la séance S1 à l'intervalle [9h-10h] et la séance S3 à l'intervalle [12h-13h].

* réduire la séance S1 à l'intervalle [9h-10h30], la séance S2 à l'intervalle [10h30-11h30] et la séance S3 à l'intervalle [11h30-13h].

La quatrième manière consiste à supprimer le « responsable » du conflit, c'est-à-dire l'enseignant, le groupe ou la salle, qui provoque l'apparition du conflit. Dès que le conflit est supprimé, on essaie d'attribuer les séances à d'autres enseignants, groupes ou salles.

Cette méthode peut être étendue de manière à pouvoir échanger les ressources de différentes séances. Par exemple, on peut échanger les enseignants de deux enseignements. On peut également envisager des échanges plus complexes faisant intervenir plus de deux enseignants ; mais la recherche de ces échanges en vue de résoudre des conflits devient laborieuse. Dans la figure 10, on présente l'exemple d'un conflit multiple.

<figure><img src="image_14.png" /><figcaption>Figure 10. Exemple de conflit multiple</figcaption></figure>

En procédant aux échanges : prof(S1) ↔ prof(S4), groupe(S1) ↔ groupe(S2) et salle(S1) ↔ salle(S3), on résout les trois conflits et on obtient la configuration de la figure 11.

<figure><img src="image_15.png" /><figcaption>Figure 11. Les conflits sont résolus</figcaption></figure>

Des essais ont été menés en situations réelles. En particulier, pour l'année 1999-2000, la recherche des conflits parmi les 25000 séances a permis de déceler :
350 conflits de groupes, 50 conflits d'enseignants, 30 conflits de salles. Ces conflits ont été rapidement résolus à l'aide de l'outil.

Notons que cette recherche a été effectuée sur des données réelles à partir des emplois du temps exploités de l'année universitaire, donc sur un jeu de données supposé être exempt de conflits.

La figure 12 montre comment sont visualisés les conflits (de groupes dans le cas de la figure). Il s'agit d'un tableau comportant 9 colonnes (la 9ième est cachée en raison de la taille de la fenêtre). Chaque ligne représente un conflit. Par exemple, la première ligne désigne un conflit qui concerne le groupe « SM PC » à la date du « 22-04-2002 ». En effet il y a deux séances qui se chevauchent. La première « ALG_CR_SM1 » commence à 8h30 et dure 2h et la seconde « ALG_CR_SMPC » débute à 9h00 et dure 1h30. Le chevauchement vaut donc ici 1h30. En activant le bouton « Voir », on visualise le planning de ce groupe durant la semaine du 22-04-2002 en mettant en évidence ces deux séances. L'utilisateur peut alors décider de la correction à effectuer (déplacer les séances, en supprimer, etc.).

<figure><img src="image_16.png" /><figcaption>**Figure 12.** *La fenêtre d'affichage des conflits détectés*</figcaption></figure>

La figure 13 représente la vue qu'on peut avoir en décidant de visualiser graphiquement un conflit (le premier de notre exemple). Une couleur particulière met en évidence les deux séances en conflit. Il suffit de modifier (supprimer, déplacer ou réduire la durée) de l'une des deux séances pour résoudre le conflit.
<figure><img src="image_17.png" /><figcaption>Figure 13. En sélectionnant le premier conflit et en activant la commande VOIR</figcaption></figure>

Pour aider les acteurs à résoudre les conflits, il est possible de visualiser le planning des ressources de chaque séance (cf. Figure 14). Par exemple, supposons que la vue graphique actuellement visualisée concerne l'emploi du temps d'un groupe G1 et qu'on souhaite déplacer une séance S de ce groupe. En cliquant sur la séance, on peut choisir la commande déplacer dans la journée. EDT²⁰⁰² calcule dynamiquement la liste des créneaux correspondant aux déplacements possibles. Si un acteur ne trouve pas, dans cette liste, un créneau qu'il envisageait *a priori*, l'outil lui permet de comprendre les raisons en lui fournissant l'occupation de chaque ressource concernée par la séance. La vue 14 montre le planning d'un ensemble de ressources.

<figure><img src="image_18.png" /><figcaption>Figure 14. Vue du planning de toutes les ressources e l'une des deux séances en conflit</figcaption></figure>

Les approches qui ont été présentées se basent sur des modifications locales des emplois du temps puisqu'on ne peut modifier qu'une séance ou un enseignement à la fois. Cependant, une modification locale peut entraîner d'autres modifications. Par exemple, le changement d'enseignant d'un cours peut nécessiter la révision de l'emploi du temps de cet enseignant à cause de l'apparition éventuelle de conflits. Dans la mesure où la première méthode interdit l'apparition de conflit,
la connaissance des disponibilités de toutes les ressources impliquées par la séance suffit pour procéder aux différents changements. La seconde méthode quant à elle, obligera à des résolutions de conflits *a posteriori*.

Dans les essais que nous avons effectués en situations réelles, la première méthode a été exploitée avec succès. Les changements d'emplois du temps qui sont faits durant la phase d'exploitation sont signalés par les secrétaires par voie d'affichage ou par mail aux enseignants et aux étudiants concernés. Ces changements sont essentiellement faits sur demande des enseignants et n'entraînent pas de modification pour le reste de l'emploi du temps.

Nous poursuivons nos travaux pour pouvoir exploiter les autres méthodes. En particulier, la résolution des conflits par permutation de plusieurs séances plutôt que par modification des durées nous semble pertinente et correspond à une méthode utilisée par les responsables très expérimentés. Les permutations des responsables « novices » sont généralement limitées à deux séances.

# 6 Implémentation

Les travaux présentés dans cet article ont conduit à la création d'un outil interactif dépassant le stade de la maquette. En effet, pour réaliser des campagnes d'expérimentation auprès de personnes en situation de travail, il était important que l'outil n'apparaisse pas comme un produit inachevé de laboratoire impliquant des protocoles d'utilisation très contraignants mais comme un outil convivial, réellement exploitable et apportant une aide certaine.

L'outil EDT²⁰⁰² a donc été entièrement réalisé en Delphi 5. Ce langage permet la création de logiciels sur des PC de gamme moyenne, répondant ainsi à notre volonté initiale de travailler sur des PC aux performances modestes. Malheureusement, ce langage ne dispose pas d'outils de récupération dynamique de la mémoire (« garbage collector ») ce qui a alourdi le travail de programmation : il a fallu gérer explicitement la mémoire utilisée par les programmes ; par exemple restaurer toute la mémoire allouée dynamiquement.

Delphi 5 est un langage de programmation orienté objet qui facilite la création d'interfaces homme-machine. Nous ne parlerons ici que des aspects relatifs aux interfaces.

Le caractère orienté objet de Delphi 5 nous a permis de concevoir les vues en distinguant leurs caractères génériques et spécifiques. La classe VueForm rassemble les caractéristiques de toutes les vues graphiques définies. Les classe Vue HebdoForm et Vue AnnuelForm héritent de la classe VueForm. Seules les méthodes propres à chaque type de vue ont été redéfinies. Par exemple, les vues sont toutes partagées en 4 zones selon le schéma de la figure 15.
<table><caption>Figure 15. Les différentes zones constituant chaque vue graphique</caption><thead><tr><th>A</th><th>B</th></tr></thead><tbody><tr><td>D</td><td>C</td></tr></tbody></table>

Lorsque la vue est une instance de la classe VueHebdoForm, dans la zone A on trouve l'intitulé de la vue, dans la zone B on affiche les heures, dans la zone C on affiche les séances et enfin dans la zone D on affiche les noms des jours (lundi, mardi, etc.).

Lorsque la vue est une instance de la classe VueAnnuelForm, dans la zone A on trouve l'intitulé de la vue, dans la zone B on affiche les heures et les noms des jours (lundi, mardi, ...), dans la zone C on affiche les séances et enfin dans la zone D on affiche les semaines et les noms des ressources.

De la même façon, les commandes disponibles sont mises à jour dynamiquement en fonction de la vue active. Par exemple, lorsqu'une vue hebdomadaire est sélectionnée, les commandes qui permettent de passer d'une semaine à la suivante ou à la précédente apparaissent. Ces commandes disparaissent dès que la vue choisie est de type vue annuelle. Ainsi seules les commandes activables sont présentées en fonction des vues (il y a donc respect pour les commandes du critère d'adaptabilité, au sens de Bastien et Scapin, 1993).

## 7 Premières évaluations du prototype en situation réelle d'utilisation

Les premières évaluations ont été menées sur le terrain. Trois classes d'acteurs ont été identifiées : les acteurs dont le rôle est de concevoir les emplois du temps et qui sont amenés à visualiser ou à modifier les plannings (CVM), les acteurs qui ne conçoivent pas les emplois du temps mais qui peuvent les visualiser ou les modifier (VM) et enfin, la classe des acteurs qui ne peuvent que visualiser les emplois du temps (V).

Le nombre peu important des sujets (7 responsables pédagogiques pour la classe CVM, 3 secrétaires pour la classe CVM, 5 autres intervenants uniquement concernés pas des actions de visualisation pour la classe V) qui ont participé à l'évaluation s'explique en partie par le fait que toute l'étude repose sur le volontariat et la disponibilité des sujets, mais aussi sur le fait que certains d'entre eux peuvent avoir plusieurs fonctions (par exemple, des sujets de type secrétaire pédagogique de la classe VM ont la charge de plusieurs formations). D'autre part l'évaluation est réalisée en grandeur nature et non pas sur des « exemples jouets » comme on en trouve trop souvent dans la littérature.

Après une formation à EDT²⁰⁰² et à ses fonctionnalités (jusqu'à l'obtention d'un niveau d'autonomie suffisant), une ou plusieurs tâches en rapport avec les
emplois du temps ont été confiées à chaque sujet. Chaque sujet a été observé durant
la réalisation de la tâche ; des verbalisations *a posteriori* ont aussi été effectuées.

Dans les paragraphes qui suivent nous détaillons l'évaluation pour chacune des
classes d'acteurs.

## 7.1 Évaluations avec des sujets de la Classe CVM

La classe CVM concerne les acteurs qui sont responsables pédagogiques d'une
formation ou des responsables des salles ou des matériels. Parmi ces personnes,
certaines ont des habitudes de travail acquises depuis de nombreuses années alors
que d'autres n'ont aucune expérience dans ce domaine (première année en tant que
responsable). Pour créer un emploi du temps, les responsables expérimentés partent
généralement de l'emploi du temps de l'année précédente et procèdent à des
modifications en fonction des évolutions pédagogiques. Pour ces cas, nous avons
constaté que le responsable expérimenté préfère travailler sur papier ou en utilisant
un logiciel graphique qu'il maîtrise bien tels que des tableurs<fnref n="4" />. Globalement, ces
utilisateurs reconnaissent deux points forts d'un outil d'aide à la gestion des emplois
du temps tel que EDT²⁰⁰². Le premier point fort est la capacité de considérer le
calendrier de chaque ressource lors du placement des séances. Le deuxième point
fort est la capacité à réagir en temps réel et à vérifier en permanence les contraintes
de toutes les ressources.

Les responsables inexpérimentés ont, quant à eux, été très motivés par
l'utilisation de EDT²⁰⁰². La principale raison est que l'outil est perçu comme un
cadre de travail qui guide ces acteurs dans leur tâche.

Plusieurs reproches ont été exprimés par les utilisateurs de cette classe.

Pour certains utilisateurs expérimentés, le principal reproche est que
EDT²⁰⁰² ne possède pas exactement les mêmes fonctionnalités graphiques que les
tableurs habituellement utilisés. Par exemple, il est souhaité de pouvoir présenter
les bilans par des camemberts ou des histogrammes plutôt que sous forme de
tableaux (bien que toutes les informations pertinentes soient présentes dans ces
tableaux). De notre point de vue, il ne s'agit pas d'un problème lié aux emplois du
temps et sort donc de l'étude ; néanmoins, cette lacune a été corrigée dans les
versions suivantes de l'outil.

Les autres reproches sont plus mineurs, et portent essentiellement sur des
détails liés à la présentation (taille des caractères, choix des couleurs...).

## 7.2 Évaluations avec des sujets de la Classe VM

Dans la classe VM, les acteurs sont généralement des secrétaires pédagogiques
dont le rôle n'est plus de créer des emplois du temps mais de les gérer
quotidiennement, de les saisir ou, éventuellement, de les modifier. Ces acteurs
recherchent avant tout un moyen efficace pour contrôler les conséquences des
modifications des emplois du temps ou pour rechercher les déplacements autorisés
qui respectent les contraintes. Généralement, ces acteurs doivent réagir rapidement
aux sollicitations des étudiants ou des enseignants. Ainsi lorsque ces acteurs

<footnote n="4">⁴ Les utilisateurs n'exploitent pas les fonctionnalités des tableurs (calcul sur des tableaux) mais uniquement leur capacité à dessiner des tableaux.</footnote>
modifient les emplois du temps, plutôt que de vérifier en fin de session que les séances qu'ils ont placées vérifient les contraintes, ils préfèrent être alertés immédiatement dès qu'un placement viole les contraintes ; il est alors important de leur préciser pourquoi son placement n'est pas valide. Pour ces acteurs, la démarche qui consiste à ne proposer que des choix qui préservent l'absence de conflit est bien adaptée. D'ailleurs, lors des expérimentations, cette démarche s'est avérée très efficace. Cependant, les acteurs ont néanmoins exprimé le besoin de comprendre les raisons (les contraintes) qui ont conduit au rejet des autres placements.

Pour répondre à cette attente, une explication est fournie au travers de l'interface graphique en présentant les plannings des ressources concernées. Par exemple lorsqu'on souhaite déplacer une séance dans la même journée, l'outil lui donne la liste des créneaux disponibles. On peut comprendre pourquoi les autres créneaux de la journée ne sont pas proposés en visualisant le planning de toutes les ressources concernées par la séance pour la journée choisie.

## 7.3 Évaluations avec des sujets de la Classe V

Enfin la troisième classe concerne les acteurs qui consultent les emplois du temps. Ces utilisateurs ont apprécié les fonctionnalités de l'outil. Les remarques qu'ils ont formulées sont d'ordre pratique et sont plus liées à l'intégration de l'outil dans un environnement mettant en jeu plusieurs outils. En particulier, ces acteurs ont exprimé le souhait de pouvoir choisir le format des fichiers générés. Par exemple, il a été demandé de prévoir des sorties des emplois du temps dans les formats « texte » de manière à pouvoir intégrer les plannings dans des logiciels de gestion des agendas personnels tels que Lotus Organizer ou Outlook de Microsoft.

# 8 Conclusion et perspectives

Dans cet article, le problème de la gestion des emplois du temps a été vu sous l'angle centré sur l'homme et non pas, comme dans beaucoup d'autres études, centré sur le problème (ou sur des algorithmes disponibles ou à valider absolument). Cela a conduit à concevoir un outil d'aide à la gestion qui facilite l'activité d'un acteur face à la résolution d'un problème. L'outil a été testé avec succès à l'Université de Valenciennes et du Hainaut-Cambrésis sur des situations réelles de grande taille.

Cet outil s'adresse à différents profils d'acteurs depuis les concepteurs d'emplois du temps jusqu'aux exploitants qui ont des connaissances très variées de l'informatique. Il permet de gérer des ressources organisées en hiérarchie (groupes, enseignants, salles et matériels). Il assure de manière dynamique la cohérence des données. En cas d'apparition de situation conflictuelle différentes approches de résolution sont proposées.

Les travaux se poursuivent maintenant dans deux directions.

Dans la première, l'objectif sera d'aider les acteurs à exprimer leurs contraintes et à prendre en compte ces contraintes de manière interactive. Pour cela, nous comptons reprendre les travaux effectués en programmation par contraintes pour l'aide à la conception et à la génération des emplois du temps. Dans ce domaine, la majeure partie des travaux concerne la génération automatique. Par contre peu de travaux se sont focalisés sur l'aide à la description des emplois du temps (Cooper et
Kingston, 1995). La voie qui nous semble prometteuse consiste à combiner les générations automatique et interactive des emplois du temps. Cette voie a été explorée avec succès dans (Abdennader et Sclenker, 1999) et (Goltz et Matzke, 1999) dans d'autres problèmes impliquant une planification. Par exemple, il est envisagé de réaliser l'affectation des salles de manière automatique après que les emplois du temps aient été réalisés interactivement avec les utilisateurs (facilitant ainsi la prise en compte prioritaire des contraintes pédagogiques difficiles à exprimer et à formuler). Des analyses profondes doivent encore être menées à ce sujet.

Dans la seconde, le problème de la gestion des emplois du temps et de leur génération sera abordé sous l'angle des *collecticiels* ou par des approches multi-agents (Ferber, 1995). Pour cela, il convient de concevoir une architecture distribuée comme support d'outils d'aide à la création coopérative d'emploi du temps par différents agents. Ce type de perspective est également à l'étude dans (Lawal et al., 1997). Nous envisageons une architecture abstraite capable de supporter le raisonnement coopératif entre plusieurs agents chargés d'élaborer un ou plusieurs emplois du temps. Deux principales situations peuvent être recensées.

Dans la première situation, chaque agent prend en charge la construction d'un emploi du temps. Dans cette situation chaque agent commence par construire son emploi du temps sans conflit. Puis il négocie des modifications avec les autres agents lorsque les ressources dont il a besoin sont en conflit. Plusieurs niveaux de négociation peuvent être distingués. Le premier niveau concerne les négociations d'agent à agent. Le deuxième niveau correspond aux négociations d'agent à agent au sein d'un groupe de même intérêt. Enfin le troisième niveau concerne la négociation entre groupes d'agents.

Dans la deuxième situation, les agents sont spécialisés dans des domaines particuliers. Par exemple, il y a des agents spécialistes dans l'attribution des salles, d'autres sont capables de juger la qualité pédagogique d'un emploi du temps, d'autres encore sont spécialistes en budget et pousseront au partage des ressources entre plusieurs formations, etc. Contrairement, à la situation précédente, les agents ne construisent pas complètement un emploi du temps mais travaillent sur différents emplois du temps en fonction de leur spécialité.

## 9 Remerciements

Les auteurs remercient les différentes personnes ayant participé à la première étape de ce projet : les secrétaires et les responsables pédagogiques des DESS ICHM, CCI, TNSI, de l'IUP GEII et de DREAM et les responsables des salles informatiques et des salles de cours. Ils remercient également Jean Caelen et Bertrand David pour leurs remarques pertinentes ayant permis d'améliorer l'article.

## 10 Bibliographie

Abdennadher, S., Schlenker, H. (1999). INTERDIP, an interactive constraint based nurse scheduler. *Proceedings PACLP'99*, London, April 1999.

Azevedo, F., Barahona, P. (1994). Timetabling in constraint logic programming. *Proceedings of World Congress on Expert Systems'94*, Estoril, January 1994.
Bastien, J.M.C., Scapin, D.L. (1993). *Ergonomic criteria for the evaluation of human-computer interfaces*, Rapport Technique n° 156, Institut National de Recherche en Informatique et en Automatique, Rocquencourt, France, 1993.

Bastien, J.M.C., Scapin, D.L. (2001). Évaluation des systèmes d'information et Critères Ergonomiques, in Kolski C. (dir.), *Environnements évolués et évaluation de l'IHM, Interaction homme-machine pour les SI 2*, Hermes, Paris, pp 53-80, 2001.

Boizumault, P., Delon, Y., Peredy, L. (1996). Constraint logic programming for examination timetabling, *Journal of logic programming*, vol 26, n° 2, pp 217-233, 1996.

Boufflet, P. (1992). *Emplois du temps dans un environnement fortement contraint : exemple de l'UTC*. Thèse de doctorat, UTC, 1992.

Cooper, T.B., Kingston, J. (1995). *A program for constructing high school timetables*. Technical Report n° 496, University of Sydney – 2006, Australia, 1995.

Dix, A., Finlay, J., Abowd, R. Beale (1998). *Human-computer Interaction*. Prentice Hall Europe, 1998.

Drouin, A., Valentin, A., Vanderdonckt, J. (2001). Les apports de l'ergonomie à l'analyse et la conception de systèmes d'information, in Kolski C. (dir.), *Analyse et Conception de l'IHM, Interaction homme-machine pour les SI 1*, Hermes, Paris, pp 51-83, 2001.

Ferber, J. (1995). *Les systèmes multi-agents: vers une intelligence collective*. Interéditions, Paris, 1995.

Goltz, H.J., Matzke, D. (1999). Combined interactive and automatic timetabling. *Proceedings PACLP'99*, London, April 1999.

Goltz, H.J., (2000). On methods of constraint-based timetabling. *Proceedings PACLP'00*, Manchester, April 2000.

Jouglet, D., Piechowiak, S., Vanderhaegen, F., (1998). Cooperative diagnosis tool including a multi-point of view modelling: the case of France Telecom's phone system network troubleshooting, *Proceedings Analysis, Design and Evaluation of Man-Machine Systems*, Kyoto, Japan, September 1998.

Jouglet, D., (2000). *Coopération homme-machine pour le diagnostic technique: Application aux dérangements téléphoniques*, Thèse de Doctorat, LAMIH, UVHC, 26 janvier 2000.

Kolski, C. (1997). *Interfaces homme-machine*, Editions Hermès, Paris, 1997.

Lawal, B.M., Gilbert, D., Letichevsky, A. (1997). A web course scheduler in constraint logic programming: interactive computing with constraints. *Workshop on Constraint reasoning on the internet, 3rd International Conference on Principles and Practice of Constraint Programming (CP97)*, October 29-Nov. 1, 1997.

Lefort, T., Labat, J.M., (2000). Conception d'un logiciel d'aide à la création d'emploi du temps. *Actes de la conférence internationale ERGO-IHM 2000*, Biarritz, France, Octobre 2000.

Mayer, R.E. (1997). From novice to expert. *In Handbook of human-computer interaction*, Helander, M.G., Landauer, T.K., Prabhu, P.V. (Eds.), pp 781-796, North Holland, 1997.

Nielsen J., *Usability Engineering*, Academic Press, Boston, 1993.

Norman, D.A. (1986). Cognitive engineering. In DA Norman & SW Draper (Eds), *User centred system design: new perspectives on human computer interaction*. Hillsdale, NJ Erlbaum, 1986.

Piechowiak, S., Jouglet, D., Vanderhaegen, F. (1998). A Multi-point of view for phone network system diagnosis, *Proceedings ICSSSE'98*, Bengjing, China, August 1998.
Schaerf, A. (1995). *A survey of automated timetabling*. Technical Report n° CS-R9567, Centrum voor Wiskunde en Informatica, 1995.

Tsang, E. (1993). *Foundations of constraint satisfaction*. Academic Press, Computation in Cognitive Science, 1993.

Wilson, J.R., Corlett, E.N. (Eds.) (1996). *Evaluation of human works : a practical ergonomics methodology* (2nd edition). Taylor & Francis, 1996.

Yoshikawa, M., Kaneko, K., Nomura, Y., M. Watanabe, M. (1995). A constraint-based approach to high-school timetabling problems: a case study. *Proceedings of the 1995 International Joint Conference on AI (IJCAI'95)*, Montreal, Quebec, Canada, August 20-25, 1995.
ANNEXES : Exemples d'emploi du temps utilisé actuellement (sans aide de l'outil faisant l'objet de cette recherche).

<figure><img src="image_19.png" /></figure>

Emploi du temps pour les cours et travaux dirigés
<table><thead><tr><th colspan="2">Mercredi</th><th>Jeudi</th><th>Vendredi</th><th>Samedi</th><th colspan="10">Groupes</th></tr><tr><th>Matin</th><th>Apres-midi</th><th>Matin</th><th>Apres-midi</th><th>Matin</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead><tbody><tr><td>25/10/95</td><td></td><td></td><td></td><td></td><td></td><td>PT</td><td>PT</td><td></td><td></td><td></td><td>PT</td><td>PT</td><td></td><td></td><td></td></tr><tr><td>8/11/95</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>15/11/95</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>22/11/95</td><td></td><td></td><td></td><td></td><td></td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td><td>XW1</td></tr><tr><td>29/11/95</td><td></td><td></td><td></td><td></td><td></td><td>EL1</td><td>EL1</td><td>EL1</td><td>EL1</td><td>EL1</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>6/12/95</td><td></td><td>30/11/95</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>6/12/95</td><td></td><td>7/12/95</td><td></td><td></td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td><td>PRO1</td></tr><tr><td>13/12/95</td><td></td><td></td><td></td><td></td><td></td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td><td>PRO2</td></tr><tr><td></td><td>13/12/95</td><td></td><td>14/12/95</td><td></td><td></td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td><td>LIST1</td></tr><tr><td>20/12/95</td><td></td><td></td><td></td><td></td><td></td><td>EL2</td><td>EL2</td><td>EL2</td><td>EL2</td><td>EL2</td><td>EL2</td><td></td><td></td><td></td><td></td></tr><tr><td>20/12/95</td><td></td><td>21/12/95</td><td></td><td></td><td></td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td><td>XW2</td></tr><tr><td>10/01/96</td><td></td><td></td><td></td><td></td><td></td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td><td>LIST2</td></tr><tr><td>17/01/96</td><td></td><td>10/01/96</td><td></td><td></td><td></td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td><td>ST1</td></tr><tr><td>17/01/96</td><td></td><td>17/01/96</td><td></td><td>19/01/96</td><td></td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td><td>BD01</td></tr><tr><td>24/01/96</td><td></td><td></td><td></td><td></td><td></td><td>BD2</td><td>BD2</td><td>BD2</td><td>BD2</td><td>BD2</td><td>BD2</td><td></td><td></td><td></td><td></td></tr><tr><td>24/01/96</td><td></td><td>24/01/96</td><td></td><td>26/01/96</td><td></td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td><td>EL3</td></tr><tr><td>31/01/96</td><td></td><td></td><td></td><td></td><td>27/01/96</td><td>EP1</td><td>EP1</td><td>EP1</td><td>EP1</td><td>EP1</td><td>EP1</td><td></td><td></td><td></td><td></td></tr><tr><td>31/01/96</td><td></td><td>31/01/96</td><td></td><td>2/02/96</td><td></td><td>SE1</td><td>SE1</td><td>SE1</td><td>SE1</td><td>SE1</td><td>SE1</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>7/02/96</td><td></td><td>7/02/96</td><td></td><td>3/02/96</td><td>T12</td><td>T12</td><td>T12</td><td>T12</td><td>T12</td><td>T12</td><td>BD1</td><td>BD1</td><td>BD1</td><td>BD1</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>EP2</td><td>EP2</td><td>EP2</td><td>EP2</td><td>EP2</td><td>EP2</td><td>BD2</td><td>BD2</td><td>BD2</td><td>BD2</td></tr><tr><td>14/02/96</td><td></td><td></td><td>14/02/96</td><td>16/02/96</td><td></td><td>SE2</td><td>SE2</td><td>SE2</td><td>SE2</td><td>SE2</td><td>SE2</td><td>T11</td><td>T11</td><td>T11</td><td>T11</td></tr><tr><td>28/02/96</td><td></td><td></td><td>28/02/96</td><td>17/03/96</td><td></td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td><td>B1</td></tr><tr><td>6/03/96</td><td></td><td>6/03/96</td><td></td><td>1/03/96</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>13/03/96</td><td></td><td></td><td>13/03/96</td><td>8/03/96</td><td></td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td><td>RSF</td></tr><tr><td>20/03/96</td><td></td><td></td><td></td><td>15/03/96</td><td></td><td>SV1</td><td>SV1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>20/03/96</td><td></td><td></td><td></td><td>22/03/96</td><td></td><td>SV2</td><td>SV2</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

Description des séances

<table><thead><tr><th>Rep.</th><th>Description</th><th>Intervenant</th><th>Salle</th></tr></thead><tbody><tr><td>EPI</td><td>Ergonomie Physique</td><td>M. SAGAR</td><td>Ergonomie (bât. GILIS)</td></tr><tr><td>BDI</td><td>Base de Données</td><td>J.G. AVELIN</td><td>227U (Bât. CARPEAUX)</td></tr><tr><td>LISI</td><td>LISP</td><td>C. KOLSKI</td><td>229U (Bât. CARPEAUX)</td></tr><tr><td>STI</td><td>Stratégies Visuelles</td><td>B. PHILIPPE</td><td>210 (Bât. JONAS 1)</td></tr><tr><td>SVI</td><td>Bureautique</td><td>F. ROUSSEAU</td><td>(Bât. JONAS 1)</td></tr><tr><td>B1</td><td>Ergonomie du Logiciel</td><td>A. MAYEUR</td><td>313U (Bât. CARPEAUX)</td></tr><tr><td>ELI</td><td>Traitement d'images</td><td>B. PHILIPPE</td><td>210 (Bât. JONAS 1)</td></tr><tr><td>T1</td><td>Poste de Travail</td><td>N. KERKENI</td><td>315U (Bât. CARPEAUX)</td></tr><tr><td>PT</td><td>RSF</td><td>S. BOULLIAND</td><td>013 Biomecanique (Bât. JONAS 2)</td></tr><tr><td>PROJ</td><td>Régulateurs et Systèmes Flous</td><td>F. BOULLON</td><td>116 et 211 (Bât. JONAS 1)</td></tr><tr><td>SEI</td><td>PROLOG</td><td>R. MANDIAU</td><td>225U (Bât. CARPEAUX)</td></tr><tr><td>XWI</td><td>XWindow et OSF Motif</td><td>D. BOUDY</td><td>310U (Bât. CARPEAUX)</td></tr><tr><td></td><td></td><td>B. VALLI</td><td>313U (Bât. CARPEAUX)</td></tr></tbody></table>

Pour toute modification, veuillez contacter B. PHILIPPE (poste 4235)

Liste des groupes d'étudiants

<table><thead><tr><th>Gr.</th><th>Nom</th><th>Pénom</th></tr></thead><tbody><tr><td>1</td><td>POTEL</td><td>Dominique</td></tr><tr><td>2</td><td>CONREUR</td><td>Gérald</td></tr><tr><td></td><td>PINEL</td><td>Gregory</td></tr><tr><td></td><td>BUCHARD</td><td>Stéphane</td></tr><tr><td></td><td>DELVALLEE</td><td>Marc</td></tr><tr><td>3</td><td>AILLAUD</td><td>Patrice</td></tr><tr><td></td><td>BOUADJADJ</td><td>Kamel</td></tr><tr><td>4</td><td>TAISNE</td><td>Philippe</td></tr><tr><td></td><td>PIETTE</td><td>Valérie</td></tr><tr><td>5</td><td>CIELOSKI</td><td>Christophe</td></tr><tr><td></td><td>DEFEVRE</td><td>Pascal</td></tr><tr><td>6</td><td>CARAUX</td><td>Philippe</td></tr><tr><td></td><td>DORMENVAL</td><td>Ivan</td></tr><tr><td>7</td><td>PERON</td><td>Sonia</td></tr><tr><td></td><td>CERRA</td><td>Stéphane</td></tr><tr><td>8</td><td>KHALDI</td><td>Mohamed</td></tr><tr><td></td><td>FRIES</td><td>Sébastien</td></tr><tr><td>9</td><td>MOUNY</td><td>Patrice</td></tr><tr><td></td><td>RENAULT</td><td>Sylvain</td></tr><tr><td>10</td><td>LUPART</td><td>Martine</td></tr><tr><td></td><td>RAKOTONIRINA</td><td>Haja Patrick</td></tr></tbody></table>

Emploi du temps pour les TP