Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
19 août 2006 à 19:33
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023
-
1 déc. 2007 à 19:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023 1 déc. 2007 à 19:01
Bonjour,
je ne suis pas codeur mais j'ai besoin d'un script de ce genre.
Est-il possible d'aller chercher les images dans répertoire d'un site annexe ?
Les images changeraient sur le bandeau d'un site A et seraient stockées dans un site B...
Jimmy Lavoie
Messages postés1Date d'inscriptionjeudi 29 décembre 2005StatutMembreDernière intervention24 septembre 2006 24 sept. 2006 à 06:43
Après avoir modifié le répertoire et le fichier.txt, comment on fait pour que des images apraissent??
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 28 août 2006 à 18:52
joker76
Messages postés13Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention13 avril 2007 28 août 2006 à 18:36
Bonjour,
Bravo pour ton code LaurentKOogar, j'ai regardé ci il etait sur ce site, et vu qu'il n'y etait pas je me suis pourquoi ne pas le mettre et le faire partager à tout le monde, vu qu'il fonctionne trés bien et vraiment simple à appliquer.
J'aurais une petite question: Est il possible avec ce code, de nommer les images?
Je m'explique, tout les jours une images différente apparait et par exemple en dessous une ligne descriptif.
Merci d'avance.
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 26 août 2006 à 16:54
Rebonjour Malamam, merci d'avoir répondu et j'ai pris note de tes commentaires avec grand intêret ;)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 août 2006 à 16:13
Pour les créer, je l'ai fait à la main. Mais avec un petiot textpad, c'est l'affaire de 2mn hein : je crée le 1er, le plus long...les autres, c'est du copier coller en ajoutant éventuellement ou en supprimant des éléments, et en mlettant les bonnes valeurs...j'avais pas le temps de développer un module.
Maintenant, il y a un module basé sur un formulaire tout con (vu que j'ai eu le temps).
Mais avec un peu d'habitude et un éditeur spécialisé, il est bien plus simple de les modifier à la main et de les envoyer sur le serveur. C'est comme faire faire un upload de fichier CSV par un utilisateur : ça, c'est très fréquent! Ben le XML est encore plus simple à manipuler qu'un CSV.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 22 août 2006 à 15:40
Hum c'est vrai que c'est pas mal, vu comme ça ^^
Question idiote : pour rajouter une catégorie pour tous les supports, ou juste une grande partie, tu as automatisé ou tu dois te taper l'édition de tous les fichiers xml ? Parce que moi c'est bien ça qui me fait peur dans le xml, c'est que je n'ai pas d'outil pour les manipuler facilement, comme le ferait une bd avec ses enregistrements.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 août 2006 à 12:32
Cookiesch => je n'ai pas benché car je n'ai pas créé de version db. Pour la simple raison que c'était ingérable via une bdd.
Pourquoi ? C'est difficile à expliquer. Disons que j'ai tout un tas de caractéristiques (grammage, mandrin, opacité, utilisation, lamination, et d'autres dans d'autres catégories : compatibilité machines - donc, références de machines-), et que chaque papier a ses spécificités, mais surtout, ne prend pas forcément en compte telle ou telle caractéristique. Donc plutôt que de créer une table avec x champs (ou plusieurs tables avec x champs) dont certains ne seront pas remplis pour tel ou tel support papier...sachant que je risque de devoir en ajouter plus tard (des champs), et donc changer mes requêtes...j'ai créé un modèle de fichier XML. Avec des catégories : description, nom, applications, caractéristiques, compatibilité. Et dedans, des sous catégories... : mais si je mets l'élément <lamination> pour un support, je peux l'omettre pour un autre sans problème : je lirai mon XML de la même manière.
Pour l'affichage, j'ai fait ça en 3 parties :
les grandes catégories : PHOTO, ART etc...1 fichier XML pour ça avec le titre, et un "id_detail" (en gros hein).
Ce fichier xml est lu au début de ma page de toutes façons. Si on clique sur PHOTO, je raffraichis ma page avec mon id_detail pour afficher les catégories de papiers faisant partie de ce support. Juste les noms, une liste quoi : 1 fgichier xml encore. Chaque ligne de ce fichier a un "id_detail" aussi (un autre nom hein). Si je clique dessus, j'affiche le 3ème fichier XML, et là, j'en ai 1 par papier (donc par détail).
Je peux ajouter ce que je veux comme catégorie, mes fichiers sont lus de la même manière. Bref...ça c'est ma sauce.
En clair, je lis au maximum 3 fichiers xml qui sont courts, et ma classe gère ça de façon optimisée.
A vue de nez, c'est immédiat, on attend pas du tout.
Je te montrerai si tu veux.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 22 août 2006 à 12:01
Petite question: au niveau des perfs, entre bdd et XML (dans le cas de ton papier EPSON, par ex), ca donne quoi?
@++
R@f
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 août 2006 à 10:05
LaurentKoogar => si on ne parle que de sujets que l'on maîtrise, on n'avance pas. XML je m'y suis mis parce que je crois fermement que c'est l'avenir (et tout porte à croire que j'ai raison).
Mon commentaire précise, je me recite une fois parce que visiblement tu n'as noté : "J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte. "
Ca me semble clair, je n'ai pas dénigré les fichiers textes, j'ai donné une alternative.
Pour appuyer ce que dit EvanGun : pour ma part, ça fait un moment que je bosse dans le développement web, et je suis en ce moment responsable de dév dans une boîte. Des sites, on commence à en avoir beaucoup à monter. Et les demandes deviennent de plus en plus complexe; et que tu le veuilles ou non, il faut apprendre à évoluer, à faire évoluer sa façon de monter un site (et je ne parle, encore une fois, pas QUE de la programmation). Je dois monter des sites que j'héberge, ou qui seront hébergé chez mes clients (donc, m'adapter à leurs obligations techniques). Les demandes de conformité W3C sont de plus en plus fréquentes. Les demandes de performances aussi. De même que monter des EDI, via SOAP, CURL, et compagnie. Ou des flux. Et pour les flux d'échange, si on en est encore pour beaucoup à du CSV, on en vient de plus en plus à des flux xml.
Et les demandes sur les sites même se complexifient. dernièremlent, j'ai dû créer pour Epson une page toute conne, qui présentent leur gamme papier. Et c'est complexe, du papier, mine de rien, il y a un tas d'infos, redondantes ou non, spécifiques ou non...de gros tableaux plein de données. Si j'avais dû monter ça via une base de données, ça aurait été insupportable à gérer. Alors, j'ai utilisé, là encore, XML : parfait pour ça puisqu'il est là pour décrire des données. C'est rapide, efficace, et une fois le module mis en place (2h...), on est tranquille, on peut ajouter n'importe quoi, modifier n'importe quoi, et l'avantage, c'est qu'on a pas une table listant l'exhaustivité des données possible. On a un fichier décrivant les données dont on a besoin, avec simplement la structure en commun. Et la lecture de ces fichiers évitent les écueils d'un parsing à outrance pour décomposer un fichier texte qui aurait du mal à suivre, dans ce cas-ci.
CS est là non seulement pour proposer des codes, mais aussi pour enseigner, pour faire évoluer les gens, pour leur montrer des alternatives, leur montrer des façons de coder qu'ils ne connaissent pas. Parce que dans ce domaine, si on n'évolue pas, on est très rapidement dépassé.
Et la simplicité (et là je parle pour tout le monde) ne passe pas forcément par ce que l'on maîtrise...parce que si l'on en reste à ça, l'éventail des réflexions possibles que l'on a est très limité. Et on ne trouve donc pas forcément LA solution la plus simple. Quoi qu'on en pense.
Ce que je pense de ce code-ci, donc, est que :
- il est sans aucun doute utile.
- il fonctionne
- il est limitatif (trop figé)
- il est plus complexe qu'il ne pourrait l'être, et moins puissant qu'il ne pourrait l'être
- il est codé à l'ancienne (mais bon)
Quand je peux éviter de coder, je le fais. Et je voulais soulever qu'on pouvait sérieusement réduire ce code à sa plus simple expression, tout en gardant TOUTES ses fonctionnalités et sa puissance. Voire même en le boostant.
Au passage, mon site qui tourne le mieux sur la toile, moi, est en PHP5, utilise du XML, est valide W3C (XHTML strict et CSS), utilise un EDI avec notre extranet logistique via CURL...bref, complexe en apparence, et il l'a été à monter, mais très simple dans les faits, quand on mate le code et sa structure. Et c'est une boutique en ligne (un peu spéciale). Donc bon...
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 21 août 2006 à 20:08
Evangun :
Alors si on transforme PhpCS en un gros tas de codes en se contentant de dire "ils marchent c'est ok", moi je ne viendrai plus car je n'aurai plus rien à apprendre. Plus je progresse, plus j'ai envie de lire des commentaires techniques...
Je suis d'accord avec toi et je ne souhaite pas cela du tout. J'aimerais qu'il y ai un juste milieu sur les commentaires, que chacun puisse les lire et pas qu'ils soient réservé à une élite. Celui qui n'a jamais fait de XML ne va pas comprendre le developpement de Malamam, meme ci celui ci est juste et fondé. C'est son utilité que j'ai essayé de débattre en vain. On peut toujours améliorer un code et le rendre plus performant sous d'autre directives, mais l'essence meme c'est sa fonction, son utilité, ou le placer, comment l'utiliser, a quel moment, va t-il être indexé, va til être performant, autant de points à la porté de tous qui ne sont jamais débattu ou si peu. Je me répète, mais si les élites de la classe pouvait prendre le chemin de la simplicité et s'ouvrir plus sur l'utile que sur la technique, se mettre à la porté des 'profanes' et des 'noobies', par experience cela serait formidable pour la forte communauté des webmasters qui surfent sur ce site.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 21 août 2006 à 19:20
C'est sûr, nous en savons assez pour faire de bon sites et coder à peu près tout ce qui nous passe par la tête pour un site "normal". Mais on ne peut pas se reposer sur nos lauriers! car il y a toujours à apprendre.
Donc effectivement si tu n'as pas spécialement envie de t'améliorer dans la programmation php parce que tu penses que tu en sais assez et que tu as d'autres choses à faire, libre à toi. Mais il y a d'autres personnes qui, comme moi, viennent ici pour en savoir toujours plus.
Alors si on transforme PhpCS en un gros tas de codes en se contentant de dire "ils marchent c'est ok", moi je ne viendrai plus car je n'aurai plus rien à apprendre. Plus je progresse, plus j'ai envie de lire des commentaires techniques...
Pour finir, je te dirai juste que j'ai commencé à travailler comme webmaster pro depuis cet été et j'ai dû reprendre en main des sites faits par d'autres personnes. Et bien je peux te dire que j'ai passer des journées entières à maudire les codeurs précédents qui ne respectaient pas l'indentation, les CSS, etc (normal ils utilisaient Dreamweaver ces *******). Et pourtant les scripts en eux-mêmes n'étaient pas compliqués! J'aurais préféré un truc compliqué mais bien fait.
Ce qu'il faut donc bien comprendre, c'est que la clarté d'un code n'est pas dans la simplicité des outils (ne pas utiliser des classes, de XML...), mais dans la rigueur dans l'utilisation de ces outils (oh c'est beau ce que je raconte là lol).
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 21 août 2006 à 18:17
Evangun à écrit
Bon je veux pas rajouter de l'huile sur le feu mais Laurent Coogar, je ne vois pas pourquoi tu t'énerves
Mais je m'enerve absolument pas, mais visiblement faut pas trop contrarier les premiers de la classe, malalam est certain que je n'ai rien compris et pense que tout le monde a ses outils, ce qui est loin loin loin loin d'etre le cas.
Evangun à écrit
c'est même pour ça que je suis sur ce forum aussi souvent.
Moi c'est le contraire, je prefere ne plus venir car je trouve les commentaires hyper technique et j'ai du mal à suivre, par exemple les classes php j'en vois pas l'interet, le xml est un outil puissant qui n'a à rien à voir avec 'Afficher une nouvelle image chaque jour', a moins comme je l'ai dit de vouloir creer un flux et proposer à d'autre sites d'afficher l'image du jour. Ca Malaman ne veut pas l'entendre, maintenant mon site qui tourne le mieux sur la toile est encore ecrit en php3 et pas question pour moi de changer la moindre virgule. Je fais des sites pour le meilleurs du web, car je sais que 99,99% des internautes et des crawlers se foutent de savoir de quel maniere le site est encodé, php - asp - css ne cessent d'evoluer et ce n'est pas la mise à jour de ces evolutions sur 1 site qui font de celui ci qu'il est bon et visité. Webmasters est certainement un des metiers les plus complet que je connaisse. Il doit associer tellement de facteurs differents dans des domaines differents que focaliser sur " optimiser les traitements... " est réellement une perte de temps si l'on veut être à jour sur l'ensemble des domaines que constitue le webmastering ( coding, référencement, graphisme, analyse, partenariats, triangulaire, traffic, campagnes, mailing, indexation............) Revoir vos futurs commentaires pour aboutir à plus de simplicité serait pour moi un tournant neccessaire et indispensable à ce site.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 21 août 2006 à 15:52
Il me semblait que son code sélectionnait tout seul une image dans un répertoire et l'affichait, une par jour. Et les images on n'a qu'à les envoyer par ftp. C'est ça que j'appelais un site automatisé, qui s'occupe de tout tout seul de renommer, etc. J'ai peut-être pas assez lu le code...
Bon je veux pas rajouter de l'huile sur le feu mais Laurent Coogar, je ne vois pas pourquoi tu t'énerves, Malalam a bien précisé qu'il ne souhaitait pas refaire ton code, mais lancer une discussion sur une autre façon de penser un site... tu peux bien penser que je fais mon faillot, mais je trouve ça intéressant, c'est même pour ça que je suis sur ce forum aussi souvent.
à+ tous et restons cool :)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 août 2006 à 15:28
Décidément...je ne te répondrai quand quand tu auras compris ce que j'ai écrit. parce que là, t'en es loin.
Relis-moi, tu en as besoin. Ca ne sert à rien d'essayer de discuter si tu parles d'un truc, et moi d'un autre.
Je te donne des mots clefs : STRUCTURE DE SITE, XML OU FICHIER TEXTE, CODE COMPLEXE, REFLEXION...
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 21 août 2006 à 15:22
Encore une fois c'est nawak, j'utile ce bout de code sur des url qui n'ont pas de BDD. So ? Pourquoi taper dans du xml ? D'accord si l'on veut faire un flux et proposer a d'autre sites d'afficher l'image du jour, here is a very good idea ;) mais sinon, yaura tjrs besoin d'un fwrite et d'un parseur, donc temps machine rien d'exeptionel ;) perso j'aurais préférer debattre sur le beug de ce bout de code qui est simple => si c'est un crawler qui passe en premier genre BigDaddy : il arrive souvent que le fichier texte ne se mette pas à jour, tjrs pas trouvé comment empecher cela directment dans le php. Je le fais avec le fichier robot.txt mais ca fait un peu lourd comme manip.
Sinon rien de méchant d'en ma maniere de parler, faut savoir accepter la critique et aller de l'avant dans les debats d'idées ;) Thats your turn to talk Dude ;)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 août 2006 à 12:50
Ouais, et je devrais montrer l'exemple en plus, mais là, ça fait 2 coup sur coup...lol, c'est fatiguant.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 21 août 2006 à 12:37
Allez allez on ne s'énerve pas ces messieurs ;-)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 août 2006 à 12:23
Vous commencez à me saouler à être tous agressifs aujourd'hui.
Ma tirade à 2 balles, LaurentKoogar, est bien plus intéressante que tu n'as l'air de le comprendre. Que tu ne la comprennes pas, en outre, ne t'autorise pas à être agressif.
Je soulignais simplement qu'il était bien plus simple de gérer les choses au niveau de la structure d'un site, que de développer à outrance des fonctions php qui parsent, lisent, ferment, transforment...
20060819 n'est un nom de fichier visible que par ton serveur. Si ça, ça te fait partir en courant, je n'ose imaginer ta tête quand tu mates ton répertoire de sessions...
Quant au xml, c'était un exemple, et je me cite :
"J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte. "
Il faudrait voir à apprendre à lire avant de s'énerver.
"Sorry, j'ai oublié qu'on est tous des numéros, héhé ;) "
le rapport avec la choucroute ? t'as une base de données sur ton site, non? Et des comptes utilisateurs, hmm? Et une table utilisateurs, peut-être? Leurs id, dans cette table, ils sont sous la forme "Laurent Koogar", "René Jardin" etc...sans doute ?
Quand tu parlais de tirade à 2 balles...que dire de la tienne?
Evangun => je ne comprends pas, lol; si t'es malade, une fonction comme celle-ci ne changera rien, elle n'apporte aucun avantage par rapport au processus que je donne ? T'es malade, t'es webmaster, ben...tes utilisateurs attendent, lol, comme toujours. Sauf si tu automatises ce traitement : ça peut être fait à l'avance, ça peut être automatisé en fonction d'upload utilisateurs...etc.
Pour l'aléatoire, c'est pareil, un scandir () suffit à récupérer les images, et un accès au tableau récupérer avec mt_rabd par exemple, suffit à prendre une entrée au hasard (ou array_rand).
Enfin bref, je pense qu'on peut automatiser plus facilement en réflêchissant bien une structure de site, avant de réflêchir à un code qui gère tout.
Cookiesch => bah un tuto ptête, un jour...et dans la faq aussi ouais, bonne idée :-)
mais bon, je m'évertue à démontrer son utilité dans beaucoup de mes derniers codes, lol ;-)
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 21 août 2006 à 11:21
Il t'expliquera R@f le XML, perso j'ai pas relevé sa tirade à 2 balles, passer par 1 fichier XML ou 1 fichier texte ca reviens au même, sauf que le XML tu le parses pour le lire. Mais un gars qui apel son image 20060819, perso je pars en courant. Sorry, j'ai oublié qu'on est tous des numéros, héhé ;)
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 21 août 2006 à 10:06
Malalam: tu nous feras un beau paragraphe sur les avantages du XML dans la FAQ? Que je comprenne enfin :P
@++
R@f
LaurentKOogar
Messages postés369Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention20 octobre 2013 21 août 2006 à 04:00
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 20 août 2006 à 13:33
C'est vrai Malalam, ce que tu dis respire la simplicité et je suis parfaitement d'accord, mais c'est sans compter le besoin qu'a souvent le programmeur de parer à toutes les éventualités et au fond de chercher à faire des systèmes entièrement automatisés : et si je suis malade ce jour-là ? et si je ne trouve plus d'images ? et si je veux que ce soit aléatoire ? et si je ne me rappelle plus la date ? ^^
Parce que finalement on se dit que c'est au site de s'adapter à nos habitudes, pas à nous d'apprendre ses rouages (cf lui donner des fichiers au nom préformaté). Surtout quand on a la perspective de le laisser à un autre administrateur : le fantasme absolu est qu'un parfait ignorant puisse s'en servir en 1 seconde!
Au fond, il faut voir la simplicité pour l'utilisateur vaut le prix de la complexité du code...
joker76
Messages postés13Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention13 avril 2007 20 août 2006 à 12:17
Merci beaucoup pour votre aide.
Hélas, je ne connais pas l'auteur de cette source, sinon je l'aurais cité, si il se reconnait...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 août 2006 à 21:19
Hello,
je n'ai pas grand chose à ajouter à ce qu'a dit Evangun.
Par contre, j'aimerais amener une discussion sur la façon de structurer un site afin d'optimiser ses traitements, et ses mises à jour. Une fonction comme celle-ci (ou une autre, on peut y apporter moultes améliorations) peut être utile dans certains cas. Mais bien souvent, on réflêchit à l'envers : on se dit, j'ai des images du jour, il me faut un code pour les afficher, pour que chaque jour, ça change! Lundi je vais appeler bla.png, mardi ce sera bli.gif etc...comment vais je faire ?
Alors qu'il y a des solutions simples si on ne réflêchit pas tant en termes de code, que de structure.
Un exemple de ce qui pourrait être très facilement fait : j'uploade mes images du jour (ça peut être fait quotidiennement, ou au terme d'un vote, etc etc...). J'ai donc un répertoire 'images_jour'. L'image d'aujourd'hui, je la mets dedans et je l'appelle 20060819.
Mon code d'affichage se résume alors à :
$sImageJour = IMAGES_JOUR_PATH.'/'.date('Ymd');
$sHtml = <<<
HTML;
Là, il manque plusieurs choses : l'attribut alt, le style éventuellement si il doit changer selon les images, le commentaire, le titre...par exemple.
Perso, j'utiliserais comme à mon habitude du xml. Un fichier dans un répertoire images_jour_xml, nommé 20060819.xml. De ce genre là :
<TITRE>mon titre</TITRE>
<DESCRIPTION>ma description</DESCRIPTION>
le contenu de mon attribut alt
J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte.
Il suffit ensuite d'aller lire ce fichier, et d'afficher ce qu'il faut, où il le faut, ce qui se fait en 2-3 lignes maximum, via l'extension php dédiée au xml que l'on veut.
Ceci n'est pas une démonstration de ce qu'il FAUT faire, mais juste un exemple pour montrer qu'avec un minimum de code et une bonne structure, on se simplifie nettement la vie, et on simplifie le squelette d'un site web.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 19 août 2006 à 19:33
Bonjour,
si tu peux citer l'auteur de la source, autant le faire.
Tu devrais écrire IMG, BORDER etc. en minuscule.
Et pour que ce soit valide xhtml, il manque la propriété alt dans tes balises img.
Remplace $nomRepertoire "photo-du-jour/"; au début par $nomRepertoire "photo-du-jour";
Il y aurait une ou deux petites choses à améliorer mais bon c'est pas grave...
Pour le bug de l'image qui de temps en temps n'apparait pas, c'est probablement un espace dans le nom de l'image, il faudrait écrire urlencode($image) à la place de $image à la ligne 33.
à+
1 déc. 2007 à 19:01
je ne suis pas codeur mais j'ai besoin d'un script de ce genre.
Est-il possible d'aller chercher les images dans répertoire d'un site annexe ?
Les images changeraient sur le bandeau d'un site A et seraient stockées dans un site B...
24 sept. 2006 à 06:43
28 août 2006 à 18:52
Le script est déja sur phpcs.com :
http://www.phpcs.com/codes/AFFICHER-PHOTO-JOUR-CHOISI-MANIERE-ALEATOIRE-PARTIR-REPERTOIRE_31300.aspx
et aussi sur phpsources.org :
http://www.phpsources.org/scripts124-PHP.htm
++
28 août 2006 à 18:36
Bravo pour ton code LaurentKOogar, j'ai regardé ci il etait sur ce site, et vu qu'il n'y etait pas je me suis pourquoi ne pas le mettre et le faire partager à tout le monde, vu qu'il fonctionne trés bien et vraiment simple à appliquer.
J'aurais une petite question: Est il possible avec ce code, de nommer les images?
Je m'explique, tout les jours une images différente apparait et par exemple en dessous une ligne descriptif.
Merci d'avance.
26 août 2006 à 16:54
22 août 2006 à 16:13
Maintenant, il y a un module basé sur un formulaire tout con (vu que j'ai eu le temps).
Mais avec un peu d'habitude et un éditeur spécialisé, il est bien plus simple de les modifier à la main et de les envoyer sur le serveur. C'est comme faire faire un upload de fichier CSV par un utilisateur : ça, c'est très fréquent! Ben le XML est encore plus simple à manipuler qu'un CSV.
22 août 2006 à 15:40
Question idiote : pour rajouter une catégorie pour tous les supports, ou juste une grande partie, tu as automatisé ou tu dois te taper l'édition de tous les fichiers xml ? Parce que moi c'est bien ça qui me fait peur dans le xml, c'est que je n'ai pas d'outil pour les manipuler facilement, comme le ferait une bd avec ses enregistrements.
22 août 2006 à 12:32
Pourquoi ? C'est difficile à expliquer. Disons que j'ai tout un tas de caractéristiques (grammage, mandrin, opacité, utilisation, lamination, et d'autres dans d'autres catégories : compatibilité machines - donc, références de machines-), et que chaque papier a ses spécificités, mais surtout, ne prend pas forcément en compte telle ou telle caractéristique. Donc plutôt que de créer une table avec x champs (ou plusieurs tables avec x champs) dont certains ne seront pas remplis pour tel ou tel support papier...sachant que je risque de devoir en ajouter plus tard (des champs), et donc changer mes requêtes...j'ai créé un modèle de fichier XML. Avec des catégories : description, nom, applications, caractéristiques, compatibilité. Et dedans, des sous catégories... : mais si je mets l'élément <lamination> pour un support, je peux l'omettre pour un autre sans problème : je lirai mon XML de la même manière.
Pour l'affichage, j'ai fait ça en 3 parties :
les grandes catégories : PHOTO, ART etc...1 fichier XML pour ça avec le titre, et un "id_detail" (en gros hein).
Ce fichier xml est lu au début de ma page de toutes façons. Si on clique sur PHOTO, je raffraichis ma page avec mon id_detail pour afficher les catégories de papiers faisant partie de ce support. Juste les noms, une liste quoi : 1 fgichier xml encore. Chaque ligne de ce fichier a un "id_detail" aussi (un autre nom hein). Si je clique dessus, j'affiche le 3ème fichier XML, et là, j'en ai 1 par papier (donc par détail).
Je peux ajouter ce que je veux comme catégorie, mes fichiers sont lus de la même manière. Bref...ça c'est ma sauce.
En clair, je lis au maximum 3 fichiers xml qui sont courts, et ma classe gère ça de façon optimisée.
A vue de nez, c'est immédiat, on attend pas du tout.
Je te montrerai si tu veux.
22 août 2006 à 12:01
@++
R@f
22 août 2006 à 10:05
Mon commentaire précise, je me recite une fois parce que visiblement tu n'as noté : "J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte. "
Ca me semble clair, je n'ai pas dénigré les fichiers textes, j'ai donné une alternative.
Pour appuyer ce que dit EvanGun : pour ma part, ça fait un moment que je bosse dans le développement web, et je suis en ce moment responsable de dév dans une boîte. Des sites, on commence à en avoir beaucoup à monter. Et les demandes deviennent de plus en plus complexe; et que tu le veuilles ou non, il faut apprendre à évoluer, à faire évoluer sa façon de monter un site (et je ne parle, encore une fois, pas QUE de la programmation). Je dois monter des sites que j'héberge, ou qui seront hébergé chez mes clients (donc, m'adapter à leurs obligations techniques). Les demandes de conformité W3C sont de plus en plus fréquentes. Les demandes de performances aussi. De même que monter des EDI, via SOAP, CURL, et compagnie. Ou des flux. Et pour les flux d'échange, si on en est encore pour beaucoup à du CSV, on en vient de plus en plus à des flux xml.
Et les demandes sur les sites même se complexifient. dernièremlent, j'ai dû créer pour Epson une page toute conne, qui présentent leur gamme papier. Et c'est complexe, du papier, mine de rien, il y a un tas d'infos, redondantes ou non, spécifiques ou non...de gros tableaux plein de données. Si j'avais dû monter ça via une base de données, ça aurait été insupportable à gérer. Alors, j'ai utilisé, là encore, XML : parfait pour ça puisqu'il est là pour décrire des données. C'est rapide, efficace, et une fois le module mis en place (2h...), on est tranquille, on peut ajouter n'importe quoi, modifier n'importe quoi, et l'avantage, c'est qu'on a pas une table listant l'exhaustivité des données possible. On a un fichier décrivant les données dont on a besoin, avec simplement la structure en commun. Et la lecture de ces fichiers évitent les écueils d'un parsing à outrance pour décomposer un fichier texte qui aurait du mal à suivre, dans ce cas-ci.
CS est là non seulement pour proposer des codes, mais aussi pour enseigner, pour faire évoluer les gens, pour leur montrer des alternatives, leur montrer des façons de coder qu'ils ne connaissent pas. Parce que dans ce domaine, si on n'évolue pas, on est très rapidement dépassé.
Et la simplicité (et là je parle pour tout le monde) ne passe pas forcément par ce que l'on maîtrise...parce que si l'on en reste à ça, l'éventail des réflexions possibles que l'on a est très limité. Et on ne trouve donc pas forcément LA solution la plus simple. Quoi qu'on en pense.
Ce que je pense de ce code-ci, donc, est que :
- il est sans aucun doute utile.
- il fonctionne
- il est limitatif (trop figé)
- il est plus complexe qu'il ne pourrait l'être, et moins puissant qu'il ne pourrait l'être
- il est codé à l'ancienne (mais bon)
Quand je peux éviter de coder, je le fais. Et je voulais soulever qu'on pouvait sérieusement réduire ce code à sa plus simple expression, tout en gardant TOUTES ses fonctionnalités et sa puissance. Voire même en le boostant.
Au passage, mon site qui tourne le mieux sur la toile, moi, est en PHP5, utilise du XML, est valide W3C (XHTML strict et CSS), utilise un EDI avec notre extranet logistique via CURL...bref, complexe en apparence, et il l'a été à monter, mais très simple dans les faits, quand on mate le code et sa structure. Et c'est une boutique en ligne (un peu spéciale). Donc bon...
21 août 2006 à 20:08
Alors si on transforme PhpCS en un gros tas de codes en se contentant de dire "ils marchent c'est ok", moi je ne viendrai plus car je n'aurai plus rien à apprendre. Plus je progresse, plus j'ai envie de lire des commentaires techniques...
Je suis d'accord avec toi et je ne souhaite pas cela du tout. J'aimerais qu'il y ai un juste milieu sur les commentaires, que chacun puisse les lire et pas qu'ils soient réservé à une élite. Celui qui n'a jamais fait de XML ne va pas comprendre le developpement de Malamam, meme ci celui ci est juste et fondé. C'est son utilité que j'ai essayé de débattre en vain. On peut toujours améliorer un code et le rendre plus performant sous d'autre directives, mais l'essence meme c'est sa fonction, son utilité, ou le placer, comment l'utiliser, a quel moment, va t-il être indexé, va til être performant, autant de points à la porté de tous qui ne sont jamais débattu ou si peu. Je me répète, mais si les élites de la classe pouvait prendre le chemin de la simplicité et s'ouvrir plus sur l'utile que sur la technique, se mettre à la porté des 'profanes' et des 'noobies', par experience cela serait formidable pour la forte communauté des webmasters qui surfent sur ce site.
21 août 2006 à 19:20
Donc effectivement si tu n'as pas spécialement envie de t'améliorer dans la programmation php parce que tu penses que tu en sais assez et que tu as d'autres choses à faire, libre à toi. Mais il y a d'autres personnes qui, comme moi, viennent ici pour en savoir toujours plus.
Alors si on transforme PhpCS en un gros tas de codes en se contentant de dire "ils marchent c'est ok", moi je ne viendrai plus car je n'aurai plus rien à apprendre. Plus je progresse, plus j'ai envie de lire des commentaires techniques...
Pour finir, je te dirai juste que j'ai commencé à travailler comme webmaster pro depuis cet été et j'ai dû reprendre en main des sites faits par d'autres personnes. Et bien je peux te dire que j'ai passer des journées entières à maudire les codeurs précédents qui ne respectaient pas l'indentation, les CSS, etc (normal ils utilisaient Dreamweaver ces *******). Et pourtant les scripts en eux-mêmes n'étaient pas compliqués! J'aurais préféré un truc compliqué mais bien fait.
Ce qu'il faut donc bien comprendre, c'est que la clarté d'un code n'est pas dans la simplicité des outils (ne pas utiliser des classes, de XML...), mais dans la rigueur dans l'utilisation de ces outils (oh c'est beau ce que je raconte là lol).
21 août 2006 à 18:17
Bon je veux pas rajouter de l'huile sur le feu mais Laurent Coogar, je ne vois pas pourquoi tu t'énerves
Mais je m'enerve absolument pas, mais visiblement faut pas trop contrarier les premiers de la classe, malalam est certain que je n'ai rien compris et pense que tout le monde a ses outils, ce qui est loin loin loin loin d'etre le cas.
Evangun à écrit
c'est même pour ça que je suis sur ce forum aussi souvent.
Moi c'est le contraire, je prefere ne plus venir car je trouve les commentaires hyper technique et j'ai du mal à suivre, par exemple les classes php j'en vois pas l'interet, le xml est un outil puissant qui n'a à rien à voir avec 'Afficher une nouvelle image chaque jour', a moins comme je l'ai dit de vouloir creer un flux et proposer à d'autre sites d'afficher l'image du jour. Ca Malaman ne veut pas l'entendre, maintenant mon site qui tourne le mieux sur la toile est encore ecrit en php3 et pas question pour moi de changer la moindre virgule. Je fais des sites pour le meilleurs du web, car je sais que 99,99% des internautes et des crawlers se foutent de savoir de quel maniere le site est encodé, php - asp - css ne cessent d'evoluer et ce n'est pas la mise à jour de ces evolutions sur 1 site qui font de celui ci qu'il est bon et visité. Webmasters est certainement un des metiers les plus complet que je connaisse. Il doit associer tellement de facteurs differents dans des domaines differents que focaliser sur " optimiser les traitements... " est réellement une perte de temps si l'on veut être à jour sur l'ensemble des domaines que constitue le webmastering ( coding, référencement, graphisme, analyse, partenariats, triangulaire, traffic, campagnes, mailing, indexation............) Revoir vos futurs commentaires pour aboutir à plus de simplicité serait pour moi un tournant neccessaire et indispensable à ce site.
21 août 2006 à 15:52
Bon je veux pas rajouter de l'huile sur le feu mais Laurent Coogar, je ne vois pas pourquoi tu t'énerves, Malalam a bien précisé qu'il ne souhaitait pas refaire ton code, mais lancer une discussion sur une autre façon de penser un site... tu peux bien penser que je fais mon faillot, mais je trouve ça intéressant, c'est même pour ça que je suis sur ce forum aussi souvent.
à+ tous et restons cool :)
21 août 2006 à 15:28
Relis-moi, tu en as besoin. Ca ne sert à rien d'essayer de discuter si tu parles d'un truc, et moi d'un autre.
Je te donne des mots clefs : STRUCTURE DE SITE, XML OU FICHIER TEXTE, CODE COMPLEXE, REFLEXION...
21 août 2006 à 15:22
Sinon rien de méchant d'en ma maniere de parler, faut savoir accepter la critique et aller de l'avant dans les debats d'idées ;) Thats your turn to talk Dude ;)
21 août 2006 à 12:50
21 août 2006 à 12:37
21 août 2006 à 12:23
Ma tirade à 2 balles, LaurentKoogar, est bien plus intéressante que tu n'as l'air de le comprendre. Que tu ne la comprennes pas, en outre, ne t'autorise pas à être agressif.
Je soulignais simplement qu'il était bien plus simple de gérer les choses au niveau de la structure d'un site, que de développer à outrance des fonctions php qui parsent, lisent, ferment, transforment...
20060819 n'est un nom de fichier visible que par ton serveur. Si ça, ça te fait partir en courant, je n'ose imaginer ta tête quand tu mates ton répertoire de sessions...
Quant au xml, c'était un exemple, et je me cite :
"J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte. "
Il faudrait voir à apprendre à lire avant de s'énerver.
"Sorry, j'ai oublié qu'on est tous des numéros, héhé ;) "
le rapport avec la choucroute ? t'as une base de données sur ton site, non? Et des comptes utilisateurs, hmm? Et une table utilisateurs, peut-être? Leurs id, dans cette table, ils sont sous la forme "Laurent Koogar", "René Jardin" etc...sans doute ?
Quand tu parlais de tirade à 2 balles...que dire de la tienne?
Evangun => je ne comprends pas, lol; si t'es malade, une fonction comme celle-ci ne changera rien, elle n'apporte aucun avantage par rapport au processus que je donne ? T'es malade, t'es webmaster, ben...tes utilisateurs attendent, lol, comme toujours. Sauf si tu automatises ce traitement : ça peut être fait à l'avance, ça peut être automatisé en fonction d'upload utilisateurs...etc.
Pour l'aléatoire, c'est pareil, un scandir () suffit à récupérer les images, et un accès au tableau récupérer avec mt_rabd par exemple, suffit à prendre une entrée au hasard (ou array_rand).
Enfin bref, je pense qu'on peut automatiser plus facilement en réflêchissant bien une structure de site, avant de réflêchir à un code qui gère tout.
Cookiesch => bah un tuto ptête, un jour...et dans la faq aussi ouais, bonne idée :-)
mais bon, je m'évertue à démontrer son utilité dans beaucoup de mes derniers codes, lol ;-)
21 août 2006 à 11:21
21 août 2006 à 10:06
@++
R@f
21 août 2006 à 04:00
http://www.phpsources.org/scripts124-PHP.htm
Au passage la source est déjà sur phpcs ;)
++
Laurent Alias KOogar
20 août 2006 à 13:33
Parce que finalement on se dit que c'est au site de s'adapter à nos habitudes, pas à nous d'apprendre ses rouages (cf lui donner des fichiers au nom préformaté). Surtout quand on a la perspective de le laisser à un autre administrateur : le fantasme absolu est qu'un parfait ignorant puisse s'en servir en 1 seconde!
Au fond, il faut voir la simplicité pour l'utilisateur vaut le prix de la complexité du code...
20 août 2006 à 12:17
Hélas, je ne connais pas l'auteur de cette source, sinon je l'aurais cité, si il se reconnait...
19 août 2006 à 21:19
je n'ai pas grand chose à ajouter à ce qu'a dit Evangun.
Par contre, j'aimerais amener une discussion sur la façon de structurer un site afin d'optimiser ses traitements, et ses mises à jour. Une fonction comme celle-ci (ou une autre, on peut y apporter moultes améliorations) peut être utile dans certains cas. Mais bien souvent, on réflêchit à l'envers : on se dit, j'ai des images du jour, il me faut un code pour les afficher, pour que chaque jour, ça change! Lundi je vais appeler bla.png, mardi ce sera bli.gif etc...comment vais je faire ?
Alors qu'il y a des solutions simples si on ne réflêchit pas tant en termes de code, que de structure.
Un exemple de ce qui pourrait être très facilement fait : j'uploade mes images du jour (ça peut être fait quotidiennement, ou au terme d'un vote, etc etc...). J'ai donc un répertoire 'images_jour'. L'image d'aujourd'hui, je la mets dedans et je l'appelle 20060819.
Mon code d'affichage se résume alors à :
$sImageJour = IMAGES_JOUR_PATH.'/'.date('Ymd');
$sHtml = <<<
HTML;
Là, il manque plusieurs choses : l'attribut alt, le style éventuellement si il doit changer selon les images, le commentaire, le titre...par exemple.
Perso, j'utiliserais comme à mon habitude du xml. Un fichier dans un répertoire images_jour_xml, nommé 20060819.xml. De ce genre là :
<TITRE>mon titre</TITRE>
<DESCRIPTION>ma description</DESCRIPTION>
le contenu de mon attribut alt
J'ai simplifié. Et on pourrait utiliser, comme dans ce code, un simple fichier texte.
Il suffit ensuite d'aller lire ce fichier, et d'afficher ce qu'il faut, où il le faut, ce qui se fait en 2-3 lignes maximum, via l'extension php dédiée au xml que l'on veut.
Ceci n'est pas une démonstration de ce qu'il FAUT faire, mais juste un exemple pour montrer qu'avec un minimum de code et une bonne structure, on se simplifie nettement la vie, et on simplifie le squelette d'un site web.
19 août 2006 à 19:33
si tu peux citer l'auteur de la source, autant le faire.
Tu devrais écrire IMG, BORDER etc. en minuscule.
Et pour que ce soit valide xhtml, il manque la propriété alt dans tes balises img.
Remplace $nomRepertoire "photo-du-jour/"; au début par $nomRepertoire "photo-du-jour";
Il y aurait une ou deux petites choses à améliorer mais bon c'est pas grave...
Pour le bug de l'image qui de temps en temps n'apparait pas, c'est probablement un espace dans le nom de l'image, il faudrait écrire urlencode($image) à la place de $image à la ligne 33.
à+