Drupal 8 est arrivé le 19 novembre dernier

Le 19 novembre dernier c’était mon anniversaire (bah oui, faut bien que je pense qu’à moi, MOI aussi) et celui de Dries Buytaert et la communauté Drupal en a profité pour sortir la version 8 du CMS.

Drupal 8, cela fait longtemps que je le côtoie sans avoir jamais publié de site avec cette nouvelle mouture : on m’avait demandé de faire un audit sur le multilingue de Drupal 8 parce qu’une personne « importante » nous rendait visite et qu’il fallait montrer qu’on était à la page, 3 ans en avance… Ça c’est normal en entreprise. Je vous rassure : la personne importante n’a pas lu le rapport, peut-être mon équipe (mais pas sûr, en même temps eux avaient vraiment du boulot), mais le commanditaire du rapport non plus ne l’a jamais lu. Bon ça c’était pour ma life.

Bref, Drupal 8 est de sortie et avec plusieurs bonnes nouvelles à mon avis :

Symfony, dis moi oui !

Drupal 8 utilise pas mal des composants Symfony ce qui a plusieurs avantages :

  • on utilise des formats et des standards que tout le monde utilise et ça c’est plutôt cool,
  • ça va peut-être faire venir des développeurs Symfony,
  • l’injection de dépendance c’est lourd mais c’est tout de même cool, et puis de toute façon le cache c’est pas seulement pour les objectifs (je sais, je sors…)

Mobile First

Oui c’est seulement fin 2015 que Drupal ce met au niveau sur la problématique du mobile. Beaucoup oublient que dans Drupal, il y a n’y a pas seulement du PHP mais aussi du JavaScript et d’autres trucs très bons pour la santé, donc mangez-en… Le Front-End n’est pas à la traine.

API REST

À l’heure du tout API et des microservices, c’est juste normal que du côté de Drupal on ait amélioré ça. Cela veut dire qu’on va pouvoir créer sa structure de données via le clicodrome de Drupal et ensuite mettre cela à disposition pour d’autres clients ou applications.

Internationalisation

Beaucoup d’améliorations, c’est la partie que je connais le mieux. J’en parlerai dans un autre article mais juste une remarque : chefs de projets, CTO et autres décideurs, formez vos équipes et/ou embauchez des gens qui connaissent un peu le sujet. Le soucis du multilingue c’est que cela a des répercutions sur quasiment tout : la structure des données, le back-office mais surtout le front-office. Il ne suffit pas de se dire qu’on va juste envoyer les textes en traduction (en général au petit neveu qui a fait un stage linguistique de deux semaines en Allemagne avec sa classe de 5ème) pour que cela fonctionne. On parle de localisation, c’est-à-dire qu’il faut adapter son contenu à la langue et à la culture du public visé. Sans parler des problématiques inhérentes à la traduction (taux de foisonnement, jeu de caractères, gestion du volume et du flux de traduction)…

Bref beaucoup de nouveautés pour Drupal 8 sur lesquelles nous reviendront dans les prochaines semaines.

2 bundles Symfony2 pour manipuler vos images.

Les images c’est bien, les optimiser c’est mieux. Comme phrase d’accroche, je ne me suis pas creusé le cerveau très longtemps, je vous rassure.

Revenons en à nos images : je voulais juste dans cet article vous parler de deux bundles qui permettent de manipuler des images et de les distribuer dans la bonne taille à vos visiteurs (ou robots d’indexation).

Snowcap IM Bundle

C’est mon préféré : non pas pour des raisons de performances ou de simplicité mais par pure nostalgie car ce bundle utilise ImageMagick. Il se trouve que j’ai fait pas mal de Drupal 6 dans une autre vie et que c’était presque une obligation que d’installer la librairie (bibliothèque en bon français) ImageMagick.

Il embarque le service snowcap_im.manager, ses fonctionnalités sont utilisables depuis un controller ou depuis un template twig .

Gregwar’s ImageBundle

Efficace et fait ce qu’on lui dit. Il a besoin des extensions GD et exif pour PHP. Tout comme Snowcap IM Bundle il embarque un service (image.handling) et on peut s’amuser avec depuis un controller ou un template Twig.

Il en existe bien d’autres comme LiipImagineBundle qui est très connu mais je voulais présenter ces deux-là : l’un utilisant GD (Gregwar’s ImageBundle) et l’autre une bibliothèque externe à PHP (Snowcap IM Bundle).

Enjoy!