Le camarade Palleas vient de donner un avis tranché voire lapidaire sur WordPress. Notre CMS serait codé avec les pieds, utiliserait une logique procédurale has been pour rester compatible avec PHP4, etc. De plus, pour ne pas faire les choses à moitié, le billet en question n’oublie pas les personnes qui ont choisi de proposer WordPress comme solution professionnelle pour la création d’un site web plus ou moins complexe : elles en prennent aussi pour leur grade.
En ce qui concerne les remarques sur le code de WordPress, je partage en grande partie les frustrations de Palleas. Je suis également quelqu’un de perfectionniste qui préfère travailler avec des bons outils plutôt qu’avec des mauvais. Toutefois, certains arguments — comme vouloir à tout prix passer à PHP5 pour profiter d’une programmation orientée objet — sont discutables.
La programmation procédurale est plus performante que l’objet qui nécessite plus de ressources. Par ailleurs, PHP4 est encore largement utilisé dans le monde et je trouve plutôt positif qu’une organisation comme WordPress tienne compte de cette forme d’accessibilité qui consiste à supporter (j’utilise l’anglicisme à dessein) les configurations obsolètes, à la manière de la prise en compte des vieux navigateurs comme IE6. Plus qu’une oeuvre de charité, c’est aussi une démarche fondamentale lorsqu’on vise une audience mondiale.
Note : d’après le commentaire de Marie-Aude, il semble que l’équipe de WordPress ai cessé d’assurer la compatibilité avec PHP4 depuis plusieurs versions déjà.
Ce qui m’amène à préciser que WordPress a été conçu pour être utilisé par un public large, c’est-à-dire pas forcément féru d’informatique ou de programmation. Tout est fait pour qu’avec un minimum d’intérêt et de motivation, la ménagère de moins (ou plus) de 50 ans puisse publier des articles, installer elle-même sa page contact, créer ses rubriques, etc. C’est la même philosophie qui fait que la création d’un thème WordPress est si simple et qu’un minimum de connaissances suffise pour se lancer dans l’aventure.
Bref, dans WordPress, c’est le code qui est au service de l’auteur du blog et pas le contraire ! Ceci dit, WordPress est une plate-forme de blog, alors pourquoi donc vouloir lui faire faire tout et n’importe quoi ? Ce ne sont pourtant pas les CMS offrant du code et une architecture respectant un standing de haut niveau qui manque !
Certains voient dans cette suprématie de WordPress, un calcul marketing et une volonté d’écraser la concurrence comme le fait Google dans le secteur des moteurs de recherche. Pour ma part, cette supériorité s’explique aisément : il n’existe pas de CMS gratuit proposant un éditeur visuel et un système aussi simple et performant pour gérer les images que WordPress. Il ne faut pas perdre de vue que la saisie et la mise en forme de textes et d’images sont le coeur et la raison d’être de tout CMS.
L’absence d’un éditeur visuel intégrant images, son, vidéos, etc. se fait cruellement sentir au moment d’expliquer aux clients que non, pour afficher les images de son choix, ça ne va pas être possible ou si peu… Mon article sur les étapes nécessaires pour avoir dans Drupal un confort similaire à WordPress out of the box en témoigne.
Du coup, même si les besoins du client font pencher la balance pour l’installation d’un CMS plus costaud comme Drupal, j’ai quand même tendance à pousser WordPress dans ses retranchements pour éviter que le client ne passe son temps à se battre contre son système de gestion et de publication de contenus au lieu de travailler avec 😉
Mes deux cents 😉
Notes du 23/01/2010 à 13h25 pour préciser mon opinion
J’ai bien compris que Palleas ne s’attaque pas à tous les utilisateurs de WordPress mais seulement à ceux qui pensent être développeurs parce qu’ils ont copiés-collés un `if ( is_home() )` dans un thème WordPress. Pourquoi pas. Le (petit) problème c’est que ces propos ne visent personne en particulier, donc, fatalement, tous les utilisateurs de WordPress se sentent un peu visés, c’est la nature humaine (toujours le même problème).
Je vais revenir sur la manière dont WordPress est codé. Mais avant, je demande aux développeurs d’ouvrir un peu les fenêtres et de prendre un bol d’air frais ! Ca fait des années que des amis développeurs (certainement les mêmes que Palleas) m’ont expliqués pourquoi ils trouvaient que WordPress était mal codé et comment il faudrait faire pour obtenir quelque chose de mieux. Ce n’est donc pas nouveau et d’ailleurs au sein même de WordPress il y a des débats qui se sont soldés par la création d’un nouveau système de blog bâti sur des fondations plus saines (programmation objet, etc.) par une équipe « dissidente ».
Ce projet s’appelle Habari (http://habariproject.org/en/) et tout un chacun peut le télécharger et contribuer à son développement. Je l’ai d’ailleurs installé à l’adresse https://4design.xyz/factory. Je suis donc surpris de constater que des « vrais » développeurs continuent d’installer des WordPress pour leurs besoins personnels, au sein de leur entreprise, ou pire encore, pour leurs clients alors qu’une alternative « cool » existe ! S’ils continuent, c’est que le projet WordPress dans son ensemble ne doit pas sentir si mauvais que ça 😀
Pour en revenir au code, il faut que les développeurs purs et durs prennent conscience que tous les intervenant de la chaine de production d’un site web n’ont pas les même notions quant à la qualité du code ni les mêmes attentes.
Il m’est souvent arrivé de pester contre des développeurs ravis d’avoir trouvé une solution élégante pour résoudre leur problème sans s’inquiéter de savoir si les fonctions, classes, méthodes, etc. qu’ils avaient développées correspondaient aussi aux besoins des intégrateurs web en bout de chaine. Le syndrome du : « j’ai fait mon boulot, ça marche chez moi » est un argument récurrent.
De ce point de vue, les fonctions (template tags) proposées par WordPress pour les intégrateurs sont un modèle du genre et chaque fois que je le peux je les montre aux développeurs avec qui je dois travailler pour leur donner une idée de ce que sont des livrables « cool » du point de vue de l’intégration.
PS : je viens de tomber sur cet excellent article qui tombe bien à propos : Pourquoi je suis passé de Dotclear à WordPress.
Put$#@ mais arrêtez de dire que WordPress est un CMS, ce n’est pas vrai. WordPress est un blogware, pas un CMS. Un CMS c’est un système de GESTION de contenu, pas un système de PUBLICATION. Déjà que SPIP ou Typo3, c’est limite… mais là, WordPress, arrêtons de déconner.
Bientôt les mecs se diront développeurs WordPress comme on a des développeurs JAVA ou Typo3… ah merde, c’est déjà le cas.
[troll /ON]
http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu
http://www.cmsmatrix.org/matrix/cms-matrix/wordpress
http://php.opensourcecms.com/scripts/details.php?scriptid=88&name=WordPress
http://www.packtpub.com/award
Si WP n’est pas un CMS, il faudrait le dire aux petits sites ci-dessus 😉
[troll /OFF]
Merci pour la différence entre gestion et publication à laquelle je n’avais pas vraiment pensé en écrivant ce billet. A son niveau, WordPress fait un peu des deux, juste un peu, mais ça semble suffire à de nombreuses personnes. Après, si tu penses que le terme blogware convient mieux à ce qu’est censé faire WordPress, je n’y vois pas d’inconvénient.
S@lut Bruno,
Je crois que c’est mon premier commentaire sur ton blog. J’ai lu moi aussi le post de Palleas, et même si je le rejoins sur pas mal de point de points, je pense moi aussi que c’est à l’informatique de comprendre les hommes et pas l’inverse 😉
Depuis maintenant deux ans je propose des CMS libres avec intégration de réseaux sociaux à mes clients en Lozère et WordPress remporte haut la main la palme de l’outil le plus simple à comprendre pour le professionnel désirant se doter d’un outil lui permettant de gérer sa communication.
J’en ai essayé plusieurs de Spip à EzPublish en passant par Joomla (j’ai fait l’impasse sur Drupal pour cause de communauté trop orientée buzz/business), j’ai même fait un article il y a un moment, republié ici récemment et la conclusion est (de mon petit point de vue) que le but d’un CMS est de se mettre au niveau de l’utilisateur final, donc à part quelques structures disposant de ressources info en internes WordPress a été quasi systématiquement choisi par les clients, je dis bien par les clients et pas par moi.
Ce que veulent les utilisateurs finaux c’est ne surtout pas se prendre la tête avec la technique et pouvoir gérer leur outil simplement 🙂
Ce serait sans doute l’une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code…
Didier.
@Wolforg — Je n’avais encore jamais pensé proposer aux clients de tester le back-office qui leur convenait le plus parmi ceux qui correspondent au cahier des charges. C’est une voie à explorer et plutôt deux fois qu’une… Merci pour l’idée !
Je pense quand même qu’il y a une bonne raison pour que ton pseudo sur twitter soit « integrateur_css » et pas « developpeur_web », surtout lorsque l’on voit des phrases telles que « La programmation procédurale est plus performante que l’objet qui nécessite plus de ressources » qui ressemblent fortement, pardon, à du « Wikipedia regurgita ». Oui, la programmation Objet prend plus de ressources, mais ce sacrifice va permettre de gagner en lisibilité, maintenabilité, organisation, pérennité (parce que tests unitaires, etc.).
Quand, comme WordPress visiblement, on vise à toucher un public aussi large et de simplifier une gestion de contenu complexe, que l’on veut permettre la création de plugins et que l’on veut fédérer une communauté de développeurs (et on de bidouilleurs), je suis désolé mais l’objet est plus que conseillé. Le simple fait que l’on soit obligé d’utiliser MySQL montre qu’ils pourraient être bien plus ouvert en utilisant une bibliothèque d’abstraction (à la Doctrine ou Propel, par exemple).
De plus, je vais contredire un autre point vis à vis des propos que tu me prêtes. Je n’ai absolument pas critiqué les personnes choisissant WordPress pour répondre à un besoin client, ne me fait pas dire ce que je n’ai pas dit. Le sujet de mon article est simplement de critiquer les gens qui se prennent pour des développeurs parce qu’ils bidouillent le core de wordpress. Note la nuance, tu vends ce que tu veux à tes clients.
Et enfin, passons à ta remarque sur PHP4 dont le maintient de la compatibilité est comparé à… IE6. Soyons honnête (et sérieux), pourquoi ne pouvons pas tout simplement oublier IE6? Parce que les gens l’utilisent. A contrario, tu pourrais dès demain passer ton blog sous django, ror ou PHP5 que cela ne changerais absolument rien pour l’utilisateur. L’amalgame des problèmes inhérents aux technologies clientes avec les technologies serveurs me parait plus que discutable.
PHP4 est une ancienne technologie qui a fait son temps. Aujourd’hui, elle n’est même plus supporté par la coreteam de PHP! Si un bug ou une faille était découvert dans PHP 4, personne ne serait là pour la corriger. Alors non, ce n’est pas de l’accessibilité de continuer à supporter une technologie obsolète, c’est de la connerie. Un outil comme WordPress, en passant tranquillement à PHP5, pourrait contribuer très largement à abandonner PHP4. Je ne vois d’ailleurs pas ce que « la charité » vient faire ici, quand on peut se payer un serveur tournant sous PHP4, il y a de grande chances que l’on puisse se payer un serveur PHP5 à la place, ce n’est pas comme si cette version de PHP était un produit de luxe!
@Palleas — De temps en temps il m’arrive de relire certains de mes billets et en relisant ton commentaire j’ai voulu apporter une petite précision. Quand tu dis que :
En fait, tu confond les bonnes pratiques de développement avec les outils de développement eux-mêmes. C’est comme en PAO : c’est pas l’utilisation de Gimp ou de Photoshop qui fait le professionnel, mais plutôt les usages que l’on en fait. Pareil pour la photo, le noir et blanc n’est pas supérieur à la couleur (ni l’inverse). Etc.
C’est la même chose pour la programmation procédurale vs la programmation objet : un développeur brouillon fera de la m**** avec le l’objet tandis qu’un développeur organisé fera des merveilles avec du procédurale, y compris en terme de maintenance, etc.
J’ai bon ? 😉
Tu as à peu près bon, mais la programmation OO permet de faire des choses que le procédural ne permet pas, ce qui permet (éventuellement), oui, de gagner en maintenabilité, compacité du code, etc.
Maintenant, effectivement, l’OO ne protège pas contre le code dégueulasse ou imbittable (donc difficilement maintenable car trop complexe).
De même que tu ne peux pas exactement faire la même chose avec Gimp et Photoshop…
+1 WordPress = simplicité d’utilisation coté utilisateur et coté développeur/intégrateur.
Après que l’on appelle cela blogware, CMS ou scrameugneu n’a aucune importance, l’essentiel (pour moi), c’est qu’il fasse ce que je lui demande. En l’occurrence, il est fort pratique pour la création de petits sites et blogs. (Toutefois il me semble qu’un blogware est un Système de Gestion de Contenu, non ? cf. : http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu)
Mais je suis d’accord avec Frédéric pour l’histoire des « développeurs WordPress », même si cela ne me tiens moins à coeur qu’à lui 😉
Aussi, la façon dont le « bignou » est codé m’importes peu (mais je ne suis vraiment pas un codeur dans l’âme), encore fois, l’essentiel pour moi c’est qu’il réponde à mes attentes (et celles de mes clients).
CMS, Blog, truc, bidule… On s’en tape !! Le client s’en tape. Il veut pouvoir mettre en ligne du texte, des photos, de la vidéo. Point barre. Quand les informaticiens arrêterons de faire l’informatique entre eux, on aura gagné. Mais c’est pas gagné, justement…
Le débat de savoir si wordpress est ceci ou cela, au fond, ça passionne qui? Les Geek. Point. Le quidam, mais il s’en tape d’une force que vous n’imaginez même pas. Lui, il veut que « ça marche ». Point. Quand il veut mettre sa photo en ligne, il veut que « ça marche ». Ça rend dingue un dev’ ce « ça marche » hein ? 🙂
Question : le mec qui bosse sur WP, on l’appel comment ?? L’usurpateur ?
PS : heu, sur un blog, y’a quoi ? du contenu, non ? Et, heu, quand je suis sur mon back-end WP, je fais quoi ? Je gère mon contenu ou je tricote ??… Expliquez moi… je voudrais comprendre.
Désolé, mais je rejoins Palleas sur ce débat. Pour moi, continuer à supporter une technologie obsolète est une perte de temps. Premièrement cela maintien « à moitié » en vie cette technologie. Surtout quand on réfléchit un peu et que l’on regarde un peu plus loin. Je veux dire par là que quoi qu’il arrive, que ce soit dans 1 mois ou 5 ans, le changement devra être fait.
Ensuite pour ce qui est des performances, coté utilisateur, je ne pense pas que la différence entre procédurale et objet soit si marquée. Mais en tant que développeur, par contre, il n’y a pas photo. Comme Palleas la dis plus haut, pour des raisons de lisibilité, maintenabilité, organisation, et pérennité plus jamais je n’utiliserais du procédurale si j’ai le choix.
Par contre, il est vrai que le seul but est de satisfaire le client. Lui n’en rien à ***** tant que cela marche. Alors pourquoi ce « brider » quand on peut faire le choix de l’éviter ??
Je terminerais sur les mêmes conclusions que Palleas, être développeur WordPress n’existe pas … Développer ne veux pas dire toucher au code en rajoutant quelques conditions … Il faut avoir un minimum de conscience professionnelle et pensez aux gens qui reprendront le code …
Expliquez moi en détail ce qu’est que coder ? Je suis désolé, mais à un moment, tu touches du code et tu ajoutes quelques lignes ici ou là. Sémantiquement parlant, c’est du code. Point.
Après, tout est question de point de vue. Celui que vous défendez est respectable. Mais élitiste. A vous écouter, il interdirais à des gens comme moi de toucher au code, de bidouiller. Mais vous devriez être fièrs que le quidam s’intéresse à votre métier ! Car au fond, comment naissent les vocations ? hé, les gars, à un moment, avant d’être des bons, vous avez été des burnes en code (pardon pour ce langage) !! Vous n’êtes pas nés avec le bouquin PHP dans la tronche 🙂
Que vous souhaitiez défendre une appellation, une métier soit,je comprend le propos. Mais ne devenez pas des ayatollah c’est bon, y’a ce qu’il faut.
Oui c’est vrai sémantiquement parlant, c’est du code. Par contre encore une fois, ne nous fait pas dire ce que nous n’avons pas dit. En aucun cas, nous n’interdisons à des gens de coder.
Cependant, si je pilote un petit avion, je suis pilote de ligne ?? C’est vrai c’est notre métier, c’est vrai que j’aime mon métier (et Palleas aussi je pense).
C’est vrai qu’on était des « burnes » avant, mais nous avions l’intelligence de ne pas nous prétendre développeur !
Tu exagères vachement, et ça finit par déformer mon message de départ, donc je ne vais pas te répondre si c’est pour me répéter 🙂
Tiens, de bon vieux débat de derrière les fagots.
Perso, je ne suis pas codeur, et presque pas informaticien car de tout façon ce que j’ai appris hier et périmé demain si je ne l’entretien pas.
J’utilise WordPress depuis maintenant 1 an et je le trouve bluffant par sa simplicité d’utilisation. Après je crois qu’il permet de mettre en place des sites à des prix raisonnable que personne ne pouvait se payer voilà à 5ans.
J’ai voulu me mettre à d’autres « CMS », mais soit ils n’ont presque pas de communauté, soit la logique même de l’organisation est tellement absurde (allez, je balance, je déteste joomla) que l’on passe plus de temps à apprendre comment fonctionne l’appli qu’à lui faire faire ce que l’on veut. Donc wordpress rassemble beaucoup de qualités pour se développer encore. Car combien d’application open-source se mettent à jour en moins de 5 minutes ????
Je suis un partisan du codage perso pour arriver à la perfection et à l’optimisation d’un projet, mais dans certains cas, l’utilisation d’une plateforme permet de produire un résultat au dessus des attentes du client.
Mais je crois que je vais me mettre à Drupal pour créer des projets plus complexes.
Oh les ptits gars, on se calme.
Le seul vrai développeur ici c’est moi.
J’ai entre autres développé la méthode lmc4, levé midi couché 4 h. 10 ans de r&d, les doutes, les angoisses. Mais maintenant, 1 million d’anciens salariés pratiquent cette méthode quotidiennement.
Et je n’ai rien gagné, c’est open source …
Bon, sinon, un développeur c’est un développeur, un intégrateur c’est un intégrateur, et ainsi de suite. Et un bidouilleur c’est un …
En voilà un débat intéressant ! 🙂
Après avoir lu le billet de Palleas, puis celui-ci, je suis plutôt amusé de voir de quelle manière le sujet dérive.
De mon point de vue, Palleas à complètement raison et Bruno n’a pas tord.
En effet, on ne peut pas dire WP soit un modèle dans le monde de l’open-source : codé avec les pieds, de la logique plein les templates, et la non volonté d’évoluer (passage à PHP5, POO, etc.).
Il n’en reste pas moins que WP a permit de vulgariser l’accès à la publication de contenu pour monsieur toutlemonde, de par sa simplicité de customisation, au détriment de la qualité du code : dehors c’est très jolie (il y a de superbe thèmes), dedans c’est tout caca et pas mal de gens s’en moque (cf quelques commentaires ci dessus) tant que ça marche.
Pour prendre un exemple illustrant les propos de Palleas, ma copine est DA (webdesign, Photoshop toutça) et pourtant elle maintient 2 ou 3 blogs sous WP : elle a réussi à créer la BDD, installer WP, le configurer, installer un thème et le modifier selon ses besoins et ajouter quelques bouts de codes PHP trouvés sur le site WP FR… elle n’est pas Dev Web pour autant ! C’est là tout le propos de Palleas.
Pour ma part, à chaque fois que j’ai mis les mains dans WP, j’ai hurlé : « mais c’est quoi ce code de merde, comment ça peut tourner ce truc ?! » Et pourtant ça marche WP, voir très bien et le backend est ergonomique (Drupal 7 s’en ait même fortement inspiré). Mais ce n’est pas parceque ça fonctionne bien qu’il n’est pas autorisé de critiquer le moteur !
C’est là qu’on en vient au dérapage : « mes clients sont content », « c’est pas cher à déployer », « mon client s’en fout de la techno », « arrétez de faire les geeks techos », bla bla bla.
Dans mon métier de tout les jours, je me bat contre ce principe du vite fait bien fait, cette volonté commerciale de vendre et produire, qu’importe la manière ou le support. Une solution technique un minimum bien fichu et bien conçu coutera moins cher à maintenir qu’un script PHP se transformant en CMS à force de surcouches mal pensées, tel que WP.
Bref, tout ça pour dire que je comprend le point de vue de Bruno mais que je ne peux que me rallier à celui de Palleas.
WP est aussi facile d’accès pour l’utilisateur qu’il est mal adapté au développement web et a la volonté de certains d’en faire un CMS.
Bon, en fait je suis vraiment un développeur. Avant on disait analyste-programmeur (ça fait 20 ans que je fais ça).
je suis d’accord que l’objectif c’est de gagner sa vie, et que le moyen importe peu.
Mais en tant que développeur, je me dis qu’aujourd’hui le rapport php5/php4 est environ 70/30, et qu’il serait bien de suivre la tendance, histoire de ne pas se faire reprocher dans un an ou deux d’avoir embarqué un client dans un truc obsolète.
Question cms, il y a des usines à gaz, façon joomla, drupal, … mais il y en a d’autres.
Par exemple, il y a un truc sympa en cours de développement, ça s’appelle sympal, c’est un cms basé sur le framework symfony (un truc bien fait par des français). C’est encore une version alpha, mais à suivre …
Ooops, pas vu le post précédent, mais ça ne change pas grand chose …
Et je suis assez d’accord avec Namo (en tout cas de ce que j’ai cru lire entre les lignes) : utiliser un outil simple pour faire quelque chose vite fait bien fait, d’accord, mais si on s’installe dans ce système, à terme on sera limité, et il faudra faire du bricolage … ou tout remettre en question et repartir sur une base plus solide. Bref, ce qu’on gagne au début, on le perd à la fin …
Bonjour,
Développeur? pourquoi Google, Microsoft utilise wordpress avec les meilleurs développeurs à leur service. Je refais souvent des sites fais par des « développeurs » beaux devant et rien derrière, voir balises absentes, pas de référencement. WordPress offre la simplicité d’utilisation, des mises à jour permanentes pour la sécurité qui est mouvante , une grande simplicité d’utilisation pour le client et sa vraie grande qualité sont le référencement d’un site avec WP. J’utilise WP et Joomla pour les sites de clients suivant le cahier des charges, mais il n’y a pas photo. Quand au titre je connais des développeurs nuls et des « menuisiers » de métier autodidactes qui bidouillent WordPress et font de très bonnes choses. Le résultat étant la satisfaction du client, le professionnalisme sur ses services, son CA et surtout de na pas être obligé de revenir sur le site toutes les 5′. PHP4, PHP5 le client ou l’utilisateur s’en moque, et les moteurs de recherche aussi. Et votre beau site fait par développeurs pompeux, il sert à quoi s’ il n’est pas référencé. A chaque situation son application, mais en majorité le cms s’applique parfaitement.
Donc je dit c’est un article utile et intéressant à la vue des réactions qu’il provoque.
Il semble que peu de gens qui critiquent ici utilisent réellement WordPress dans sa dernière version…
Je vais donc rappeler les choses, telles qu’elles sont en réalité : WordPress est passé à PHP5 depuis plusieurs versions (de mémoire la 2.7, peut être la 2.5 … la flemme de vérifier). Jusqu’à la 2.9, la rétro compatibilité avec php4 avait été assurée avec la mise en place d’une surcouche qui se débrouillait avec les fonctions manquantes.
Pour les nouvelles fonctionnalités mises en place avec la 2.9, la rétro compatibilité n’est plus assurée.
Moralité : sur les forum WordPress, nous voyons passer plusieurs personnes par jour qui ne peuvent plus faire fonctionner leur blog simplement parce qu’elles ont fait la mise à jour sans passer à php5.
Je crois qu’il ne faut pas non plus oublier que pour un soft, quel qu’il soit, la chose la plus importante, c’est que son utilisateur puisse l’utiliser facilement.
Merci Marie-Aude pour ces précisions concernant PHP5 : elles valent leur pesant de cacahouettes dans ce débat. Elles montrent que les experts en développement ne sont pas forcément très portés sur la recherche et la vérification des informations. En même temps, c’est aussi un métier 😀
Dans ce cas, la page des « requirements » du site officiel n’est pas à jour : http://wordpress.org/about/requirements/ 😛
PHP version 4.3 or greater
MySQL version 4.1.2 or greater
Erreur de mise à jour probablement…
La migration a, effectivement, commencé avec la duplication de certaines librairies (Magpie, SimpleRSS, etc.) depuis la 2.7.
Les versions PHP4 étant, au fil de l’eau, supplantées par les version PHP5.
Par ailleurs, depuis la 2.9, PHP5 et MySQL5 sont requis.
Au passage, les précédentes versions étaient conçues de manière à consommer moins de ressources avec un interpréteur PHP5…
Merci pour ce complément d’informations, il semble que l’évolution soit en marche ! 😉
@Bruno 😉
@Nano La page des requirements parle des « minima », quant à la page sur wordpress fr nous l’avons mise à jour devant le nombre de problèmes rencontrés.
Sur le même site de wordpress.org le problème de rétrocompatibilité est bien évoqué, une page intitulée « Switching to PHP5. Soon, WordPress will not support PHP 4, transitioning to PHP 5 »
http://codex.wordpress.org/Switching_to_PHP5
« Currently WordPress works on both PHP 4 and PHP 5 based platforms. The historic viewpoint has been that WordPress would continue to have a PHP 4 minimum requirement until the user base reached a tipping point in PHP 5 adoption. »
Ca c’est prendre soin de sa base utilisateurs. Dans le même ordre d’idées combien de développeurs webs sérieux et officiels font ils encore des hacks pour IE6 ?
Enfin c’est le support de wordpress lui même qui recommande php5 ^^
http://wordpress.org/support/topic/316394?replies=18
Encore une fois, merci pour ces détails Marie Aude : je vais m’installer la dernière version (2.9) pour tester, peut être que j’aurai de bonnes surprises ! 😉
En fait, le débat est sur plusieurs points ici, il y a le fait que WordPress serait de la merde pour certains et aussi le fait que certains autres se disent développeurs WordPress alors qu’ils ne le sont pas… on a même commencé aussi à aborder le fameux débat à deux balles sur savoir si WordPress est un CMS ou pas…
Je vais donc essayer de répondre à chaque point de manière ordonnée…
Là, ça va aller vite parce que j’estime ne pas avoir les compétences pour juger du code de WordPress. Je suis d’accord avec le fait que c’est mal développé et que Automattic ne mets pas toujours du sien pour faire évoluer les choses au niveau du coeur. Cela dit, WordPress est un outil qui bouge ( 3 updates par an ) et je pense qu’à un moment donné ils vont faire évoluer ce coeur de manière significative.
Cela dit, ce qui fait le succès c’est le public. Et on est forcé de constater que WordPress est adoré de beaucoup de personnes parce qu’il est facile à utiliser, et aussi parce qu’il est facile de créer un site web complet avec. C’est d’ailleurs pour ça que je bosse avec et que j’en ai fait mon gagne pain. WordPress permet au webdesigner de faire des sites complets et faciles à gérer pour les clients et utilisateurs.
Maintenant, on ne peut pas tout faire avec WP. Il y a une barrière à ne pas franchir et où il faut être capable de proposer un outil plus complet tel que Drupal par exemple.
Donc dire que WordPress est de la merde, c’est peut-être vrai au niveau du code, je fais confiance de ce côté-là aux experts, mais pour ce qui est de tout le reste, ce n’est pas vrai, WP étant la seule et l’unique plateforme de blogging ou CMS qui soit proche de l’utilisateur. Maintenant, les choses évoluent avec Drupal 7 ou encore ExpressionEngine 2, mais c’est WP qui tire les autres vers le haut.
Est-on un développeur WordPress quand on insère des tags et des fonctions ? Personnellement, j’aurais tendance à dire que non. Pour moi, ça fait partie du job de l’intégrateur et du bon web designer. Et je le vis tous les jours. C’est très courant qu’on me contacte en me disant qu’on cherche un développeur WordPress pour faire un thème… Beurk !!!! J’aime pas qu’on m’appelle développeur WordPress parce que pour moi créer un thème c’est 90% d’intégration et peut-être un minimum de développement… Pourtant c’est ce que la majorité des personnes qui me contactent font…
Maintenant, faut aussi être d’accord sur la définition de développement, de codage et de tout ça autour de WordPress….
Enfin, cette fameuse histoire de CMS. Là, encore, chacun à sa définition de CMS. Gestionnaire de contenu… Rédiger des articles, est-ce du contenu ? Créer des évènements, est-ce du contenu ? etc, etc. Il semble que cette définition ait évoluée et aujourd’hui les blogwares semblent faire partie de la grande famille des CMS. Et franchement, je vois pas trop l’intéret de s’engueuler pour des broutilles pareilles !! 😀
Bruno, ton blog n’aime pas mes listes !! 😛
j’ai fais ce que j’ai pu, mais j’ignore à quels moments tu as fais des paragraphes dans un même élément de liste. N’hésite pas à m’interpeller si un truc est bancal 😉
En tout cas merci pour ton commentaire !
Tu peux virer tous les numéros, ce sera plus clair… Je pense que le fait que je saute des lignes a fait qu’il a interprété ça comme différentes listes… C’est pô grave !! 😛
Je vais peut-être faire un peu le troll mais quand on me dit que WordPress est codé avec les pieds, j’ai envie de dire que comparé à la plupart des CMS (ou blogware ou ce que vous voulez) faits « à la main » par des développeurs pro, il remporte souvent la palme du plus fonctionnel.
De plus, la force de WP ne vient pas du fait qu’il fonctionne plutôt bien en lui-même mais du fait qu’un client qui en a sa claque du design qu’on lui a fourni peut le changer quasi-instantanément, qu’il est très facile d’ajouter de nouvelles fonctionnalités grâce à divers plug-in, etc.
Drupal n’est pas aussi simple d’utilisation pour un client qui veut pouvoir bidouiller les choses lui-même.
Pour ce qui est de la tambouille de procédural et de POO que représente WP, je suis assez persuadé que quand tout un chacun pourra utiliser et comprendre vaguement PHP5, ils y passeront, ce n’est pas pour rien qu’il mette à jour le bouzin régulièrement.
Pour ce qui est de la terminologie de « développeur WordPress », eh bien ça n’existe pas un développeur WP. C’est juste quelqu’un qui s’y connaît plus ou moins bien en xHTML/CSS et PHP et qui peut bidouiller le code source de WP via leur codex, je ne dis pas que je suis un développeur Google Maps parce que je connais leur API…
Pour avoir testé plusieurs moteurs de blogs et vu ce que donnaît les CMS tels que Joomla (jamais eu à utilisé Drupal mais j’en ai entendu beaucoup de bien certes), je dis que WP est très user-friendly et rempli largement son contrat.
Il faut voir qu’il n’y a pas un site dans le top 50 des sites les plus visités au monde qui ne contient pas du code parfois louche afin de respecter la rétro-compatibilité.
Quand tous les serveurs du monde feront tourner PHP6 et qu’IE6-7-8 seront morts et le CSS3 implémentés partout, on pourra faire du code magnifiquement propre, en attendant faut parfois se débrouiller avec ce qui est possible.
Je me marre quand je vois ce genre de débat. Mais en même temps tout le monde a raison. Les devs veulent que les plateformes avancent aussi vite dans l’adoption de technologies qu’eux et les autres qui veulent que ça marche. Et tant que ça marche, et ben ça marche et c’est tout.
Me suis encore plus marré en lisant les commentaires de 04h18
Si le métier de « développeur wordpress » existe, c’est pour moi plutôt du côté des plugins ou éventuellement des fonctions qu’il faut aller voir, là où une connaissance relativement approfondie du php est nécessaire.
On peut éventuellement développer pour wordpress, c’est à dire mettre son savoir-faire de développeur au service d’intégrateurs comme Bruno ou Francis, ce qui implique une bonne connaissance du système wordpress, des template tags… et des exigences d’un intégrateur (qui sont, je pense, à quelques années-lumière de celles d’un développeur pur et dur…) .
Donc, en gros, un développeur (pour) wordpress ce serait un développeur spécialiste du php qui connaît bien wordpress.
A la lecture de vos posts j’ai l’impression que tout ce débat n’est finalement basé que sur un abus de langage : certaines personnes utilisent « développeur wordpress » alors qu’ils ne devraient pas. Ca tient en une phrase finalement 😮
Je suis assez d’accord avec ton commentaire. Personnellement, je travaille avec des développeurs pour créer des plugins ou des fonctions qui n’existent pas à la base ou en plugin.
Mais cette réflexion autour du mot développeur est, je pense, un peu vaine si on prend la terminologie anglophone par exemple où l’on a le « front end developper » ( XHTML/CSS/JS) et le « backend developper » ( PHP et compagnie ). Ici, quelqu’un qui développe un site en XHTML et CSS simplement est aussi un développeur !! 😛
… Mais oui, je pense que la discussion tourne autour d’interprétations et de terminologie…. Nous aussi dans notre métier on est confrontés à ce souci: c’est quoi un webdesigner ??? 😀 Encore là, les définitions varient…
@Max, @fran6 — C’est une question de phrase en effet, mais dans un organigramme, les termes définissant les fonctions ont une importance cruciale pour savoir où est sa place exactement (et combien on va toucher à la fin du mois).
Au final, l’élitisme des uns s’explique toujours par des motivations liées à la survie. Personne n’apprécie la concurrence du neveu du patron qui fait des sites web « à pas cher »…
Se sentiment élitiste se fait d’ailleurs plus présent à mesure que les travailleurs du web sortent d’écoles ou de formation haut de gamme alors qu’à mon époque on apprenait beaucoup en autodidacte et « sur le tas ».
Alors oui, les termes sont importants surtout quand ils servent d’alibi pour (re)mettre les gens à leur place.
Très long tout ça…
Mon commentaire est à prendre avec du recul.
Je suis développeur, je pratique la POO en PHP à un niveau avancé. Un jour on ma demandé de me mettre à WP pour pouvoir créer des plugins et faire des modifications sur des projets clients. J’ai donc télécharger WP, et j’ai regardé le code… Ma réponse a été claire : Je ne me mettrai à WP que si j’y suis obligé et si j’ai vraiment le temps de me plonger dans un code aussi sale. Je dis « sale », mais comprenez par là que je n’ai pas fait de procédural depuis des années et qu’il faut le reconnaître, l’organisation de ce moteur laisse un peu à désirer.
Pour le passage de WP vers PHP5… Ok le moteur ne fonctionne plus sous PHP4, mais est-ce qu’il exploite vraiment la puissance de PHP5 ?
Que va-t-il se passer lors du passage à PHP6, je vous le demande… ?
L’objet ça peut vite devenir lourd (surtout avec certains frameworks), mais ça n’est pas comparable à du procédural. Je prends plus de temps pour faire un petit script à l’heure actuelle (que ça soit pour vérifier des mails, faire un traitement vidéo, des scripts qui prennent pas plus de 75 lignes en procédural) car je développe en objet. Mais quand un autre dev (ou moi quelques semaines après) reprend le code, il met 3 fois moins de temps à le comprendre. De plus c’est facilement réutilisable. Et c’est là la différence entre PHP 4 et 5, WP est en retard sur ce point, aucun doute là-dessus.
Il ne faut pas penser performance serveur à tout va, il y a aussi les performances humaines ! Le client n’en a pas toujours conscience, mais mettre à jour un système évolué est bien plus rapide (donc moins cher !) qu’un vieux système tout crasseux. Il en va de même pour tout. Quand c’est organisé (dossiers etc) on s’y retrouve plus facilement non ? Un code source c’est pareil, si ça ressemble à une pile de disques pas rangés, un jour on rajoute un disque et ça se casse la figure. Rajouter un disque dans une étagère c’est toujours possible. Et s’il manque de la place on rajoute une étagère.
Pour les « Développeurs WP », ok. Moi j’y vois pas d’inconvénient. Mais il faut remettre les choses à leur place ! Un développeur c’est pas un mec qui met deux trois lignes de code copiées sur le web. Un développeur c’est un professionnel. Je vous laisse par vous-même aller voir la définition de ce terme dans votre Robert favoris. Quand au terme WordPress, pourquoi pas si le professionnel en question est capable de pondre un plugin en deux trois, là effectivement on pourra le considérer comme un Développeur sachant manipuler WP.
Mise à part tous ces détails sur le code et la manière de faire ou de se nommer, WordPress est un blog bien pensé au niveau fonctionnalités. Il a sa place de leader et je comprend très bien les non développeurs qui utilisent ce système. J’ai plus de mal pour les développeurs professionnels… Mais bon certains préfèrent faire du chiffre que de faire leur boulot de la meilleure manière possible. Mon boulot c’est ma passion, et ma passion c’est mon gagne pain. On ne me reconnaît pas parce que je pond un blog en claquant des doigts, mais parce que je construit un projet fait pour durer. C’est pour cette raison que WP est bien pour certains et pas pour d’autres. Nous vivons dans un monde ou le choix est omniprésent. Tant que vous savez pourquoi vous avez choisi (ou pas) tel outil, c’est le principal. Non ?
Ce commentaire est très intéressant, car il met bien l’accent sur un point essentiel : développement rapide vs. développement « transmissible » (faute d’un meilleur mot).
Pour cet aspect comme pour le reste, je pense qu’il n’y a pas de bonne réponse dans l’absolu.
Il faut simplement évaluer les besoins du client, sa structure, les objectifs de son site, la taille de celui ci, et faire le meilleur choix possible en fonction de tout ça.
Comment est ce que je peux justifier vis à vis d’une TPME de mettre trois fois plus de temps pour développer son site, alors qu’il voit déjà pas trop l’avantage d’un site « légèrement » dynamique ? Et surtout quand il y a de fortes chances qu’il le refasse quasiment entièrement dans trois ans, plutôt que de le transférer, parce qu’il a perdu les codes de son hébergement, ou autre ?
Il y a des tas de cas où il n’y a pas de justification économique à développer trois fois plus lentement pour le « futur », et il y a des tas de cas où ce serait une faute professionnelle grave de ne pas le faire.
Une partie de mon travail, c’est d’aider mon client à faire les bons choix. A l’envoyer vers d’autres personnes ou vers d’autres solutions quand je ne maitrise pas ce dont il a besoin. A savoir faire du « propre » ou du « quick and dirty » quand c’est nécessaire.
En Allemagne, où j’exerce la moitié de mon temps, le grand CMS c’est typo3. C’est surement très bien codé, mais c’est un monstre à administrer et à mettre en place, la courbe d’apprentissage est assez longue, moralité la très grosse majorité des TPME sont esclaves de leur agence web.
Bravo à Toi Marie-Aude pour ton honnêteté, et quitte à passer pour le vilain troll de service j’enfoncerais en clou sur ta dernière remarque :
« la très grosse majorité des TPME sont esclaves de leur agence web »
En fait, ce schéma reproduit le modèle économique classique qui date des sites HTML statiques :
Se rendre indispensable auprès de ses clients afin qu’ils n’aillent pas voir ailleurs, ça évite de se remettre en question.
Sauf que maintenant cela se fait sur du dev’ en laissant croire à l’utilisateur final qu’il a la main alors que son outil est tellement « non-user-friendly » qu’en fait, il continue à être esclave de son prestataire.
Je vois encore pas mal d’agences web classiques qui n’informent même pas leurs clients qu’ils utilisent un CMS, sont propriétaires des noms de domaines et hébergements etc…
Entendons nous bien, je ne crache pas sur les dev’ pur sucre, loin de là. Je me considère comme Bruno, Francis, Marie-Aude, et les autres comme un bidouilleur (même pas un intégrateur, c’est pour dire), mais je joue les cartes de la clarté et de l’information quand je reçois une demande de devis, et vous savez quoi? Les clients apprécient grandement 😉
On en arrive à un point qui me semble être essentiel : l’honnêteté. Pour un indépendant, je crois que c’est crucial. Si je vend un WordPress à un client, avant, je lui indique qu’il trouvera ce produit gratuitement sur le net. Ce que je lui vend, c’est « ma compétence » et « le gain de temps » que je vais lui faire réaliser.
Et je rejoins Wolforg, le client final apprécie grandement. Ce qui renforce la relation client et la confiance, loin des schémas marketing d’une agence. Mais les objectifs et les charges ne sont pas les mêmes de part et d’autres, bref, on s’éloigne doucement du sujet de base 😉
Je suis entièrement d’accord que jouer cartes sur table avec le client et trouver (avec lui !) la meilleure solution est un atout essentiel pour un indépendant et pour la bonne entente des deux parties.
Les agences sont bien trop souvent là pour faire du CA, les indés aussi sont là pour ça mais ils prennent soin de leurs clients, car un client content est un client qui en vaut 10.
Que WP ait un code propre ou sale, POO ou pas, qu’on soit Dev habitué de ce moteur ou Dev totalement détaché, intégrateur/designer ou ergonome… En tant que professionnel le fameux choix ne doit plus se faire suivant nos désirs profonds mais suivant le client, son besoin et bien souvent… son budget.
Je trouve que WP est un bon moyen de détacher le client et de le laisser gérer seul ses mises à jour. Et quoi qu’on en dise, ce même client reviendra vers vous s’il a quelque chose d’autre à faire, simplement parce que vous avez été professionnel.
Je rejoins le commentaire de Jacques, qui parvient a exprimer ce qui n’était pas forcément très clair dans le mien. Merci.
@Kola Mutama dit :
si j’ai pu divertir une personne qui me semble supérieur, alors j’en suis ravis ! 🙂
Il faut de tout pour faire un monde. Je n’aime pas particulièrement la façon dont WordPress est codé, mais c’est pas pour ça que les gens qui l’utilisent sont des sous-développeurs… On peut aussi faire des copier/coller d’objets…
Et puis, franchement, des vrais développeurs web qui ne codent pas leur CMS pour des raisons de temps, sont capables de développer le leur. Comme les développeurs de WordPress, j’imagine qu’il y a des vrais développeurs que l’angle de vue de WordPress ne gêne pas, mieux, pour lesquels, la logique WordPress est un bien pour l’humanité.
Le truc, c’est que des vrais développeurs, il n’y en a pas beaucoup. Je ne vois pas pourquoi ça serait la chasse gardée des développeurs de faire un blog ou un site web. Bref, WordPress répond à une demande et j’ai lu nulle part qu’on est obligé de l’utiliser.
Je pense que la valeur se mesure dans les actes, pas dans les paroles, alors pour critiquer WordPress, je pense qu’il faut au moins être core developper d’une solution concurrente, mais surtout, faire ça avec humanisme et bienveillance dans un esprit constructif.
C’était ma couche perso 😉
Je remarque un truc c’est qu’on parle du fait que WP est soit disant codé avec les pieds, mais je serais curieux de savoir quel CMS est très bien codé… Juste par curiosité , ça m’intéresserait… Et puis, tant qu’on y est, critiquer c’est bien, mais proposer des solutions, c’est mieux… 😉
@Francis : Proposer des solutions ? Quelque soit le domaine, as tu déjà lu ou entendu des critiques apporter des solutions ? Cela doit exister, mais c’est sans doute une denrée rare.
De ce que j’en lis, la solution passerais par le fait que les hard-codeurs s’unissent pour bosser en équipe, mais là, c’est une autre paire de manches et un autre débat, car bosser en équipe, ce n’est pas très français dans l’esprit.
L’atout essentiel dans WordPress c’est son ergonomie, je le trouve agréable à utiliser et sa logique me pose aucun problème !
@Nicolas Froidure
Ne nous fait pas dire ce que nous n’avons pas dit !
L’intérêt de WordPress et personne ne te contredira, ni moi ni un autre, c’est de rendre accessible à tous la blogosphère.
Une personnne qui a peu de connaissances en informatique a donc accès à un nouveau monde, et ça c’est plutôt positif.
Maintenant aller jusqu’à dire que « la logique WordPress est un bien pour l’humanité »… Les développeurs du core de WordPress sont là depuis un moment et par conséquent il s’agit un peu de leur bébé. Ils ne sont pas des « sous-développeurs » car monter un projet comme WP qui dure demande d’avoir pas mal de connaissances.
Cependant ça date, et il est très difficile d’admettre qu’il faut tout refaire pour avancer comme il est très difficile de se dire : « Aller je range cette chambre, c’est vraiment trop le bordel ! »… La « flemme » prend le dessus et il faut du temps pour ranger. On préfère vivre un temps dans le bordel. Mais un jour on y arrive, et la motivation apparaît quand un évènement extérieur survient.
Nous verrons bien quel sera cet évènement pour WP !
On peu copier/coller un objet, mais encore faut-il savoir l’utiliser ensuite. Ne comparons pas ce qui n’est pas comparable ! Utiliser une simple fonction demande moins de connaissances dans le langage que d’utiliser des objets.
On peu critiquer un outils sans pour autant participer à son développement. Tu l’as dit toi même, il faut de tout pour faire un monde.
Les critiques ça fait avancer, à contrario, si tout le monde dit : « WordPress c’est trop de la bombe ! » Pourquoi changer ? Sans critique, nous n’avancerions pas. Encore faut-il que la critique soit constructive comme tu le dis, sinon je te rejoins sur ce point.
Ah et… Il n’y a pas de vrai et de faux développeur. On est développeur ou on l’est pas, on peut être amateur ou professionnel. Si ton vrai/faux se colle sur pro/amateur c’est tant mieux.
Evidemment, certains développeurs acceptent la logique de WP, et c’est là qu’on se rejoint. Il faut choisir : soit tu soutiens, soit tu ne soutiens pas, soit tu restes neutre. On a tous nos raisons d’utiliser ou non ce moteur.
@Francis
Une critique ne comporte pas forcément de solution.
@4h18
Ça dépend des français… 😉
@ben
Il est clair que WordPress est bien foutu pour l’utilisateur. Si tous les CMS pouvaient prendre exemple…
Merci pour ces commentaires riches et constructifs à la lecture desquels j’ai eu une petite révélation concernant la qualité du code et sa maintenabilité : reprise du code par une tierce personne (intérêt d’avoir un code clair, logique et documenté) et évolution de ce code (possibilité d’ajouter de nouvelles fonctions, etc.).
Dans la très grande majorité des cas, les utilisateurs de WordPress ne touchent à rien dans le code. Une partie des utilisateurs vont s’intéresser au dossier wp-content pour faire un thème ou retoucher l’existant. Personne de devrait modifier le moteur lui-même car dans WordPress, l’utilisateur qui veut faire évoluer le Core va le faire sous forme de plugins ou de surcharge (ajout de filtres, de fonctions, etc.) dans le fichier functions.php.
Ce qui m’amène à un point important : les développeurs WordPress peuvent utiliser les fonctions de plus ou moins haut niveau et quelque soit la manière dont sont faites en interne ces fonctions (procédurale, objet, codées avec le petit orteil, etc.), rien n’empêche le développeur qui veut étendre les fonctionnalités de WordPress de le faire d’une manière claire, logique, structurée, en mode objet si ça lui chante. C’est le cas de pioupiouM par exemple qui développe des plugins pour WordPress et qui le fait bien !
D’après ce que j’ai pu remarquer, il y a beaucoup de vrais développeurs qui ne prennent pas le temps de lire le Codex ou simplement de s’imprégner de la philosophie de WordPress. Ils réinventent la roue à chaque ligne de code alors qu’il existe surement une ou plusieurs façons d’y arriver à la mode de WordPress !
Par ailleurs, ces notions de maintenabilité et de réutilisation du code s’appliquent en réalité très rarement dans le cadre de petits et moyens projets (cibles de prédilection de WordPress). Lorsque des changements importants sont à faire, c’est que généralement on change de projet : on reprend tout (ou pas) et on recommence !
Certains pensent que quelque soit l’envergure du projet, il vaut mieux proposer un poids lourd dès le départ pour pouvoir faire évoluer le bouzin ensuite. Alors que je considère qu’il est préférable de bien évaluer les besoins du client pour lui proposer ce dont il a besoin, ni plus ni moins. Ce qui implique de s’effacer ou de faire appel à des compétences externes quand c’est nécessaire.
L’option poids lourd se défend dans la mesure où il est fréquent qu’après avoir goûté aux joies du site vitrine agrémenté d’un blog, le client décide qu’un forum serait une bonne idée. Dans ce cas, effectivement, si on a commencé par mettre en place un WordPress, on risque de galérer pour avoir un forum totalement intégré au blog. Dans ce cas, un Drupal semble mieux indiqué.
Pour en revenir à cette notion de développeur WordPress, si on considère que l’utilisation des frameworks PHP est une bonne chose (enfin, j’imagine parce que je ne suis pas développeur), j’aime considérer WordPress comme un framework spécialisé dans les blogs ou les sites web « traditionnels » de petite ou moyennes envergures user friendly out of the box 😉
Il y a plusieurs façons de concevoir un plugin pour un CMS qui les accepte. On peut le faire en suivant la logique du moteur, c’est de plus en plus le cas sur les nouveaux moteurs car ceux-ci sont vraiment découpés et facilement réutilisables. Maintenant je comprend les développeurs qui n’utilisent pas le core de WP pour réaliser un plugin sur cette plateforme, il devient bien plus rapide de développer en utilisant une organisation interne au plugin. Je n’ai je pense pas besoin de me justifier sur ce point. C’est d’ailleurs ensuite l’intérêt même d’un plugin : il devient adaptable (plus ou moins) sur différentes plateformes : Dotclear, WordPress, Drupal, Magento etc. Il n’y a pas de petit ou moyen projet quand tu fais un plugin. L’intérêt est justement au final de pouvoir le porter sur un autre moteur en très peu de temps. L’objet permet de faire cela bien plus rapidement que le procédural.
En ce qui concerne l’utilisation des frameworks PHP, je ne conseillerai jamais à un petit projet d’utiliser un framework comme Zend Framework (bien trop de fichiers chargés et si l’hébergeur n’est pas conçu pour, tous ces petits fichiers passent par le réseau et rendent le site vraiment lent). Par contre sur de gros projets le temps de développement est parfois grandement réduit avec l’utilisation de tels outils.
Donc non, l’utilisation d’un framework PHP n’est pas forcément une bonne chose, et encore, tout dépend du framework utilisé. Un framework peut être plus propice à un projet qu’à un autre. On saura utiliser Zend Framework, Symfony, Code Igniter, CakePHP ou un autre quand le projet l’implique. On saura aussi faire un petit moteur dédié sur un petit projet.
Ta comparaison de WP à un framework est plus ou moins correcte. On ne peut pas vraiment comparer une suite d’outils qui se connectent entre eux (c’est ce qu’est un framework en fait) à un unique outil comme WordPress. Ça, c’est le moins.
En revanche on peut comparer les plugins WP aux surcouches des frameworks (pour éviter la réécriture de parfois plusieurs milliers de lignes de code dans un projet). WordPress serait donc le « framework » et les plugins la surcouche. Tu admettras que la surcouche est toujours développée par une tierce partie. C’est le plus.
Tu as également encore une fois bien distinguer un WP pour les développeurs et un WP pour les utilisateurs. Mon avis perso c’est qu’il y a un vrai monde qui sépare ces deux catégories.
Bon alors je sais que ça ne servira à rien mais à mon niveau :
1 – J’ai commencé à bloguer sur over-blog,
2 – J’en ai eu marre et je suis passé sur Dotclear,
3 – J’en ai eu marre et je suis passé sur WordPress,
4 – J’ai appris à intégrer et suis devenu intégrateur grâce à WordPress,
5 – J’ai appris mes premiers if/else grâce à WordPress,
6 – J’en ai eu marre et j’ai appris à développer,
7 – Je dev sur symfony et jamais je ne retournerai sur WordPress hormis par facilité dans un contexte de type « blog ».
Au final, je dois donc beaucoup à WordPress et je comprends beaucoup d’arguments notamment au niveau du backoffice mais je suis complètement d’accord avec l’ensemble des arguments de Palleas, quelqu’un qui intègre un thème wordpress à un niveau plus ou moins avancé n’est en aucun cas un dev, c’est juste un bon intégrateur avec une compétence WordPress.
Note : On remerciera tout de même les dev de plugins WP qui dans un nombre conséquent de cas font tout de même de l’excellent travail, ne pas le dire serait également du foutage de gueule.
Je m’auto-réponds pour continuer sur la partie POO et la qualité du code puisqu’on est d’accord, le PHP4 sur WordPress est un faux débat.
Je pense, toujours humblement et personnellement, que le développement qu’il soit logiciel ou web, est un des rares métiers dont l’un des piliers est la remise en question perpétuelle du code. En ce sens, le fameux « code is poetry » lorsque l’on connait les tenants et les aboutissants est une vaste blague et pour aller plus loin, les arguments temps/bienséance/code-qui-fonctionne sont une une vaste connerie.
On entends de partout que le web évolue, contribuez-y, demandez chacun à votre niveau une amélioration du moteur et de ses performances ou mieux, refaites-ce moteur, de très bonnes idées sont nées à partir d’un simple fork et personne ne pourra dire le contraire.
Pour faire simple, tirez votre web vers le haut ou changez de métier car vous n’avez rien compris.
Tout à fait d’accord avec ton premier commentaire qui montre un parcours exemplaire 😉
Quant au second commentaire, ma foi, oui pour tirer le web vers le haut, mais non pour ce qui est de dire aux autres ce qu’ils doivent faire, surtout quand c’est pour leur dire de changer de métier parce qu’ils n’auraient rien compris.
Content d’avoir de tes nouvelles quand même o/
Tu sais que je suis partisan des coups de pied au cul 🙂
Si t’as pas fais du « From Scratch », alors t’as raté ta vie de développeur web …
Du moins tu l’as pas encore réussi.
C’est ma touche au débat WordPressUserActAsPowerfullDev 🙂
Je suis allé lire le billet de Palléas et ses commentaires. Puis j’ai lu ce billet et ses commentaires. Dans l’ensemble, j’ai lu plein de commentaires procéduriers et de commentaires orientés abjects.
Je plaisante, je plaisante.
Non, je crois surtout que pas mal de gens mélangent les sujets et beaucoup manquent de recul. Le commentaire le plus pertinent, je crois, c’est celui de Damien qui parle de « refonte » de code.
Palléas qui dit « c’est de la merde » (avec un sens de la nuance qui l’honore) « mais je l’utilise », je ne sais pas s’il faut en rire ou en pleurer. Je crois que c’est assez puéril.
Dans mon jeune temps, j’étais un (honnête) développeur C/C++, amateur de programmation OO mais pas capable de pousser le degré d’abstraction assez loin pour concevoir des programmes magiques qui font en 1000 lignes ce qui en aurait nécessité 70.000 lignes en procédural, mais j’ai croisé quelques énergumènes qui, eux, en étaient capables, et croyez-moi, leur code n’était pas facilement maintenable, bien que très brillamment codé dans le respect des règles de l’art. Je n’ai aucune idée des talents de programmation de Palléas ni de ceux de Jacques BH et de quelques autres qui (en restant nuancés) critiquent la médiocre qualité de code de WP, mais j’ai tendance à penser qu’ils ont raison : c’est sûrement du code poussiéreux, plein de verrues, d’excroissances grotesques et comme le dit Damien, il aurait besoin d’une sérieuse refonte, d’une remise à jour. Il ne faudrait pas oublier l’histoire de WP et de sa croissance. C’est très bien, PHP5 et la programmation OO, mais à l’époque du primo-développement de WP, ça n’existait pas. Et puis c’est sûr aussi que PHP, même en prenant des galons en s’ouvrant à la programmation OO restera toujours, dans l’esprit d’un « vrai développeur » une sorte de succédané de langage, moins noble que Java ou C++.
Donc WP a commencé avec ce langage qui permettait de faire des Pretty Home Page et puis il s’est progressivement complété de fonctions de plus en plus élaborées au service des utilisateurs et sans doute, du coup, au détriment des programmeurs. Au finale, WP peut très bien fournir un système de template tags très appréciés des intégrateurs, mais sous-tendu par un code médiocre (à vrai dire, je n’ai pas pris le temps d’aller vérifier).
Le problème, aujourd’hui, c’est que WP, cette grosse merde victime de son succès (les gens ayant des goûts de chiotte) pourra difficilement s’offrir cette refonte appelée de ces vœux en raison de l’investissement que cela représente en développement et de la sacro-sainte « rétro-compatibilité » qui fait que WP dispose de milliers de thèmes et d’extensions compatibles.
Mon pronostic, c’est que WP finira sans doute un jour par mourir, colosse sclérosé qui se fera remplacer par un « petit jeune » né sur des bases plus à jour (Habari, pourquoi pas ? ou un autre), mais que ce jour n’est ni aujourd’hui ni demain, et qu’en attendant, il reste à ce jour un des CMS/moteur de blog (troll sans intérêt) les plus puissants et efficaces, même codé sale et contenant des bugs (Palléas, ce n’est pas parce qu’un logiciel est buggé – si chiant le bug des catégories soit-il – que c’est une merde. Et puis tu peux toujours te pencher sur le code et le corriger, ça aidera la communauté et mettra en exergue tes capacités d’excellent codeur, tellement doué qu’il peut même débugger du code de merde).
J’ai pas trop compris l’argument de la facilité du templating dans WordPress. Les quatre ou cinq fois où j’ai dû (ou voulu) coder un thème WordPress, je me suis pris la tête comme pas possible avec des fonctions du Core qui te sortent un balisage HTML dont tu veux pas, un ordre d’éléments non configurable, etc. Voir de fonctions mal documentées dans le Codex. C’était bien fun. :/
En comparaison, pour mon premier site Django j’ai très vite compris le principe et pu me référer à une doc fiable, et au deuxième j’étais très à l’aise dans les templates.
Après on peut trouver des exemples pire que WordPress pour le templating, genre deux fois pires (Drupal?), dix fois pires (Typo3, OsCommerce…). Mais il y a aussi d’autres exemples de systèmes de templates/thèmes qui marchent mieux, je suppose. Enfin bref, tout ça pour dire que dans mon expérience personnelle le templating dans WordPress c’était pas affreux, mais c’était pas la joie non plus.
Hmm, «pris la tête comme pas possible» était une exagération. C’est tout à fait possible de se prendre la tête sur des trucs du genre avec tout plein de CMS, frameworks, outils divers. 🙂
La facilité d’un système de templating est à rapprocher de la facilité qu’on peut avoir à apprendre telle ou telle langue étrangère : en soi, aucune langue n’est vraiment meilleure qu’une autre et pourtant on peut avoir des préférences ou des facilités pour l’une d’entre elles.
Alors oui, il y a des éléments que WordPress te sort dans un ordre plus ou moins arbitraire. Mais bon, au final, si tu veux aller par là, rien ne t’empêche de faire une requête SQL en dur pour obtenir ce que tu veux dans l’ordre que tu veux.
Arrivé là, peut-êre qu’un CMS comme Drupal avec son système de Views et CCK me parait plus indiqué. L’idéal étant, bien sûr, de faire comme Pocky et de se lancer à fond dans le développement avec Symphony ou tout autre frameworks (ou sans).
Vas-y, n’hésite pas à faire péter les liens 😉
Pour défendre un peu WP, et aussi placer un backlink pour humains, je voudrais ajouter qu’il existe deux catégories de fonctions : ceux qui te pondent du HTML et ceux qui ramènent les jeux d’enregistrements. Ouf.
J’aime bien le commentaire de Comme une image (comment va depuis le temps?)
Moi je pose juste un commentaire parce jamais deux sans trois (o2sourciens).
@ Thanh » Ça va pas mal, mais nouveau boulot, grosses responsabilités (disons en tout cas que ça me change de ma paresse de ces dernières années !!) et que, très malheureusement, du coup ça ne me laisse guère de temps pour faire du support WP.
M’enfin, je me console parce que dans mon nouveau boulot, j’ai une armée de développeurs à qui je peux reprocher de faire du code de merde – just joking, je suis très aimable avec mes collègues 😉
La « facilité » du templating est une chose très relative, qui dépend de la personne, de son background et de sa formation. Par ailleurs, je crois que c’est un peu faux comme démarche de regarder uniquement la facilité des templates. Il faut voir tous les aspects d’un système, pour savoir si on peut arriver à lui faire faire ce qu’on veut.
Personnellement, j’ai commencé à « développer – intégrer – macroiser » où n’importe quel mot qui n’offensera personne à l’époque où j’ai découvert 4D, un produit révolutionnaire qui avait l’outrecuidance de permettre à chacun de développer dans son propre langage, et même de générer des requêtes SQL en tirant des petites flèches d’une table à une autre. C’était une époque où Microsoft balbutiait, il n’y avait rien de comparable (et je pense qu’en facilité d’utilisation, il n’a a JAMAIS eu rien de comparable). Avant je ne codais pas, tout simplement parce que les trucs en basic m’étaient totalement abscons, et stériles.
J’ai continué ensuite dans le monde de l’informatique de gestion, puis du data warehouse. J’en suis ressorti avec une monomanie, c’est celle de la structure de données. Parce que codé avec les pieds ou avec des doigts de fée, un système de peut faire que ce que ces données lui permettent.
La structure de données de WordPress est très solide. C’est sans doute ce qui lui a permis de tellement évoluer. Pas son code, pas ses « fonctions ». Ce qui permet de passer facilement d’un système de blog de mamie à un système de gestion de communauté, de servir les besoins de tellement d’entreprises, c’est que la structure de données est logique, flexible, et simple. Et ce n’est pas le cas de tous les CMS (ou machinMS puisqu’on veut réinventer le dictionnaire) du marché.
Et puis un dernier point sur le « militantisme » du passage de PHP4 à PHP5. C’est vrai que ça ne change rien pour les lecteurs de Bruno que son blog soit sur PHP4 ou 5. En revanche ça pouvait changer beaucoup pour Bruno. Il ne faut pas oublier que pendant longtemps, PHP5 n’était pas dispo chez beaucoup d’hébergeurs « premier prix » ou gratuit. Et que faire le passage brutal à PHP5 à l’époque aurait signifié forcer les utilisateurs de WP soit à l’abandonner, soit à payer leur hébergement plus cher.
Drupal a décidé de faire le passage à php5 et PDO en 2007. A l’époque, ce n’était pas d’actualité pour WP. En fait, WP sera passé à PHP5 plus rapidement que Drupal, et à la PDO sans doute avec trois mois de retard…
Pour conclure, au risque de radoter, il n’y a pas de système idéal dans l’absolu. Il y a la meilleure réponse à un besoin donné, dans un contexte donné, avec un budget et des contraintes données. Et que WordPress soit codé avec les pieds ou pas, qu’il soit un BMS, un PMS, un CMS ou simplement un amas de code, il y a des tas de gens pour qui il est la bonne réponse.
Le « beau code », dans l’absolu, ça ne sert à rien 🙂
@MMarie-Aude : la notion de facilité est justement sensée être indépendante du niveau de compétence de l’utilisateur sinon on parlerait de « complexité d’appréhension du code ». La « facilité » de templating se traduit par : utilisateur moyen ayant des notions de PHP et des notions présumées plus avancées en HTML.
Pour ma part, j’essaie chaque nouvelle version de WordPress par acquis de conscience (veille techno toussa). Ça me fait à chaque fois doucettement rire de constater qu’il faut installer un plug-in pour pouvoir utiliser du PHP directement dans une page ou la sidebar.
@Comme une image : le « Palléas c’est un con, il dit que WordPress est merdique alors qu’il l’utilise » est aveux d’avoir survolé son billet et la flopée de commentaire inhérents que soit ici où chez lui plutôt que de t’y être réellement attardé.
A aucun moment Palleas ne nie, à aucun moment il n’est remis en question dans les commentaires, le fait que WordPress soit d’un point de vue déploiement et expérience utilisateur ultra simple et convivial. C’est visiblement ce qui motive Palleas, malgré la médiocrité du côté qu’il évoque, à l’utiliser en prod.
Si on suit ton raisonnement :
T’as choisi ton job, ca t’empêche forcément de le critiquer, si ça se passe mal et que tu ne te barres pas t’es forcément con. Sauf que dans la vraie vie, ce job aussi merdique soit il, te permet de nourrir ta famille.
Je comprends mal cette réaction puérile qui est de dire « il utilise WordPress, il a juste le droit de fermer sa gueule à ce sujet ».
WordPress malgré son aspect « usine à gaz » reste un outil de publication exploitable en 5min. Entre cet outil exploitable en 5min (déploiement et légère config.) et coder son propre outil from scratch qui nécessiterait des heures de travail .. je pense qu’il compte de la même manière que toi et que dans les deux cas, le temps libre et nécessaire à l’accomplissement d’une telle tâche est chose rare.
@ Thierry T. » Je ne sais pas où tu as lu dans mes propos « Palléas est un con », ce serait un propos qui manque autant de discernement que « le code de WordPress, c’est de la merde ». Je t’invite donc à me relire plus attentivement avant de prétendre que c’est moi qui survole les propos des autres.
Je me répète en essayant de simplifier : oui, le code de WP mériterait une refonte pour être mieux conçu et mieux profiter des technos actuelles (au passage, je suis d’accord avec Marie-Laure sur la qualité du modèle de données qui reste solide).
En revanche, ça me paraît ni juste ni constructif de faire abstraction de l’histoire de WP (passée et présente) et d’émettre un jugement aussi péremptoire, par ailleurs très peu étayé (le fait de mettre en avant un bug de WP comme preuve est un peu court).
Je ne vois pas dans mes propos où j’interdirais à quiconque de critiquer WP, quel que soit son niveau de compétence/d’implication sur le sujet. Il faut juste le faire avec bonne foi et mesure.
Palleas a le droit d’utiliser le CMS qu’il veut et de le critiquer mais effectivement ça m’a aussi fait sourire de lire en gros : « C’est de la merde, mais au petit déjeûner ça passe parce que j’ai la flemme d’aller chercher les croissants » ;))
By the way, Dans Drupal, il me semble qu’il faut activer un module pour mettre du PHP dans les nodes.
Oh cool, quelqu’un qui a vraiment compris ce que je voulais dire! 🙂
Et heu, des personnes qui se soucient de leur client, ca existe ? (je me sens bien seule sur ce coup-là)
Merci pour ton billet. Très intéressant.
@Palleas : j’ai tendance à penser que c’est d’abord et avant tout à celui qui n’est pas compris de se poser des questions sur sa manière de s’exprimer 🙂
Moi je pense que c’est un petit 50/50 dans une communication 🙂
Je comprends mal cette réaction puérile qui est de dire « il utilise WordPress, il a juste le droit de fermer sa gueule à ce sujet ».
je dirais même plus, il utilise WordPress, il sait donc de quoi il parle, il a donc le droit de critiquer, contrairement aux gens qui ne l’utilisent pas.
Heu non. Je n’ai pas dit ça non plus.
C’est pas parce que tu utilises WordPress que tu dois en connaitre les rouages, c’est justement ce qui fait la force de WP.
On peut critiquer WordPress, là n’est pas la question, mais pour te donner un exemple de critique constructive, j’avais lancé une chaine pour que chacun exprime posément ce qu’il trouvait perfectible dans WordPress. Cf. http://css4design.com/que-manque-t-il-a-wordpress
Je sens que ça va partir en jus de boudin cette discussion… 😀 Je sais pas pourquoi mais je le sens venir… hihi !! 😀
@Palleas : Je te rappelle que tu t’étonnes toi-même d’avoir enfin été compris :p
Enfin bref, comme l’annonce Francis, cette discussion est en train de partir en eau de boudin, le ton se fait plus agressif au fur et à mesure qu’elle avance.
Gardons-en la sève, un débat qui s’est avéré plutôt constructif dans la mesure où les hommes et femmes d’expérience nous auront peut-être mieux fait appréhender les positions des différents métiers évoqués. En tous cas c’est ce que j’en garde.
Comme le disent @fran6 et @Max il ne faudrait pas que cette discussion parte trop en live. Merci de remplacer l’agressivité par le sens de l’humour. Restons focus (pas faux-cul, hein ?) 🙂
@Thierry T : je ne connais pas de CMS qui autorise directement l’utilisation du PHP dans les posts (dans la sidebar tu n’as pas besoin de plugin pour faire du php), c’est une question de sécurité de base.
Après, les choses étant ce qu’elles sont, et le workflow sans doute un des points les moins développés de wordpress, tu peux, au choix, modifier toi même les filtres en faisant une petite fonction, ou utiliser un plugin.
Maintenant je connais peu de CMS qui autorisent cela.
Quant à la facilité, il n’existe pas de truc facile dans l’absolu. En général, les gens habitués à Joomla font une crise de bouton face à WP / Drupal et vice versa. Personnellement, j’ai trouvé la réalisation de thèmes sous WP un jeu d’enfant, et pourtant je suis sure que je suis « moins bonne codeuse » que toi
J’aimerais un peu participé à la discussion car étant développeur web professionnel et connaissant très bien Palleas, je comprends parfaitement son point de vue sur le débat qu’il a soulevé. Comme beaucoup de monde ici et sur le reste de la toile, j’ai débuté la programmation PHP il y’a maintenant 8 ans avec PHP 3/ PHP 4. A l’époque mes scripts étaient d’une horreur inimaginable. Forcément, les bonnes pratiques n’existaient pas et la POO dans PHP n’était qu’à un stade balbutiant. Donc les sites que j’avais développés à l’époque ont fini par passer à la poubelle ou bien par être recodés intégralement car leur taux de maintenabilité et d’évolutivité ne permettait pas d’intervenir sur le code source sans engendrer des surcoûts significatifs.
Bref, PHP 5 est aujourd’hui bien installé et depuis je me suis formé aux bonnes pratiques de développement web (framework, tests unitaires et fonctionnels, abstraction de bases de données, design patterns, mvc, poo…). Depuis que je « maîtrise » ces concepts là, ma vie de développeur a changé puisque je suis capable de produire un code que l’on peut plus facilement testé (je parle avec des tests automatisés), que l’on peut faire évoluer sur du long terme, qui est plus facilement réutilisable et industrialisable. Savoir coder bien permet ainsi de capitaliser du code à long terme et donc de gagner de l’argent tout en gardant un code maintenable et évolutif. C’est dans cette optique les frameworks comme Symfony ont fait leur apparition.
A ce propos, il faut savoir qu’une ligne de code écrite à un coût non négligable :
coût = coût du temps passé + coût du test + coût du déploiement
Quand on maintient cette ligne de code, (qui plus est si le développeur n’est pas à l’origine de celle ci), le coût est d’autant plus grand :
coût de maintien = coût du temps de compréhension + coût de la maintenance + coût du test + coût du déploiement qui génère parfois des migrations importantes de la version en production.
Pour réduire ce coût important de maintenance, il est important d’avoir un code qui soit bien écrit, bien documenté, bien testé et bien pensé. Et ça, seul un bon développeur peut le faire ! Et ce que critique entre autre Palleas avec les outils Open Source de gestion de contenu du marché, c’est que leur code source est une vraie calamité à maintenir. Il suffit d’ouvrir le code source de WP (ou n’importe quel autre) pour constater un code mal organisé, peu testable, peu évolutif et ne respectant pas les bonnes pratiques (pas de MVC, du SQL dans les templates, des redirections en Javascript…).
Quand un commercial vient auprès du développeur pour lui dire : « je viens de vendre l’installation d’un WP à mon client mais celui ci aimerait en plus ce petit module en plus pour que ça corresponde à son besoin ». Imaginez la tête du développeur web professionnel assez aguerri qui se dit :
1/ Merde je dois travailler avec un outil comme WP…
2/ Je dois développer une fonctionnalité qui n’existe pas encore dans WP.
Et là c’est le drame. Le code est tellement pourri que le développeur va passer un temps monstrueux à comprendre comment il fonctionne (surtout s’il est mal documenté…) et comment implémenter sa fonctionnalité en plus en respectant les bonnes pratiques et la philosophie de l’application. Le temps qu’il va passer au final sera certainement très important par rapport à la fonctionnalité à développer.
Un développeur web professionnel passionné a besoin de s’éclater dans son travail en permanence. Pour s’éclater, il a besoin d’écrire du code qui tient la route et qui en plus répond aux besoins du client. Si je compare avec le commercial, ce dernier s’éclatera dans son boulot s’il décroche de nouveaux contrats et s’il rapporte du business à sa boîte. Le problème c’est qu’on dévalue généralement la dimension « qualité » du développeur au profit de sa « productivité » et de la « rentabilité ». Ce n’est pas en demandant à un développeur d’installer une appli open source et en bidouillant son code source (parce que l’on croit que l’on va faire une marge financière) que l’on permet à la personne de s’épanouir et de produire un code de qualité. Certes le client final, il s’en moque de la qualité du code du moment que ça répond à ses besoins. Mais l’idéal c’est d’arriver à concilier les deux.
Dernière chose que je n’ai pas dit ici, c’est qu’un bon développeur web n’est pas qu’un codeur fou alors que c’est la vision que certains ont ici. Pas du tout ! Ecrire du code ne représente qu’une petite partie du temps de travail d’un vrai développeur. Un développeur passe aussi son temps à analyser des spécifications techniques, à les modéliser (UML, schéma de bases de données), à comparer des solutions techniques et à convertir son analyse en code (plus ou moins propre) qui répond aux besoins. Toutes ces parties d’analyse en amont font toute la valeur ajoutée d’un développeur web professionnel. Je suis assez frustré d’entendre encore aujourd’hui qu’informaticien ou développeur c’est juste être très geek dans sa tête et passer son temps caché derrière un clavier à aligner du code toute la journée.
En tant que développeur, je ne remets pas en cause les fonctionnalités de WP et des autres CMS car ils répondent parfaitement aux besoins qu’on leur demande. Néanmoins, un bon développeur comme Palleas peut se permettre de critiquer le code source de ses outils et de pointer du doigt ses défauts.
La conclusion de tout ça, c’est qu’être un bon développeur web c’est savoir utiliser les bons outils (frameworks, tests unitaires et fonctionnels…) mais c’est aussi d’être capable d’analyser, modéliser et résoudre des problématiques complexes. Et ça malheureusement, ce n’est généralement pas ce que l’on trouve chez les développeurs qui se reposent sur uniquement le bidouillage du code source d’un CMS ou d’un Blogware…
Hugo.
Je suis entièrement de l’avis de Hugo. Merci à toi pour ton commentaire qui résume ce que je pense de Développeur Pro VS Amateur.
Hugo, merci d’avoir pris le temps d’exposer ton point de vue avec précision. je comprends très bien — et je t’assure que je ne suis pas le seul — les avantages de produire du code respectant un maximum de bonnes pratiques.
Si Palleas avait écrit un billet du style « bons développeurs vs mauvais développeurs », il aurait eu plein de commentaires, certains en aurait profiter pour en parler sur leur blog pour continuer le débat, etc mais je ne pense pas qu’on en serait à plus de 150 commentaires sur les deux billets 😉
Pour moi, le fond du débat est résumé par cette phrase que tu as écrite :
Le truc, au fond, c’est que la cible visée par un CMS comme WordPress (et d’ailleurs l’immense majorité d’entre eux) n’est pas censé maintenir le code du moteur de WordPress. De même qu’un utilisateur de Symphony ou Zend n’est pas censé faire évoluer le coeur même du framework. Si Matt et son équipe se prennent la tête à faire évoluer leur moteur, et bien, quelque part, c’est surtout leur problème, pas celui des intégrateurs WordPress ou même des pseudo-développeurs WordPress !
Que des développeurs chevronnés soient amenés à étudier ce moteur mal écrit et mal documenté pour écrire des plugins, etc. est une chose, mais c’est en dehors de la portée (scope) du débat initié par Palleas lui-même dans son billet.
Et puis bon, à un moment donné, je trouve que le discours : « on est des pros, on aime les trucs hyper-complexes et c’est comme ça qu’on prend notre pied, etc. » n’est plus en phase avec les critiques selon lesquelles le moteur de WordPress serait difficile à comprendre…
Allons, des grands garçons comme vous auraient-ils peur d’un blogware ne comportant en tout et pour tout qu’une dizaine de tables ?
Depuis quand j’ai parlé que les pros aimaient les choses compliquées ? Au contraire, un pro va faire en sorte que son application aussi complexe soit-elle en terme de fonctionnalités, soit en réalité aussi simple au niveau du code. Je travaille quotidiennement avec le framework symfony. Cet outil a le gros avantage de me permettre de rendre mon code le plus concis et le plus simple possible. N’importe quel développeur symfony qui reprend un projet symfony est capable de comprendre immédiatement ce que fait chaque chose dans le code car le framework offre le moyen d’écrire un code léger, réutilisable, testable et évolutif. L’application peut donc être complexe mais son code source très simple !
Or si je compare avec WP, il me suffit juste de dézipper l’archive et de regarde ce qu’il y’a dedans pour me dire toute de suite : c’est quoi ce bordel, qu’est ce que c’est complexe… Il y’a plein de fichiers PHP sous la racine web. Tout est mélangé. La structure des répertoires n’est pas cohérente du tout. La config se trouve aussi sous la racine web… Je pourrais faire le listing complet de ce qui ne va pas dans cette application.
Donc ne viens pas dire ce que je n’ai pas dit (« on aime les trucs super complexes ») car ce n’est pas vrai. Un bon développeur aura la capacité de coder un code peu complexe alors que WP pour le coup c’est très complexe rien que de part son architecture. Trop de complexité c’est mal…
On voit bien que tu n’es pas développeur, la complexité d’une application ne se résume pas à la quantité de code et aux nombre de tables dans une BDD. Ca va bien au delà de tout ça. Je te laisse méditer 😉
Hugo.
Bonjour,
je voudrais juste savoir pourquoi, concrètement, c’est « mal » que le fichier de config soit à la racine ? (ce qui me semble être le cas dans pas mal de systèmes)
Parce que ça n’a rien à faire à ce niveau pour des raisons de sécurité évidente. Les bonnes pratiques recommandent de ne laisser sous la racine web uniquement ce qui peut être visible depuis un navigateur. Par conséquent, on y place généralement les JS, les CSS, les images et un fichier index.php qui sert de porte d’entrée (front controller) à toutes les requêtes entrantes.
Tout le reste (les fichiers de config, les fonctions, les classes, le cache, les logs, les scripts de logique applicative, les templates, la doc de l’application…) doit se trouver au niveau supérieur protégé des appels depuis le web. Les frameworks open source du marché comme symfony, Zend, CakePHP et autres font tous ça. Si je prends l’exemple de symfony, un projet web est structuré grosso modo de cette manière :
apps/
cache/
config/
data/
doc/
logs/
lib/
web/
index.php
images/
css/
js/
uploads/
Là c’est clair, quand on travaille avec un framework très structurant comme celui-ci, chaque morceau de code et chaque fichier se trouve bien rangé à sa place conformément aux bonnes pratiques de développement et au modèle MVC. Le serveur web (généralement un virtual host) est configuré pour ne rendre accessible que le répertoire web/ depuis le navigateur. Autrement dit, si j’appelle l’url http://www.monsite.com/index.php, j’arrive automatiquement sur web/index.php et non sur la racine du projet qui contient les autres répertoires au même niveau que web/.
Malheureusement, WP n’a pas une telle architecture respectueuse des bonnes pratiques et beaucoup de prestataires ne le font pas non plus…
Hugo.
S@lut, cela me semble logique qu’un dev’ essaie de faire les lignes de codes les plkus légères possibles, au même titrte qu’un motard va essayer de tirer la courbe la plus droite possible. Mais pour les intégrateurs/bidouilleurs c’est également le cas pour une raison encore plus évidente : « Pourquoi compliquer quelque chose encore plus qu’il ne l’est déjà? » 🙂
J’aimerais bien aussi avoir la réponse à la question de Marie-Aude à savoir : En quoi ça gène « techniquement » que le wp-config soit à la racine?
(promis pour le prochain commentaire j’enlève mes moufles)
Hugo — Désolé, en effet, tout ce qui suit le « Et puis bon » fait référence à des propos tenus plus haut par d’autres personnes.
Rhaaa, merci Bruno, on va encore passé pour des monomaniacs psychorigide… 😛
J’aurai aimé un commentaire un poil plus long de Thanh, ou plutôt son avis sur le sujet (il ne se mouille pas ! ^^’) en tant que développeur expérimenté ayant migré d’un moteur de blog perso vers WordPress (j’ai fais la même mais pour allez vers Drupal).
Je retiendrai également ceci du (monsieur) sage :
Mon pronostic, c’est que WP finira sans doute un jour par mourir, colosse sclérosé qui se fera remplacer par un « petit jeune » né sur des bases plus à jour, mais que ce jour n’est ni aujourd’hui ni demain, et qu’en attendant, il reste à ce jour un des CMS/moteur de blog (troll sans intérêt) les plus puissants et efficaces, même codé sale et contenant des bugs
Non pas que je souhaite la mort de WP et que je pense qu’il va de même pour des solutions comme phpBB.
Ça aura été un sujet/billet/forum/débat intéressant (merci Bruno) et je pense que je vais me donner la peine d’étudier un peu plus en profondeur WP et son Codex avant de le critiquer d’avantage ! 😉
Mine il ne m’a pas gardé la structure dans mon précédent message. C’était bien évidemment ceci :
apps/
frontoffice/
backoffice/
webservices/
cache/
config/
databases.yml
data/
doc/
logs/
lib/
MySuperClass.class.php
MyOtherSuperClass.class.php
web/
index.php
images/
css/
js/
uploads/
Je confirme : l’OO ne protège pas contre le code dégueulasse ou imbittable.
Lorsque l’on a besoin de modifier un bout de code au pied lever (et c’est quand même souvent le cas), on est bien content d’avoir des site en procédurale.
Car modifier une page sur des projets completement basé sur un framework, ça prend la journée rien qu’a trouver quelle fonction affiche le header, qui appel les balises, qui appelent le template…
Wordpress est aussi facile à reprogrammer qu’a utiliser et surtout, facile a relooker
J’ai tenter de livrer des spip ou des joomla par le passé, on passe plus de temps a former l’utilisateur ou l’admin qu’a le mettre en place… sans parler de drupal qu’aucun utilisateur n’a daigner essayer plus de 10 minutes.
A par Dotclear ou des trucs plus basic à la simpleCMS, wordpress reste un outils super fiable.
J’ai pas eu l’occasion de travailler sur typo3 ou ezpublish, mais cela se fera sur du multilangues j’espère.
@jayson : c’est une blague j’espère ? Le but d’un framework c’est bien d’aider à développer plus vite et organiser le code donc éviter de chercher 3 heures quelle est telle ou telle fonction qui génère le header comme tu le dis si bien. Sachant que sur un vrai framework php, il n’y a pas de header et de footer. On parle généralement de layout.
Je vais juste répondre à Jayson et Hugo.
@jayson : Drupal est un framework de CMS, il ne sert à rien de le présenter à un utilisateur « brut ». Il faut le fine-tuner d’abord.
Pareil, les frameworks sont intéressants pour faire un code spécifique à un projet et pas un CMS-qui-marchera-pour-tous-les-sites.
@Hugo : pour travailler en ce moment avec un bon dév, qui ne connaissait pas Symfony, sur un projet Symfony..ce n’est pas si facile pour lui de s’y retrouver. Ne serait-ce que retrouver le schéma, le routing, bien repérer comment utiliser $request et ses méthodes : ce n’est pas évident.
Symfony, tout comme le ZF a une courbe d’apprentissage ardue. Le ROI est toujours valable, je pense, donc ça vaut la peine de s’y mettre, mais au départ…on est paumé.