chaine-wordpress

Une intervention sans langue de bois dans le but de pointer certains aspects perçus comme une faiblesse à mes yeux et qui pourront sans doute faire l’objet d’améliorations en terme de développement.

N.B : cet article fait partie de la chaîne WordPress dont le sujet n°1 répond à la problématique : « Que manque-t-il à WordPress ? ». J’y livre ici mon analyse personnelle et je vous invite à lire ou à relire les articles des autres intervenants listés en fin de billet.

#1 – Une gestion améliorée des médias

Par défaut, WordPress dispose d’une bibliothèque de médias. Elle regroupe l’ensemble des éléments audio, vidéos, images et autres documents que nous lui envoyons le plus souvent directement via l’éditeur de contenu.

Or, le principal problème est que cela finit vite par devenir fourre-tout. Ainsi, on regrettera l’absence de systèmes de classification que l’on retrouve pour les types de contenu (taxonomies personnalisées) ou encore un système de filtre plus poussés en fonction de métadonnées.

Cela est d’autant plus vrai pour les images : je conseille régulièrement de passer par un plugin comme NextGen Gallery pour gérer efficacement des galeries photos. Pour autant, cela n’est pas toujours évident d’expliquer la présence d’un double système de gestion et encore moins le côté usine à gaz.

Je ne souhaite pas que WordPress devienne une usine à gaz pour plaire aux demandes de tout un chacun. Les plugins sont faits pour cela !

Néanmoins, il faut bien reconnaître que la gestion de médias n’est pas simple pour l’utilisateur final même si, à titre personnel, cela ne me dérange pas vraiment… en résumé, on doit pouvoir simplifier son usage par l’enrichissement de nouvelles fonctionnalités. Et cela n’a rien de paradoxal !

#2 – Un approfondissement du mode multisite

Le mode multisite de WordPress – anciennement WordPress Mu, nous permet de créer des sites à la chaîne sur une même base de données et de profiter d’effets de réseaux : thèmes en commun, plugins offrant une gestion globale, options générales, etc.

Toutefois, après avoir mis en place de nombreux projets multi-site sous WordPress, j’en reviens à constater certaines difficultés récurrentes :

  • Les options de thème (menus, widgets, etc.) ne sont pas généralisables : à moins de tout coder en dur, il faudra repasser chaque site en revue ;
  • La capacité à centraliser le contenu dans un site principal : agréger le contenu publiés sur les sous-sites n’est pas une chose facile à mettre en oeuvre (les plugins ne sont pas tous fonctionnels et loin d’être efficace) ;

Ce qui serait intéressant au niveau de la gestion du réseau consisterait à pouvoir choisir quand on souhaite adopter une approche globale (des options qui agissent sur tous les sites) ou une approche au cas par cas de façon indépendante (comme c’est le cas pour pas mal d’options actuellement).

Il semble que l’on pourrait décupler les possibilités du mode multisite en procédant à ces ajustements. Mais reconnaissons les évolutions permanentes et bénéfiques au fil des dernières versions !

#3 – Un système de mise à jour intelligent ?

Le denier point que j’aborderai concerne les mises à jour.

Pour rappel, le coeur de WordPress, les thèmes et les plugins reçoivent régulièrement des correctifs de bugs ou l’ajout de nouvelles fonctionnnalités dont on peut facilement disposer via l’outil de mise à niveau automatique.

Le principal souci concerne la prise en charge des modifications que l’on aura pu apporté pour l’une de ces 3 composantes (le coeur, les thèmes ou les plugins).

  • Pour la partie core : en principe, aucun problème étant donné que l’on ne doit pas y toucher ;
  • Pour la partie thèmes : depuis la démocratisation des thèmes enfants ou child thèmes, le problème n’est plus d’actualité ;
  • Pour la partie plugins : c’est là le point le plus chaotique car il n’existe pas – du moins à ma connaissance, le principe de plugins enfants comme pour les thèmes. Evidemment, on pourrait utiliser le fichier de fonctions mais cela n’a rien de pratique. Il est fréquent d’avoir à modifier un plugin pour correspondre aux besoins d’un projet et incorporer les mises à jour (parfois indispensables) n’a rien d’évident ;

Pour améliorer la situation, 3 idées me viennent à l’esprit :

  1. La prévention : aucun message nous informe qu’un plugin a été modifié avant d’effectuer une mise à jour. Heureusement que les sauvegardes existent ;
  2. Un système de mise à jour différentielle : détecter automatiquement les modifications apportées au plugin par rapport à la version actuellement en place sur votre site puis proposez les ajouts supplémentaires concernant la nouvelle version tout en conservant vos changements personnels.
    Cependant, on risque de complexifier grandement le processus ;
  3. Instaurer le principe de plugins enfants comme pour les thèmes ;

Au fil de cet article atypique sur WordPress Channel, je me suis efforcé de mettre en avant les points qui me paraissaient faire l’objet d’améliorations souhaitables au vue de ma propre expérience personnelle et professionnelle tout en proposant des solutions… bien que je ne sois pas en mesure d’évaluer leur faisabilité technique !

Les autres intervenants de la chaîne WordPress

Et maintenant, places au débat : quelles sont les fonctionnalités essentielles qui manque à WordPress, selon vous ?

Crédits photo : Ddesign

36 commentaires

  1. Hello!

    Je souhaite réagir sur le point #3 au sujet des plugins pour les solutions de mises à jour proposées :
    1- S’il vous plait WordPress, ne faites pas de MAJ automatiques Tu remarqueras que personne ne le fait (windows, firefox, wordpress core …) ya bien des raisons
    2- Ca c’est de la bonne idée, et oui très complexe. Ca permettrais de modifier le core d’un plugin sans qu’il se fasse écraser à la prochaine MAJ.
    3- Pour avoir des plugin enfants, il faudrait que les devs ajoutent beaucoup plus de hooks, pour les plugins qui en ont déjà beaucoup, tu peux créer ton plugin « enfant » !
    Créer ton dossier « le_plugin_enfant », ajoute un fichier avec une entete de plugin, colle els filter et action posés sur les hooks du plugin parent, active ton plugin et voilà.
    Maintenant si un plugin n’a pas de hooks . . . faut faire la demande au dev, ça lui coute rien du tout ! 1 ligne de code par hook demandé :]
    Bonne journée !

    1. Hello !

      Pour le point 3, j’en ai déjà entendu parlé mais sans avoir pu testé et cela ne me paraît pas très simple… tu as déjà fait un tutoriel à ce sujet ?

      Si oui, je suis preneur !

  2. Salut,

    Bien analysé, on voit bien les problématiques client rencontrées.
    Pour les plugins, il serait intéressant de faire des dépendances entre plugins, que si l’un a besoin de l’autre alors il soit spécifié lors de son installation/téléchargement qu’il a besoin de tel ou tel plugin.Ou qu’il se désactive quand son plugin parent est désactivé.
    Nacin en a fait une extension, mais il faudrait que ce soit intégré au core
    http://wordpress.org/extend/plugins/plugin-dependencies/

  3. J’avoue que j’ai les mêmes avis que toi sur ces différentes lacunes de WordPress.

    J’utilise souvent pour moi ou mes clients le plugin NextGen Gallery. Je ne peux donc qu’approuver ce qui est dit sur le fait de voir apparaître pour l’utilisateur deux fonctions ayant la même utilité dans le gestionnaire de médias des articles…

    Et ton idée de plugin enfant est tout simplement excellente.

      1. je ne suis pas un utilisateur conquis par nextgen gallery,je trouve que c’est un plugin lourd,je préfère WP Photo Album Plus.

        j’aime que maintenant on clique sur un bouton « insérer » et on peut choisir entre image,vidéo ou médias » mieux qu’avant avec les 3 boutons distingués.

  4. Salut.

    Je suis du même avis que toi sur pas mal de points (bon, par contre je déteste NextGen, c’est une usine à gaz selon moi ^^).
    Multisite, c’est bien vrai, il faut parfois faire preuve d’ingéniosité pour faire discuter les blogs ensemble.

    Pour les plugins enfants ce n’est pas aussi compliqué que tu semble le penser. En fait on reproduit le système de WP : il y a des filtres, des actions, et on hook dessus. On fait la même chose pour les plugins. En revanche, que WP cadre la méthode pour que tout le monde fasse pareil serait peut-être un plus. Pour les dépendances je fais au plus simple pour l’instant : la version du plugin parent est définie dans une constante, le plugin enfant vérifie cette version et si c’est pas bon il reste actif mais ne fait rien, comme ça rien ne casse. J’avoue qu’il faudrait que j’approfondisse mieux le système (en regardant ce qu’à fait Nacin par exemple ;)).

    Merci pour l’article

  5. Hello !
    C’est vrai que c’est un peu le fouillis la gestion des médias sous WP, après je ne suis pas sûr que NextGen soit la meilleure solution. Je n’ai jamais accroché, enfin depuis le temps des mises à jours ont du se faire…

    Je suis d’accord sur le fait que la mise à jour des plugins est problématique. Il m’est arrivé à plusieurs reprises de mettre à jour et hop ! Plus rien ne fonctionne
    Ca m’a calmé ! Du coup je ne mets à jour que les plugins que j’estime sans risque pour mon blog.

    Est ce que cela vous est déjà arrivé ? Avez vous une solution ?

    A+
    Alex

    1. Ça ne m’est jamais arrivé mais je vois 2 solutions :
      1 – avoir une version de son site en local et tester dessus.
      2 – vérifier sur l’extend la présence de ton ancienne version, mettre à jour le plugin, et en cas de problème : retélécharger l’ancienne version et remplacer la nouvelle via ftp

    2. Pour la MAJ du plugin:
      – renomme le dossier en ajoutant « .old »
      – mets à jour
      – si ça va tant mieux
      – sinon supprime le dossier et renomme le « .old » comme il l’était avant.

  6. Arghh, la gestion des utilisateurs est assez limitée sur WordPress. Exemple: attribuer à une personne la possibilité de ne gérer que les commandes de clients (plugin Wp e-commerce).

    1. Je pense ici que le problème vient du plugin. WPEC n’a pas créé de capacités pour découper des roles. On ne peut donc pas créer de role ou ajouter des droits à un role.
      WordPress a la possibilité d’ajouter des rôles et capacités, WPEC ne les utilise pas, que faire
      Même chose pour les hooks (actions et filters) il en manque dans WPEC !! Des tonnes !
      WordPress n’y est encore pour rien …

      1. On pourrait imaginer avoir la possibilité d’utiliser un rôle restreint, comme un administrateur avec des droits limités, mais les différents plugins que j’ai testés ne donnent rien de convaicant.
        Ayant un peu travaillé sous TYPO3, j’ai sans doute pris de mauvaises habitudes.

  7. pour moi, ce qui manque est un espace d’échange de fichiers hautement paramétrable. Avec la possibilité d’avoir des emails automatiques quand les fichiers sont déposés ou téléchargés, avec si possible la capacité de laisser des messages horodatés pour chaque fichiers déposés ou téléchargés.
    J’espère que cela sera dispo un jour

        1. @sam, @Aurélien

          Je ne sais pas ce qu’il en est de WP-FileManager mais en général il faut se méfier des plugins dans ce genre, au niveau sécu ils ont souvent des trous.

          En gros dès qu’un plugin parle de gestion de fichiers, de base de donnée ou autre, il vaut mieux être prudent et se renseigner le plus possible. Julio sera d’accord avec moi sur ce point je pense

          D’ailleurs Julio en aurait peut-être un à nous conseiller? (ou peut-être que celui-là est nickel aussi ^^)

  8. Bonsoir !
    2 ans sans mises à jour, c’est déjà pas top.
    Greg nous dit « en général il faut se méfier des plugins dans ce genre, au niveau sécu ils ont souvent des trous »
    C’est pas faux, mais le problème n’est pas qu’ils contiennent souvent des failles, pas plus souvent que d’autres plugins, le problème est que si une faille est présente, ça peut vite tourner au hack profond.
    Quand on parle de base de données ou de fichiers à télécharger/uploader, aie. Voir son « wp-config.php » s’envoler en 1 clic, ça fait mal :]

    Je vais donc vous recommander d’éviter ce plugin, oubliez qu’il existe ça vous rendra service

  9. ce qui manque pour moi, ou bien je n’ai rien compris de WP, c’est que workflow de base marche comme affiché! Je m’explique – si je modifie un article ou une page déjà publié, donc si j’ajoute une révision et si je la met en brouillon ou relecture au lieu de la publier toute de suite alors j’attends que cette révision ne soit pas publiée en attendant que quelqu’un dans la chaine éditoriale la fasse publier. J’ai essayé Edit Flow, Post Revision Workflow sans succès. Je demande trop? Comment faites-vous?

    1. Hum… je ne suis pas sûr de comprendre la question. Un article publié peut être basculé de nouveau en brouillon ou en attente de relecture (bien que d’un point de vue référencement il faut éviter).

      Effectivement des plugins comme Edit Flow permettent d’aller plus loin.

      Mais quelle serait le besoin ?

  10. il manque des trucs à wordpress : quand on travaille en local sur un site, il faudrait que l’on puisse, en 2 ou 3 clics, mettre tout le contenu du site local en online…

    – le mode multisite : c’est beaucoup mieux mais encore un peu usine à gaz : par exemple, le site « network » ( la « racine » à laquel tous les autres sites sont rattachés dans l’admin ) n’a pas à être un site en lui même…. avec un thème, etc…. car c’est très embrouillant.

    – c’est encore parfois ULTRA-GALERE de faire des pages bien mise en forme….faut toujours aller en mode html et mettre les mains dans le cambouis…. ( pour les sauts de ligne, etc… )

    – en multisite : je mets toujours mes images de site dans un rep « images »….. pkoi donc WP me créé des dossier « files », et « 1 », « 2 », etc…. avec 10 copies de la même image à chaque fois ? c’est pas pratique, ultra-bordélique, et ça prend de la place…

    1. Passer d’une version local à une version en ligne n’est pas vraiment compliqué une fois le coup de main adopté…

      Pour le multisite, je ne comprends pas vraiment ce que tu entends par site « network ». Chaque site étant indépendant bien que l’on puisse avoir certains éléments en commun.

      Pour créer des pages, tu peux utiliser des plugins de shortcodes pour créer des colonnes, des onglets, etc. Un bug avec les sauts de lignes ?

      En multisite, WordPress gère les médias avec des dossiers que l’on peut renommer aussi facilement que pour une installation simple (même si c’est faisable). Quand tu envoies une image, WordPress génère 3 tailles en plus de la version d’origine (miniature, moyenne et large)… parfois plus si ton thème le demande.

      Tu peux empêcher leur création en indiquant des valeurs 0 dans les réglages.

  11. Bon, juste pour dire que moi aussi je trouve NextGen trop lourd pour ce que j’en fais. Avec les améliorations de la galerie native, il faut vraiment un besoin très spécifique pour passer à NextGen. D’ailleurs, je compte m’en débarrasser dès que je trouverai un peu de courage…

  12. Moi je voudrais qu’il y ait la possibilité d’intéragir avec les forum, un SSO en natif.

    D’ailleurs je me posais la question suivante.
    IPB 3.3 peut se connecter à partir de facebook ou twitter ou LDAP etc…
    Et wordpress peut aussi le faire avec un plugin.

    Donc est-il possible avec une adresse facebook à l’enregistrement de faire un pseudo SSO entre WP et IPB ?
    Merci

  13. Hello all !

    Je me permet une petite incursion chez les pros WP pour donner une ou deux pistes à creuser dans le multisite (et me prendre un ou deux taquets si tout cela existe ) :

    * En tant qu’admin général (appelons moi Dieu), il est délicat de savoir ce que l’on a autorisé ou pas aux sites « enfants » ou tout simplement aux utilisateurs lambda. Pourquoi ne pas créer des profils par défaut liés à Dieu afin de vérifier les autorisations appliquées (clic, je suis un abonné, clic je suis admin d’un site enfant, clic, je redeviens Dieu)

    * il manque selon moi un gestion utilisateurs digne de ce nom tel que :
    – à l’image des pages « archives », création d’une page « liste des… » contenant la liste des membres d’un profil (abonné, rédacteur, etc.). WP sait faire des archives il y a une page archives (avec de soptions et tout et tout), mais il sait faire aussi des utilisateurs sauf qu’on ne peut rien en faire, sinon les voir squatter la bdd, satisfait de voir leur nombre augmenter.
    – gestion des avatars (liaison auto avec gravatar puisque c’est le choix de la direction de WP)
    – interactions entre sites enfants (vous en avez déjà parlé)
    – et qui dit utilisateur, dit newsletter… sur la même problématique que ci-dessus, si on a des abonnés, il est important de communiquer avec eux et à mon sens peu logique de devoir passer par un plugin.
    * la création automatique de thème enfant. Clic je veux un thème enfant, clic je choisi dans une liste le thème que je souhaite dupliquer et clic je saisi le nom du nouveau thème.

    * La gestion du flow de rédacteur en natif (on parle toujours du multisite là hein).

    * L’administration des droits des profils (genre plus simple que Role scoper)

    Bon c’est tout, je me sauve
    Merci de votre oreille et au plaisir de vous lire.

    1. Hello Gilles,

      merci de ta participation.

      Pour le mode dieu, tu cherches un système à la Google+ ou l’on peut saisir le nom d’un utilisateur pour afficher le profil tel que lui le voit en somme.

      Pour les utilisateurs, il existe déjà une page d’archive pour chaque auteur (author.php) et tu dois pouvoir facilement lister les utilisateurs dans un modèle de page.

      Pour la newsletter, ce n’est pas logique de l’intégrer à l’administration. C’est un besoin spécifique. WordPress est un outil de gestion de contenu ni plus ni moins. Les plugins sont très bien pour cela et permettent une évolutivité. Pas d’usine à gaz et en plus je vois d’ici les problèmes d’envoi avec de nombreux hébergeurs de base…

      La création simplifiée d’un thème enfant, why not?

      Et oui pour les 2 derniers points. J’utilise User Role Editor ou Members qui sont très biens sinon.