Bonsoir,
Le temps m'a manqué en décembre pour finir comme je le voulais le raisonnement de mon dernier billet. Y revenir longuement aurait des airs de "réchauffé" donc je ne vais pas relancer le débat Features/Patterns d'autant que j'ai dit l'essentiel dans les réponses aux commentaires qui ont été faits. Fondamentalement, ce que je ne parviens pas à comprendre dans Features c'est l'intérêt de mettre une couche entre le core et un module, puisqu'une feature est un module - pourquoi ne pas coder directement le module ? Un intérêt possible, ceci dit, serait dans le cas où vous voulez donner à un utilisateur la possibilité d'activer à volonté des fonctionnalités "grand public" sans lui donner l'accès à l'administration des modules proprement dite. Ce peut être très pratique dans une plateforme de type multiblog, où chaque blogueur pourrait activer ou pas, par exemple, un agenda ou un gestionnaire de "galerie" d'images sur son blog.
En dehors de cela, je m'intéresse davantage à Patterns car ma pratique professionnelle de Drupal me le ferait utiliser plutôt pour des sites d'un petit nombre de types (en clair, plusieurs sites en grande partie semblables dans leur fonctionnement). J'aurais donc besoin de gagner du temps sur l'installation et la configuration d'ensemble plus que sur une fonctionnalité en particulier. Raison pour laquelle je garde également un oeil sur les profils d'installation, rendus encore plus intéressants avec l'annonce faite au début du mois (Fully packaged Drupal distributions now deployed on drupal.org). Jusqu'à présent, pour utiliser un profil d'installation, il fallait charger séparément :
- la dernière version du coeur de Drupal
- le profil
- la dernière version de tous les modules nécessaires pour le profil
Désormais les créateurs de profils peuvent proposer des packs complets ; on mesure l'intérêt de la chose ! On peut gager qu'ils vont probablement se multiplier.
Pour autant, la question plus profonde est celle du rapport entre généricité et spécificité : en clair, à partir de quand le besoin auquel répond un travail personnel (configuration de différents modules, ou développement personnel) est-il suffisamment générique pour que le partage de mon travail soit pertinent ? Jusqu'à quel point une fonctionnalité avancée est-elle transposable d'un site à l'autre ? Plus le produit que vous proposez est élaboré, moins largement il sera utilisable.
C'est une question plus générale à Drupal dans son ensemble : en témoigne le débat sur le "framework" et le "product". Le succès de Drupal tient à ce qu'il peut constituer une base de travail pour de très nombreux projets. Au risque de surprendre le nouveau venu, plus habitué à des produits plus "finis", quand il découvre l'aridité de la distribution de base. On peut tout faire avec Drupal, mais avec Drupal tout seul on ne fait pas grand'chose, et il faut pas mal de travail pour obtenir quelque chose. C'est la raison pour laquelle sont apparues les distributions, comme les profils d'installation. Un profil d'installation est encore une solution assez simple, mais vous pouvez trouver des propositions autrement plus élaborées (je pense à Open Atrium, Tattler, etc.). Le risque ici est que chaque distribution s'éloigne petit à petit du noyau, en suivant sa logique propre. C'est un risque dont Dries Buytaert parait bien conscient, comme le montre cet article d'il y a déjà trois ans. Il a récemment annoncé que le développement de Drupal 8 se concentrerait plus particulièrement sur cette dichotomie entre le "framework" et le "product", avec deux "co-maintainers" responsables de chacune de ces orientations. Le dilemme est clair à exprimer : comment conserver une base légère et flexible tout en répondant à la demande accrue d'un produit qui soit un minimum abouti. Demande accrue par la popularité grandissante de Drupal. La suite de l'histoire de Drupal dépendra de la capacité de la communauté à trouver une réponse cohérente à cette question.
Je vous souhaite un joyeux réveillon et vous donne rendez-vous en 2010 pour de nouvelles aventures drupalistiques !
Hello article intéressant
Hello
article intéressant :-)
pour features j'insisterais qu'un grande partie de son intéret réside aussi dans la simplification de la mise à jour entre local et version en ligne. Voir ce post de developement seed à ce sujet
http://developmentseed.org/blog/2009/jul/09/development-staging-producti...
personnellement features me parait dans l'avenir une réponse intéressante à ce dilemme : ce sont comme de mini-packages à installer qui permettant d'avoir dans l'idéal la rapidité de déploiement d'un composant joomla avec la souplesse Drupal; mais tous ça ne reste qu'un point de départ et je ne sais pas si features va réellement se développer ou pas, d'autant que son succès dépend de l'orientation future de Drupal. Toutefois developement seed a l'air de beaucoup bosser là dessus donc on peut s'attendre à de jolies avancées malgré tout.
Oui, l'avenir dira ce qui se
Oui, l'avenir dira ce qui se popularise le plus : les packages complets (profils d'installation) ou les mini packages (features). L'année 2010 promet d'être riche pour les veilleurs !
Je serais en particulier très curieuse de savoir quelles solutions Acquia a retenu pour Gardens, car là aussi le problème va se poser : quand on ouvrira son jardin, trouvera-t-on de la terre et un sac de graines à côté, ou une pelouse avec quelques massifs et juste le sécateur pour retailler quelques trucs ?
D'ici là, passe une bonne Saint-Sylvestre !
utilisation des distributions
Bonjour,
Merci pour cette excellent article qui me fait découvrir un peu plus les patterns et features.
Personnellement, je développe des sites au quotidien sur Drupal et même si certains sites sont proches aucun n'a exactement les mêmes modules car chacun a ses propres spécificités.
En ce qui concerne la gestion d'agenda, je n'ai pas mis ça en place pour l'instant, alors effectivement ça peut être pratique d'avoir des distributions de base pour débuter, mais honnêtement, vu la rapidité de mise à jour des modules, ça me paraît compliquer d'avoir des distributions toujours à jour, sans compter les problèmes de compatibilité entre modules.
Je n'ai peut être pas cerné tous les avantages de ce genre de distribution que je n'utilise pas actuellement, mais la balle est dans votre camps pour m'expliquer les avantages que je n'aurais su voir.
Bonne journée et amusez-vous bien ce soir pour le réveillon!
PS: Merci Marie-Hélène pour ton site qui est une très bonne initiative, bonne continuation
Merci ! Ta remarque sur la
Merci ! Ta remarque sur la difficulté de garder des distributions à jour me semble tout à fait juste. Si j'ai bien compris l'article annonçant les fully packaged distributions, le nouveau système mis en place vise à faciliter la gestion de ce problème. Mais il me paraît très clair que dans la masse des profils et distributions possibles, seuls se dégageront et seuls survivront ceux derrière lesquels se trouve une structure capable de maintenir leur actualité de façon pérenne. Le problème pour les producteurs de distribution ne sera pas "qu'est-ce que je peux produire", mais "que suis-je capable d'assurer sur le long terme".
Poster un nouveau commentaire