# Notes sur les plannings

Le but de cette page est de discuter les idées pour
une future gestion des plannings (intégrée ou non à !ScoDoc, mais
en tout cas interfaçable), de façon à avoir une idée d'un
ensemble minimal de spécifications.

Précisons qu'il ne s'agit en l'état que de divagations (remontant à 2006), aucun projet concret de développement n'est à l'ordre du jour.


##  Grandes fonctionnalités 
* inventaire des salles existantes (et de leurs caractéristiques: nombre de place en configuration TD et en configuration examen, ressources particulières (ordinateurs, vidéoprojecteurs, accès handicapés...)

* inventaire des enseignants (annuaire LDAP, source SQL ou autre);

* structure en UFR (Institut) / Départements / formations (session ou semestre);

* groupes d'étudiants: types de groupes, liste des groupes de chaque type pour chaque formation: importable d'une source externe (annuaire, !ScoDoc, ...). Les étudiants peuvent avoir des caractéristiques spécifiques en termes de ressources salles (handicapés)

* export des résultats (plannings) en XML (affichages sur portails) et iCal (agendas personnels, etc)

* interface utilisateur agréable (drag&drop des événements, différentes vues...)

* gestion "souple" des contraintes: possibilité d'entrer des emplois du temps en conflits, système intégré d'avertissement et propositions de résolution via médiations humaines (indique qui contacter pour résoudre le conflit)

* l'objet central est l'événement (meilleur nom ?), caractérisé par:
 - date début, (précision = minute, gestion des fuseaux horaires) <img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> à la limite, un fuseau global suffit

 - durée en minutes

 - lieu: salle référencée (ou autre lieu "extérieur")

 - enseignants: liste des enseignants impliqués

 - étudiants: liste des étudiants (ou groupes ? mais si convoc pour un rattrapage de 3 étudiants ?)

 - description: texte

 - (optionnel) code module (code ScoDoc ou Apogée du module)

 - type activité ? cours, TD, TP, ... ???

 - ressources nécessaires ??? (nb ordinateurs, vidéoprojecteur, matériel spécifique...)

* système de gestion des occurrences: modifier un attribut d'une seule occurrence ou de toute la série.


##  Notes diverses 
Quelques idées de fonctionnalités à partir de mon expérience de directeur des études première année (Christophe Cérin) :

 * commencer un planning par associer, pour une matière, un enseignant avec un groupe (on constitue les équipes pédagogiques first). Avoir la possibilité de noms génériques Ens1, Ens22... lorsque les enseignants ne sont pas encore tous connus au moment de la rédaction du planning. Pouvoir ensuite remplacer en un clic Ens1 par M. X ou Mme Y. Dans cette première phase, on entre aussi les volumes horaires de C, TD, TP, l'enseignant responsable. Attention, dans mon cas, j'ai des modules de PPP, anglais, TEC avec 7 enseignants, des plages de 90min ou 180min, le lundi ou le jeudi ! 

 * Avoir une interface qui permet de saisir globalement que W, X, Y et Z font le PPP en parallèle, le même jour, à la même plage horaire. C'est le logiciel qui fera les décompositions automatiques en 4 plages de quatre couleurs différentes. Au niveau structures de données, cela veut dire qu'on garde l'information comme quoi cet enseignement splité est dans le même sac que celui ci. L'idee c'est de pouvoir faire l'équivalent des fusions/explode de colonnes en Exel afin de pouvoir appliquer globalement des traitements (duplication série par exemple)  

 * Pouvoir rentrer les jours sans enseignements (vacances), ou les plages horaires où les amphis par exemple ne sont pas disponibles (journées portes ouvertes, forum ceci et cela). Quand on rentre une "série" (duplication d'un enseignement d'une semaine sur l'autre), le logiciel détecte les conflits (non disponibilité de la salle) et propose simplement un décalage dans le temps (au prochain lundi libre par exemple si l'enseignement se fait le lundi). S'il n'y a pas de possibilité de shift comme précédemment, on met dans la réserve (au sens GPU).

 * A propos de "série" et de fusion/explode : dans le menu série, proposer éventuellement de regrouper/explode des enseignements avant d'appliquer la duplication temporelle. En fait, avoir qu'un seul menu permettant d'accéder aux plages horaires souhaités et leurs duplications temporelles.

 * A propos de copier/coller : graphiquement, il serait intéressant de pouvoir sélectionner un enseignement (y compris ceux dans la réserve, surtout ceux dans la réserve), d'en faire un CTLR-X puis un CTRL-V dans un autre créneau horaire. Derrière, il y a toutes les vérifications nécessaires sur les disponibilités de salles.

 * Prévoir qu'un enseignement peut voir un remplacement d'enseignant au dernier moment... ce qui peut conduire a dissocier (spliter) un groupe au sens précisé plus haut.

 * Prévoir également d'insérer dans le logiciel des salles prêtées par l'université pour une période donnée.


##  Projets libres intéressants 
Liste des projets éventuellement utilisables (comme simple source d'inspiration ou 
pour utilisation)

 * http://www.zimbra.com  webmail / gestion de calendriers ajax

 * http://schooltool.org  The SchoolTool Project
   Projet assez ambitieux (SchoolTool student information system) en cours de développement.
   Python/ Zope, financé par Shuttleworth Foundation (Edubuntu etc).
   [[http://www.zopemag.com/Issue010/Section_Articles/article_SchoolTool.html|article de Zope Mag]]
   [[http://www.tectonic.co.za/view.php?id=482|article de Tectonic]]


 * http://www.kiko.com

 * http://www.campussource.de/org/software/studip/  ? à voir (EV) ?

 

