De retour de la DrupalCon 2013 à Prague.

Publié par Jean Etienne Martin, le 9/10/2013, dans Événements

Du 23 au 27 Septembre 2013 se déroulait à Prague la DrupalCon

Valtech peut dire : « on y était ! ».

Mais la DrupalCon c’est quoi ?

C’est LE rendez-vous international annuel où se réunissent tous ceux qui ont un rapport de près ou de loin avec Drupal. Cela passe par la Drupal Association, les sociétés offrant des services autour (intégrateur, hébergeurs, formateurs, …) et mêle toutes sortes de profils allant du développeur au chef de projet en passant par le CTO ou le Graphiste. Il y a quand même assez peu de clients finaux mais assez pour des retours d’expérience très intéressants.

Se retrouver une semaine à Prague, c’était avant tout l’occasion d’une keynote, de LA keynote. Et surtout une annonce colossale : la date de sortie de la prochaine version de Drupal tant attendue.

« Drupal8 will be ready when it is ready » (Dries)

Autrement dit, on a appris de ses erreurs et on n’annonce pas de date tant que le core n’est pas stable. Malheureusement, le problème de l’open source est que tout le monde a un peu accès à ce type d’information.

Cependant, DrupalCon était une bonne semaine avec des conférences sur tous les sujets et pour tous les profils : Industrialisation, project management, cases studies, sécurité, développement, … En parallèle de ces conférences, c’était aussi un grand marché de l’emploi pour les développeurs.

Partner Day avec Acquia

Nous étions aussi invités au « Partner Day » d’Acquia.

Acquia est une société qui joue le rôle d’éditeur de Drupal. Oui, vous avez bien lu. Si Drupal dépend de la Drupal association, Un grand nombre de développeurs sont mis à disposition à plein temps par Acquia pour travailler sur le “core” et la “contrib”. C’était l’occasion d’assister à la présentation de leurs nouveaux produits et services.

Drupal 8, on en a parlé toute la semaine, il était temps de mettre les mains dedans ! Et en compagnie des développeurs du core s’il vous plait !
Si on compte le nombre de commit sur l’ensemble de la contrib Drupal en un jour, je pense qu’on n’est pas loin d’un record.

Keynote

Maintenant que le décor est planté et si on parlait un peu plus de Drupal ?

Et plus particulièrement de Drupal 8.
D’abord il s’adresse à qui ce CMS ? En fait il a de multiples audiences.

Si vous êtes un particulier

Vous désirez faire un blog ou un site personnel, aujourd’hui vous allez vous tourner, probablement, vers WordPress.
Il est vrai que Drupal a la réputation d’être compliqué. Et c’est vrai. Mais tout va changer !

Avec Drupal8, plus besoin de télécharger une liste longue comme le bras de modules et autres dépendances pour avoir un simple éditeur de texte.

Désormais Drupal vous est livré avec un éditeur de texte entièrement personnalisable (et facilement en Drag&Drop pour ne rien gâcher). Mieux encore, il vous est désormais possible d’éditer vos pages en live, sans avoir a passer par des menus d’administration complexes ! Vous voulez éditer un titre ? Cliquez, Editez, Sauvegardez !

Si vous êtes un développeur

Si vous vous utilisez Drupal sur un site d’entreprise, vous vous êtes surement déjà arraché les cheveux pour envoyer vos modification de configuration de votre pré-production à la Production. Désormais, c’est fini, on ne mélange plus la configuration et les données dans la base de donnée ! Il est enfin possible nativement de transférer vos configurations d’un environnement à l’autre. C’est simple comme un fichier de config !

Si vous êtes développeur front

Vous avez surement passer des heures a chercher la provenance d’un template pour pouvoir le modifier ?
Là encore, un tout nouveau moteur de template digne de ce nom. Plus de PHP dans les templates ! (plus de risque de failles de sécurité non plus…)
Tous les templates sont désormais des fichiers. Fini la recherche un coup dans des fonctions, l’autre dans des fichiers.

Vous allez apprécier à sa juste valeur une option simple mais tellement utile. Il est  désormais possible d’afficher sous forme de commentaires l’ensemble des suggestions de thème pour chaque template de même que l’adresse exacte du fichier couramment utilisé grâce à un simple paramètre de configuration.

Vous avez des besoins marketing ?
Drupal8 embarque nativement des micro-data, un templating full HTML5 et responsive. Vous voulez tweeter automatiquement vos nouveaux articles ? Publier vos tweet sur votre Wall facebook ? C’est désormais aussi simple que de télécharger un module. Il y a même une distribution dédiée à cela si le sujet vous intéresse.

Vous cherchez un outil pour servir votre site internet et vos applications mobiles en une seule contribution, un seul workflow ?
Drupal 8 est nativement REST-full. Vous pouvez simplement en appelant la même url retourner la page HTML ou un fichier JSON reformaté pour vos applications !

Bref je ne vais pas vous fait l’inventaire des 200 nouvelles fonctionnalités de Drupal8.
Si on y ajoute la galaxie de modules et autres distributions disponibles, Drupal est probablement le CMS qu’il vous faut.

Le mais…

Car il y a un mais, c’est qu’il va falloir être encore un peu patient.

Si beaucoup de fonctionnalités que j’ai cité sont déjà backporté sous Drupal 7, je vous recommande d’attendre au mieux l’été prochain pour commencer à utiliser Drupal 8. Dans les jours à venir certaines parties du core vont encore être modifiées, et dans le bon sens.

Ne soyez pas trop pressé, cela signifie qu’il ne sert à rien de commencer vos modules avant le code freeze sous peine de devoir recommencer… Certains en ont fait l’amère expérience.

Vous voulez en savoir plus sur ce qui change dans le code ?

Voici un aperçu des changements majeurs pour vous, développeurs…
Premièrement c’est la première fois que le core de Drupal est réécrit. Les concepts « Drupal » sont conservés mais exit le mélange procédural/objets !

Pour ce faire, Drupal se base désormais sur symfony.
Quitte à se moderniser en profondeur, tout un tat d’outils, disons, plus « modernes » sont embarqués. Par exemple :

  • Twig pour le moteur de template
  • PHPunit  pour les test unitaires
  • PSR pour l’autoload
  • Composer pour les dépendances
  • etc…

Bref un changement de fond. Ce qui explique le délai de release un peu plus long que prévu initialement.
Il faut reconnaître aux développeurs du core qu’il on fait un sacré boulot !

Un des intérêts majeur de ce nouveau core pour les équipes de développement multi-profils est l’intégration d’un vrai moteur de template.
Ça peut paraître anodin mais vous pouvez enfin lâcher une armée de développeurs pure front sur les templates sans risques techniques pour votre projet (page blanche ou faille de sécurité) ni formation spécifique Drupal.
Le mode développement les rendra totalement autonomes !

Mais allons plus loin sur ce nouveau core?

Qui dit nouveau core dit refonte des API. Voici les éléments auxquels vous serez tout de suite confrontés au delà de la nouvelle arborescence des fichiers et les nouveaux fichiers « yml ».

La première API qui change c’est la disparition du hook_menu.
Désormais, les pages ne sont plus dépendantes de leur arborescences d’url !
Une vraie API pour gérer séparément les URL, breadcrumb et URLS… une même page peut enfin être une local-task pour plusieurs pages. Une page aura plusieurs URLS, etc.

Un autre changement est la réécriture des blocks. Ça change quoi ? Vous pouvez enfin avoir plusieurs instances d’un même block sur une page.
Un cas concret ? Ok, vous affichez le block de login dans un méga-menu… Plus besoin de le rajouter sur la page, il est déjà présent!

Enfin les hook_info pour la plus part vont également disparaître. Désormais dans Drupal tout est entité.

Je ne vais pas tout vous dévoiler de suite car certains changements majeurs dans la structure de ce nouveau core sont entrain d’être effectué en ce moment même affin de faciliter la mise en oeuvre et l’arborescence des fichiers pour la création de vos modules custom. De même, une équipe est en charge de travailler sur l’optimisation des performances et pas seulement par des possibilités NoSQL…

Ce qui est sure c’est que cette version 8 sera effectivement un changement sans précédent dans l’histoire de Drupal.

Pour conclure

Si un énorme travail d’UX a été apporté avec un scope fonctionnel natif plus étendu de base (views in core, RTE, …) c’est surtout sous le capot que ça se passe avec une robustesse jamais égalée.

Attention mon sentiment est que, tout comme un développeur PHP ne fait pas un bon développeur Drupal, un développeur Symfony ne sera pas forcément un développeur Drupal.

Drupal reste plus qu’un CMS, un CMF. Comme pour tout framework, il vas nécessiter une phase de montée en compétences des équipes techniques.

Un retour sur “De retour de la DrupalCon 2013 à Prague.”

  1. jepeto says:

    Merci pour le retour.
    Avez-vous abordé la migration vers la 8.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

By submitting this form, you accept the Mollom privacy policy.