Il arrive régulièrement que vos clients vous demandent de mettre à jour un site à un moment donné, que nous allons appeler "la date X".
Même si vous essayez de leur faire comprendre qu'il n'est pas forcément dramatique que le site ne soit pas à jour à minuit pile pour une virgule qui change — certaines demandes sont légèrement exagérées… je doute que les japonais soient connectés entre minuit et 8H sur le site de l'amicale des boulistes d'Auxon-Dessus et soient impactés par une information non mise à jour des dates des prochains tournois — certains cas sont justifiés (conférence de presse, etc.).
Loi de Murphy oblige (évidemment, c'est du vécu), la demande à la date X tombe toujours à un moment qui ne faut pas :
- sur votre week-end de 3 jours ou vous n'aurez pas de connexion,
- en plein stress avec 12 demandes urgentes à gérer en même temps,
- quand votre connexion internet vient de planter,
- lors du changement d'année, manifestement, les développeurs et intégrateurs n'ont pas de vie sociale et vivent devant leur ordinateur, tout le monde le sait bien.
Heureusement, PHP est là pour vous sauver la mise, votre week-end, votre vie sociale ou votre fête de fin d'année.
Si le changement doit être opéré par exemple entre le 04 et 05 Mai 2011, il vous suffit de le prévoir ainsi :
<?php
if (date("Y-m-d")<'2011-05-05'){
// ici l'ancien contenu
}
else {
// ici le nouveau contenu
}
?>
Toutefois, ce n'est parfois pas suffisant, certains clients demandent que le contenu soit très exactement mis en ligne le 05 Mai à 5H55 et 55 secondes, car le chiffre 5 porte bonheur.
Dans ce cas, il faut envisager l'utilisation de la fonction time
. Premier réflexe à avoir, faites un <?php echo time(); ?>
afin d'afficher l'heure de votre serveur. Ce dernier va vous afficher un timestamp, soit le nombre de secondes écoulées depuis le 01/01/1970.
Vous pouvez vérifier sur Timestamp.fr que ce chiffre correspond bien à la date et l'heure du jour, sans décalage. On va partir de l'idée que c'est bon pour l'exemple.
Ensuite, toujours sur cette page, vous indiquez la date où la Terre va basculer car LE site va être mis à jour, si nous reprenons notre exemple, il y a une très forte conjonction Soleil/Pluton/Mère Denis/Japet le 05 Mai à 5H55 et 55 secondes, ce qui génère le timestamp 1304567755. Le code se voit ainsi modifié :
<?php
if (time()<'1304567755'){
// ici l'ancien contenu
// avant la conjonction astrale
}
else {
// ici le nouveau contenu,
// à la seconde près
}
?>
Ainsi, vous éviterez des ulcères… autant pour vous que pour vos clients. Ces derniers vous féliciteront d'ailleurs pour votre réactivité parfaite et votre grand professionnalisme.
C'était le tutoriel indispensable en PHP pour rendre vos clients heureux.
Défi Relevé Thomas ! (oui, je sais c'est facile, mais pas de HTML5/CSS3/Jquery, c'est quand même difficile)