HORLOGE ANALOGIQUE [ET NUMERIQUE] EN IMAGE

guill76 Messages postés 193 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 3 juin 2016 - 14 mars 2008 à 23:58
LeniM Messages postés 1 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 15 mars 2008 - 15 mars 2008 à 19:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46044-horloge-analogique-et-numerique-en-image

LeniM Messages postés 1 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 15 mars 2008
15 mars 2008 à 19:36
bonjour a tous,

et merci pour vos conseil, bon,
- guill76, en realite, a la base, le code n'a pas ete fait pour mettre les secondes.. c'est d'ailleur pour ca qu'elles n'y sont pas..
A la base j'ai utilise cette image en deux temps d'abord l'image était toutes petite a tel point qu'on ne distingue pas l'heure inscrite, avec un javascript je l'agrandi au passage de la sourrie ce qui a aussi pour butte de la remettre a l'heure..
J'ai incorporer le timestamp justement pour les heures fixes, comme les heures de fichier etc..

- codefalse, je ne connais malheureusement pas les objets, et je n'ai d'ailleurs pas compris leurs utilites.. mais je suis toujours avide d'en apprendre plus ! Si tu connais un bon site pour apprendre a les utilisers je m'y attelerais... ^_^

- malalam, merci de me soutenir :-)
Bon je te l'accorde le code est atroce, en realite ca fait quelque temps que j'ai fais ce code.. Et avant de poster j'ai eu la fleme de le decouper :-)

- voilaaa, coucou747 a compris le principe de base de cette horloge :D mais je suis sur qu'il y a des truc a faire !!

m'enfin si vous avez d'autre commentaire, n'hesitez pas !
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
15 mars 2008 à 12:15
@Malalam : En fait quand je parlais d'objet ici, je voyais plutot le sens d'un namespace, histoire de regrouper l'usage du code.
Il est vrai que l'usage d'une heure peut-être sympa, mais comme dit précédement, pour utiliser gd, mieux vaut le faire dans le cas d'une horaire différée afin d'éviter une surcharge inutile :)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 mars 2008 à 11:32
ca peut servir pour un jeu video pour afficher quand ta flotte redeviendra disponible par exemple. avoir un truc fige, c'est pas forcement mauvais. (ou un cahier de rdv : on clique sur un rdv, il l'affiche, en affichant l'heure du rdv.)

tout les utilisateurs ont deja l'heure actuelle sur le cote, alors a quoi bon reafficher l'heure actuelle ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2008 à 07:06
Hello,

je vais m'en mêler, et une fois n'est pas coutume, défendre l'auteur ;-)
Moi, je trouve l'idée très sympa. Bon, certes, quand j'ai vu le titre du code hier (ou avant hier chais plus), je me suis dit : impossible en php, ou alors il fait un truc rigolo mais mortel pour un serveur web. Puis j'ai lu le descriptif et le code. Ben ma foi, pourquoi pas! Je suis sur un site, je clique sur un lien pour voir l'heure sur une horloge classieuse dessinée avec GD. Ca ne sert à rien, mais je trouve ça sympa. Par contre, il serait encore plus sympa d'aller un peu plus loin...mais j'y reviens.
Le code : en l'état, faire une classe ne servirait à rien. Ce serait faire de l'objet pour faire de l'objet. Je ferais plutôt quelques fonctions supplémentaires moi. Et puis là, le code est bordélique est difficile à lire, un peu d'organisation ne lui ferait pas de mal.
Je suis d'accord avec codefalse pour dire qu'une implémentation un peu personnalisé devient compliquée, en l'état.
J'aime bien l'idée des paramètres passés en GET, mais une fonction simple permettrait d'utiliser ça en get, post, ou avec un appel direct à la fonction.
Par contre, on pourrait revenir à l'objet si on appronfondissait un peu le sujet : pourquoi ne pas proposer une page interactive ? Le mec va sur ta page et voit a jolie horloge. Via un menu, il peut choisir un affichage classique ou digital, voir l'heure à Moscou, avoir un affichage digital sur 12 ou 24h, etc etc...le tout via Ajax parce que ce sera plus sympa. Tu obtiendrais un peu plus de dynamisme, sans pour autant tuer un serveur (enfin, pour peu que tu n'aies pas des milliers de visiteurs à l'heure...).
Et là, une réorganisation en objets peut avoir son intérêt.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
15 mars 2008 à 02:31
Je ne dirai pas mieux que Guill76 sur ce coup la. Juste te proposer une alternative tout à fait intéressante.
Ton image propose actuellement une image de type "horloge". Or, en tant qu'horloge, on attends à voir bouger les secondes, les minutes. C'est logique. Dans ton cas c'est pas le cas (et c'est fortement déconseillé d'utliser de l'ajax pour rafraichir ton php toutes les secondes afin d'avoir un truc qui bouge wahouu c'est joli, car tu va faire péter ton serveur).

Maintenant, si tu partait sur un affichage d'un temps en format numérique, mais stylé. L'idée ensuite, serait qu'il pourrait être intégré à des documents. Par exemple quand tu génère un pdf, quand tu affiche la date de derniere modification d'une page, tu lui colle l'image, et là ca parrait plus sensé (on s'attends plus à un rafraichissement). Une aiguille, c'est vivant, ca doit bouger, des nombres, pas forcément.

J'ai un peu parcouru ton code, et la premiere chose qui me vient à l'esprit, c'est pourquoi tu ne l'a pas fait en Objet. Est-ce que tu à déjà pratiqué ? quelques connaissances ? car je te le conseille fortement. Imagine ton futur code :

<?php
require ('TimeMaker.php');
$oTM = new TimeMaker (time ()); // On prends la date en miliseconds que le code convertira (c'est une possibilité)
$oTM->fontPoliceFile = "bmreceipt.gdf"; // ceci est possible à partir de php5 en utilisant les méthodes magiques __get et __set
// Du coup tu peux faire ca pour toutes tes propriétés

// et finalement
header("Content-type: image/gif");
echo $oTM->generate ();
?>

5 lignes sans les commentaires. Bon bien sur, ton code dans le fichier TimeMaker sera un peu plus fournit :p
L'idée de la poo, c'est d'éviter de refaire le code plusieurs fois.
Dans ton cas, tu ne peux pas utiliser ton actuel code sans devoir faire beaucoup de modifications.

Pense y ;)
guill76 Messages postés 193 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 3 juin 2016
14 mars 2008 à 23:58
j'veux bien mais c'est un peu figé, une horloge statique pour moi pas trop d'intérêt: Faut faire ce type d'horloge en JS pour le coup.
Et même si tu rendais ça dynamique (voir avec ajax), Le PHP n'a aucune vocation à pondre une image par seconde, c'est pas son but.
T'imagines un serveur qui fasse tourner pour 10000 visiteurs un script toutes les secondes rien que pour que le client ait l'heure, je te racontes pas la lenteur.
Rejoignez-nous