Dans mon soft Astres (cf ma signature), j'ai codé 2 types de calendriers de "disponibilités".
Le premier est pour tracer les absences (congés, déplacements, formations...) des membres d'équipes. La contrainte : 1 absence max par jour (possibilité de mettre 1/2j AP/PM). Par contre, lors de la création, l'IHM propose de créer une absence répétée périodiquement.
Le 2ème planning est la planification de créneaux horaires durant lesquels les membres des équipes pensent travailler sur des tâches (tickets d'incidents ici) ou ont travaillé sur des tâches. Ce 2ème planning est corrélé au premier pour pas planifier des créneaux un jour d'absence
Et pour ce planning, j'ai fait presque ce que les autres ont proposé comme MCD :
ID | IDUser | Debut |durée | IDTache | Commentaire |DateValidation
Debut est un datetime, Durée est un entier représentant, dans mon cas, un nb d'heures.
DateValidation, c'est si y'a un circuit de validation par un supérieur. Une fois que le créneau est validé, on peut plus le modifier/supprimer
Edit : côté perfs, en qq mois, j'ai dans ma table presque 20000 enregistrements, les requêtes sont quasi instantanées. le tout est de bien indexer ses champs et aussi, de tuner Mysql si nécessaire (taille des caches, tables temporaires...)
Message édité par rufo le 25-05-2011 à 09:28:06
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta