creation d'un mini agenda

creation d'un mini agenda - PHP - Programmation

Marsh Posté le 27-12-2007 à 17:53:49    

Bonjour tout le monde et joyeuses fetes... :)
 
je suis actuellement entrain de creer un petit systeme d'alertes (agenda)
 
j'ai jusqu'a mnt cree la parti qui permet de saisir la tache a effectuer. mais je bloque sur la maniere dont je dois afficher un pop up quand la date et l'heure de la tache sont arrives!!
 
devrais je rafraichir la page toutes les 10 ou 30min ????
 
merci par avance de votre aide
Reda

Reply

Marsh Posté le 27-12-2007 à 17:53:49   

Reply

Marsh Posté le 27-12-2007 à 18:16:31    

le plus propre :  

  • un petit script qui interroge le serveur ( via xmlHttprequest ) toutes les  1 / 2 minutes  


le plus facile a mettre en place  
lors du chargement de la page tu stocke dans un tableau js les rendez vous qui arrivent a echeances dans les 30 minutes + un rechargement auto de la page au bout de 30 minutes  
 
 
 


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

Reply

Marsh Posté le 27-12-2007 à 18:34:14    

Bonjour flo850 et merci pour ta reponse rapide :)
 
oui, effectivement j'ai pense a ajax mais je ne connais pas trop bien, va peut etre falloir que je m'y mette :)
xmlHttprequest permet de stocker les donnees en xml, c ca?? et comment acceder au balises xml en PHP?
 
je pense que je v opter pour la solution ajax et interroge les serveur toutes les heures car au moment de la creation de l'evenement, je propose que des heures (9h00, 10h00, 11h00, ...)
de ce fait, quel est le meilleur moyen d'interroger la base a la 1ere ou 2eme minute de chaque heure ??
 
merci encore une fois

Reply

Marsh Posté le 28-12-2007 à 11:49:25    

pourquoi premiere ou seconde minute de chaque heure ? :)
Contente toi juste de l'inerroger toutes les 60 minutes apres la premiere visite :)

Reply

Marsh Posté le 28-12-2007 à 11:59:36    

Et s'il a un truc à 09h00 et qu'il se connecte à 08h59, il le saura qu'à 09h59, intéréssant :whistle:
 
Y'a un environnement particulier :??:

Reply

Marsh Posté le 28-12-2007 à 12:02:42    

Quelle est la différence avec ce qui est proposé ? De checker la premiere ou seconde minute de chaque heure ? Si mon mail arrive a 9h03 ben c'est pareil, je vois pas la différence :spamafote: Il y aura une latence dans tous les cas !


Message édité par the_bigboo le 28-12-2007 à 12:26:58
Reply

Marsh Posté le 28-12-2007 à 12:20:22    

Bah en vérifiant toutes les minutes ça limite sérieusement le lag :spamafote:
 
Maintenant je vois pas pourquoi on parle de temps de latence, suffit d'utiliser de l'ajax et d'attendre que quelque chose arrive :spamafote: Mais là c'est sur le serveur que ça doit mouliner en permanence pour envoyer dès que y'a quelque chose...

Reply

Marsh Posté le 28-12-2007 à 12:22:29    

Ou sinon toutes les heures et élargir à l'heure suivante à a connexion :jap:

Reply

Marsh Posté le 28-12-2007 à 12:27:43    

leflos5 a écrit :

Ou sinon toutes les heures et élargir à l'heure suivante à a connexion :jap:


Ce qui est précisément ce que j'ai dit.... :sarcastic:

Reply

Marsh Posté le 28-12-2007 à 12:28:05    

merci pour vos reponses!!
 
"Et s'il a un truc à 09h00 et qu'il se connecte à 08h59, il le saura qu'à 09h59, intéréssant "
non, on le saura a 08h59 puisqu'on interroge la base a la premiere visite puis toutes les 60min :)
et puis de toute facon, on est pas a 30min ou 1h pres!! ;)
 
avt de commencer la creation du pop up d'alerte, je dois tout d'abord finir l'affichage du planning et là vraiment je seche :(
 
je proposerai un affichage quotidien, hebdomadaire et mensuel.
lorsque je selectionne "quotidien", j'afficherai les heures de 8h a 19h, "hebdo" j'affiche les jours de la semaine, et "mensuel" les 30/31 jours du mois.
 
je connais bien le PHP, mais alors les fonctions de date, je ne m'en suis JAMAIS servi (mktime, ...) :(
 
auriez vous svp des idee et/ou conseils pour realiser cette tache??
 
merci infiniment de votre aide

Reply

Marsh Posté le 28-12-2007 à 12:28:05   

Reply

Marsh Posté le 28-12-2007 à 12:57:06    

Ce serait nettement plus simple sur un hébergement dédié mais je vaiis supposer que ca n'est pas ton cas.
 
Je ne pense pas que mktime soit très utile dans ton cas. date() devrait suffir :)
 
Par exemple dans le cas d'un affichage toutes les heures ( apres tu adapteras ) Tu checkes puis tu mets en session le contenu :
 
- de time() + 3600 ;
 
Lorsque tu feras un refresh de ta page , tu verifies que le chiffre stocké dans ta session est inférieur a time(). Autrement dit dans ce cas au moins 3600 secondes se seront passées depuis la mise en session.
 
A ce moment tu mets a jour la valeur de ta session avec a nouveau time() + 3600. pour préparer la prochaine vérification.
 
Dans cet exemple j'ai mis 3600 secondes pour une heure, mais il te suffira d'adapter ton chiffre :)

Reply

Marsh Posté le 28-12-2007 à 13:11:43    

avt que je lise tout en message, je t'ecris vite fait pour te dire que je suis sur un serveur dedie
mais qu'est ce que ca chage d'etre en dedie ou mutualise???? :)

Reply

Marsh Posté le 28-12-2007 à 13:22:00    

ah, je ne sais pas si g mal compris ce que tu m'as explique ou si tu as mal compris mon probleme :D
 
je reexplique plus clairement:
 
un utilisateur a la possibilite de consulter son planing,
il a le choix de visualiser son planning du jour, de la semaine ou du mois.
 
j'aimerai de maniere dynamique pouvoir afficher par ex les jour de semaine si l'utilisateur veut consulter son planing de la semaine et du jour X.
en gros, je dois recuperer le jour X (mardi 8 janvier 2008 par ex) et afficher la semaine du 7 au 13 janv 2008
 
pareil pour uen consultation du planing mensuel:
je recupere le jour X (mardi 8 janvier 2008) et j'affiche tous les jours du mois de janv 2008
 
j'espere que tu vois mieux ce que je veux dire!

Reply

Marsh Posté le 28-12-2007 à 13:53:48    

je vois bien, mais dis moi quelle diférence il y a entre checker toutes les heures pleines, et checker chaque heure apres la connexion ?
Aucune en fait, l'intervalle sera toujours de 60 minutes :)

 

Concernant le serveur dédié, c'est plaus facile car il suffit de faire une tache CRON :)


Message édité par the_bigboo le 28-12-2007 à 13:55:29
Reply

Marsh Posté le 28-12-2007 à 13:56:37    

Mais je crois que c'est pas trop comme ca que tu devrais procéder.
Une admin ou tu ajoutes tes données, et une fonction JS avec AJAX ou tu mets a jour ta page. :)


Message édité par the_bigboo le 28-12-2007 à 13:56:51
Reply

Marsh Posté le 28-12-2007 à 14:17:23    

hehe, on arrive pas a se comprendre :)
 
je parle pas des check, je parle de comment afficher de maniere dynamique les 7 jours de semaine ou les 30/31 jorus du mois:
je te donne un exemple.
la personne choisi d'afficher le planning hebdo du mardi 8 janvier 2008,
j'aimerai pouvoir afficher un truc du genre:
 
Lundi
07/01    
------------------------------------------------------------------
Mardi
08/01    
------------------------------------------------------------------
Mercredi
09/01    
------------------------------------------------------------------
Jeudi
10/01    
------------------------------------------------------------------
Vendredi
11/01    
------------------------------------------------------------------
Samedi
12/01    
------------------------------------------------------------------
Dimanche
13/01  

Reply

Marsh Posté le 28-12-2007 à 15:32:26    

Pareil, je serais interessé par un code qui affiche les dates du lundi au vendredi en fonction du numéro de semaine... si quelqu'un a ça dans ses tiroirs :)

Reply

Marsh Posté le 28-12-2007 à 15:38:32    

ben suffit de reprendre les bases d'un calendrier en PHP :)
regarde du coté de la fonction date :)
http://fr3.php.net/manual/fr/function.date.php
 
Te servireont : date("-t" ); et date ("N" );
Apres, n'importe quel script de calendrier devrais t'aider :)

Reply

Marsh Posté le 28-12-2007 à 16:04:02    

oui, g entre temps cherche, et appris pas mal de choses, je ne connais pas tres bien les fonctions de date...
 
je vous tien au courant si j'ai d'autres problemes.
 
en attendant, si je ne reecris pas, je vous present mes meilleurs voeux pour l'annee 2008... :)
 
@+

Reply

Marsh Posté le 28-12-2007 à 16:06:47    

ah, slt Johan, j'avais pas ton message :)
 
tiens, ce script te fera ce que tu veux, dis moi si tu ne l'as pas bien compris ;)
 
<?
$w = 7; // le numero de la semaine que tu veux afficher
 
 
for($i = 1; $i <= 365; $i++) {
  $week = date("W", mktime(0, 0, 0, 1, $i, 2006));
  if($week == $w) {
    echo "Le jour " . $i . " est le premier jour de la semaine numéro : " . $w . "<br />";
    // Ensuite pour afficher tous les jours de la semaine
     
    for($d = 0; $d < 7; $d++) {
     echo date("l d/m/Y", mktime(0, 0, 0, 1, $i+$d, 2006)) . "<br />";
    }
    break;
  }
}
?>
 
Bon courage

Reply

Marsh Posté le 29-12-2007 à 01:37:22    

the_bigboo a écrit :


Ce qui est précisément ce que j'ai dit.... :sarcastic:


Absolument pas sauf si pour toi avoir tout décalé d'une heure c'est la même chose que d'avoir tout à quelques minutes de décalage...
 
J'ai dit, à la connexion on décale sur l'heure moins quelques minutes et après toutes les heures. C'est pas pareil que de taper toutes les 60 minutes depuis la connexion (qui peut être à 30) sachant qu'on parle de gérer des heures piles.
 
Enfin...

Reply

Marsh Posté le 10-01-2008 à 15:55:29    

Bonjour a tous, je suis de retour :)
je vous souhaite a tous et a toutes, une excellente annee 2008, pleine de bonne sante, bonheur et d'idees... :)
 
j'ai enfin fini la creation de mon agenda (affichage planning, ajout de taches...), c t assez chaud, mais g appris plein de bonnes choses... :D
 
je dois maintenant creer le script qui permet d'afficher le pop up de l'alerte. mais je seche un peu.
je vais utiliser le XMLHttpRequest, pourrier vous me guider un peu svp?
 
Merci et bonne journee
Reda

Reply

Marsh Posté le 10-01-2008 à 17:37:00    

Un popup c'est ni plus ni moins que du JS dont la recherche sur google avec "code popup" donne en premier lien http://www.net-pratique.fr/outils/genepopup.html :whiste:
 
Après reste plus qu'à éxécuter le fonction en question :spamafote:
 
:o

Reply

Marsh Posté le 10-01-2008 à 17:45:20    

c'est bon, j'ai reussi a le finir avec de l'ajax :D
merci de votre aide

Reply

Marsh Posté le 10-01-2008 à 17:48:33    

bonjour leflos, je viens de lire ton post.
 
oui c bon, j'utilise un pop up qui est appele avec la fonction window.setInterval("verif_tache()", 3600000);
verif_tach() est la fionction qui utilise XMLHttpRequest pour interroger la base de donnee...
 
@ bientot

Reply

Marsh Posté le 11-01-2008 à 05:30:05    

Et alors cette histoire de timing tu la gères ou pas :??: Genre je me connecte à 09h45, j'ai une réunion à 10h15, je suis avisé à 10h45 ou à 09h45 peut être :??:

Reply

Marsh Posté le 11-01-2008 à 10:23:26    

ah oui effectivement, g oublie ca  :??:  
 
comment pourrais je faire une verif au moment de la connection?
 
merci pour ta remarque interessante ;)

Reply

Marsh Posté le 11-01-2008 à 10:25:50    

ah yeye, encore un autre petit probleme, dont je viens de m'en rendre compte!!!
 
window.setInterval("verif_tache()", 3600000); fonctionne uniquement lorsque je reste sur la meme page, mais je change de page, que dois je faire????

Reply

Marsh Posté le 11-01-2008 à 15:22:07    

Au hasard, faire la même chose au chargement de la page : "onload" ou autre.

Reply

Marsh Posté le 11-01-2008 à 22:25:27    

T'as toujours pas donné l'environnement... C'est dans quel but pour quelle utilisation :??: Maitrise sur le ou les postes, appli web unique du poste...
 
Bref le contexte ;)

Reply

Marsh Posté le 14-01-2008 à 11:05:36    

Bonjour a tous, j'espere que vous avez passe un bon week end :)
 
au fait, ce que je veux faire est une appli web, ouverte a tout le personnel de la societe...!
lors de la creation d'une tache, on choisi les personnes concernees, et cette tache peut etre visualisee/modifiee/ terminee par le personnel designe...
 
il y a une rubrique reserve au personnel protege par un mot de passe: www.mon_site.com/admin
dans cette rubrique g plein d'appli admin: ajouter/modifier une news, une conference, faire un mailing... et parmi ces appli, j'ajoute l'agenda que je suis entrain de developpe.
 
si alors je change de page, comment pourrais je garde le compte a rebours de setInterval() ???

Reply

Marsh Posté le 14-01-2008 à 14:45:33    

Je pense que tu devrais plutot faire un truc avec de l'ajax vraiment en mode asynchrone

Reply

Marsh Posté le 14-01-2008 à 15:08:33    

j'utilise deja de l'ajax pour interroger la base sans avoir a recharger la page...

Reply

Marsh Posté le 15-01-2008 à 05:41:42    

Bon bah sers toi en pour aller vérifier que y'a rien de neuf plus fréquement ;)  
On sait toujours pas si tu as main basse sur le serveur ou si c'est de l'hebergement limité :??:
 
J'aurais un truc dans le genre à faire pour moi d'ici quelques temps, je me suis pas encore vraiment penché sur la question. Je testerais différentes choses, le but étant pour moi de trouver la solution qui permet d'être le moins dépendant du serveur/config de celui ci

Reply

Marsh Posté le 04-02-2008 à 15:34:25    

Bonjours a tous, me revoila de retour apres 10 jours de vac trankilo sans avoir a penser au boulot et au stresse...!!
je dois malheureusement me remettre au boulot mais j'ai un peu de mal :(
 
j'ai presque finis cet agenda qui me rend dingue, il me reste juste un ptit truc mais vraiment je bloque!!
 
lorsqu'on se connecte, je fait une premiere verification, puis apres, une verif avec Ajax toutes les 30min.
le probleme est comment est ce que je peux maintenir le compteur lorsque je change de pages...
 
Merci infiniment de votre aide

Reply

Marsh Posté le 04-02-2008 à 15:39:56    

Je ne connais pas grand chose à l'Ajax, mais tu peux stocker ca en Php dans une variable de session ($_SESSION['']).

 

... ou pas ...


Message édité par babasss le 04-02-2008 à 15:40:10

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 04-02-2008 à 22:18:17    

Maitrise pas non plus, t'as pas un moyen de déclencher à telle heure :??:
Au pire ça se fait, au lieu de passer par un compte à rebourds.
 
Sinon c'est ce que je voulais dire par ajax asynchrone, tu ouvres une connexion et c'est le serveur qui décide quand il envoie avec un truc qui tourne en boucle pour se mettre un truc sous la dent ;)

Reply

Marsh Posté le 05-02-2008 à 12:09:50    

hehe, alors la c le bug total, pour une fois, je ne sais meme plus par quoi et comment commencer!!
 
Babasss: j'ai pense a une variable de session, mais je ne sais pas trop comment m'y prendre!! ???!
 
Leflos5: je sais qu'il y a des fonction (cron) qui permettent de declancher une requette a une heure qu'on precise, mais c trop complique!
je ne sais pas trop ce que c l'ajax asynchrone :(
 
je v faire qlq autres recherches
 
A tres vite ;)

Reply

Marsh Posté le 05-02-2008 à 13:49:50    

Voici la solution que j'ai mise en place, j'espere qu'elle marchera :
 
lors de l'identification, je fais une premiere verification a l'aide de onLoad
puis je stock ds un coockie la date et heure de la verification: setcookie("dt_last_check", date("Y-m-d H:i" ), 0, "/" );
 
ds CHAQUE pas du site web, j'ai un include d'un fichier "utiles.php", dans ce fichier j'ai rajoute :
 
if((strtotime(date("Y-m-d H:i" )) - strtotime($_COOKIE[dt_last_check])) > 3600) echo "<script language='javascript'>check_task();</script>";
 
Soit une verif toutes les heures :D
 
qu'en pensez vous?

Reply

Marsh Posté le 05-02-2008 à 13:52:33    

eh merde, j'ai oublie que si on ne change pas de page, il y aura pas de popup.... :( :(
ca n'en finit jamais!!!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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