CLASSE GÉRANT L'AFFICHAGE DES PAGES D'UN SITE INTERNET, L'ADMINISTRATION DE CES

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 21 févr. 2007 à 21:16
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009 - 17 oct. 2007 à 09:05
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
17 oct. 2007 à 09:05
Désolé, mais je ne vois pas ça comme ça.

Pour moi, ce site est formée d'une COMMUNAUTE pas un self-service, et le but c'est de PARTAGER. Or ici, j'ai l'impression de servir de bonne poire. Les gens viennent, prennent et repartent sans même se fendre d'un remerciement.
Dans la réalité, quand quelqu'un te donne quelque chose qu'il a fait lui même et qu'en plus il a passé du temps à faire, j'ose espérer que tu le remercie. J'aurais apprécié que les personnes aient le même comportement ici. Biensûr, tout le monde ne laisse pas de message, je le comprends bien. Mais là, il n'y a même pas 1 personne de 50 qui en laisse un. Je trouve cela clairement impoli. Pour moi, c'est un manque de respect caractérisé envers mon boulot, et plus généralement le boulot des personnes qui se cassent le *** à partager leur code.

Je ne fais pas ça pour la gloire, ou encore la reconnaissance. Mais à la base, comme précisé dans la description, je tablais sur un système d'échange : je te file mon code, et tu m'aides à l'optimiser/le compléter en me disant ce qui n'a pas été.

D'ailleur une phrase est assez claire dans la charte de bonne conduite :
- "On est poli : «bonjour» et «merci» sont des mots plus qu'appréciés."
- "N'oubliez pas que vous vous adressez à des membres bénévoles qui vont partager de leur temps et leurs connaissances afin de vous aider Vous vous devez de garder cet esprit communautaire en tête ;-)"

Je suis un professionnel indépendant, et le temps que je passe à développer ces modules représente un investissement de temps, (et donc indirectement d'argent). Je voulais en faire profiter la communauté, afin de leur en faire gagner aussi (du temps ;) ), tout en sachant que d'un autre coté, je partageais avec TOUS (concurents inclus) le fruit de mon travail.

Ici, je ne considère pas qu'il y aie eu un partage mais une appropriation de mon temps et de mes connaissances. Et ça, je ne l'accepte pas
guill76 Messages postés 193 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 3 juin 2016
16 oct. 2007 à 20:57
Je trouve complétement stupide ta réaction, si tu postes une source sur ce site tu dois le faire en connaissance de cause et tu dois accepter tout type de reaction de la part des visiteurs et même l'absence de réactions.
Tu fais peut-être preuve d'ultra-sensibilité compréhensible mais saches qu'il faut être philosophe dans la vie.
Une récompense c'est bien. Pour moi les notes ne veulent absolument rien dire. Ce qui compte, c'est de faire avancer les choses : la participation.
Avoir une telle réaction, c'est nous montrer que t'es une victime passive du système de compétition (peut être d'ailleurs que le système scolaire actuel en est la cause avec le système de notation consensuelle pour ne pas dire élitiste qui perdure) si tu visitais certains philosophes comme Albert Jacquard(également généticien) tu aurais une vision plus juste de la compétition.
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
6 oct. 2007 à 06:23
Plus de 2500 visites sur la page; plus de 250 téléchargement des sources, et... 5 personnes qui on eu la gentillesse de laisse un commentaire. Franchement, pour le coup je suis déçu.

J'ai voulu partager un outil que j'utilise souvent, afin de l'améliorer et d'en faire profiter la communauté, et au final, les gens se servent et repartent sans même laisser un petit commentaire, et/ou une note. Ca fait plaisir.

En tous cas, une chose est sûre, je ne me ferais pas avoir 2 fois. J'ai depuis créé pas mal de modules de ce type (celui-ci a biensûr été améliorer avec le temps, j'en ai créé d'autres s'appuyant sur celui-ci pour créer/administrer rapidement des livres d'or, des newsletters, des pages de news, ...), mais vu le retour de cet essai, je crois que je vais m'abstenir de partager tout ça.

Pour moi, il y a une différence entre "partager", et "pomper"... Visiblement tout le monde ne la voit pas. En tous cas merci encore pour ceux qui ont pris la peine d'écrire un petit mot, et désolé pour ceux qui auraient peut être aimé voir mes autres sources.
lordbdp Messages postés 33 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 10 avril 2020
15 mai 2007 à 01:02
Trop pratique !

Juste 2 fonctions que j'aurais ajouter :
- Codage en MD5 pour l'accès coté admin.
- Gestion des colonnes (Left et Right) en plus de header, les menus, et le footer quand il y a.

Sinon c'est niquel pour ceux qui veulent du simplifié à fond...
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
2 mars 2007 à 17:04
oui c'est normal : en fait config.php5 n'est qu'un fichier texte où tu peux régler les paramètres généraux (connection à la BDD, et répertoire racine). Tu peux l'éditer simplement avec un éditeur de textes. Pour tester le code, tu peux par contre ouvrir dans ton navigateur la page "admin.html" ;)
pierregau Messages postés 1 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 2 mars 2007
2 mars 2007 à 10:35
Bonjour,
je débute avec PHP, j'avais fait des test avec les "class" et les "css".
J'ai téléchargé votre code, quand je veux ouvrir la page "config.php5" j'ai le message:
Fatal error: Using $this when not in object context in E:\serveur\xampp\htdocs\site2\sources\test\config.php5 on line 2
($this->racine=$_SERVER['DOCUMENT_ROOT'].'/test';)
Pouvez-vous m'aider.
Merci
Cordialement.
Pierre
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
25 févr. 2007 à 19:09
Voila encore une petite mise à jour de ma classe. Je pense qu'elle commence vraiment à être utile. Quand je vois par exemple le nombre de ligne de ma classe, et que je dis que je n'aurais plus besoin de retapper tout ça la prochaine fois que je ferais un site, il faut bien dire que ça me fait plaisir :p

(C'est bizarre, j'ai l'impression de parler tout seul... ^^ )
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
25 févr. 2007 à 01:33
Je continue petit à petit à faire progresser ma classe, et je pense ajouter ce week end le support multilingue (ça peut toujours être utile) ainsi que l'identification des admins (ça c'est déjà fait, mais pas encore posté ici, je mettrais le tout une fois terminé).

Si vous avez des commentaires, remarques etc, n'hésitez pas !!! Et puis un commentaire (et une note), ça montre que vous vous intéressez ;) Ne me mettez pas 1, sinon je fais la gueule :D
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
24 févr. 2007 à 15:06
Sur le principe, ce n'est pas compliqué, mais en pratique, c'est une autre façon de programmer, qui peut boulverser tes habitudes. Pour faire simple, à ce que j'ai compris, une classe représente un objet (par exemple une chaise), sur lequel tu as des attributs (par exemple sa hauteur, son poids etc), et des méthodes (les actions que tu peux faire avec, par exemple la déplacer). En gros une fois que tu as bien compris ça, tu sais programmer en objet. Le reste, c'est d'apprendre un peu la syntaxe, mais ce n'est pas très très compliqué.

Par exemple dans mon cas, j'ai ma classe "page" qui contient les attributs "admin" et "racine". Ces éléments sont utilisables par toutes les "fonctions" (appelées méthodes en POO, il me semble) que cette classe comprend. C'est un des avantages de la POO. En procédural, sans l'utilisation de variables globales, tu es obligé de passer toutes tes variables en paramètres, même si tu as 5 fonctions utilisant exactement les mêmes données. Là non. Ensuite tu as ces méthodes. Dans mon cas, tu as "affichage", le constructeur (en gros c'est une fonction appelée automatiquement lorsque tu crées l'objet) servant à initialiser ton objet (par exemple définir les valeurs de tes variables, se connecter à la base de données etc), et le destructeur (qui lui est appelé automatiquement à la fin de ton script php) qui sert à finir proprement l'éxécution de ton scipt (par exemple fermer ta base de données).

En gros, une fois que tu as compris tout cela, tu sais presque 75% de ce que je connais de la POO. ;)

Après il reste les détails, par exemple comment appeler une méthode, à quoi sert "$this", à quoi sert "__autoload()", à quoi servent les attributs "private" "public" et "protected" etc, mais bon, c'est simple à comprendre, et il n'y a pas 50 trucs indispensables pour commencer. Plus tard, quand tu commenceras à être à l'aise avec la POO, tu pourras faire des trucs sympas, par exemple avec les héritages, les classes abstraites etc, mais là même si je connais à peu près la théorie, ce n'est pas encore de mon niveau.

Je n'ai pas pour objectif de faire un cours complet sur la POO, je n'ai de toutes façons pas les connaissances suffisantes pour le faire, mais j'espère que tu comprends un peu mieux le principe ;)
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 1
24 févr. 2007 à 14:06
Perso, je ne m'y connais pas du tout en POO. J'y capte rien !
Helldream Messages postés 29 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 6 février 2009
24 févr. 2007 à 01:50
Merci beaucoup pour vos remarques. Je viens de remettre le code à jour en en tenant compte et j'en ai profité pour compléter un peu mon code pour corriger d'autres petits défauts que j'avais aussi trouvé de mon coté.

@Epoc22 :
En effet, je me doute qu'il doit exister des codes plus ou moins similaires en procédural, mais je n'en ai trouvé aucun en langage objet. Or, justement c'est ce que je cherchais (je suis entrain de réécrire un de mes sites en langage objet afin de gagner du temps dans le futur grâce à leur réutilisation et à une maintenance plus facile). Je me suis dit que je ne devais pas être le seul dans ce cas, donc j'en ai profité pour en faire partager la communauté. Cela dit, il est clair que mon code ne relève pas du génie, et que je n'ai pas inventé grand chose sur la théorie. Je l'ai surtout mis en forme (en en créant une classe), et adapté à mes besoins. Il m'arrive de plus en plus souvent de m'inspirer de modules de ce site pour créer les miens, donc je me suis dit qu'il était normal d'essayer d'en proposer moi aussi ;)

@coockiesch :
Je ne trouve pas mon code compliqué : si tu avais créé des fonction équivalentes, ou même si tu avais directement inscrit ce code dans le fichier 'index.php', je ne pense pas qu'il aurait été moins compliqué. Par contre, tu aurais du à chaque fois que tu crées un site le réécrire, ou réutiliser tes fonctions (avec des paramètres en plus), ce qui est dommage si tu fais un site en programmation objet... De plus, au lieu d'avoir 3 ou 4 fonctions qui sont indépendantes, là tu as une classe les regroupant, ce qui me semble plus pratique. Je ne considère pas le langage objet comme une "grosse artillerie", c'est juste une autre façon de programmer, qui a des avantages que la programmation procédurale n'a pas forcément ;)

Concernant le manque de fonctionnalité, je suis preneur si tu as des idées. Comme dit dans l'Explication Finale, ce code est aussi là pour évoluer en termes de fonctionnalités, et gagner en fiabilité ;)


Si vous avez d'autres remarques, si vous voyez d'autres soucis (de sécurité ou autres) etc, n'hésitez pas à me le dire, je modifierais mon code en concéquence dans la limite de mes compétences biensûr :)
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 1
22 févr. 2007 à 16:37
J'ai fait le même genre de truc mais en procédural.
gwendal84 Messages postés 1 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 22 février 2007
22 févr. 2007 à 11:18
hum

tes variables $op, $sop et $ssop viennent directement du navigateur (du moins si on contourne ton url rewriting, ou qu'on utilise les codages spéciaux pour les url (style %20 pour les espaces))

bref, en cherchant un peu un pirate peu inclure un fichier php exterieur dans ton script et donc faire ce qu'il veux sur ton site.


je serais toi j'ajouterais un $_SERVER['DOCUMENT_ROOT'].'/' au début de mes fonction require et file_xists pour m'assurer que les fichiers qu'on demande à inclure sont effectivement sur le serveur et non ailleurs
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
21 févr. 2007 à 21:16
Salut!
Quelques petites remarques de base:
- il serait pas mal de tester la connection et la sélection de la bdd, pcq si ca foire, personne n'en sait rien et ton script va continuer...

- c'est mieux d'utiliser ' ' que " ", même pour des trucs genre:
"$op/$sop/$ssop.php5" --> $op . '/' . $sop . '/' . $ssop . '.php5'

Pour le reste, je ne suis pas très convaincu: c'est à la fois trop compliqué et trop simple ; trop compliqué dans le sens ou je ne sais pas si une classe pour faire des trucs dans le genre, c'est pas un peu de la grosse artilerie ; trop simple dans le sens ou tant qu'à faire une classe, autant faire plus de fonctionnalités... Mais ca, ce n'est que mon avis! :)

@++

R@f
Rejoignez-nous