Après les DrupalDevDays à Montpellier l’année dernière, le DrupalCamp s’est installé cette année à Nantes pour 3 jours d’échanges autour de Drupal.
Kaliop était partenaire de l’événement, Benjamin et moi y avons participé, voici nos retours pour vous résumer ces 3 jours.
Les deux premiers jours étaient composés d’une série de sessions et de lightning talks.
Vous retrouverez dans cet article la vidéo de chaque session, ainsi qu’un résumé.
DrupalCamp 2016 : Jour 1 (Vendredi 10 juin)
Démystifions le référencement
Présenté par Simon Georges (simongeorges,) de Makina Corpus
Simon nous a remis dans le contexte du référencement, en commençant par exposer des clichés sur le SEO, et en les démontant (“les référenceurs sont des escrocs”, “les devs sont des escrocs”, etc…), pour introduire le fait que le SEO dépend de plusieurs choses, de plusieurs corps de métiers, et que le travail a effectué n’est pas le même selon le référencement souhaité.
Il estime qu’un bon référencement contient 10% de technique, 30 à 40% de contenu, et le reste provient de la popularité du site.
Plus de 200 facteurs entrent en compte dans le SEO, et sur Drupal, il faut savoir utiliser les principaux, et se concentrer sur les facteurs importants en fonction de la cible.
Voici ses règles les plus importantes selon lui :
- 1 URL = 1 Page = 1 Mot clé
- Contrôler le crawl des robot (plus le site est gros, plus ce facteur a de l’importance)
- Éviter les redirections, les pages non trouvées (pénalise le crawl)
- Ne pas autoriser les robots à accéder aux pages inutiles, ou au contenu faible
- Eviter les “spiders traps” (recherche à facette, pagination infinie…)
- Sur Drupal, des pages à ne pas indexer, comme les Views, les taxonomy, les listes de contenus…
Accessibilité, Drupal et mode projet
Présenté par nantesadmin, Consultant indépendant
Objectif : Faire en sorte que les non-voyants puissent voir les sites internet.
Il s’agit d’une problématique universelle un peu oubliée qui concerne un petit peu tout le monde : mettre en place des rampes d’accès à l’intérieur des interfaces.
Cela a pour but de faciliter l’accès à tous les publics. De plus en plus important, car des normes d’accessibilité ont été rendues obligatoires depuis la loi de février 2005 (obligation pour les organismes publics de rendre leurs sites accessibles). Ces normes sont données par le WAI (branche du W3C). En savoir +
Le petit cœur de Drupal et l’utilisation de nombreux modules débouchent sur des productions hétérogènes en terme de code et d’accessibilité. Mais l’important n’est pas la qualité du CMS, mais la qualité du développeur lorsque l’on parle d’accessibilité.
Drupal ne naît pas accessible. Si Drupal produit du HTML Valide, ce HTML est accessible, alors Drupal l’est aussi
Pourquoi et comment mettre Symfony 3 FullStack dans Drupal 7
Présenté par Pierre RINEAU (pounard) de Makina Corpus
Un gros client, avec un gros projet implique une forte concurrence et il veut du Drupal 8 !
Sauf que le risque est grand, et qu’il vaut mieux se faire la main sur de petits projets en Drupal 8. On propose donc du Drupal 7, car on le maîtrise, mais pour assurer un futur portage vers Drupal 8, comment faire ?
Utiliser les composants, les interfaces de Drupal 8, les services de Drupal 8, pour faire un proxy vers Drupal 7. Pour assurer la portabilité D7 vers D8, le mieux est d’isoler au plus le code, on a donc utilisé l’injecteur de dépendance de Symfony.
Au final, on a une architecture Drupal 7, et une architecture Symfony côte à côte. Un module Drupal 7 ultra simple va utiliser les services déclarés via Symfony
Commerce pour Drupal 8, qu’est-ce qui change ?
Présenté parAnne-Sophie Picot (asplamagnifique) , de Commerce Guys
Anne-Sophie Picot, nous a présenté Drupal commerce pour Drupal 8, Drupal commerce sert à ajouter toute les fonctionnalités nécessaires pour transformer un site Drupal classique en un site marchand.
Drupal commerce pour D8 est encore en développement et devrait avoir une version stable d’ici la fin d’été.
Certains points négatifs de Drupal commerce pour D7 ont été repensés. Comme la gestion des adresses de livraison ou la gestion des paramétrages locaux comme les taxes. L’utilisation d’outils externes ont permit d’améliorer ces points. Des nouveautés ont aussi fait leur apparition comme le système de market place par exemple.
Stratégies usine à sites dans Drupal 7 et 8
Présenté par Vincent Maucorps (vmaucorps) et David Tripont (datri), de Smile
Sur Drupal 7, les deux solutions les plus utilisés sont l’utilisation de « domain access » et le « multisite natif + deploy ». Pour Drupal 8, Vincent et David nous ont présenté le module « Web factory » qui est en développement depuis environ 1 an.
Web factory s’appuie sur le multisite natif, il n’a pas de dépendance sur le système (c’est une requête post qui va directement générer les sites) et s’appuie sur des webservices elle s’appuie aussi sur un système de site maître et de site escalve, pour partager des entités.
Mais le module n’est pas encore 100% fonctionnel et certaines fonctionnalités sont encore en développement.
Recherche avancée sous Drupal 8
Présenté par Léon Cros (chipway) de Chipway
Léon nous a présenté la recherche sur Durpal 8, en nous présentant les différents modules de recherche comme « search api » ou « search api solr », ainsi que les facettes avec la facette « api. » avec une présentation de la configuration des ces modules.
Ceci fera l’objet d’un article prochainement sur le blog.
Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
Présenté par Aurelien Navarre (anavarre) de Acquia
Aurélien nous a présenté le système de migration de Drupal 6 ou 7 vers Drupal 8. Pour ce faire, il nous a présenté les différents modules comme « migrate_update », « migrate_tools » ou encore « migrate_plus ».
La session dont vous êtes le/la héro(ïne)
Présenté par Julien Dubois(Artusamak), Sébastien Corbin (SebCorbin), et Simon Georges (simongeorges)
Cette session était un échange entre les présentateurs ainsi que le public. Divers sujets ont étaient abordés comme les dates, l’UX ou encore les headless.
DrupalCamp 2016 : Jour 2 (samedi 11 juin)
Quels modules utiliser actuellement en Drupal 8 ?
Présenté par Wilfrid Roze (wilfrid )de Emérya
Les module sont très importants dans Drupal : lesquels utiliser ? lesquels sont portés ? Lesquels n’existent plus, et qui sont les petits nouveaux ?
Drupal 7, c’est presque 12000 modules ! Actuellement, il y en a 1800 sur Drupal 8.
- Des modules ont été inclus dans le coeurs : Champs, Views, Bean, i18n, Ckeditor, Picture, Features, Service, cache, migrate…
- Des modules portés : Devel, pathauto, Token, Block class, Chosen, Metatag, Admin Menu, Simplenews, Title, Coffe, Geoloc, et pleins d’autres…
- Des modules manquants ou non fonctionnel : Rules, Commerce, Search API, Context, Panels, Fivestar, Feeds, Varnish, Webform…
- Des modules nouveaux : Media Entity, Entity Browser, Entity Embed, Image Widget Crop, modules liés au reponsive…
Présentation des commissions de l’association Drupal France
Présenté par Léon Cros(chipway) et Anne-Sophie Picot (asplamagnifique) de l’association Drupal France
L’association Drupal France est le représentant officiel de Drupal en France, ses principales missions sont de promouvoir Drupal, de maintenant la traduction et la documentation française et d’apporter un support à la communauté francophone.
L’idée du moment est de rendre l’association aux adhérents, de rendre du pouvoir aux adhérents en les impliquant.
Afin de rendre les membres actifs, des commissions sont mises en place : regrouper des gens en groupe de travail, intéressé par un même sujet, avec l’envie de faire avancer les choses. Participer à une commission, c’est des idées, des envies, des compétences, des discussions, des échanges, un peu de temps !
En bref,
faire avancer des sujets qui vous intéresse et qui sont intéressant pour tout le monde !
Les commissions existantes : Infra, échange avec la communauté, valorisation et rôle de l’adhérent, événements extérieurs, communication, site internet,
Render API & Cache API
Julien Dubois (Artusamak) d’Happyculture
Le render de Drupal, c’est quoi ?
Un gros tableau, qui contient des petits tableaux, qui contient des petits tableaux, qui contient des petits tableaux, etc…
En Drupal 8, la fonction theme() disparaît, tous les contenus viennent de fichiers de template. Cela permet de laisser n’importe quel module modifier les données à afficher jusqu’au moment du rendu. Cela permet une grande flexibilité, mais induit des problèmes de performances. Pour palier à cela, différents types de caches ont été mis en place.
- Le cache applicatif d’exécution : sur une requête HTTP, permet de faire tampon en RAM pour les appels suivants.
- Le cache applicatif statique : équivalent à “cache_get()”, “cache_set()”.
- Le cache d’objet : pour Drupal 7, pleins de modules étaient requis (Entity Cache, Commerce Cache, etc…). Dans Drupal 8, Drupal core suffit !
- Le cache de rendu : nouveau dans Drupal 8. L’idée est d’invalider uniquement les bout du tableau de rendu qui ont été modifié, par propagation.
- Le cache HTTP: jouer sur les headers HTTP
Retour d’expérience – création d’une API avec Drupal pour un application mobile – MK2.com
Présenté par Anne-Sophie Picot (asplamagnifique) et Fabien Clément (GoZ) de Commerce Guys
Asplamagnifique et GoZ nous on fait part de leurs retours d’expérience sur la création d’une API avec Drupal 7.
Il devait modifier l’API existante car elle n’était pas optimisée et n’avait pas toutes les fonctionnalités attendues. Pour cette refonte, views a était abandonnée au profit de requête programmée manuellement, les erreurs ont étaient standardisées et un accent a était mis sur la sécurité.
Docker & Drupal
Présenté par Simon Morvan (garphy)de Ici La Lune
Simon nous a présenté l’utilisation de Docker avec Drupal. Il nous a était présenté les concepts de base de docker, c’est à dire, la création d’une image et des containers ainsi que le fonctionnement de docker. Présenté par Alexandre Mallet (woprrr) de Degetel Media a était repensé dans le sens on où on a une multitude de petits modules. Ces composants sont donc plus petits et plus faciles a maintenir. Tout ces composants sont indépendants et réutilisables en dehors de media qui lui aussi a était revu. Ensuite plusieurs modules nous on était présenté comme « entity embeb », « entity browser » ou touteq les fonction de recadrage avec « cropt API + image widget crop » Présenté par Fabrice Scoyer (flocondetoile) Durant cette session, il nous a était expliqué le principe des profils ainsi que leurs utilisation avec Drupal 8. La session a était illustrée avec des exemples de code . Les profils permettent d’installer une instance via des paramètres que l’on a saisie au préalable. Ceci est utile pour pourvoir déployer des instances Drupal personnalisés rapidement. Présenté par Kevin Gautreau (kgaut) La Drupal console est un outil comme la console Symfony, cet outil permet d’interagir avec Drupal en ligne de commande pour par exemple crée un module, un controller, ou lister des routes etc… Il est aussi possible de créer ses propres fonctions et de les intégrer à drupal console. Tout ceci est fait dans le but de gagner du temps et automatiser certaines taches de développement . Présenté par Fabrice Scoyer (Flocon de toile) Fabrice nous a présenté le Twig, car avec Drupal 8, Twig est utilisé comme moteur de templating. la notion de templates et les surcharges de templates, l’extension et l’inclusion des templates. Ainsi que toute la gestion des variables, des filtres et des fonctions twig. Cette journée était consacrée à divers ateliers : de la traduction, la découverte de module, discussion technique, Drupal Headless… Ces trois journées furent intenses, dans une superbe ambiance ! Entrecoupées de pauses cafés (merci à Happyculture, le sponsor café !), de repas délicieux (merci à Le goût des autres pour ces belles découvertes), de soirées d’échanges pour découvrir un peu Nantes (sans trop de pluie en plus !). Nous remercions toute l’équipe de ce DrupalCamp pour l’organisation géniale, et nous serons là au prochain !
Les profils d’installation en Drupal 8
Découvrir Drupal Console
Le theming de Drupal 8 : découverte de Twig
DrupalCamp 2016 : Jour 3 (dimanche 12 juin)
Laisser un commentaire