IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

server ou pseudo server local NTP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Par défaut server ou pseudo server local NTP
    Bonjour et Bonne Année,

    J'ai besoin de créer localement avec easyphp un faux serveur ntp qui au format ntp retournerait en boucle une ou plusieurs plages horaires que j'aurais définies.

    J'ai déjà écrit un script mon_timestamp.php qui à chaque interrogation, ne retourne que le timestamp issu d'une liste de valeurs définies parcourue en boucle.
    Depuis mon script affiche_mon_ephemeride.php, avec un file_get_contents(mon_timestamp.php), ça fonctionne impeccablement bien.

    A partir de affiche_mon_ephemeride.php j'ai écrit affiche_mon_ephemeride_ntp.php qui va sur fr.pool.ntp.org, j'ai bien la date et heure, mais je n'obtiens pas le même résultat qu'avec affiche_mon_ephemeride.php.

    Je voudrais donc pouvoir écrire un script mon_timestamp_ntp.php qui me retourne en local les même infos dans le même format que ne le fait le serveur fr.pool.ntp.org .

    Merci de bien vouloir me donner les explications, liens ou exemples me permettant d'y arriver.

    Ainsi je pourrais vérifier le bon fonctionnement lors du changement de jour, de mois, d'année, de saison, etc. sans devoir attendre la fin de la journée, etc.
    Je sais que fr.pool.ntp.org retourne une adresse IP qui elle retourne les infos horaires, je mettrais mon ip locale à la place (127.0.0.0).

    J'espère avoir été suffisamment explicite.

    Merci de votre attention.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si tu veux créer ton propre server ntp en php il faut implémenter la RFC5905 ... autant dire que tu vas t'amuser un petit moment.

    A mon avis il est surement plus simple d'essayer de comprendre pourquoi tu n'obtient pas les résultat attendu avec ton script affiche_mon_ephemeride_ntp.php.

    De plus ce n'est pas vraiment la manière de procéder. En général on va synchroniser le serveur sur le ntp en question et simplement utiliser la date et heure système coté PHP
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Par défaut
    Merci grunk pour ta réponse.

    J'ai déjà lu il y a quelques semaines l'excellent document de www.bortzmeyer.org/5905.pdf ainsi que https://translate.google.com/transla...c/rfc5905.html ou sa version originale https://www.rfc-editor.org/rfc/rfc5905.html.
    Mais c'est trop technique pour moi, d'où ma demande d'aide sur ce forum de développeurs.

    Je ne veux pas installer un serveur ntp (il y a des explications très détaillées pour le faire sous linux) mais avoir une page locale en php (avec easyphp) qui répondrait comme un serveur ntp.
    Un pseudo serveur ntp qui ne retournerait pas l'heure exacte, mais une série d'heures à partir d'une liste parcourue en boucle.
    Par exemple, au format lisible car ntp retourne 4 octets sur le port UDP 123, voici une liste non exhaustive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     array(
      "31/12/20 23h59m59s","01/01/21 00h00m00s","01/01/21 00h00m01s",
      "28/03/21 01h59m59s","28/03/21 02h00m00s","28/03/21 02h00m01s",
      "28/03/21 02h59m59s","28/03/21 03h00m00s","28/03/21 03h00m01s",
      "28/03/21 01h59m59s","28/03/21 02h00m00s","28/03/21 02h00m01s",
      "28/03/21 02h59m59s","28/03/21 03h00m00s","28/03/21 03h00m01s",
      "31/10/21 01h59m59s","31/10/21 02h00m00s","31/10/21 02h00m01s",
      "31/10/21 02h59m59s","31/10/21 03h00m00s","31/10/21 03h00m01s",
      "31/10/21 01h59m59s","31/10/21 02h00m00s","31/10/21 02h00m01s",
      "31/10/21 02h59m59s","31/10/21 03h00m00s","31/10/21 03h00m01s"
    );
    Ainsi je pourrais vérifier le bon fonctionnement lors du changement d'année, du passage heure hiver/été et été/hiver sans devoir attendre précisément chaque moment.
    Ce peut-être aussi un décompte jusqu'à la prochaine éclipse de la lune, un anniversaire, etc.

    Au final, c'est pour programmer des modules esp8266 associés à un affichage ou un relais ou les deux.
    Actuellement en test, ils se connectent en wifi à mon ordinateur et recoivent un timestamp.
    Prochainement ils seront directement connectés sur fr.pool.ntp.org mais pour l'instant j'ai besoin de simuler localement ces réponses car les réponses reçues par les bibliothèques existantes me donnent des erreurs.

    Merci de votre attention.

  4. #4
    Membre confirmé
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Par défaut
    Si j'ai bien compris, il semblerait que mon script mon_timestamp_ntp.php doive retourner un header particulier, comme quand une page php retourne une image.
    Je n'ai pas encore compris si mon script mon_timestamp_ntp.php doit aussi gérer ou dialoguer ou simuler avec affiche_mon_ephemeride_ntp.php pour gérer le décalage temporel.
    Merci de votre attention et pour vos réponses.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    qui répondrait comme un serveur ntp.
    Un pseudo serveur ntp qui ne retournerait pas l'heure exacte, mais une série d'heures à partir d'une liste parcourue en boucle.
    Tu ne peux pas faire ce que tu veux.
    Soit tu implémente le protocole ntp (donc socket) et tu es en mesure de renvoyer que ce que le protocole supporte (donc oublie la liste de temps à mon avis). Et tu pourra ainsi interchanger fr.pool.ntp.org ou ta script local sans soucis.
    Soit tu bricoles un truc à ta sauce et tu ne seras plus compatible avec fr.pool.ntp.org et il te faudra 2 méthodes de récupération du temps.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 496
    Par défaut
    Si c'est pour effectuer des tests, le plus simple est de créer ta propre fonction de recup de date, exemple my_date au lieu de date, tu retournes le même format que la fonction d'origine mais avec les valeurs de ton choix. Ce sera beaucoup plus simple que de simuler un serveur ntp.

    PHP ne va jamais utiliser un serveur NTP pour récupérer la date, il va récupérer la date du système sur lequel il tourne. Charge au système d'utiliser NTP pour corriger la date.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. Création et modification d'un Web server Local
    Par lorenzo9436 dans le forum Développement
    Réponses: 1
    Dernier message: 17/10/2015, 09h17
  2. zend server local production
    Par yol-rt dans le forum Zend
    Réponses: 4
    Dernier message: 28/11/2009, 12h28
  3. Réponses: 2
    Dernier message: 19/08/2009, 22h39
  4. [WD10] Exportation Hyperfile vers Sql Server local 2000
    Par melchi dans le forum WinDev
    Réponses: 1
    Dernier message: 17/08/2009, 10h34
  5. [Sécurité] Linked server & Local windows group
    Par Ptit_Dje dans le forum Administration
    Réponses: 2
    Dernier message: 24/11/2008, 19h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo