Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1527 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Schéma Conceptuel - Planning PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Schéma Conceptuel - Planning PHP

n°2077963
luckylp56
Posté le 24-05-2011 à 19:18:29  profilanswer
 

Bonjour à tous,
 
Pour un projet de site web que je suis en train d'étudier, je dois me pencher sur un calendrier de disponibilité.
 
Concrètement, chaque membre aura la possibilité de définir ses disponibilités dans son planning dans son compte (par heure / jour & semaine ).
 
Mon problème : je suis en train de définir le schéma conceptuel de la base de données, et je te bute sur cette partie.
 
J'ai songé au modèle suivant pour les colonnes :
IDUser | Semaine | Lundi | Mardi ..... Dimanche
 
Mais on perd la notion d'heure de disponibilités au sein d'une même journée.
 
De plus j'aimerai si possible ajouter une notion de récurrence (exemple : disponible tous les lundi de 16H à 18H).
 
Le planning serait défini par l'utilisateur au maximum sur les deux mois qui suivent le mois en cours.
 
Je ne cherche pas de solution toute faite évidement mais un petit coup de pouce ;-)
 
Merci d'avance.

mood
Publicité
Posté le 24-05-2011 à 19:18:29  profilanswer
 

n°2077972
flo850
moi je
Posté le 24-05-2011 à 21:48:07  profilanswer
 

id, debut,fin ,membre_id
avec debut et fin des datetime


---------------

n°2077973
GordonF_69
Posté le 24-05-2011 à 21:51:16  profilanswer
 

Moi je ferais un truc comme ca
 
ID | IDUser | date_debut | date_fin | nom_tache
 
Les timestamp seraient facile a recuperer et pour la recurrence, cela serait geré en PHP...
 
Edit : Un peu grillé ...


Message édité par GordonF_69 le 24-05-2011 à 21:51:59
n°2077974
luckylp56
Posté le 24-05-2011 à 21:53:29  profilanswer
 

C'est noté.  
 
Dans le cas d'un site qui risquerait d'avoir un gros trafic, est ce que des requêtes en pagailles suivant ton schéma ne vont pas être trop gourmandes en ressource ? (exemple dans le cas d'un utilisateur ayant indiqué plus de 25 créneaux de disponibilité)  
 
Merci de ton aide ;-)

n°2077975
luckylp56
Posté le 24-05-2011 à 21:55:54  profilanswer
 

Ok GordonF_69 (merci de ta réponse)
 
Vous avez apparement la même idée sur le schéma, je vais partir dessus.
 
Concernant la récurrence en php, j'ai du mal à visualiser par contre, vous pouvez m'éclairer ?

n°2077978
GordonF_69
Posté le 24-05-2011 à 22:16:01  profilanswer
 

A toi de bien placer les clé primaire pour optimiser ta base.
 
Pour les récurrence, je ferais un boucle en PHP qui fait plusieurs inserts.
ex : Tous les jours de 18 a 22h.
 
Tu fait un boucle de x jours qui fait un insert de 18 a 22h dans la BDD...
Ou sinon une 2e table pour gerer les recurrence, (mais ya des chances que ca devienne trop complexe)

n°2078022
rufo
Pas me confondre avec Lycos!
Posté le 25-05-2011 à 09:26:37  profilanswer
 

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
n°2078248
luckylp56
Posté le 25-05-2011 à 21:12:11  profilanswer
 

Parfait ! Merci à tous pour vos différents conseils !  
 
rufo, je regarde Astres dès que possible, merci pour le partage :-)
 
Je fais remonter le sujet en cas d'interrogation.
 
A bientôt.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Schéma Conceptuel - Planning PHP

 

Sujets relatifs
[PHP] Expression regulière: supprimer les virgules entre parenthèsesPHP / JavaScript
PHP - Formulaire problème value[??] Création dynamique de page sur Mediawiki (à partir de code PHP)
Qui voudrait m'aider en Php pour mon forum ?[RESOLU] Modification d'un fichier en PHP
Pb requête SQL - Syntaxe PHP[PHP] Problème configuration wamp php.ini
Php fonction rename qui donne des noms bizzares en 13 caracteres.Limiter la charge d'un serveur PHP
Plus de sujets relatifs à : Schéma Conceptuel - Planning PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR