L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
100126 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Images gifs an...
     Netsources
     Easy-script.com
     Création de site
     Créer son site...
     K i s s design
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


> horloge serveur
[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 08-05-2008 à 13:38 | 6 messages ]

Bonjour,

je me suis fait un script d'une horloge serveur ,

voici le code html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test horloge</title>
<link href="basic.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="javascript.js"></script>
</head>

<body>
<div id="date"></div>
<div id="horloge"></div>

</body>
</html>


le fichier javascript
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}

function horloge() {
var heure = file("horloge.php");
if (heure != false) {
document.getElementById("horloge").innerHTML = heure;
}
else
{
document.getElementById("horloge").innerHTML = "erreur dans le code, veuillez contacter l'administrateur.";
}
}

timerID = setInterval(horloge,1000);

function datee () {
var dates = new Date();
var journe = dates.getDate();
var mois = (((dates.getMonth()+1) <10) ? "0" : "") + (dates.getMonth()+1);
var mois = journe +"/"+ mois;
var annee = mois +"/"+ dates.getYear();

document.getElementById("date").innerHTML = annee;
}

dateID = setInterval(datee,1000);


et le fichier horloge.php
<?php

$heure = date("H");
$minute = date("i");
$seconde = date("s");

echo $heure.":".$minute.":".$seconde;

?>



Merci.



[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 09-05-2008 à 09:32 | 6 messages ]

Je viens de remarquer que je ne disait rien sur mon problème ...

En fait vous pouvez constater a cette adresse :

http://mimagyc.free.fr/groupe/

que l'horloge ce et a jour toute les 2 seconde, et non toute les seconde!

j'ai tester de changer les interval, mais sans succès ...

Merci.

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 09-05-2008 à 10:12 | 3782 messages ]

cache navigateur, cache serveur, cache proxy...

Je suppose que c'était juste pour faire des tests et pas pour mettre en production ?
Tu ne comptes quand même pas interroger ton serveur toutes les secondes pour connaitre l'heure ?
Ni concaténer une date locale avec une heure serveur ? (Il se passe quoi si on est pas dans le même fuseau horaire ?)

A priori je récupérerai la date et l'heure serveur UNE fois, tu calcules le delta avec l'heure locale puis pour le rafraichissement
tu affiches le calcul heure locale +- delta, mais tu ne vas pas stresser un serveur pour connaitre l'heure...

________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 09-05-2008 à 10:59 | 6 messages ]

Je dois avoir l'heure du serveur, c'est pour un jeu online, et l'heure doit être la même pour tous, pour pouvoir savoir dans combien de temps arrive les évent et autre .

Si j'ai bien compris , il faut que je récupéré une seul fois l'heure serveur, ensuite je la fait tourné toutes les secondes sans interroger le serveur ...

je ne vois pas trop comment faire, mais je vais essayer tout de même ^^

Merci.

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 09-05-2008 à 14:33 | 3782 messages ]

mimagyc a dit
Si j'ai bien compris , il faut que je récupéré une seul fois l'heure serveur, ensuite je la fait tourné toutes les secondes sans interroger le serveur ...

je ne vois pas trop comment faire, mais je vais essayer tout de même ^^

Merci.


récupérer heure locale (A) (ex 10:00:00)
récupérer heure serveur (B) (ex: 09:00:01
récupérer heure locale (C) (ex: 10:00:02)

delta = C - B + ((C-A) / 2)

(ex 10:00:02 - 09:00:01 - (00:00:02/2) = 01:00:00 = heure locale est en avance d'une heure par rapport au serveur)

Si on considère que la durée d'aller-retour est négligeable tu peux même écrire delta = C - B

Après, au lieu d'interroger le serveur toutes les secondes, tu récupères l'heure locale à laquelle tu soustrais le delta.

21:37:15 (local) - 01:00:00 = 20:37:15 sur serveur

________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-05-2008 à 22:01 | 6 messages ]

oki je vois , mais je pense que ma facon de récupéré l'heure en php n'est pas la meilleur, ou bien quand je la récupere, je doit la hacher avec les ":" en javascript ... ou tu as une meilleur solution ?

merci.

[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 11-05-2008 à 12:50 | 6 messages ]

J'ai un peu de mal, et surtout je ne sais pas comment mis prendre pour récupéré l'heure une seul fois, et ensuite faire tournée l'horloge sans quel redemande l'heure en php ...

voila ce que j'ai pu faire ... bien sur ca ne marche pas ... suis je dans la bonne direction ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test horloge</title>
<link href="basic.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<?php
$heure = date("H");
$minute = date("i");
$seconde = date("s");
?>
</head>

<body onload="horlogephp(<?php echo $heure ?>,<?php echo $minute ?>,<?php echo $seconde ?>)," onload="datee()">

<div id="date"></div>
<div id="horloge" ></div>
<div> Premier heure : <?php echo $heure.":".$minute.":".$seconde ; ?></div>

</body>
</html>



javascript :
function horlogephp (heure,minute,seconde) {

heures = getHours(heure);
minutes = getMinutes(minute);
secondes = getSeconds(seconde);
alert("marche");
valeurheure = ((heures < 10) ? "0" : "") + heures ;

valeurheure += ((minutes < 10) ? ":0" : ":") + minutes;
valeurheure += ((secondes < 10) ? ":0" : ":") + secondes;

document.getElementById("horloge").innerHTML = valeurheure;

timerRunning = true;

}


timerID = setInterval(horlogephp,1000);

function datee () {
var dates = new Date();
var journe = dates.getDate();
var mois = (((dates.getMonth()+1) <10) ? "0" : "") + (dates.getMonth()+1);
var mois = journe +"/"+ mois;
var annee = mois +"/"+ dates.getYear();

document.getElementById("date").innerHTML = annee;
}


je ne sais pas comment mis prendre a ce niveau la :
heures = getHours(heure);


dois je tout de meme faire un new Date(); avant ? ou bien vu que je me calle sur l'heure du serveur .. je n'en ai pas besoin ?

merci pour vos réponse!

edit : quand je fait dans la function horlogephp(), un alert(heure+":"+minute+":"+seconde); , j'ai bien l'heure qui s'affiche.

Lorsque je rajoute un new Date(); j'ai l'heure client

[ Posté par mimagyc ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 11-05-2008 à 17:24 | 6 messages ]

et voici la réponse :

<html>
<head>
<script language="javascript" type="text/javascript">
//var _maintenant = new Date();
var heures = <?php echo date("H");?> ;//_maintenant.getHours();
var minutes = <?php echo date("i");?> ;//_maintenant.getMinutes();
var secondes = <?php echo date("s");?> ;//_maintenant.getSeconds();

function horlogephp () {
secondes += 1;
if (secondes >= 60)
{
secondes = 0;
minutes += 1;
}

if (minutes >= 60)
{
minutes = 0;
heures += 1;
}

if (heures >= 24)
heures = 0;


valeurheure = ((heures < 10) ? "0" : "") + heures ;
valeurheure += ((minutes < 10) ? ":0" : ":") + minutes;
valeurheure += ((secondes < 10) ? ":0" : ":") + secondes;

document.getElementById("horloge").innerHTML = valeurheure;
}

setInterval(horlogephp, 1000);
</script>
</head>
<body>
<div id="horloge"></div>
</body>
</html>


voila voila ^^


Merci.

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 13-05-2008 à 09:13 | 3782 messages ]

Ne récupérer l'horloge qu'une seule fois est de la responsabilité de la page appelante. Tu devrais donc conserver ton script hrologe php en l'état (+ ajouter la date)

La (les) page(s) appelante(s) appelent une fois horloge.php (= tu ne fais plus le setinterval pour appeler horloge.php).

Après il convient de faire la différence entre cette date serveur et l'heure locale.

________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






60 visiteurs
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
MagikBiz
Integrez une section logo/sonnerie sur votre site !
http://magikbiz.com
Cat : Affiliation - publicité
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
54264 membres
9576 comptes CountUs
1403 comptes myCircle

     LES FORUMS :
14 forums
39051 topics
188226 messages
>> Les forums

    SONDAGE

Utilisez-vous une page d'accueil personnalisable ?
Oui, la page d'accueil de Google (pas le moteur)
Oui, netvibes
Oui, mon Yahoo
Oui, my MSN
Oui, un autre
Non, je n'utilise pas de service de page d'accueil personnalisée
La mini-astuce "Navigateur" du jour par mirage
La touche F11 de votre clavier permet de visualiser vos sites préférés en plein écran ! Fonctionne sous bon nombre de navigateurs :)
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 04/07/2008 15:25:56 | Design by Studcrea | Gen. en 0.448 sec.