LIVRE D'OR EN PHP [OPEN SOURCE]

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 10 juil. 2008 à 14:20
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008 - 10 juil. 2008 à 15:07
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/47286-livre-d-or-en-php-open-source

hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
10 juil. 2008 à 15:07
Merci beacoup pour ton commentaire, je vais retraivailler ce projet ce soir et je le republierais demain.

Voici ce que je prévoies de faire :
-Réutiliser les balises <?php ou lieu de <?
-Essayer de remplacer les addslashes pas mysql_real_escape_string()
-Essayer le XHTML
-Créer une feuille de style CSS
-Créer une interface d'administration (qui pourra gérer la feuille de style).

Merci encore !
A bientôt !
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
10 juil. 2008 à 14:37
Ah ! une dernière chose...
OpenSource, ce n'est pas une licence...
Si tu veux publier une source sous une licence OpenSource, il te faut choisir entre GPL, CreativeCommons, BSD, Apache, etc. Il en existe toute une floppée.
Quelques liens :
http://www.fsf.org/
http://fr.wikipedia.org/wiki/Open_Source
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
10 juil. 2008 à 14:20
Salut,

Quelques petites remarques :o)) Rien de très grave, juste des petits détails.

Ton code HTML n'est conforme à aucun standard. C'est pas dramatique en soi, mais si tu fournis du code HTML conforme au moins à HTML 4, c'est bien... Du XHTML, c'est mieux... L'idée est que te concernant, tu peux utiliser du HTML comme tu veux, mais si tu le mets à disposition du public, autant fournir quelque chose de propre et standard.

Du coup, ça vaut aussi pour les balises d'ouverture de PHP : <? n'est pas ce qu'il y a de plus portable.
La seule balise d'ouverture qui soit TOUJOURS valide sur TOUTES les configurations, c'est <?php
Les "short tags" (<? et <?= ) ne permettent pas une compatibilité avec XML, dont le tag d'ouverture est <?xml : PHP se mélange les pinceaux, et va tenter d'interpréter du XML, et va donc, logiquement, planter...

C'est un bon réflexe de faire addslashes() sur les variables que tu vas rentrer dans ta base de données. Mais ce n'est pas suffisant. Plutôt que addslashes(), il est préférable d'utiliser mysql_real_escape_string() qui en plus d'échapper les simple quotes ' va échapper tous les caractères potentiellement dangereux, y compris des caractères binaires qui peuvent causer une faille dans MySQL. On trouve un petit exemple dans la doc PHP de mysql_real_escape_string() : une petite fonction à écrire pour tenir compte de la configuration des magic quotes, et le code sera encore plus clair.

Essaie aussi de séparer un peu plus le PHP du HTML. Par exemple, tu ouvres une balise PHP après la balise du HTML.
Je ne sais pas pourquoi, mais ça me parait totalement irrationnel : tout le script bénéficie de la même portée des variables. Tu peux ouvrir, fermer, rouvrir PHP, les variables ne sont pas perdues. Tu peux donc faire le traitement des données au tout début du script, et ne mettre à la fin que ce que tu affiches, même si c'est généré par PHP. C'est juste qu'on sait que dans le HTML, les morceaux de PHP sont là pour générer du HTML, pas autre chose. C'est plus clair, et c'est plus facilement modifiable.
Dans le même esprit, essaie d'utiliser des feuilles de style CSS, plutôt que des attributs aux balises HTML : ça permet un meilleur contrôle de la présentation.

Voilà...

Un livre d'or, c'est un bon exercice pour commencer. Le tien est quand même beaucoup moins crade que certains que j'ai pu voir. J'aurais même tendance à dire qu'il est moins crade que le premier que j'ai fait.
Si tu intègres bien les quelques conseils que je t'ai donnés ainsi que d'autres concernant les bonnes pratiques de développement (un peu plus de commentaires, indentation claire, noms de variables judicieux, etc), tu pourras progresser convenablement ;)

Bonne continuation
Rejoignez-nous