[CMS PHP 5]Un gestionnaire de forums : VBRForums

Mammouth du PHP | 2937 Messages

06 juil. 2007, 23:51

Salut à tous !

Étant de moins en moins fan de phpBB, je me suis lancé dans un projet Web personnel, qui est un forum en PHP 5 utilisant MySQL (certes, il y a déjà pléthore de forums en PHP...).

Celui que je propose fonctionne sous PHP 5 et utilise PDO pour la connexion à la base de données (des requêtes préparées sont même employées), outre qu'il s'efforce de pondre un code conforme aux standards du Web et aussi accessible que possible.

Plutôt que de faire un long discours, je vous invite à lire la présentation de VBRForums sur mon site.

Pour le moment, il s'agit d'une version alpha (version alpha 4). Mais, si vous souhaitez l'essayer, n'hésitez pas à le télécharger (formats ZIP et TGZ, au choix).

Toute critique, pourvu qu'elle soit constructive, est la bienvenue.

Si vous vous demandez comment l'installer, le mode d'emploi est fourni sur le blog de VBRForums.
Modifié en dernier par Victor BRITO le 17 oct. 2007, 16:39, modifié 1 fois.

Mammouth du PHP | 19672 Messages

07 juil. 2007, 00:38

Question : dans la mesure où tu as inclus une couche d'abstraction comme PDO, pourquoi restreindre à MySQL ? :-k

D'autre part, un détail de la configuration requise va être bloquant pour pas mal de monde :
Il doit en être de même pour certaines fonctions (notamment ini_set ()).
Sur des hébergements mutualisés, tu vas devoir oublier ça, je pense à free.fr, mais d'autres ne seront pas mieux lotis.

Voilà, j'espère que ces deux observations ouvriront des perspectives pour une future version ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 4674 Messages

07 juil. 2007, 11:10

Bonjour :)

Je viens aux critiques constructives (du moins je crois :P).

Alors, dans aucun forum, je dis bien aucun, on ne trouve de liens d'évitements. Le site support du projet en comporte bien. Pourquoi ne pas en mettre pour le forum ?
J'entends par là : une liste (sommaire) des forums/salons disponibles. Cette liste serait rendu "invisible" en CSS. De cette façon, pour tous les lecteurs brailles, ce serait beaucoup rapide et pratique je pense.

J'aurais également fait un lien d'évitement pour la connexion. Soit tu la mets avant, ou alors si tu l'as conserve en bas de page, mais met un lien ^^. Imagine le pauvre bonhomme qui doit se fanner toute la page avant de pouvoir se connecter.

Même remarque que Cyrano pour le PDO.

Et autre chose, quel est l'intérêt de développer en PHP 5 si on utilise pas les objets ? Certes, on a des fonctionnalités intéressantes qu'on ne trouve pas en PHP 4. Mais l'objet est tellement plus puissant et agréable. Ca ne reste que mon avis, évidemment :)

Sinon, ça à le mérite d'être un travail respectueux des normes et standards, et accessible :) Merci pour ça.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 2937 Messages

07 juil. 2007, 16:58

Merci pour vos réactions, les gars.

Si j'utilise PDO, c'est que je songe, à terme, à inclure d'autres SGBD que MySQL. Mais, comme je ne connais que MySQL à l'heure actuelle, la patience sera de mise.

Si j'exige l'activation de la fonction ini_set(), c'est que les erreurs PHP ne sont pas affichées, mais consignées dans un fichier .log (après tout, en phase de production, il ne faut ni effrayer l'utilisateur ni donner la puce à l'oreille aux âmes malveillantes du Web :wink: ).

Pour ce qui est de la POO, je ne la maîtrise pas. :oops:

Pour la liste des forums, je vais réfléchir à la mise en place d'un "plan des forums", qui profitera à tout le monde (et non seulement aux aveugles). Cela dit, le tableau, par rapport à ce qu'on peut constater sur phpBB, est on ne peut plus simple dans sa structure et comporte un attribut summary, qui fait le "sommaire" du tableau. De plus, il y a un fil d'Ariane, qui permet de ne pas (trop) se perdre dans la hiérarchie des forums. :wink:

ViPHP
ViPHP | 4674 Messages

07 juil. 2007, 18:13

Je parlais de sommaires pour la navigation interne de la page, et pas pour la navigation dans le forum. Le fil d'Arianne est prévue à cet effet, je l'avais remarqué ;-).

Pour la POO, tu peux lire la documentation PHP. Personnellement, j'ai appris un bon bout avec ça. Le reste a été complèté par des livres de ma BU (Bibliothèque Universitaire). Mais commence par la documentation ;-).

Tiens nous au jus pour l'évolution du projet :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 2937 Messages

07 juil. 2007, 21:16

Je parlais de sommaires pour la navigation interne de la page.
Pourrais-tu être plus clair ? :oops:
Pour la POO, tu peux lire la documentation PHP. Personnellement, j'ai appris un bon bout avec ça. Le reste a été complèté par des livres de ma BU (Bibliothèque Universitaire). Mais commence par la documentation ;-).
J'ai toujours la documentation officielle sur mon disque dur, ainsi que PHP 5 avancé. :wink:
Tiens nous au jus pour l'évolution du projet :).
Il y a d'autant moins de souci qu'il y a plusieurs moyens de se tenir au courant des nouvelles versions de VBRForums. :)

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

08 juil. 2007, 03:00

Si j'exige l'activation de la fonction ini_set(), c'est que les erreurs PHP ne sont pas affichées, mais consignées dans un fichier .log (après tout, en phase de production, il ne faut ni effrayer l'utilisateur ni donner la puce à l'oreille aux âmes malveillantes du Web :wink: ).
Je n'ai pas bien compris ça, pourquoi y aurait-il des erreurs que tu ne puisses pas «catcher» simplement ?
Normalement l'appli ne doit générer aucun warning, notice, ou autre fatal error, sinon c'est qu'il y a un souci dans le projet :langue:
Et s'il y a une erreur due à une mauvaise action de l'utilisateur, une misconfiguration, ou autre chose de détectable, on doit générer une erreur personnalisée (et en profiter pour logger au passage).
Pour ce qui est de la POO, je ne la maîtrise pas. :oops:
Ah c'est dommage, tu devrais t'y mettre, la POO ouvre les portes du monde merveilleux des framework (Zend, Jelix, Copix, Symfony…) et c'est que du bonheur pour structurer un projet. Le maître-mot du développement efficace ⋅ “factorisation” ⋅ devient de plus très simple (et encore plus si on utilise un framework bien conçu).

Pour les lien il me semble qu'HyWan parlait de «liens d'évitement»

Edit: correction des 'r' manquant, il devait y avoir une miette de pain sous ma touche ce jour-là :lol:
Modifié en dernier par naholyr le 08 juil. 2007, 20:43, modifié 1 fois.

ViPHP
ViPHP | 4674 Messages

08 juil. 2007, 19:34

'me suis fais grillé pour le lien :P
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 928 Messages

09 juil. 2007, 10:17

Bonjour, les points négatifs que je retiens (pour permettre l'amélioration de ton projet) :
- Pas de POO utilisée, malheureusement je vois pas vraiment l'intéret de coder en PHP5 si tu n'utilises pas de POO, d'autant plus que ce serait un bon point face à phpBB qui utilise très peu la POO lui aussi.
- Code en français, ce qui est une erreur. J'en ai fait l'expérience avec mon forum, dont la précédente version avait du code en français.
- Le ini_set() ne devrait pas être obligatoire, tu peux logguer des erreurs de façon plus portables avec trigger_error() et set_error_handler() en créeant ton propre gestionaire d'erreur

Bon travail sinon, même si je n'ai pas pu installer le forum pour tester (il ne trouve pas l'extension PDO, alors que je suis pourtant bien sous PHP5 :mrgreen:)
Modifié en dernier par Genova le 18 juil. 2007, 10:10, modifié 1 fois.

ViPHP
ViPHP | 5924 Messages

09 juil. 2007, 17:50

- Code en français, ce qui est une erreur. J'en ai fait l'expérience avec mon forum, dont la précédente version avait du code en français.)
En même temps, avec du code en anglais, j'arrive plus à y accéder :mrgreen:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

09 juil. 2007, 19:05

- Code en français, ce qui est une erreur. J'en ai fait l'expérience avec mon forum, dont la précédente version avait du code en français.
Tu devrais expliciter ce point, car c'est en général sujet à discussion mais je n'avais jamais lu d'avis aussi catégorique (je suis personnellement favorable au codage en anglais, simplement parce que j'utilise beaucoup les getters/setters, et puis entre les foreach et les new, ça fait bizarre d'avoir deux langues, mais je ne trouve pas qu'on puisse aller jusqu'à qualifier d'erreur le fait de coder dans sa langue natale). Qu'y a-t-il de si erroné dans cette façon de faire ?
Le ini_set() ne devrait pas être obligatoire, tu peux logguer des erreurs de façon plus portables avec trigger_error() et set_error_handler() en créeant ton propre gestionaire d'erreur
+1, d'ailleurs j'aurais bien aimé avoir la réponse de Victor sur ce point parce que j'ai fait le même commentaire plus haut :(

ViPHP
ViPHP | 5924 Messages

09 juil. 2007, 19:20

- Code en français, ce qui est une erreur. J'en ai fait l'expérience avec mon forum, dont la précédente version avait du code en français.
Tu devrais expliciter ce point, car c'est en général sujet à discussion mais je n'avais jamais lu d'avis aussi catégorique (je suis personnellement favorable au codage en anglais, simplement parce que j'utilise beaucoup les getters/setters, et puis entre les foreach et les new, ça fait bizarre d'avoir deux langues, mais je ne trouve pas qu'on puisse aller jusqu'à qualifier d'erreur le fait de coder dans sa langue natale). Qu'y a-t-il de si erroné dans cette façon de faire ?
Pour ma part, je pense que les avantages d'un code en anglais sont :
-Esthétisme, un code en français, c'est franchement laid.
-Typographie et orthographe, il y a énormément de subtilités franco-françaises qui ne se retrouvent pas en anglais (conjugaisons, accents, ...) et qui nous poussent à écrire de manière différente une même variable (mais l'interpréteur PHP il est trop con pour comprendre ca :) )
-Convention, parce que tous les codes du monde sont en anglais, et que c'est beaucoup plus facile de modifier un code en anglais qu'un code dans une langue inconnue.
-Vocabulaire, le vocabulaire informatique est en anglais, un stream, un socket, un trigger, ce sont des termes qui veulent dire quelquechose de précis...
-Professionnalisme, un code en anglais fait plus pro.

ViPHP
ViPHP | 928 Messages

09 juil. 2007, 20:19

Désolé je ne voulais pas poster un avis si catégorique, mais c'est un point sur lequel insister je pense. Sékiltoyai a résumé les principales lignes. L'anglais étant le langage conventionel et international, il est indispensable pour une portabilité du projet, surtout pour de l'open source. De plus écrire en français est souvent plus lourd, l'anglais est généralement très pratique pour donner des noms très explicites aux fonctions sans utiliser des termes à ralonge propre au français. Et étant donné que beaucoups de termes informatiques sont anglais, mélanger les deux très bizare.

Mammouth du PHP | 2937 Messages

10 juil. 2007, 15:57

Personnellement, je préfère coder en français car je ne suis pas à l'abri de laisser des fautes de langue si je le fais en anglais (d'ailleurs, si quelqu'un peut vérifier les fichiers contenus dans les différents dossiers "lang/en" pour voir si je n'y ai pas laissé trop de bêtises, je lui en serai reconnaissant :wink: ).
Le ini_set() ne devrait pas être obligatoire, tu peux logguer des erreurs de façon plus portables avec trigger_error() et set_error_handler() en créeant ton propre gestionaire d'erreur
+1, d'ailleurs j'aurais bien aimé avoir la réponse de Victor sur ce point parce que j'ai fait le même commentaire plus haut :(
Pour l'ini_set(), je verrai ce que je pourrai faire. :wink:

Soit dit en passant, une nouvelle version alpha est disponible.