Mes nouvelles activités ne me laissent que peu de temps pour mettre à jour ce blog. En attendant une éventuelle reprise de mes divagations éditoriales, vous pouvez toujours parcourir les anciens articles. A+ et bonne lecture!
Inéation
100% Drupal : Actualité, Documentation, Formation, Module, Thème
Le guide Inéation des 38 modules indispensables à Drupal 6
Dernière mise à jour : Février 2009.
Version de Drupal : 6.X
L'un des points forts de Drupal c'est le nombre et la qualité de ses modules. Pourtant, devant la multitude des modules disponibles il est difficile de faire le bon choix. C'est pourquoi, pour vous aider dans vos premiers pas, j'ai sélectionné 38 modules indispensables et vous explique pourquoi.
Ils vont vous permettre de :
- Réduire votre temps de développement
- Faciliter la construction de votre site
- Publier du contenu
- Toucher un public multilingue
- Gérer des images
- Gérer des contenus multimédia
- Géolocaliser le contenu
- Booster votre recherche
- Optimiser votre référencement
- Générer plus de traffic
- Animer une communauté
- Eliminer les spams
- Faire du commerce
Réduire votre temps de développement
Les modules :
Admin menu est certes très simple mais c'est peut-être lui qui vous fera gagner le plus de temps. Il ajoute un menu déroulant sur le bord supérieur de votre écran afin d'accéder sans temps de chargement intermédiaire à n'importe quel écran de configuration. Adoption immédiate garantie !
Devel est destiné au développeurs et autres designers, il vous facilitera la vie lors du développement d'un nouveau site. Il peut ainsi générer des contenus factices (utilisateurs, noeuds, commentaires, catégories...), afficher les requêtes exécutées lors de l'affichage d'une page, et bien d'autres choses encore. L'extension Theme Developper est une aide précieuse pour les thémeurs car elle permet de repérer les fonctions de thèmes et les templates utilisées pour l'affichage. Très utiles pour les substitutions ("overrides").
Backup and migrate est la solution la plus efficace pour sauvegarder votre base de donnée. C'est aussi une solution que j'utilise couramment pour migrer un site du serveur de développement au serveur de production. C'est rapide et efficace.
Faciliter la Construction de votre site
Les modules :
CCK, Views ont montré la voie, puis Panels. Tous ces modules représentent une nouvelle génération d'outils qui accélèrent le développement de sites complexes en permettant de bâtir une bonne partie de la structure d'un site sans programmation (ou presque). Ces outils sont sans doute en grande partie responsable du succès de Drupal.
CCK va vous permettre de créer sans programmation de nouveaux types de contenu structurés (avec des champs spécifiques) adaptés à chaque problématique, de paramétrer le formulaire de saisie et de spécifier quels champs doivent apparaitre lors de l'affichage complet et du résumé. CCK dispose d'un nombre important d'extension qui augmente le type de champs rendu disponibles pour créer vos types de contenus : civilité, date, fichier, image, carte, champs calculés...
Webforms est le meilleur moyen de créer des formulaires sans écrire une ligne de code. Il y souvent une confusion entre CCK et Webform. CCK permet de créer des types de contenus, les données rentrées par l'utilisateurs seront ensuite sauvegardé dans un noeud afin d'être affichés par la suite. Les données recueillies par Webform n'ont pas vocation à créer du contenu sur le site, dans la plupart des cas, elles seront envoyés par email à l'administrateur du site. Idéal pour des formulaires de contact, d'inscription, ...
Views va vous permettre de créer des vues sur mesure pour vos listes de contenu, de les filtrer selon des conditions complexes, de trier, de spécifier quels champs afficher et comment les afficher. La puissance des extensions de views permet de réaliser toutes sorte de vues : listes, tableau, grilles, cartes google map, slideshow javascript, calendriers, etc.
Panels, lui va vous permettre, sans programmation, d'afficher et de mettre en page sur un panel des contenus, des blocs, des vues et d'autres panels dont le contenu est déterminé dynamiquement. Attention : Panels V3 (à ne pas confondre avec la V2) est sur une alpha relativement stable qui devrait passer en béta en Avril. La puissance de ce module réside dans la possibilité d'extraire des relations entre les contenus (auteur, catégorie, hiérarchie) et par exemple, de déterminer l'auteur d'un contenu pour afficher son profil à côté. Enfin il offre des possibilités de mise en page qui accélèrent grandement le développement de grilles de contenu complexes.
Ces modules sont des contributeurs important du succès de Drupal, il sont des accélérateurs de développement et permettent ainsi au développeurs de se concentrer sur les tâches à plus forte valeur ajoutée.
Le junior dans la catégorie : Context. Ce module vous permet de préciser des contextes différents en fonction des contenus affichés. Vous pouvez associer des menus et des blocks différents à chaque contexte. Ce module est ainsi une alternative plus puissante pour l'affichage de ces objets. Utilisé conjointement avec le module Spaces, c'est un moyen redoutable pour créer des éléments fonctionnels (blog, forum) réutilisable d'un site à l'autre.
L'avenir : CCK va être intégré à D7. Pour Views, il plus prudent de parier sur D8.
Publier du contenu
Les modules :
Wysiwyg API est le module à installer si vous souhaitez utiliser un éditeur WYSIWYG pour rentrer le contenu. Il s'agit d'une API qui unifie l'installation des éditeurs comme TinyMCE ou FCKeditor. C'est très flexible, vous pouvez ainsi spécifier un éditeur différent pour chaque format d'entrée.
Workflow permet de créer des processus de validation et de publication très complexes. A chaque étape du processus il est possible de lancer une action (comme l'envoi d'un email).
Toucher un public multilingue
Les modules :
Avec l'arrivée de la version 6, Drupal à fait de grand progrès dans la gestion du multilinguisme. Autre amélioration, le module Views (voir ci dessus) qui prend maintenant en charge (en partie) la localisation. Malheureusement ce n'est pas encore parfait et le développement d'un site vraiment multilingue nécessite un travail important. Heureusement il existe un excellent module pour nous faciliter la tâche.
Internationalization (ou i18n). I18n, fait tout ce que Drupal 6 devrait faire mais ne fait pas en matière de multilinguisme. Ce module, qui est en fait un ensemble de nombreux modules, vous permet de traduire vos contenus, de traduire vos blocs, vos menus et même de définir certaines variables. Indispensable !
Language sections. Une alternative ou un complément à i18n. Il peut convenir à certains de vos projets. Il permet, par l'intermédiaire, d'un filtre de saisie (input filter) d'écrire toutes les traductions au sein d'un même article. Il suffit juste de spécifier la langue du paragraphe. A l'affichage seul les paragraphes dans la langue du visiteur sont visibles. Cela marche pour tous les champs de formulaire où les filtres sont activés, ce qui peut être très utile pour traduire la tête de page du formulaire de contact ou celui d'une vue par exemple.
Parfait ? Non pas tout à fait. Un certain nombre de choses restent difficiles à mettre en place et le paramétrage des menus et des blocs est relativement fastidieux. Enfin, si les variables permettent de traduire des éléments comme le titre du site ceci se fait de manière non intuitive pour le webmaster.
Le futur : une nouvelle avancée devrait être faite avec D7, si c'est le cas on devrait s'approcher d'une solution sans compromis.
Gérer des images
Les modules :
- Image ou,
- Imagefield et File field
- imagecache,
- Lightbox2,
Alors que la gestion des image est primordiale Drupal ne propose aucune solution native et le choix du meilleur module s'avère complexe.
Complexe, tout d'abord parce qu'il y deux concepts qui s'affrontent : soit les images sont gérés comme un champ d'un type contenu soit elles sont considérées comme un noeud à part entière.
Avec Imagefield, qui dans sa version Drupal 6 nécessite l'installation de File field vous allez gérer vos images comme un champs spécifique d'un de vos types de contenu. Il s'agit donc d'un plugin pour CCK (voir ci dessus).
Image et ses extensions vous permettent de gérer vos image comme un contenu à part entière.
Le choix entre les deux concepts va dépendre de l'utilisation que vous souhaitez faire de vos images. Si vous considérez vos images comme des objet à part entière de votre site, alors choisissez le module image. Par contre si vos images ne sont que des illustrations d'un contenu plus important alors imagefield sera plus adapté.
Simple non ? Et bien en fait pas tout à fait puisqu'il est possible de défendre l'opinion inverse ;-). Bref, pour vous faire votre opinion, testez les deux. Pour ma part je suis plus à l'aise avec Imagefield et cie que j'utilise systématiquement...
Imagecache permet de manipuler les images afin de les transformer (taille, effets spéciaux...) avant de les afficher. Ce module est extrêmement utile : ainsi, par exemple, à partir d'une seule et même image vous pouvez générer plusieurs versions de différentes tailles.
Lightbox2 est un moyen élégant d'afficher vos images en utilisant la technologie jquery. Ce module est très flexible, il peut même prendre charge les vidéos. Peut-être trop, à ce moment vous pouvez essayer une des nombreuses alternatives disponibles sur Drupal.org...
Gérer des contenus multimédia
Les modules :
Embedded Media Field, est un excellent moyen pour incorporer une vidéo, une image ou un son venant d'un fournisseur extérieur dans un contenu. Il dépend du module CCK et met un nouveau type de champ à votre disposition. Ce champ est paramètrable pour accepter à peu pres n'importe quelle url ou code html venant d'un fournisseur de contenu multimédia. La liste des fournisseur de contenu est vaste : youtube, bliptv, daily motion, flickr, picasa, ode, podomatic et bien d'autres encore. Comme c'est un champ CCK, il peut ensuite être thèmé à volonté, il y a même une option pour modifier la miniature. Idéal donc pour permettre à vos utilisateur d'ajouter facilement une vidéo youtube sur leurs articles.
Asset, Media Mover et FLV Media Player ne sont pas cités car pas encore disponibles pour D6. Dommage, car utilisé conjointement il permettent d'incorporer des vidéos sur un site et de générer un code html pour vos visiteurs. De quoi créer un youtube like en fait...
[Edit Mai 2009] : finalement Média Mover et cie sont disponibles pour D6. J'intègrerai tout cela dans la prochaine mise à jour de l'article. En attendant je vous conseille la lecture de cet article pour faire du streaming vidéo avec Drupal 6 :
Géolocaliser le contenu
L'association de ces deux modules permet de réaliser de puissantes applications cartographiques.
Location intègre un formulaire d'adresse dans vos contenus (noeuds, user) et va convertir, via un web service, cette adresse en latitude et longitude.
Gmap va se charger de d'afficher sur une carte Google map l'ensemble des contenus géolocalisés. L'ensemble prend une véritable dimension lorsqu'il est associé au module View qui permet de filtrer finement les contenus qui doivent être affichés.
Booster votre recherche
Tagadelic est le meilleurs moyen d'afficher un nuage de tags. En plus, il est compatible avec Views, via le module "Views Tagadelic".
Apache Solr Search Integration permet aussi la recherche par facette et vous permettra d'améliorer largement les performances de la recherche en utilisant le moteur Lucene. Parfait pour les sites "costauds". Attention la configuration du système est complexe. A noter, Acquia a annoncé qu'il lancerai un service "clé en main" pour donner facilement à votre site les fonctionnalités de Lucene.
Optimiser votre référencement
(Nov. 2008 : XML sitemap n'est pas encore disponible pour Drupal 6).
Drupal est naturellement doué pour le référencement. Si vous activez les url descriptives, si vous les optimisez systématiquement avec Path et si vous choisissez un thème digne de ce nom vous aurez un résultat correct. Néenmoins ce n'est pas suffisant, il va vous falloir l'aide d'un certain nombre de modules supplémentaires.
Pathauto, tout d'abord, va automatiquement créer une belle url pour vos articles, url basée sur le titre des contenus. Pratique et plus productif que le module standard path car automatisé.
Métatags, autrefois nommé Nodewords, est le module indispensable pour gérer finement les mots clés et les descriptions de vos pages. Il définit tout d'abord le mots clés que l'on retrouvera dans tout le site, puis il vous permet de paramétrer différemment la page d'accueil et enfin, si vous le souhaitez vous allez pouvoir optimiser chaque page. Obligatoire si le référencement est important pour vous.
Global redirect, vous permettra d'indiquer à Google quelle url indexer. Très utile si vous avez mis en place les "nice url".
XML sitemap permet d'automatiser la création d'une sitemap et son envoi au différents moteurs de recherche.
Générer plus de traffic
SimpleNews est d'après moi le moyen le plus simple d'envoyer une lettre d'information à vos membre ou à vos visiteurs. Les fonctionnalités sont simples mais suffisantes pour un site dont la liste de diffusion reste modeste. Au dela, il manque tout de même une véritable application de gestion des listes ou des templates.
Animer une communauté
Si Drupal est reconnu pour sa capacité à construire des réseaux sociaux, c'est en partie grâce a ces modules. Vous allez donner le pouvoir aux membres de votre site : leur permettre de noter le contenu, de créer leurs groupes de travail ou de discussion, de choisir leurs amis, de gagner des points s'ils contribuent et d'afficher un profil détaillé.
Fivestar, associé à Voting API est la star (!) des modules de notation. Il est flexible, vous laisse le choix des logos, permet de noter selon plusieurs axes et est supporté par view. Pratique pour créer des listes "best of" triées par leur note.
Organic Group est la clé de voute du système communautaire de Drupal. Il permet aux membres de votre site de se fédérer en groupes, sorte de micro sites plus ou moins indépendants, privés ou non, à entrée libre ou sur invitation. Les membres d'un groupe peuvent alors créer les contenus autorisés par l'administrateur. OG dispose d'un nombre important de modules optionnels qui rajoutent chacun une fonctionnalité inédite. Bref, ce module est un véritable bijou.
Flag et Flagfriend permettent aux membres de votre site de se faire des amis. Ce sont des moyens simples et efficaces de gérer ces fonctionnalités. A préférer au module Buddylist qui est maintenant dépassé et à Buddylist2 qui n'est pas encore prêt. Pour ceux qui souhaitent mettre en place un système de relation entre utilisateurs plus complexe, je vous conseille d'aller voir Friendlist (en développement).
Userpointest à ma connaissance le seul système qui permet de récompenser vos meilleurs contributeurs. Ainsi pour chaque contribution, et l'on peut différentier la valeur de chaque nouveau contenu, l'auteur sera récompensé par des points. D'autres modules liés ajoutent des fonctionnalités comme l'attribution de rôle lorsque un nombre de point est atteint.
L'utilisateur est l'élément central d'une communauté. D'où la nécessité pour les membres de pouvoir détailler leur profil et leurs passions sur leur fiche. Le module standard profile est trop limité pour cela.
Content Profile, qui succède à Node Profile et à Bio et les améliore, va vous permettre de créer les profils les plus complexes. Il utilise la puissance de CCK pour créer des types de contenus spécifiques qui seront liés à un utilisateur. Comme le profil est noeud, cela permet d'utiliser tous les types de champs CCK pour le formulaire du profil : liste déroulante ou à puce, date, champs texte, photographie, carte google map, vidéo, son... Le module permet en plus de modéliser plusieurs types de profils utilisateurs et de les lier à des rôles. Bref, il n'y a pas vraiment de limite avec node profile...
Eliminer les spams
Mollom est un module et un service. Pour fonctionner il faut s'inscrire sur le site de Mollom. Une fois cette étape passé et le module installé, vous bénéficierez d'une protection imparable pour tous vos formulaires (contact, commentaires, contenus...). Lorsque Mollom n'est pas sur d'avoir identifié un spam, il insert dynamiquement un captcha. L'intérêt est que ce captcha n'est pas utilisé systématiquement, le site est donc plus ergonomique. Depuis peu, on peut aussi utiliser uniquement la fonction captcha. Je l'utilise sur ce blog, depuis, je n'ai plus un seul spam qui passe le barrage. Impressionnant.
[edit] Évidemment cela laissera toujours passer les spam non automatisés utilisés par certains imbéciles (je viens d'en effacer un)... Mais bon il y en a très peu (coût du spam plus élevé).
Faire du commerce
Faut-il utiliser Drupal pour un site de e-commerce ? Ou vaut-il mieux partir sur une application spécialisée comme Magento ? La question mérite d'être posée car la réponse n'est pas évidente. En fait tout dépend des fonctionnalités dont votre site aura besoin. S'il s'agit d'un pure application de boutique en ligne alors, un outil spécialisé comme Magento, sera surement plus efficace et votre développement plus productif. Si, par contre, votre site cumule d'autres besoins, comme par exemple des fonctions communautaires avancées pour permettre aux membres de communiquer entre eux, alors Drupal va reprendre l'avantage.
Ubercart est maintenant clairement le module e-commerce star de Drupal. Il ne dispose pas encore de version définitive pour Drupal 6 mais la version RC est très stable et utilisée en production par de nombreux sites. Ubercart dispose d'une petite communauté dynamique qui vous garantie une évolution constante. Ubercart permet ainsi d'intégrer dans un site Drupal une boutique en ligne qui pourra être complétée par tous les autres modules Drupal et permet de vendre des produits tangibles ou intangibles (numériques). Un bémol, il semble que Ubercart soit un peu fâché avec les sites multilingues.
Anciens nominés
Cette catégorique regroupe les modules qui ont fait parti un moment de la liste de 38. Je les ai retirés afin de laisser la place à d'autres, "plus indispensables". Cependant ils restent intéressants, c'est pourquoi j'en garde la trace ici.
Drush est un outil de productivité qui vous permet d'installer et de mettre à jour vos modules en ne tapant qu'une ligne de commande (depuis votre shell). Cela vous évite ainsi de télécharger les archives des modules depuis drupal.org, de les décompresser sur votre serveur et de les activer via l'interface web de votre site. Bref, installez Drush en premier et vous gagnerez un temps fou par la suite...
Languages icons. C'est un tout petit module qui permet d'afficher des drapeaux pour sélectionner la langue voulue. Pas vraiment un indispensable mais bon...
Faceted Search vous permet de créer une recherche par facette. C'est un concept de recherche qui s'apparente à une simple navigation ou le visiteur va filtrer le contenu du site progressivement en sélectionnant des critères. A chaque clic,le résultat de la recherche s'affine. ainsi par exemple on pourrait imagine une recherche par facette pour les modules de ce site. L'intérêt ? La recherche ne renvoit jamais de résultats vides et l'utilisateur n'a pas à remplir de formulaires compliqués.
e-Commerce est le module le plus ancien, il dispose actuellement d'une version Béta pour Drupal 6. Très puissant et complet, il est même supporté par un livre de chez Packt qui vous permettra de monter en puissance plus rapidement.
Captcha permet d'insérer... un captcha sur vos formulaire. Un captcha est un test visuel que, normalement, seul un humain peut réussir. A n'utiliser, d'après moi, que si vous ne souhaitez pas souscrire à un service comme Mollom car, si cela est efficace, cela provoque des problèmes d'ergonomie.



Salut Alexandre!
J'ai une question: est-il possible de générer , lors d'un envoi d'image via imagefield, la création de plusieurs tailles de la même image. je suppose que oui, mais, ayant créé des profils ImageCache, je ne vois aps comment lier ces profils a mon champs CCK de type Image...
As tu une idée du pourquoi du comment?
Merci!
En fait imagecache peut générer les images à la volée au moment de leur affichage...
Tu peux donc "lier" ton preset imagecache lors du paramétrage de l'affichage des champs CCK, lors de la construction d'une view ou lors du paramétrage de "Imagefield Gallery Content Types" (un preset pour la preview et 1 pour la vue complete).
C'est ainsi plus flexible puisque tu conserves l'image d'origine et tu peux générer autant d'images que de vues nécessaires (liste, noeud, panel).
Je réponds à ta question ?
Impeccable ta réponse mais la génération à la volée me fait un peu peur...
C'est super Couteux sur un gros site non??
Car le site va faire pas mal de traffic et j'aurais préféré générer les miniatures et les différentes tailels au moment de la création de l'article par exemple!!!
Le module Image pour cela est bien, tu peux générer plusieurs tailles quand tu crées le noeud!
Qu'en penses-tu?
Je me suis mal exprimé, l'image est générée lors du premier affichage puis stockée après pour être réutilisée. Pas de problème de surcharge donc et cela permet toujours cette flexibilité si tu crée une nouvelle vue après avoir chargé l'image par exemple.
Il y a un très bon manuel ici (en anglais) : http://drupal.org/node/163561.
A+
Fantastique!
Merci bcp ;-)
Par curiosité, tu connais drupal depuis quand? Tu t'y es mis tout seul?
Je vous remercie pour l'explication du module cck.
Bon courage...
Bonjour. Je suis nouveau dans Drupal (je suis de la planète Joomla). Je viens d'installer Drupal 6.5 e y intégrant la traduction française. Problème : après l'installation, impossible d'accéder à la partie administration, que faire pour y remédier ? (la version anglaise ne pose aucun problème).
Merci
Bienvenu dans l'univers Drupal... Je vous conseille de poser votre question (si ce n'est déjà fait) sur le forum de http://drupalfr.org.
Merci de votre compréhension ;-)
Merci pour toutes ces informations Alexandre!!! Je suis sûr que pas mal de monde va s'inspirer de ton article pour créer leur site, et moi le premier ^^
Super boulot en tout cas!
A bientôt.
Je pense qu'il faut ajouter à cette formidable liste, les Modules :
Des outils indispensables pour tout blog
Merci pour tes remarques.
* Archives: d'après moi il vaut mieux utiliser views pour ce genre de fonctions. Views permet de remplacer plein de modules de ce type.
* Date (+calendar) : j'ai hésité, mais comme la plupart des sous-modules de CCK je ne l'ai pas cité. Je comptais faire un sujet sur les meilleurs champs pour CCK
* Tagadelic : OK avec toi, je vais le mettre dans la catégorie recherche et navigation quand j'aurai 5 minutes.
C'est le but ! En tout cas j'apprécie le feedback.
Pour la notification des nouveaux commentaires, tu suggères CommentSubscribe. Il existe également CommentNotify. As-tu testé les deux ? quelles différences ? y en a-t-il un qui "marche" mieux ?
Les deux modules sont très similaires. Seule différence à ma connaissance, Comment Suscribe permet à l'administrateur de choisir si le follow-up se fait sur tous les commentaires de l'article ou uniquement sur le commentaire d'un commentaire en particulier...
Il peut donc en faire un petit peu plus (bien que cela soit rarement utile sur les petits sites) et comme en plus je l'ai testé sur la durée et qu'il est robuste j'ai fait ce choix.
Cela étant dit CommentNotify est aussi un module de qualité...
Merci pour ta remarque très pertinente...
OK !
C'est moi qui te remercie, pour tout ce boulot (et puis, je te dois d'avoir enfin compris comment utiliser CCK :-)) !)
Bonjour,
J'ai lu dans les forums que Drupal pouvait arriver à saturation rapidement. Mais qu'en est-il exactement?
Est-ce que ces 38 modules utilisés simultanément sont bien supportés par le serveur Xamp ? Pour une utilisation e-commerce-communauté, quelles sont les limites techniques? Est-ce qu'un trop grand nombre d'utilisateurs peut faire planter le système?
Bonjour, la réponse n'est pas simple et dépend de nombreux facteurs.
Plusieurs éléments de réponse cependant :
* la plupart de ces modules sont très légers (hors cck, views, panels) mais il faudrait regarder module par module pour une optimisation poussée
* tout le code de ces modules n'est pas chargé à chaque page, il faut donc relativiser
* de très importants sites sous Drupal utilisent CCK, Views et cie avec succès
* en utilisant le cache pour les utilisateurs anonymes on règle la plupart des problèmes, si vous avez énormément de visiteurs enregistrés c'est plus dur et il faut faire surement attention à économiser des requêtes vers la bdd
* Le module Devel permet d'analyser les requêtes effectuées à chaque page
Par contre, mais cela est vrai pour n'importe quel CMS ou Web application dès lors que l'on va avoir de très fort trafics (je vous souhaite d'avoir un tel site, c'est tout de même rare) il va falloir mettre un peu la main à la pâte et optimiser votre site (cache), votre serveur, php, votre bdd....
Tout cela pour vous dire que Drupal est très robuste, que dans 95% des cas, avec un serveur configuré correctement, il aura d'excellente performance et que 38 modules ce n'est pas tant que cela...
Si vous travaillez sur de très gros sites communautaires, avec des milliers de membres connectés en même temps alors c'est autre chose et il va falloir optimiser tout cela et penser cloud computing... Mais si c'est le cas vous devez être plus calé que moi sur le sujet.
Pour aller plus loin :
* http://2bits.com/articles/drupal-performance-tuning-and-optimization-for...
* http://books.tag1consulting.com/scalability
Comment Notify vient d'être inclut dans la dernière release (12 dec) de la distribution d'Acquia. Cela le positionne donc en bien meilleure position pour être dans les indispensables lors de la prochaine mise à jour.
Merci pour ces précisions.
Le site sur lequel je travaille doit être conçu pour gérer des centaines de connexions simultannées au départ. Toutefois, étant jeunes et ambitieux, nous espérons pouvoir toucher un maximum d'internautes à l'avenir.
D'après vos informations, Drupal devrait donc pouvoir faire l'affaire pour un bon moment. Du moins le temps nécessaire pour comprendre ce qu'est le 'cloud computing', car je ne sais pas du tout ce que c'est... Enfin, il y a encore un an, je ne connaissais pas le code html... aujourd'hui je fais mes propres scripts Java; j'ai espoir.
Merci encore pour votre aide,
Sincerement,
G
Et bien encore Bravo Alexandre ! ...et merci.
Je viens de lire ce second article, et je suis très heureux tant il répond à mes questions sur l'opportunité de Drupal pour un projet imminent.
Mister Alex est mon vieux pote... Je le vois moins ces derniers temps, et je croyais que cela était du essentiellement à 2 facteurs : il habite désormais à 1 heure de chez moi, et il est très amoureux d'une charmante jeune fille (donc moins de temps pour les potes, normal...).
Et bien, il y a une 3ème raison que je viens de comprendre en parcourant ce blog, il est devenu webmaster amateur passioné... En plus d'avoir un job, faire bricolage et jardinage, inviter sa chère et tendre au resto, me voir un peu quand même, etc...
Mais tout ça pour dire que je suis surpris, agréablement surpris des connaissances acquises rapidement autour de Drupal et du monde internet en général de Mister Alex. Cela me donne envie de m'y mettre !
Osera-t-il publier ce post ? Who knows ????
A mon vieux pote Benn. Quand tu veux pour une formation accélérée à Drupal... Attention cela ne sera pas gratuit, prévois le coca et les pizzas...
Et voila, le principe de gratuité et de communautarisme s'applique à tous, sauf aux vieux potes, il me faudra encore débourser des sommes folles chez Carrefour...
Bon, j'ai fini le manuel du débutant (merci, très bien fait, j'avance vite !). Je m'attaque désormais à CCK. J'ai même fait l'acquisition hier d'un pc qui ne sera dédié qu'à DRUPAL car mon autre PC, à usage familial, était trop "chargé". Petite astuce résolue grâce à toi, skype est dérangeant pour l'installation d'apache et mysql, il m'aura fallu 3 mois pour le comprendre...
Je devrais donc progresser plus vite à présent, du moins, je n'aurai plus l'excuse du matériel...
Laisse moi encore quelques semaines avant la formation accélérée, il me faut encore progresser sur les bases....
Pour utiliser les moduls image, il faut au préalable avoir le modul ImageApi, non?
@Gregoiresan : oui, pour imagefield aussi je crois. Pour des questions de lisibilité, ce guide ne tient pas compte de pré-requis nécessaires pour installer certains modules.
Je me suis mis à Drupal hier et je te remercie pour l'article car il est vrai que devant la quantité de module on ne peut être que perdu.
En voulant ajouter les modules que tu cites (entre autres) je m'aperçois que pour nombre de modules il me mets Content(missing) dans les dépendances j'ai chercher à droite et à gauche, mais hormis un bug sur la version 5.X (apparemment) le module content à l'air intégré a drupal.
Du coup me voila bien bloqué.
Comme tu m'as déjà été d'une grande aide avec ton article, aurait tu une explication ?
Module "content" = le module principal de CCK...
Encore un piège ;-)
L'un des points forts de Drupal c'est le nombre et la qualité de ses modules.
Points forts oui, mais n'est-ce pas aussi en même temps une faiblesse ?
D'une part : devoir installer vingt modules (au moins 10 ou 15 sont indispensables quelque soit le projet) avant de pouvoir commencer à bosser sérieusement, c'est un peu lourd ; pour faire "simplement" un blog par exemple, Wordpress sera largement plus simple ! On n'ira pas aussi loin avec WP, mais Drupal seul ne mène pas à grand chose.
D'autre part : quid de la pérennité du développement de ces modules ? Difficile d'envisager un projet à long terme utilisant de nombreux modules sans savoir s'ils continueront d'être maintenus. Le discours "tout est open source il suffit de maintenir soi-même" ne tient pas très bien la route : c'est un peu contradictoire : si je prends un CMS "tout fait" (plutôt que le développer moi-même, sur mesure), c'est soit que je n'ai pas les compétences en développement, soit que je n'ai pas de quoi me les payer.
Sans compter qu'il ne se passe pas 15 jours sans que l'un des modules doive être mis à jour. D'accord, on peut regrouper ; mais on ne peut pas dire que la procédure de mise à jour d'un module sous Drupal soit aussi simple que celle des extensions Firefox ou des plugins WP (je clique, c'est à jour), sans parler des risques de pertes des données ou de plantage (il me semble que de ce point de vue là, WP est plus safe au sens où quand un plugin pose un problème, WP le bloque tout simplement)...
Donc Drupal, c'est très bien, c'est fantastique, mais c'est un peu piégeux aussi.
Merci de cette intervention, votre question est légitime...
Maintenant, je persiste, et je signe, l'extrême modularité de Drupal est une force !
Tout d'abord parce que si vous ne souhaitez pas installer tous ces modules vous même, vous n'avez qu'à installer la distribution d'Acquia (acquia.com), qui contient tous les modules dont vous avez besoin. Mais surtout ne demandez pas que cela soit ainsi par défaut. Je préfère passer du temps à installer les fonctions dont j'ai besoin que passer du temps à enlever celles dont je n'ai pas besoin. Après il y a plusieurs façon de se créer ces propres distributions, de faire des checkout en direct du CVS ou d'utiliser des profils d'installation. Allez, je suis un peu extrème, il y a certains modules qu'il faudrait intégrer au coeur (CCK) et d'autres qu'il faudrait enlever (blog). Cela devrait s'arranger dans Drupal 7.
Ceci dit, il est important de garder le coeur de Drupal léger. C'est un gage de flexibilité. Exemple : vous voulez mettre des fonctionnalités de notifications dans le coeur, oui mais quel module ? Notification ? ou Comment Notify ? L'un est parfait pour de gros projets et l'autre pour des blogs... Personnellement je préfère avoir le choix. Un autre exemple : workflow. Il est indispensable pour des projets de journal en ligne mais il n'est d'aucun intérêt pour de petits sites avec un seul éditeur.
Vous dites aussi qu'il faut un grand nombre de module pour faire fonctionner un site (20, 30). C'est parce que la plupart des modules sont de (très) petites briques de fonctionnalités qui s'assemblent entre elles pour bâtir de véritables applications. A l'inverse, d'autres CMS ont des modules plus gros qui sont en eux même de véritables applications. C'est plus facile à installer mais forcément beaucoup moins flexible et plus difficile à adapter à un cahier des charges précis.
Enfin pour finir, il y a des développeurs qui préfèrent se passer de tous ces modules et utilisent Drupal comme un framework pour développer leurs fonctions et optimiser le code de l'application.
Quid de la pérennité du développement de ces modules ? Bonne question, cela dépend des modules. Ceci dit, vous pouvez être certain que bon nombre des modules indispensables sont extrêmement bien supporté. Cela ne vous suffit pas ? Et bien allez voir du côté de Acquia à nouveau, ils s'engagent à supporter tous les modules de leur distribution, cela en fait déjà un bon nombre.
"tout est open source il suffit de maintenir soi-même", c'est pas moi qui ai dis cela. Par contre cela veut dire que si un module apporte des fonctions qui servent un grand nombre de personnes vous aurez alors forcément des gens pour reprendre le développement. En tout cas quand la communauté est aussi large que celle de Drupal...
"il ne se passe pas 15 jours sans que l'un des modules doive être mis à jour." Il faudrait savoir, vous voulez qu'il y ait de l'activité de développement sur un module ou pas ? C'est plutôt un signe d'excellente santé d'un module. En s'organisant avec un environnement de développement sérieux ce n'est vraiment pas un problème de mettre à jour un module.
"risques de pertes des données ". On vous l'a pourtant dit, ne jamais installer un module sans tester sur un site de développement. C'est vrai pour n'importe langage / cms.
"procédure de mise à jour d'un module sous Drupal soit aussi simple que celle des extensions Firefox ou des plugins WP". Je peux me tromper mais il me semble que la procédure de WP n'est pas très sure. Drupal est un outil utilisé sur des sites sensibles et il n'est pas question d'y insérer des failles de sécurité de ce type. De plus il existe un module de gestion de plugin qui apparemment ne fait pas de compromis (cf. http://drupal.org/project/plugin_manager). Mais j'ai pas testé.
Donc pour conclure, oui Drupal est tout de même une application complexe. Mais c'est aussi un CMS/CMF dont la force est l'extrème flexibilité.
Félicitations pour cet article et plus généralement pour le blog, d'excellente qualité. Tu aurais pu ajouter le module 'available updates' dans la catégorie réduire votre temps de développement. Ce module me semble indispensable, surtout quand on cumule les modules alpha, beta et autre release candidates...
Je crois que vous allez devoir ajouter un module à votre top 38.
Combien de tutos en ligne, en anglais mais aussi en français, pour expliquer comment personnaliser simplement le formulaire de recherche de la Search Box de Drupal ? Je les ai tous testés, aucun n'a marché pour moi. Pourtant, cela semble simple.
Et bien, il existe en fait Custom Search Box, un module dont la puissante simplicité est à pleurer. À faire connaître d'urgence !
Merci, je ne connaissais pas ce module.
Par contre, en fait il est très simple de faire un override dans votre thème pour modifier le formulaire de recherche. Mais je suis d'accord c'est assez mal expliqué sur le net.
Laissez moi le temps de fouiller dans un de mes thèmes custo et je poste la solution.
Tiens, en ce moment, je suis en pleine recherche de la meilleure solution de module pour la gestion d'une galerie d'images et je me disais qu'il manquait justement une proposition de module dans ta liste pour cela... Faut dire qu'il y en a toute une petite floppée à tester...
Si il n'y a pas de module "Galerie" dans la liste des 38 c'est parce que je pense que la meilleure solution tourne autour de "CCK+Imagefield ou Image+Views+Lightbox".
C'est extrêmement flexible et puissant avec la contrepartie du temps de configuration.
Bonne idée d'avoir ajouté le menu Context, que j'ai découvert grâce à toi ! Ce module a l'air très puissant mais pas si simple à l'usage. Sais-tu comment on peut définir un contexte simple, à savoir réserver l'affichage d'un bloc à un type de contenu ?
Bonjour Alex.
Je me permets de te proposer deux modules dans la catégorie ‘faciliter la construction de votre site’ relativement intéressant et que malheureusement je n’ai trouvés que trop tard.
Il s’agit de InsertNode et InsertViews qui permettent une fois activés d’insérer dans un nœud, un autre nœud, le résumé d’un nœud ou le résultat d’une vue.
http://drupal.org/project/InsertNode
http://drupal.org/project/insert_view
A mon sens une bonne alternative à panel pour la construction de pages simples.
Merci Julien, je vais regarder cela...
Un commentaire pour signaler un petit update sur les modules D6 pour faire du streaming vidéo.
Voir surtout l'article :http://www.kirkdesigns.co.uk/drupal-6-media-streaming-media-mover-flashvideo-and-xspf-playlist
il y a aussi poormanscron, qui lance le cron à intervalle définis...
Mais peut-être le cron job le remplace ??
Et aussi google analytics
Google Analytics, comment ai-je pu l'oublier...
Par contre, Poormanscron est un bon module mais je ne pense pas qu'il fasse parti des indispensables.
PS : tes photos sont superbes, bravo.
j'ai une question toute bête : ca se passe comment la maintenance avec un site ou je mets tous ces modules ?
Comment je sais si un module a été mis à jour ?
Comment je valide la sécurité de chacun des modules ?
Comment je fais les mises à jour ?
Ca me parait juste impossible si il faut que je suis les modules 1 par 1 et il me parait difficile d'expliquer a mon client que la maintenance v alui couter 5 fois le prix du site par an.
Retours d'expérience seront les bienvenues ?
Steph
Yep, tout à fait d'accord pour que Poormanscron ne soit pas indispensable,
d'autant plus que parfois, le manager de l'hébergeur nous permet de le lancer régulièrement...
Eh oui, GG analytics...
Quid de google "outils pour webmaster" ? (qui n'est pas un module)
Effectivement, j’ai failli m’en inspirer mais… trop de modules ! J’avais déjà à faire fonctionner Drupal mais difficilement (je me suis cassé les dents avec Drupal 5, donc ça va un peu mieux, puis ce fut cron, et je décidais de passer à Poormanscron et ensuite… bref). Ensuite, j’ai voulu installer ce qu’il faut pour un wiki et là, le sport à commencé… (ça ne fonctionne toujours pas, d’ailleurs)
Donc, quand je suis arrivé sur votre page, j’ai eu deux réactions :
Donc, très bonne page mais ça fait peut quand on découvre.
J'ai finis par trouver une manière de mieux appréhender Drupal, la voici. Elle se veut comique, mais pour mieux faire passer l’enseignement.
Drupal n’est pas un CMS. C’est une distro Linux camouflée en CMS, avec ses dépendances croisées (d’ailleurs, il faudrait améliorer le gestionnaire de paquetage pour l’auto-install — aptget ?). C’est le cousin germain d’un autre infiltré dans le camp des OS, je veux parler d’EMACS.
Une fois que vous avez compris ça, Drupal ne vous fait plus peur. Vous savez à quoi vous attendre. Et, alors, vous pouvez commencer à travailler.
Bon, vivement Drupal 7, quand même :)
Et merci encore pour cette liste !
Plus sérieusement, je pense que les profils Drupal devraient :
Exemple :
Je vais aller sur le wiki et, si je le pouvais, je rentrerais bien dans un cercle francophone d'utilisabilité (car j'ai besoin de rencontrer physiquement les gens et d'être en petit comité).
Quel article extra ! Merci ça m'a beaucoup aidé... tout comme le screencast d'inéation m'a converti à Drupal.
Vraiment génial ce site.
Je reviens souvent consulter cette page. Aujourd'hui, je suis revenu pour voir les modules que tu conseilles en matière de gestion de communauté d'utilisateurs. Ils sont très bons ! Toutefois, je viens de tomber sur un module assez incroyable sur lequel tu devrais jeter un oeil : User Relationships (http://drupal.org/project/user_relationships). Il semble que ce soit une solution complète vraiment très puissante. Voir la page de comparaison entre User Relationships et FriendList : http://groups.drupal.org/node/14625
Au plaisir...
PS : désolé pour la team de traduction, je suis trop charrette...
Oublié google analytic qui analyse vos stats pour ses algo , passez à piwik ;)
La dernière fois que j'ai regardé Piwik c'était pas aussi complet que GA. Mais c'est vrai que c'est une super solution.
Un différence importante c'est une solution qu'il faut installer sur son propre serveur. L'utilisateur cible n'est donc pas la même.
Salut, j'habite en champagne et suis nouveau sur Drupal; je viens d'installer drupal mais impossible d'accéder à l'administration : page blanche. Merci pour votre aide.
Excellent article, en effet! Merci pour cette liste exhaustive.
Un grand merci à toi pour cette liste de qualité, je débute avec Drupal et ça me rend un sacré service !
Xbox 360
SuperRefman xvox