Merveilles du web 2.0… mon « copier bloguer » du web

27 juillet 2009

Damien Tournoud (Drupal)”C’est l’indépendance de notre communauté Open Source qui fait sa force”

Filed under: drupal — elrems @ 10:21
Tags: ,

Damien Tournoud (Drupal)”C’est l’indépendance de notre communauté Open Source qui fait sa force”

drupal
Le projet Open Source en gestion de contenu Web gagne en maturité. Comptant 4 000 extensions, Drupal 7 s’ouvrira davantage aux utilisateurs finaux.
En savoir plus

JDN Solutions. Quels sont les principaux atouts de Drupal ?

Damien Tournoud. Drupal est une plate-forme historique sur le frond des outils de gestion de contenu Open Source qui est présent sur le marché depuis 8 ans maintenant. Elle a su rester compétitive avec le temps pour conquérir tous les segments fonctionnels, aussi bien en France qu’à l’étranger. Son positionnement a toujours été le même, axé sur un environnement de publication communautaire qui revient d’ailleurs en force ces derniers temps.

Les clés de son succès sont multiples. C’est tout d’abord sa très grande flexibilité et sa capacité à interagir avec un ensemble de modules et d’extensions très varié, aujourd’hui au nombre de 4 000. Les extensions proposées couvrent un périmètre très large qui va de la création de kits de contenus complexes, aux requêtes de contenus, la création de mailing-lists, des extensions de connexion avec des réseaux sociaux…

Drupal est plus qu’un logiciel. S’il est apparu pendant des années comme un dépôt de bonnes pratiques en matière de code, il s’ouvre désormais davantage aux utilisateurs finaux. Un gros travail est d’ailleurs en cours pour diminuer ses barrières à l’entrée. La prochaine version fera non seulement appel à beaucoup d’interfaces graphiques mais permettra d’intégrer plus facilement les différents modules additionnels.

“Drupal 7 va s’ouvrir à SQL Server ainsi qu’à SQLite début 2010″

Comment allez-vous vous y prendre pour séduire les utilisateurs finaux ?

Au départ, les utilisateurs finaux ne constituaient pas la cible prioritaire de Drupal, car la solution s’adressait principalement à l’origine aux SSII et intégrateurs. Mais avec la version 7 qui sera disponible dans six mois, son positionnement est entrain d’évoluer avec un usage ouvert tant aux entreprises qu’au grand public. Ce qui ne veut pas dire que les versions précédentes et la version 6 actuelle de Drupal ne pouvaient pas leur convenir, mais que la prochaine devrait leur plaire davantage.

Ce que nous souhaitons faire avec Drupal 7, c’est améliorer l’usabilité de la solution en nous basant sur l’évaluation des démarches systématiques de test formel qui ont été menées. Avec pour objectif d’évaluer de manière efficace la qualité d’utilisation du logiciel. Comme par exemple celle d’évaluer le pourcentage d’échec de confier la réalisation d’une tâche d’administration à un tiers, le temps nécessaire pour naviguer et se repérer dans l’interface d’administration, de trouver et d’actionner tel ou tel paramètre…

Des préconisations ont été émises par Mark Boulton, designer Drupal, qui sont entrain d’être implémentées dans la version actuelle et dans la septième version de Drupal. Quoi qu’il en soit, l’utilisateur final ne doit pas perdre de vue que la phase d’intégration n’est pas à sous estimer. Certaines extensions manquent par exemple de flexibilité car elles ont été réalisées pour répondre à un contexte métier et d’utilisations particulières, et demandent donc à être réadaptées. De même, la qualité intrinsèque du code de l’extension peut parfois créer quelques soucis.

Comment vous positionnez-vous sur le marché encombré des CMS Open Source ?

Drupal conserve une certaine distance avec d’autres solutions de gestion de contenu Open Source. Nous sommes par exemple assez éloignés d’Alfresco, qui a choisi de se positionner sur le marché spécifique de la gestion électronique de documents d’entreprise, ou d’un eZSystems qui ne dispose pas de la même dynamique en termes de communautés de développement. En plus d’être Open Source, le projet Drupal s’appuie sur une communauté très large de développeurs et n’a de compte à rendre à aucun éditeur, ce qui en fait assurément une force.  

En savoir plus

Par ailleurs, nous comptons nous différencier par certains choix technologiques. Alors que Drupal est une solution écrite en PHP, nous allons nous ouvrir à SQL Server ainsi qu’à SQLite en plus de PostgreSQL et MySQL début 2010. Beaucoup d’efforts seront également menés pour accroître les capacités de montée en charge et de haute volumétrie de données. La prise en charge d’infrastructures en mode reverse proxy  ou haute performance, ou encore le changement d’allocation dynamique de codes permettront d’améliorer dans une certaine mesure les performances intrinsèques de Drupal.

 

Damien Tournoud est contributeur principal de Drupal 7 et directeur du département Drupal au sein de l’agence Web AF83.

2009
Blogged with the Flock Browser

10 juin 2009

arNuméral.fr » Drupal 7, les nouveautés

Filed under: drupal — elrems @ 10:05
Tags:
Drupal 7, les nouveautés
Ecrit par Yoran, le lun, 08/06/2009 – 16:14

Comme certains le savent déjà, ça fait quelques mois que je travaille (peiner serait sans doute plus juste) à la rédaction d’un livre sur Drupal. Or dernièrement Eyrolles m’a demandé d’y rajouter une ouverture sur Drupal 7. Comme il s’agit plus là d’actualité, je me suis dit qu’il ne serait pas mal d’en faire profiter tout le monde, histoire d’avoir une idée plus claire de ce à quoi va ressembler Drupal “Seven” (c’est le mot à la mode en ce moment).

Historique (tout afficher)
  • v3 – Mise à jour (09/06/2009 – 18:46)
  • v2 – Correction coquilles par opi (09/06/2009 – 09:19)

Attention, versions INSTABLES

Si si, c’est une nouveauté car avant tout Drupal commence à rentrer dans le rang avec les bonnes pratiques classiques en matière de qualité logiciel. A donc été introduit une véritable suite de tests fonctionnels et unitaires. L’objectif est de pouvoir prouver la qualité du code à tout moment et ainsi réduire le temps de déverminage. Résultat, on arrête de balancer un nouveau Drupal après un long effet tunnel et on opte pour des sorties régulières de version instables et testables. Chaque sortie est documentée en expliquant le plus clairement possible ce qu’elle apporte pour l’utilisateur, l’administrateur, le développeur, le traducteur ou le thèmeur (les 5 grandes groupes dans la confréries Drupalienne).


L’utilisabilité

L’utilisabilité va être un peu le maître mot de cette nouvelle version avec un objectif inavoué : dégommer l’idée reçue comme quoi Joomla, le concurrent directe et honni, serait plus facile d’accès que Drupal.

Pour s’atteler à cette tâche, une véritable petite équipe, la “Usability Team”, c’est montée. Elle s’est rapidement équipée d’outils modernes notamment UTS (Usability Testing Suite), une suite d’outil permettant ‘audit et d’analyse des comportements et des usages, assez proche de ce que l’on peut trouver chez MS avec l’équipe qui travaille sur Office. Le but est de collecter un maximum d’informations sur les usages de Drupal et ainsi créer une dynamique d’amélioration continue de l’ergonomie. S’ils pouvaient faire aussi une petite session sur le panneau de configuration des blocs, ce ne serait pas un luxe…

Premiers résultats concrets : jamais aucune version de Drupal n’a subit une telle déferlante de patch ergonomiques. Et pour se donner une idée des premier résultats visibles, en voici quelques exemples :

Voici à quoi ressemblera le remplaçant de l’abominable système de zones dépliables utilisé avec Drupal 6 pour éditer/modifier un contenu, plutôt sympa non ? Même sur un écran d’une résolution modeste, l’ensemble peut ainsi tenir sur deux “pages”.

Les formats d’entrées (renommés “Text format” ou format de textes, ce qui est beaucoup plus logique) ont aussi pris un coup de liftig avec un liste déroulante qui modifie dynamiquement l’aide associée. Il parait que la dite aide s’escamote lorsque l’on est sur d’autre zones que l’édition du corps, mais je n’ai pas pu le vérifier.

Pour conclure sur les améliorations ergonomiques, notons l’inclusions en standard d’Advanced Help disponible par le point d’interrogation sur fond bleu disponible un peu partout dans le produit.

Du côté de l’utilisabilité de l’administration, de petite choses sont apparues mais c’est encore timide :

  • Date and Time est devenu Regional Settings avec au passage la disparition des onglets.
  • Le tentaculaire menu Administrer c’est paré d’une nouvelle entrée Internaltional regroupant gestion des langues et des traductions (mais pas Regional settings, bizarre…).
  • La gestion du thème d’administration a enfin rejoint le giron du panneau d’administration des thémes.
  • La gestion des pages 403/404 déplacées dans le panneau Site Information.
  • Un nouveau panneau Configuration du site/Updates pour être prévenu par courriel lorsque le site a besoin d’un coup de fraîcheur.
  • Une aide supplémentaire sous chaque permission, bien pratique. De même les permissions devrait être enfin correctement traductibles.
  • La possibilité de définir quel utilisateur est l’administrateur du site. Je n’ai pas regardé de prés si cela changeais l’UID du dit utilisateur, ce dont je doute. Mais si ce n’est pas le cas, y’a beaucoup de code qui va casser là dessus…
  • Le système d’onglet verticaux pour les modèles de courriels pour les créations de compte, très sympa.


Database API

Il y a longtemps qu’on en rêvait, surtout pour ceux qui, comme moi, on vécu une partie de leur vie dans le bain Java. Drupal 7 utilise maintenant la couche d’abstraction d’accès à la base de données PDO (PHP DataBase Object). A l’instar de JDBC ou dans une moindre mesure ODBC, cette couche permet de s’affranchir des spécificités de connexion aux bases et ainsi permettre :

  • Une ouverture à de nouvelles bases de données comme Oracle ou MSSQL (beurk, oui, je sais), qui sont très largement utilisés en entreprise et dont l’absence bloquait l’adoption de Drupal. Attention, PDO n’abstrait pas la base de données mais juste les connexions et une partie des fonctionnalités, les requêtes en elles-mêmes restent spécifique et à ce titre SchemaAPI ne disparaît donc pas. Mais peut-être cela va t-il enfin casser l’hégémonie de MySQL sur Drupal.
  • Le support des transactions pour les modules qui souhaitent l’utiliser. Rien que cela, ça va être une sacré révolution pour l’utilisation de Drupal dans un environnement professionnel où l’intégrité des données est importante. Pour ceux qui ne connaissent pas les transactions, il s’agit de gérer le cas où 20 INSERT/UPDATE/DELETE sont envoyées à la base, que la connexion tombe à la 10iéme et que la moité des modifications seulement soient prise en compte. Avec une transaction, si ça casse en court de route, tout ce qui c’est passé depuis le début de la transaction est automatiquement annulé. La transaction est en quelque sorte vue comme une meta-requêtes, qui permet en outre une bien meilleur gestion de la redondance pour les drupals à haut disponibilité.
  • Justement, l’utilisation de PDO va enfin permettre l’exploitation d’architecture SGBD en cluster type maître-esclave sans avoir à triturer le code de Drupal. Ce problème est moins critique en D6 qu’en D5 de par l’introduction des séquences mais reste malgré tout un problème.
  • Enfin, mais cela reste à tester, PDO est censé être plus performant.


FieldAPI

Lorsque j’ai utilisé CCK la première fois, ma réaction fut “mon dieu, mais quelle horreur !!!”. Pour un dev de base, ce module là fait un peu flipper, habitué que l’on est à gérer ses petites ta-tables à la manu. Et il faut dire à ma décharge que cette première expérience c’est faite avec Drupal 5 et que pour cette mouture, 12 champs custom impliquent 12 requêtes d’insertion dans la MÊME table. Avec D6, force est d’avouer que c’est beaucoup, mais alors beaucoup mieux, et je suis devenu un peu plus en paix avec ce module.

Mais pour Drupal 7, CCK disparaît, ou plutôt va être coupé en deux. D’un côté nous aurons le nouveau FieldAPI, intégré au coeur de Drupal et incluant toute la logique interne des champs CCK dans une version ré-écrite pour booster les performances et les usages. De l’autre le module CCK qui ne sera plus que l’interface graphique de FieldAPI. En et effet cela se confirme à l’usage avec une activation des modules de gestion des champs dans le coeur de Drupal, et le besoin d’ajouter la dev de CCK pour D7 lorsqu’il s’agit de gérer les champs et l’affichage.

Une fois les uns activés et les autres installés, la différence n’est pas flagrante avec un D6+CCK, mais en regardant de plus prés, y’a deux trois trucs qui choquent, comme les champs natifs des nodes (titre, taxo) qui apparaissent non-grisés, comme des champs CCK standards. Mais le plus fort vous tombe dessus en arrivant dans la page d’édition des propriétés utilisateurs. Comme vous le voyez sur la copie d’écran, CCKFieldAPI ne se limite plus aux seuls contenus, ou plutôt aux seuls noeuds, mais s’étends maintenant au profile de l’utilisateur. On commence ici à apercevoir le mirage du fameux DataAPI dont on cause réguliérement, offrant enfin l’unification entre noeuds, utilisateurs, taxonomie et commentaires.

Les avantages de prévus de FieldAPI sont :

  • Amélioration sensible des performances par rapport à CCK.
  • Extension de FieldAPI à l’ensemble des champs de contenus.
  • Unification de tous les contenus (commentaires, noeuds, etc) sous une même bannière.
  • Permettre une meilleur intégration avec le module Views qui lui aussi, risque de finir en petits bouts dans le core de Drupal. Pour le coup, je serais heureux que l’interface graphique reste dehors…


Amélioration des performances

Comparé à la transition D5/D6, les performances en sont pas l’objectif premier de Drupal 7. Cependant il y a un gros morceau en train d’émerger sous le doux nom de “Function Registry”. Le principe est simple, chaque module déclare les fichiers qu’il utilise et Drupal les analyse pour en extrait une base de données de fonctions et de dépendances. Ceci fait, ne sont chargés lors de la construction des pages, que les fichiers PHP nécessaire et utiles. C’est le principe même de la modification de MenuAPI et ThemeAPI (association d’un menu avec un fichier PHP contenant son handler) mais étendu dynamiquement à tout le code. Le résultat est la réduction au maximum du temps de démarrage de Drupal (bootstrap).


Les hypothétiques

Pour terminer, les nouvelles choses en vrac que je n’ai pas encore pu voir de mes yeux mais qui ont été évoquées ici et là, ou qui le sont déjà mais que je n’ai pas réussi à trouver :

  • Intégration d’ImageCache dans le coeur de Drupal. Ca c’est une bonne nouvelle tant ce module est utile.
  • Amélioration de la recherche. Le principe est d’ouvrir la recherche à d’autres moteurs (Apache Solr, Xapian, etc.) plutôt que de se contenter du calamiteux machin fournit en standard. Ceci passera par la séparation en trois ensemble du système existant : le crawler, l’indexer et l’interface de recherche.
  • Amélioration des fonctionnalités d’import/export pour répondre à un des plus graves problèmes de Drupal : la difficulté de suivre un cycle Développement/Intégration/Production. En effet, déployer de nouvelles fonctionnalités d’un serveur à l’autre est aujourd’hui un véritable enfer à moitié insoluble. L’objectif est donc de fournir un service équivalent à ce que permet le fameux module deploy (ou alors inclure celui-ci dans le core lorsqu’il sera sec ?).
  • Amélioration du système de mise à jour avec peut-être l’intégration du module Plugin Manager.
  • Amélioration de l’architecture et des performances du systéme “Node Access”.
  • La possibilité d’utiliser d’autres framework JavaScript que jQuery.
  • Intégration de WYSIWYG dans le coeur de drupal.


Conclusion

Voilà, fin du petit tour d’horizon de l’ami Drupal le 7ième. Bien sur, tout ceci est encore amené à évoluer et je changerais ces lignes à chaque fois que nécessaire.

Blogged with the Flock Browser

Thème : Rubric. Un Blog WordPress.com.

Suivre

Get every new post delivered to your Inbox.