Page 1 sur 1

Image différente chaque jour

Posté : 16 juil. 2008, 11:33
par Latitenais
Bonjour à tous,

Je suis en train de me créer un petit site perso auquel je voudrais ajouter une fonctionnalité particulière. Voilà j'aimerais que dans mon menu (situé à gauche de ma page), il y ai une miniature de photos qui change chaque jour (et que l'on puisse en programmer, genre pour un mois [image1.jpg], [image2.jpg], [image3.jpg], ...).

J'aimerais également que l'on puisse cliquer sur cette miniature pour pouvoir agrandir cette même photo. Je sais pas si c'est très clair, m'enfin pour résumer j'aimerais avoir un petit script permettant d'avoir une image cliquable qui change chaque jour pendant un mois.

J'ai recherché sur internet et je n'ai pas trouvé ce que je souhaite, j'ai trouvé beaucoup de script changeant d'image à chaque actualisation mais ce n'est pas ce que je cherche.

Merci d'avance de m'aider,

Latitenais

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 16 juil. 2008, 11:36
par agité
Tu peux utiliser une methode de tachecron qui vas tout les jours a minuit automatiquement supprimer l'ancienne image et recharger la nouvelle, voir même créer la miniature.

Tu peux aussi utiliser un script PHP qui vas terrifier l'heure et la date du jour pour afficher en fonction l'image qu'il faut dans un dossier que tu auras créer avec les miniatures.

Posté : 16 juil. 2008, 11:39
par Latitenais
La méthode de Tachecron ? C'est quoi exactement ?

Je suis preneuse pour les 2 méthodes, mais je débute actuellement mon apprentissage dans tout ce qui est javascript et php, donc si tu pouvais m'expliquer ce serait génial.

Merci d'avance,

Latitenais

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 16 juil. 2008, 11:46
par agité
Un tache cron est une opération effectuée automatiquement, elle se déclenche a une heure et une date donnée, çà peut être configurer sur ton server s'il l'accepte mais tu devras être en hébergement dédié.

http://matthieu.developpez.com/execution_periodique/

Pour le script PHP il faudrait par exemple créer un dossier dans lequel tu stock tes 30 images, mettons www/_medias/img/imageJour/

et dedans un autre dossier miniatures

Ou un dossier miniatures et un dossier pour les grandes images directement dans le dossier img, ensuite tu fais un script PHP ou tu récupère la date courante avec date().

Cette fonction te dira quel jour on est en fonction de cela tu peux maintenant choisir quel image afficher dans le répertoire et choisir la miniature qui lui correspond.

Posté : 16 juil. 2008, 15:25
par Patriboom
Si je puis me permettre, puisque tu annonces débuter en PHP et en javascript, voici une piste.

Première approche:
Tu nommes tes fichiers en fonction du mois et du jours où ils devront s'afficher.
Si t'as 366 fichiers, tu pourrais par exemple les nommer image_mois_jour.jpg, ce qui donne image_01_01.jpg, image_1_31.jpg
Il te suffit alors d'un code comme ceci:
echo '<a href="repertoire_des_images/image_'.date("m").'_'.date("d").'.jpg"><img src="repertoire_des_images/"image_'.date("m").'_'.date("d").'.jpg" width="100"></a>';
Deuxième approche:
Tu peux utiliser une liste des images existantes en ne te souciant pas vraiment du nom qui leur est attribué.
Ainsi tu aura un code comme ceci:
$LesNoms = array("image1.jpg", "image2.jpg", "photo34.jpg");
echo '<a href="repertoire_des_images/'.$LesNoms[date("d")].'"><img src="repertoire_des_images/"'.$LesNoms[date("d")].'" width="100"></a>';
Troisième approche
Tu pourrais aller lire directement dans ton répertoire d'images pour y puiser de façon aléatoire.
Là, ça demande un peu plus de connaissances de PHP, jouant avec file() et les listes de fichiers.[/php]


critique
La première approche a l'inconvénient de forcer la nommination des fichiers.
De plus, tu devras avoir le bon nombre de fichiers pour chaque mois, chaque jour de l'année (ou du mois, si tu laisses tomber la partie date("m").
Son avantage est que tu n'auras plus besoin de jouer dans le code lorsque tout fonctionnera bien, puisqu'aucun changement ne sera nécessaire.
Tu pourras aussi changer tes images, en écrasant simplement celles dont tu sera lasse par simple transfert FTP

La seconde approche offre beaucoup plus de souplesse dans les noms.
Elle oblige cependant à des doubles changements: et dans le transfert FTP, et dans le code; en effet, tant que le code ne sera pas changé, la nouvelle image ne sera pas présentée.
Tel que présenté ci-haut, le choix d'image et limité à 31, car le code ci-haut ne fait pas référence au mois.
La seconde approche permet d'intégrer facilement une sélection aléatoire, il suffirait alors de remplacer la référence au mois par un commande rand()

La troisième approche est la plus souple quant aux noms des fichiers, quant à leur nombre, quant à leur pour affichage. Cependant, il faut programmer un peu plus.