Interview de Duncan Idaho
PWS-PHP est un portail web (CMS) écrit en PHP et fonctionnant avec une base de donnée MYSQL. C'est un portail basé sur un système de gestion de contenu permettant de gérer sous la même interface des systèmes tel qu'un système de nouvelle, d'article, de livre d'or, de forum ou de lien web, etc...
Ce portail a été réalisé par Emmanuel Bouillon et Luc Vauvillier. Voici l'interview de l'un des auteurs.
Salut, bien nous allons démarrer cette interview, tu le veux bien ?
Bien sur :-)
Q - Qui es-tu, tes origines, es-tu étudiant ou travailles tu ?
E.B. - Je m'appelle Emmanuel Bouillon, j'ai 19 ans, je suis en
1ere année dans un IUT d'Informatique à Lens dans le Pas-de-Calais
Q - Qu'es-ce qui t'as attiré vers l'informatique ?
E.B. - Euh, j'y suis depuis tout petit. j'ai du commencer à
bricoler sur un 286 avec le DOS et Windows 3.1 (Qui s'en souvient
encore ? C'est rapidement devenu une passion.
Q - Depuis combien de temps surfes-tu sur le web ?
E.B. - J'ai du commencer en 1998 ou 1999. Je profitais de l'offre oreka 18h / mois gratuites
Q - Tu as développer un cms, es-ce ta première expérience, sinon comment as-tu débuté ?
E.B. - J'ai commencé par créer quelques sites sur l'informatique
et l'électronique, puis que sur l'informatique. Au fur et à
mesure, mes sites ont évolués, de HTML de base au PHP.
Q - Beaucoup de CMS sont en php, pourtant des languages de
programmation alternatifs existent : qu'est-ce qui a conditionné ton
choix ?
E.B. - J'ai commencé à faire en PHP un site sur les calculatrices, http://tiprogs.free.fr. Ensuite, Luc m'a proposé de faire un portail, ce que j'ai tout de suite accepté (ca rentré dans mes projets)
Q - Comment procèes tu pour concevoir le cms ?
E.B. - On a voulu concevoir un CMS entièrement personnalisable. On
peut changer de place les différents modules et changer l'interface
grâ¢ce à des thèmes. PwsPHP reconnait automatiquement les modules et
les thèmes une fois qu'ils sont ajoutés dans le bon répertoire.
Un des points important d'un CMS, et ce qui le rend plus dur à
programmer qu'un site normal, c'est qu'il doit être modulable.
Une chose à faire avant de commencer à coder, c'est coucher ses
idées sur papier : on doit noter tout ce dont on risque d'avoir
besoin pour ne pas se retrouver coincer par la suite.
Je pense qu'il faut tout prévoir, tout imaginer et ne garder que les
meilleurs idées pour ne pas avoir à rechanger quelque chose par la
suite.
Q - Quel a été la motivation de concevoir un CMS alors qu'une multitude d'autre existe ?
E.B. - Quand je fais un site, je n'ai pas envie d'utiliser quelque
chose de déjà fait, je préfère le faire moi même, sinon on ne peut
pas totalement dire "c'est mon site !" Et puis c'était un
challenge important. :-)
Q - Pws c'est rapidement développé et il semble prometteur quant à
son avenir, tel que NPDS : quel bilan fais-tu à l'heure actuelle
?
E.B. - Nous avons déjà eu quelques problèmes avec les requêtes. Le
nombre de requêtes est énorme et nous allons devoir optimiser au
maximum. Il faut aussi améliorer la compatibilité de PwsPHP avec les
variables globales à off.
Q - Héberger un CMS est difficile : ils sont gourmands en
ressources, il manque souvent chez les hébergeurs gratuits toutes les
fonctions essentielles au bon fonctionnement du cms, alors est-ce que
pws fonctionne très bien chez les gratuits ?
E.B. - PwsPHP fonctionne bien sous Free (il y a eu une petit problème
avec l'install, mais cela a été corrigé). Sous Lycos, l'envoi
d'emails avec PwsMail ne fonctionne pas à cause de la pub.
Q- Quels sont les fonctions primordiales en PHP pour bien faire
fonctionner PWS ? (je veux dire qu'il faut que certaines fonctions
php soit actives ou non : par exemple la fonction mail() ou le magic
quote : parfois certaines fonctions php ne doivent pas être actives)
E.B. - l'envoi de mail n'est pas indispensable a PwsPHP, bien sur,
on peut le désactiver dans les options. Ou alors utiliser PwsMail, un
programme que j'ai fait pour envoyer les mails. le principe est le
suivant :
Quand un mail doit être envoyé, le portail l'enregistre dans la
base de données. Le Webmaster lance de temps en temps (ou alors tout
le temps) le programme PwsMail sur son ordinateur. PwsMail se connecte
au site, récupère les emails à envoyer et les envois lui-même
grâce à un serveur SMTP (que l'on doit lui préciser)
Ca marche sur tous les hébergeurs, sauf ceux qui affichent de la pub
(Ifrance, Lycos), mais avec la version 2 de PwsPHP, je ferais une
version 2 de PwsMail qui corrigera ce problème.
Pour les autres fonctions, les var globales et error_reporting, on peut plus ou moins compenser avec quelques scripts.
Q - Pws est-il un énième fork nuke et si oui quels sont les principales différences ?
E.B. - Je n'ai jamais testé PHPNuke. Mais nous avons codés la base
de PwsPHP à partir de zéro. Nous ne nous sommes inspiré d'aucun
portail et nous avons fait Notre CMS.
Q - Quels sont pour toi les trois principales qualités d'un cms ?
E.B. - L'adaptabilité, la sécurité et la facilité d'utilisation.
Q - Pws les apportent-elles ?
E.B. - L'adaptabilité, oui, je pense (il n'y a qu'à voir www.32eme.net),
la sécurité, pas tout à fait, nous avons trouvé plusieurs grosses
failles ces derniers temps et la facilité d'utilisation, je pense
que oui.
Q - Quels sont ces principaux défauts ?
E.B. - Les trous de sécurité que nous avons trouvés, le nombre de requêtes MySQL.
Q - Beaucoup souhaite pouvoir personnaliser leur cms facilement : pws va-t-il dans ce sens ?
E.B. - On peut personnaliser beaucoup de choses, mais il faut encore
savoir faire du HTML si on souhaite personnaliser son thème.
C'est en projet de mettre une interface de personnalisation des thèmes pour pouvoir changer les couleurs, textes et logos.
Q- PWS va passer à la version 2.0 : quels sont les changements notables ?
E.B. - Quand nous avons commencé PwsPHP , nous n'avions bien sur pas
beaucoup d'expérience, nous avons laissé derrière nous un code pas
très propre et des failles.
Recoder Pws nous permettra de l'optimiser en rapidité, en sécurité et en compatibilité.
Certaines parties que nous avions faites dès le début ne sont pas très bien codée, le code est incompréhensible.
De plus, une des fonction de Pws est ou plutot devrait être la gestion
de groupes. Chaque groupe pourra avoir des news privées, des
catégories dans le forum, ...
Comme nous n'avons pas développés cela au départ, il nous est
difficile de l'intégrer maintenant. Lors du recodage, nous
veillerons à inclure cela dès le début.
Un autre changement devrait être le cryptage des mots de passe dans la
base de données, ce n'était pas évident de mettre ca en place dans
Pws 1.
Q - Les modules semblent être développer à part. Mais sont-ils simples à adapter ?
E.B. - Ce n'est pas très compliqué de créer un module. Il suffit
de commencer avec des exemples et d'adapter en fonction de ce que
l'on veut faire. Il suffit de s'y connaitre un peu. Cependant, il
n'y a pas vraiment de "standard" : par exemple, si on veut
récupérer l'adresse email de l'utilisateur, on doit faire une
recherche dans la base de données à partir du pseudo. Dans Pws 2, une
variable contiendra toutes les infos sur l'utilisateur.
Par contre, il est plus difficile de créer un thème. Mais là, il est
nécessaire de s'appuyer sur un thème déjà existant.
Q - PWS s'internationalise-t-il ?
E.B. - Nous allons créer une fonction dans la traduction pour Pws 2.
Une traduction avait été commencée par deux membres mais n'a pas
aboutie.
Q - La communauté est-elle importante et s'implique-t-elle bien au développement de PWS ?
E.B. - En règle générale, les membres qui s'investissent beaucoup
dans le développement de Pws sont passés modérateurs. De nombreux
modules ou thèmes ont été réalisés par des membres ou des modos.
Q - Beaucoup de cms utilise un système de cache pour accélérer le cms au chargement : es-ce prévu pour PWS ?
E.B. - On verra... ca ne fonctionne que sous PHP 4, je crois. Inutile
pour l'instant de le rendre incompatible avec certains serveurs. Mais
on pourrait le mettre en plug-in, par exemple.
Q - un colloque à Bordeaux aura lieu concernant le monde du libre
et les différents intervenants des CMS sont invités à s'y rendre
pour représenter tel ou tel cms : participeras-tu à cette réunion ?
E.B. - Euh, il faut que je poste une news pour demander si quelqu'un
habitant pas trop loin peut y aller, Luc habite a paris et moi dans le
nord, ça fait trop loin.
Q - que pense-tu de l'évolution actuelle d'internet ?
E.B. - Je ne vais pas faire un discours sur la loi de l'argent qui arrive sur internet :-)
Il y a beaucoup de communautés qui développe du logiciel libre, et c'est ce qui importe
Tant qu'il y aura des gens qui se dévoueront au service de la communauté, Internet restera le même ;-)
Q - Une loi va remettre en question la liberté d'internet : quel est ton avis sur la question ?
E.B. - je ne connais pas tous les détails de cette loi, mais je crois
qu'une partie rendra les hébergeurs responsables du contenu qui est
déposé chez eux par leurs clients. (Si c pas ca, dsl )
Ce n'est certainement pas la bonne manière de procéder. Ca va
obliger les hébergeurs à engager des frais supplémentaire pour le
contrôle des sites. Je pense qu'un hébergeur ne peut être tenu
pour responsable que dans le cas ou il est mis au courant et qu'il
ne fait rien.
Q - Quels sont selon toi les besoins des internautes ?
E.B. - La liberté, et la gratuité, je pense
Mais la liberté à ses limites, et la gratuité aussi.
On ne peut pas faire ce qu'on veut sur le net et les programmes
gratuits peuvent avoir des défauts ;) Bon, d'accord, les programmes
payants aussi
Q - Quels sont les conseils que tu donnerais à un jeune webmestre
désireux de se lancer dans la création complète d'un site avec
l'aide par exemple d'un CMS comme PWS ?
E.B. - Ne pas nous faire de concurrence ! (lol)
Plus sérieusement, je ne pense pas pouvoir dire comment faire pour
faire un portail, au niveau sécurité, optimisation, ... On fait des
erreurs et on les corrige. Quand nous avons commencé Pws, nous avons
fait de nombreuses erreurs, et c'est pour ca que nous allons le
recommencer.
Un conseil pour ceux qui voudraient débuter ? Déjà je pense que la
sécurité est un point important, personne ne prendra un portail qui
peut être facilement piraté. Mieux vaut vérifier toutes les entrées
/ sorties pour plus de sureté.
Q - Il semble que tu travailles sur un nouveau projet : est-il indiscret de te demander lequel ?
E.B. - C'est SpaceWars (pour l'instant sur http://www.pwsphp.com/SpaceWars/)
En fait, je joue à starship (www.starship-fr.net) Ce jeu m'a plu
mais je trouve qu'il comporte quelques lacunes. Je fais un jeu basé
sur le même système (des vaisseaux qui bataillent ou commercent) mais
sera, a terme, plus élaboré. mais je n'ai pas envie de le rendre
public pour l'instant.
Merci Emmanuel.
E.B. - @++