Un problème récurent en PHP est de trouver le bon chemin qui mène à la bonne ressource. Qui ne s'est jamais demandé comment inclure le fichier toto.inc qui se trouve pourtant si près et pourquoi une fois que ça marche, tout se casse la figure dés que l'on touche à Apache... Et avec Drupal, le casse-tête prend une dimension de plus avec les modules, les thèmes, les fichiers attachés, les fichiers temporaires, etc. L'objectif de ce tutorial vise donc simplement à éviter de paumer ses petits.

Une des grandes forces de Drupal réside en son architecture à base de modules. Que ce soit pour la gestion des blogs ou celle d’un forum, chaque fonction fondamentale est en réalité un simple module interagissant avec le cœur de Drupal. Et si les modules fournis en standard ne suffisent pas, des centaines d’autres sont disponibles couvrant à peu prés tous les usages.

Mais malgré cette richesse, il arrive parfois que l’on ne trouve pas LE module « qui va bien ». Alors pourquoi ne pas le fabriquer soi-même et ainsi découvrir à quel point Drupal s'adapte facilement à des besoins spécifiques.

Les formulaires dynamiques sont vieux comme le client-serveur. Cela peut correspondre par exemple à une liste principale dont le choix d'un élément déclenche la population d'une liste secondaire. Rien de bien sorcier donc, mais comme pour pas mal d'autres de choses, ce qui était relativement simple à coder avec un RAD comme Delphi ou même Visual Basic, est devenu un véritable enfer avec la mode des applications WEB. Voyons donc comment faire ce type de chose avec la dernière Form API de Drupal 6.

Sans grosses trompettes, ni fanfares, avec Drupal 6 est apparue Schema API, une batterie de fonctions dédiées à la gestion des schémas en base de données qui change réellement la vie.

Cette boîte à outils ne contient que ce qui est spécifique à Drupal et ne touche à l'environnement de développement à proprement parler.

Dans le précédent tutoriel nous avons vu comment créer un module simple comprenant les notions de hooks et la méthode unifiée d'accès à la base de données. Il est maintenant temps de passer au stade au dessus avec un module prenant cette fois en charge un type de contenu totalement personnalisé.

Dans un précédent article, j'abordais une manière d'éradiquer le "SPAM de formulaires". Et la technique marche si bien que je n'ai plus une seule saleté depuis. Mais récemment, dans un autre secteur, je me suis mis à recevoir des pouriels sur . J'ai mis un certain à en capter la cause : à deux reprises cette adresse appairait, en clair, sur ce site. Du coup les spammeurs ont fini par tomber dessus et voguer galère... Du coup, je me suis attelé à la mise en oeuvre du très bon système de filtres de Drupal pour régler le problème à la source...

Dernièrement je faisais quelques recherches sur Drupal et AJAX pour me rendre compte qu'il y avait finalement assez peu de ressources, même en anglais, traitant de ce sujet. Pourtant cette technique, au delà du buzz généré autour d'elle, peut rendre de réels services et grandement fluidifier des interfaces trop lourds ou trop peu intelligent. Et pour simplifier son utilisation, rien de mieux que JQuery, inclus dans le coeur de Drupal depuis sa version 5.

Autant le système de traduction de Drupal est efficace, autant cela peut vite devenir l'enfer lorsqu'il s'agit de créer et de maintenir un fichier de traduction spécifique à son module. Utiliser pour cet tache l'export de Drupal est déjà casse-binette (car on va y trouver toutes les traductions, celles de vos modules et le reste...) mais surtout pas exhaustif car les textes sont découverts par Drupal "à la volée", au moment de leur affichage.

La solution passe donc par un outil d'extraction prévu pour cet usage mais malheureusement pas pas assez connu et documenté.

Depuis Drupal 5, il est possible très simplement d'ajouter l'auto-complétion à un champ texte en utilisant une méthode dit d'appel asynchrone (aka Ajax). Traduit en français, cette fonctionnalité permet lorsque vos utilisateurs saisissent les premières lettre, de lui fournir automatique une liste de suggestion commençant par ces lettres, lui évitant de taper la suite.

Connexion utilisateur
Les derniers bavardages...