Je viens d'installer un Wordpress pour pouvoir développer un plugin pour cette plateforme que je ne connaissais jusqu'ici que de nom. Waw. Ça fait peur ce bouzin.
Une vraie usine à gaz ! On va aller dans le vif du sujet qui m'intéresse : les plugins. Chez Dotclear, pour installer un plugin, on peut simplement taper l'url du plugin dans l'interface d'admin. Le plugin est automatiquement téléchargé, installé et configuré. Super simple pour le noob. On peut aussi télécharger le plugin et le copier dans /plugins/. Au moins c'est clair.
Chez Wordpress, on a pas le choix. Il faut télécharger l'archive du plugin, la décompresser, puis l'uploader par FTP sur son serveur dans le dossier /wp-content/plugins/. Heureusement qu'ils ont une doc, parce qu'il fallait le trouver ce dossier plugins. Ça va être joyeux pour expliquer au noob comment installer ce plugin.
Au niveau du code. Chez Dotclear, tout est super bien organisé. Un fichier pour définir le plugin, un fichier pour définir les actions lorsqu'on est sur la partie publique, un autre éxécuté uniquement lors de l'installation, encore un quand on est dans l'admin. Tout est joyeusement séparé. Et le code est totalement orienté objet. Un objet dcCore à qui on passe des méthodes d'objet en tant qu'événement qui seront éxécuté à tel moment.
Revenons à notre fichier de définition. Chez Dotclear, il s'agit d'un fichier nommé _define.php. Celui-ci contient quelque chose comme ça :
<?php $this->registerModule( /* Name */ "Nom du plugin", /* Description*/ "Description du plugin", /* Author */ "Nom de l'auteur", /* Version */ '0.9.1', /* Permissions */ 'admin' ); ?>
Chez Wordpress… on a en tout et pour tout un seul fichier (même si on peut scinder soi même en pusieurs fichiers, avec des includes…) Et pour définir le plugin, on doit mettre les infos en commentaire en entête de fichier :
<?php /* Plugin Name: Nom du plugin Plugin URI: http://alt-i.fr Description: A plugin for Alt-I Version: 0.9 Author: Hadrien Lanneau Author URI: http://alt-i.fr */ ?>
Et tant que ce commentaire ne sera pas dans le fichier, le plugin n'apparaîtra pas dans la liste des plugins disponibles ! Ça doit en foutre un coup coté perfs si Wordpress doit d'abord lire et détecter ce bloc de texte dans chaque fichier contenu dans le dossier de plugin avant d'éxécuter ce même fichier. Imaginez que j'installe 20 plugins, pour tester, puis que je les désactive. Ça fait quand même 20 fichiers à parser et à grepper à chaque chargement de page ! Il vaut mieux penser à les désinstaller ! Oui, évidemment, pour les désinstaller, il faut retourner sur son serveur en FTP, puis virer les fichiers. Vachement convivial. Le noob adore.
Ensuite, c'est de la fonction globale de partout. Le plugin est donc un unique fichier qui contient des fonctions procédurale. On définit ses fonctions, puis ensuite, on appelle une fonction add_action() à laquelle on dit de quelle action il s'agit et le nom de la fonction qu'on veut éxécuter. C'est très moche. J'ai pas autant de motivation à développer que pour la version Dotclear. Pourquoi tant de monde sont-ils sur cette bouse de Wordpress ???
Commentaires
"Nous chez Wordpress...au lieu de consommer quelques octets pour 3 variables de plus, on se fait chier comme pas permis avec un pré-accès pour parser les commentaires...
C'est tellement Web 2.0 :o"
Et point de vue sécurité, c'est moyen-moyen. Avoir ce qui concerne l'admin séparé du public, cela permet à la fois une optimisation (c'est toujours ça de gagné en perf pendant l'interprétation, parce qu'après-tout php, c'est du basic orienté objet) , mais cela évite aussi un escaladage de privilèges particulièrement malheureux.
Je dois dire que sur certains arguments, tu n'as pas réellement cherché...
Sur la conclusion je suis d'accord, Wordpress est codé de manière assez dégueulasse par rapport a DC, mais plusieurs de tes arguments sont faux :
1 - désinstaller un plugin, il suffit de cliquer sur Delete...
2 - tout est procéduré dans un plugin, c'est absoluement faux, la preuve je ne fait que des plugins en objet et ca fonctionne parfaitement.
Après dans les arguments, la doc de WP est merdique alors que celle de DC est vraiment nickel, la ou j'ai mis 5 jours sur un plugin WP, j'ai mis 30 minutes pour le meme sous DC.
Bref, oui au niveau code, WP a encore beaucoup de retard a rattraper, mais, il y a un "marché" plus grand, plus de support internationalisé et une plus grande quantité de "mods" (plugins/themes) qui font que "malheureusement" wp est plus populaire que dc.
En effet, la doc WP est médiocre. Si ça ne t'ennuie pas, je te solliciterais volontiers pour un peu d'aide
Je suis d'accord sur le fond, Wordpress est code avec els pieds. Apres, je suis d'accord avec Anthony.
Maintenant, Wordpress c'est developpe a cause de la lenteur de dotCleear. Si DC n'avait pas autant traine entre ses differentes versions, on en serait peut etre pas la...
Faudrait p't'être développer un plugin wordpress permettant de faciliter l'installation / configuration / etc. des plugins wordpress...
@ jeFFF : C'est pas faux. On pourra peut être espérer un renversement de situation avec DC2
@ AxS/Natsume : Ça résous pas le problème car si on crée un plugin qui tient compte de ce plugin, tu te restreint au seul public qui aura installé le plugin. Tu plugines ? Non, tant que ça sera pas géré par wordpress par défaut, on pourra rien faire de mieux.
En fait, la gestion des plugins a la dotclear sera intégrée dans WP 2.7 qui sort à la fin du mois. Donc ce problème n'en sera plus un.
"On pourra peut être espérer un renversement de situation avec DC2"
Pour quoi "peut-être" ?
http://www.dotclear.net/blog/post/2...
On a dit 1er novembre, on va s'y tenir.
Excellent
Ajouter un commentaire
Abonnement aux commentaires
S'abonner pour recevoir les commentaires suivants par email
URL de rétrolien : http://alt-i.fr/trackback/422
Fil des commentaires de ce billet