Gestion des dates d'un sondage

Gestion des dates d'un sondage - PHP - Programmation

Marsh Posté le 18-05-2009 à 13:52:26    

Bonjour à tous,
 
Je développe actuellement un système de sondages que j'ajouterais comme module à mon site.
 
Tout est (presque) fonctionnel, mais dans le panel admin, je souhaiterais pouvoir définir des dates de sondage à l'avance, et là se pose quelques soucis de réflexions et conceptions, notamment pour s'assurer que les dates de sondages ne se chevaucheront jamais (plusieurs sondages ne pouvant être en activité simultanément), mysql ne m'aide pas beaucoup pour m'assurer de ceci (je n'ai pas de possibilité d'utiliser de trigger).
 
Ma table sondage (mysql donc) possède deux colonnes (datetime) pour définir la date de départ et date de fin d'un sondage.
 
- Je souhaites pouvoir définir une date de départ d'un sondage sans en définir tout de suite la fin.
Donc en partant de ce premier élément se pose déjà plusieurs problèmes :
* Je ne pourrais définir de dates pour tout autres sondages tant que la date de début d'un sondage est défini, mais sa date de fin indéterminée, c'est très restrictif... Et ça m'ennuie beaucoup.
* L'édition des dates posera aussi problème, si l'on décide par exemple de remettre la date de fin à indéfinie sur un sondage en cours, ou encore si l'on souhaite rallonger la durée d'un sondage, décalage des autres dans le temps ? Ou raccourcissement de la durée de celui qui suit ?
Il en va de même pour des sondages programmés dans le temps.
 
Avez-vous déjà développé un tel système ?
Quelles restrictions avez-vous implémenté sur la programmation des dates dans le temps ?
Avez-vous géré au cas par cas la définition des dates d'un sondage ? Ou vous avez utilisé un panneau global permettant d'en programmer plusieurs en une seule action ?
 
Désolé de ces questions, mais c'est la première fois que je tâte de la programmation événementielle unique dans le temps.
 
Merci d'avance de vos réponses :jap:

Reply

Marsh Posté le 18-05-2009 à 13:52:26   

Reply

Marsh Posté le 18-05-2009 à 14:32:44    

J'ai l'impression qu'il te manque (au moins) une règle : que faire face à une date de fin indéfinie ?
Parce que, là, avec ton postulat de départ (pas de chevauchement) ça me semble logique que tu ne puisses pas définir un nouveau sondage quand tu as un sondage sans fin définie, vue que le nouveau chevauchera obligatoirement celui avec une date indéfinie...
 
De la même manière, il faudrait que tu définisse une/des règle(s) en cas de modification. Tel que, aucun programme ne sera capable de te dire le comportement à adopter en cas de chevauchement. Par exemple, si le nouveau sondage (sondage2) en chevauche un qui a une date de fin indéfinie (sondage1), fixer la date de fin de Sondage1à la date de début de Sondage2.
 
Et surtout, il nous manque un point crucial : qui va utiliser l'application ?
S'il s'agit d'un unique administrateur (ou d'un petit groupe de rédacteurs) tu pourrais te contenter d'un avertissement

Citation :

La (nouvelle) date chevauche un autre sondage.
Voulez-vous :
- Reculer le début du prochain sondage
- Avancer la fin de ce sondage

En gardant à l'esprit qu'en ca sde modification d'un autre sondage il faut faire les tests qui vont bien dessus.
Ou, plus simple, donner une durée maximale à tes sondages.

Reply

Marsh Posté le 18-05-2009 à 15:39:58    

C'est bien ce qui me gênait en fait, le cas de la date de fin indéfinie.
 
Seuls un groupe restreint d'admins pourra en effet activer les dates de sondage, les rédacteurs n'ayant que le pouvoir de proposer un sondage.
 
Donc, je penserais avec ce que tu as évoqué :
 
- Seul un sondage en activité peut se voir attribuer une date de fin indéterminée.
- Si le sondage en activité a sa date de fin indéfinie, impossibilité d'affecter des dates de début et fin à d'autres sondages.
- Si un sondage en activité ayant une date de fin définie se voit attribué une date de fin indéfinie, les sondages qui suivent dans le temps verront leurs dates désactivées.
Partant de cela, il faut donc :
    - Sauvegarder leurs dates ailleurs.
    - Les restaurer (confirmation oblige) en les mettant à jour (décalage dans le temps) lorsqu'une date de clôture du sondage en activité aura été établie.
- Si une date de fin a été rallongée pour un sondage ultérieur, faire soit :
     - Un décalage de tous les sondages postérieurs.
     - Une réduction de la durée du sondage direct suivant, mais ce cas me semble difficile à gérer au cas où la date définie couvrirait entièrement le(s) suivant(s).
 
Je crois qu'il manque des trucs, mais je vais déjà partir de cette base et voir si d'autres cas de figures pourront-être rencontrés.
 
Merci de ta réponse :)


Message édité par badaboumsplash le 18-05-2009 à 15:48:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed