On est souvent impressionné par l’aspect graphique d’un site Web. C’est ce qu’on voit en premier et c’est donc naturel qu’il en soit ainsi. Je n’ai jamais vu quelqu’un être impressionné par l’intégration, l’optimisation sur les moteurs de recherche ou le développement d’un site Web au premier coup d’oeil…
Pourtant, sur certains sites, il est possible de voir directement que le travail de développement est colossal et, avec un sentiment de respect melé avec de la jalousie, la première question qu’on se pose est : « Comment ont-ils fait ? »
Aujourd’hui, j’ai décidé de vous présenter deux sites qui m’ont tapé dans l’oeil au niveau développement. Je vais tenter de vous montrer comment ils ont été réalisés, en supposant que la technologie utilisée côté serveur est PHP.
Le premier site est Is it Christmas?, un site qui va, via un calcul savant, vous dire si le jour courant est le jour de Noël ou pas. Si vous ne souhaitez pas revenir chaque jour sur le site pour vérifier, vous pouvez même suivre le flux RSS !
Voilà à quoi pourrait ressembler le code source de ce site :
<?php
$today = getdate();
$answer = (($today['mday'] == 25) && ($today['mon'] == 12)) ? 'YES' : 'NO';
echo $answer;
?>
Tout d’abord, je récupère la date du jour avec la fonction getdate de PHP. Cette fonction me renvoie un tableau où se trouve toutes les informations du jour courant. Ensuite, je vérifie que le jour courant est le 25 décembre, jour de Noël. Pour ce faire, je regarde si le jour du mois courant est le 25 (via $today['mday']) et si le mois courant est 12 (via $today['mon']) c’est-à-dire décembre. Si nous sommes le 25/12, la variable $answer aura la valeur YES. Dans tous les autres cas, elle aura la valeur NO. J’ai écrit ce script en trois lignes mais il est sans doute possible de le faire intelligemment en une ligne. J’attends vos propositions.
Le second site impressionnant dont je vais vous faire le making of est Sometimes Red, Sometimes Blue, un chef d’oeuvre dont je vous avais déjà parlé par le passé. Le principe de ce site est le suivant : parfois il est rouge, parfois il est bleu.
Voilà à quoi pourrait ressembler le code source de ce site :
<?php
$color_list = array("#0000FF", "#FF0000");
$color = $color_list[rand(0,count($color_list)-1)];
?>
<html>
<body style="background:<?= $color ?>;"></body>
</html>
Nos deux couleurs sont stockées dans le tableau $color_list. La partie compliquée se trouve entre les crochets. On y génère un nombre aléatoire entre 0 et 1 (c’est-à-dire 0 ou 1) ce qui va nous permettre de récupérer une des deux couleurs stockées dans le tableau. Il reste enfin à afficher cette couleur en fond de la page. De nouveau, il est possible de faire plus concis. J’attends vos propositions.
Pourquoi ce billet ?
* Pour rire
* Pour montrer qu’on peut TOUT faire en PHP
* Pour montrer que deux lignes de code suffisent pour créer un buzz.