Planète

Par Artusamak
Julien Dubois

Drupal 8 : structure des fichiers d'un module

Drupal 8 : structure des fichiers d'un module
mer, 06/01/2016 - 21:52
Artusamak

La structure des modules a évolué avec Drupal 8, le format YAML ayant pris le pas sur le format INI, le .info hérite logiquement de l'appendice .yml. C'est d'ailleurs le seul fichier obligatoire pour faire vivre un module. Ça n'avance pas forcément à grand chose s'il n'y a que ce fichier évidemment mais c'est la répercussion du fait que vous écrirez de moins en moins de hooks (souvent remplacés par des classes, nous y reviendrons).

Les modules ne peuvent plus être dans l’état désactivé, ils sont soit installés soit désinstallés et désinstaller un module retire du système sa configuration.

La conséquence directe de cela est la disparition des hooks suivants :

  • hook_modules_preenable()
  • hook_enable()
  • hook_modules_enabled()
  • hook_disable()
  • hook_modules_disabled()
  • hook_modules_preinstall()

Les fonctions module_enable() et module_disable() filent au musée car elles sont remplacées par une syntaxe à la sauce POO. Pour installer et désinstaller des modules, il faut maintenant utiliser la syntaxe suivante :

<span class="comment token" spellcheck="true">// Activation d'un module version D7.</span><br /><span class="function token">module_enable</span><span class="punctuation token">(</span><span class="keyword token">array</span><span class="punctuation token">(</span><span class="string token">'mymodule'</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span>

<span class="comment token" spellcheck="true">// Activation d'un module version D8.</span><br />
\<span class="package token">Drupal</span><span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">service</span><span class="punctuation token">(</span><span class="string token">'module_handler'</span><span class="punctuation token">)</span><span class="operator token">-</span><span class="operator token">&gt;</span><span class="function token">install</span><span class="punctuation token">(</span><span class="keyword token">array</span><span class="punctuation token">(</span><span class="string token">'mymodule'</span><span class="punctuation token">)</span><span class="punctuation token">,</span> <span class="token variable">$enable_dependencies</span><span class="punctuation token">)</span><span class="punctuation token">;</span>

<span class="comment token" spellcheck="true">// Désinstallation d'un module version D7.</span><br /><span class="function token">module_uninstall</span><span class="punctuation token">(</span><span class="keyword token">array</span><span class="punctuation token">(</span><span class="string token">'mymodule'</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span>

<span class="comment token" spellcheck="true">// Désinstallation d'un module version D8.</span><br />
\<span class="package token">Drupal</span><span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">service</span><span class="punctuation token">(</span><span class="string token">'module_handler'</span><span class="punctuation token">)</span><span class="operator token">-</span><span class="operator token">&gt;</span><span class="function token">uninstall</span><span class="punctuation token">(</span><span class="keyword token">array</span><span class="punctuation token">(</span><span class="string token">'mymodule'</span><span class="punctuation token">)</span><span class="punctuation token">,</span> <span class="token variable">$enable_dependencies</span><span class="punctuation token">)</span><span class="punctuation token">;</span>

Les modules peuvent définir d’autres informations telles que :

  • Des librairies (<module_name>.libraries.yml)
  • Des entrées de routeur (<module_name>.routing.yml)
  • Des entrées de menu associées à des entrées de routeur (<module_name>.links.<type>.yml)
  • Des permissions (<module_name>.permissions.yml)
  • Des services (<module_name>.services.yml)

Votre code métier devrait glisser du fichier .module vers des classes. La norme PSR-4 est le nouveau standard embrassé pour organiser ces dernières. Elle en permet le chargement automatique, à la demande. Cela engendre l’apparition d’un dossier /src voire d’un dossier /tests afin de respectivement implémenter vos classes de code métier et vos tests.

On retrouvera aussi de manière régulière les répertoires /config/install et /config/optional qui permettent de fournir les fichiers YAML de configuration par défaut de différents composants de Drupal (View mode, Type de contenu, Configuration, etc.).
Le dossier install contient les éléments qui seront obligatoirement utilisés par votre module, le dossier optional quant à lui contient les configurations utilisables par d'autres modules. Exemple : vous développez un module générique qui peut s'interfacer avec Views. Vous ne savez pas si Views sera utilisé sur le site, vous ne voulez donc pas ajouter une dépendance sur ce module dans le fichier .info.yml mais vous voulez tout de même fournir une vue le cas échéant. Dans ce scénario, il vous suffit alors de placer l'export de votre vue dans le dossier /config/optional et si un utilisateur installe Views sur son site, votre vue sera visible sans action supplémentaire de sa part.

Un dossier /config/schema/ peut également exister, il contient (entre autres) la description de la structure des données lorsqu'elles sont exportées via l'API de configuration.

Par admin

Concours de logo Drupal France et francophonie - Brief créatif

1. Brief créatif

Qui ?

Drupal France et francophonie, association loi de 1901, est le représentant officiel en France de la communauté qui développe et édite le logiciel libre gratuit Drupal.

Elle s'occupe en particulier de promouvoir Drupal et son utilisation, sa traduction en français, d'encourager la documentation en français, et d'organiser des événements liés à Drupal. Elle favorise et organise des échanges autour des sujets qui touchent ou concernent Drupal.

Elle défend les intérêts du projet Drupal et de sa communauté, ainsi que la marque Drupal sur la France.

Au-delà de la France l'Association Drupal France et Francophonie peut intervenir dans des pays francophones qui n'ont pas d'association établie.

La Drupal Association est l'association internationale qui représente et organise le projet Drupal et sa communauté au niveau mondial. Son site officiel est drupal.org qui est LE site de référence mais est en anglais.

Dries Buytaert est le créateur du projet Drupal, en reste le leader et est président de la Drupal Association. Dries est titulaire de la marque Drupal et délègue sa gestion à la Drupal Association qui peut la déléguer à des associations nationales.

Drupal France et Francophonie agit sous l'égide de la Drupal Association et peut faire appel à elle ou à Dries Buytaert en cas de besoin.

Actuellement, Drupal France et francophonie dispose du logo ci-dessous.

logo actuel

A la création de l'association, celle-ci aurait dû s'appeler logiquement Drupal France, mais elle a été appelée « Drupal France et francophonie » pour se différencier d’un nom de domaine occupé et que l’association a depuis prévu de récupérer.
Le site officiel pour Drupal en France est celui de Drupal France et francophonie.
Aujourd’hui le site de l’association est drupalfr.org, mais après analyse des autres associations à travers les communautés, l’utilisation d’un autre nom de domaine à court terme, comme par exemple drupal.fr, aussi détenu par l’association semble plus légitime et faciliterait la reconnaissance du public. Le nom de domaine est donc susceptible de changer par rapport à ce qui est indiqué ci-dessous.

Drupal France et francophonie n'a pas encore une identité à la hauteur de ses responsabilités et missions. Le fait d’être mentionné comme Drupalfr, DFR, ADFF, DFF, Drupal France ou Drupal France et francophonie selon les locuteurs, est pénalisant pour l'association et surtout pour la communication et la promotion de Drupal en France, même si la demande forte pour cette solution libre masque ces enjeux.

Pourquoi un nouveau logo ?

Le logo actuel, créé en même temps que l'association, a le mérite d'exister et de bien représenter Drupal, mais ne représente pas clairement l'association française.
Parmi les points négatifs du logo actuel, nous avons reçu les remarques suivantes :
- logo pas assez lisible, fouillis
- ressemble à celui d'un événement indépendant de Drupal France et francophonie.
- passe mal en très petit
- difficile à décliner
Au cours des dernières années, la stature et les missions de l'association française ont évolué, grâce à un travail de clarification mené avec la Drupal Association. Ces évolutions permettront et doivent s'accompagner de la clarification de l'identité de l'association.
La création d'associations Drupal dans d'autres pays francophones va amener Drupal France et francophonie à se recentrer sur la France, tout en conservant sa mission d'appui à des pays francophones qui n'ont pas d'association établie.

Nous souhaitons traduire dans le logo une identité claire et forte, pour améliorer la visibilité de Drupal et de l'association, particulièrement en France, en unifiant nos différents modes de communication : Nom usuel de l’association, url du site.

Buts recherchés

Le nouveau logo doit envoyer les messages suivants :
- Drupal
- France
- représentant officiel
Quelques idées ou mots-clés qui peuvent alimenter votre réflexion :
- échange
- collaboration
- mouvement (l'association et Drupal évoluent en permanence)

Nom juridique : Drupal France et francophonie
Nom pour la communication : Drupal France (avec éventuellement une baseline comportant “association” et/ou “communauté”, “francophonie”)
Nom usuel : Drupal France
URL du site : drupal.fr
Twitter : drupalfr

A éviter

Ce que nous souhaitons éviter
- une mascotte
- des indications géographiques trop restrictives : tour Eiffel, centrée sur Paris.
- des initiales ou raccourcis : DFF, ADFF, drupalfr, dfr, ...

2. Brief technique

Type de livrable souhaité

  • un logo, avec si nécessaire une déclinaison monochrome
  • un format vectoriel pour pouvoir l'adapter à différentes dimensions,
  • si le logo comporte un pictogramme, avoir la possibilité d'utiliser ce dessin seul sans le texte,
  • lisible en petit… mais aussi utilisable en grand, car l'association l'utilisera dans des contextes très variés : cartes de membre, site web, favicon, plaquettes, kakémono, …

Au terme du concours, le logo sera demandé en plusieurs formats utilisables pour les différents supports de communication.

Quel nom sur le logo ?

Si un texte est indiqué, ce serait « Drupal France ». Le logo doit être aussi disponible sans le texte pour permettre de modifier ce texte simplement. Le texte peut être accompagné des mentions “association”, “communauté” et ou “francophonie”.

3. Modalités

Dates

Les propositions de logo doivent être reçues par le bureau au plus tard le 31 janvier à minuit, par mail à bureau@listes.drupalfr.org.

Si les résultats reçus permettent un choix, celui-ci sera présenté lors de l’assemblée générale annuelle de l’association (après le 15 février).

Engagement

Le logo du gagnant ou de la gagnante sera utilisé sur le site officiel de l'association, sur les sites de ces événements, sur les pages partenaires des événements auxquels nous participons, sur des badges, kakémonos, tee-shirts, plaquettes, ...

Dans le cas où aucun logo ne paraîtrait répondre aux attentes, le bureau pourrait demander à un ou plusieurs candidats des améliorations à leur proposition. Les candidats sollicités disposeraient d'un mois pour peaufiner leur logo. Si ensuite aucun résultat n'est convainquant, le bureau se réserve le droit de déclarer le concours infructueux.

Visibilité des logos

Les propositions reçues seront visibles même avant la date limite de remise en étant ajoutées sur le site officiel par le bureau. Elles seront ouvertes aux commentaires des adhérents. Les participants pourront aussi les partager via les réseaux sociaux.

4. Finalisation

Le gagnant ou la gagnante s'engage soit à modifier le logo pour le finaliser selon les besoins ou remarques du jury, soit accepte que quelqu'un d'autre le modifie.
Le logo pourra être cédé gratuitement à l’association ou publié sous une licence Creative Commons ou autre licence réservant son utilisation à l’association.

Prix

Le gagnant ou la gagnante du concours se verra remercié publiquement par l’association via son compte Twitter et son site. Son travail sera publié, et il ou elle pourra le commenter. Il sera mis en avant, personnellement et professionnellement, sur les différents canaux de communication.
Aucune compensation financière ne sera remboursée, ce concours est gratuit.

Jury

La décision finale du choix du logo sera faite par le bureau de l’association. Avant cette décision, l’ensemble des logos proposés seront publiés sur une page du site de l’association, qui sera ouverte aux commentaires, sans votes. Les participants au concours pourront aussi de leur côté publier sur leur site ou sur les réseaux sociaux leurs propositions.

A vos crayons !

PS : Un grand merci à Philippe Gervaise qui nous a bien aidé dans la préparation de ce brief.

En page d'accueil : 
Par Artusamak
Julien Dubois

Drupal 8 : les outils

Drupal 8 : les outils
lun, 14/12/2015 - 23:08
Artusamak

La communauté Drupal a toujours cherché à améliorer le confort de ses participants. Cela a donné naissance à plusieurs outils gravitant autour de Drupal et de son code. Il y en a pour tous les goûts, de simplytest.me (service en ligne pour évaluer un ensemble de modules Drupal) à Dreditor (script enrichissant drupal.org pour les contributeurs) en passant par Drupal For Firebug ou Devel (outils pour faciliter la vie du développeur).

Drush

Au milieu de tous ces outils trône Drush, véritable compagnon du développeur, ce script PHP à utiliser dans un shell est une boîte à outils essentielle au quotidien. Pour ceux qui ne connaissent pas Drush, sachez que c’est un indispensable permettant de manipuler Drupal depuis la ligne de commande. Il fonctionne sous Linux, Mac et Windows. On peut lancer une installation, une sauvegarde, vider les caches, changer un mot de passe, créer du contenu, lancer des migrations, télécharger et activer des modules, etc. Enfin, les commandes sont extensibles par les modules ce qui ouvre énormément de possibilités.

Notez que la commande la plus utilisée drush clear-cache all (et son alias drush cc all) n’existe plus, elle est remplacée par la commande drush cache-rebuild (et son alias drush cr).

Drush make

Cette commande utilise un “makefile”, qui est un fichier décrivant une installation, où trouver les modules ou les librairies, quelle version prendre, etc pour construire un Drupal automatiquement. C’est très utile pour faciliter la création de distribution ou faire du déploiement continu.

Drupal Console

L’adoption du développement orienté objet dans Drupal 8 nécessite d’écrire du code un peu plus verbeux. Symfony utilise un composant nommé Console permettant d’automatiser la génération de ce code via la ligne de commande. Drupal a étendu cet outil à ses composants et il est donc possible de s’en servir pour générer du code à partir de template pour pas mal d'éléments de Drupal 8 (des pages, des formulaires, des entités, des blocs, etc). Cette Console peut aussi servir à activer des modules, vider les caches, lancer des migrations…

Cela fait un peu doublon avec Drush. D’ailleurs la Console Drupal peut même lancer des commandes Drush. Il faut tout de même savoir que les équipes de Drush et de Drupal Console travaillent de concert et il semble aujourd’hui que Drush se dédie à devenir le couteau suisse d’un Drupal existant, alors que la Console Drupal servira surtout durant le développement pour générer du code, lancer des tests, etc...

Composer

Composer est un outil de gestion de paquets et de dépendances d’un projet venant du monde PHP. Il est utilisé dans de nombreux projets PHP dont Drupal 8. C’est une sorte de drush make (mais en mieux) qui peut télécharger pour vous la version spécifique des librairies à l’aide d’un simple fichier de configuration composer.json tout en gérant les dépendances récursives.

Il s’occupe aussi de générer les fichiers autoload.php permettant à l’application de charger automatiquement les classes des librairies téléchargées quand elles sont appelées.

Ressources associées

Par flocondetoile
Adhérent

Réaliser des tris sur des vues indexées de Drupal Search API

Photo de lego

J'ai été confronté récemment à un bug pour le moins atypique. J'obtenais des contenus dupliqués et/ou manquants sur différentes paginations d'une même vue basée sur Search API. Un bug présent sur le site de production, sur le site de preprod mais différement, et quasi-absent de l'instance de développement. Et le tout apparaissant de façon aléatoire. Après avoir chercher sans relâche sur les termes "drupal search api duplicate sorting" ou "drupal search api duplicate pagination" ou toutes les déclinaisons possibles, je souhaite partager le résultat d'un debug bien corsé.

Thème 
Drupal 7
Commerce
Développement

Par Kgaut
Kevin Gautreau

Générateur de squelette de site Drupal 7

J'ai mis sur github un scaffolder de site drupal 7.

En une commande, cela télécharge la dernière version de Drupal 7 ainsi qu'une liste de module (qualifié subjectivement par moi-même comme indispensables).

L'ensemble du core et des modules sont gérés par composer, le gestionnaire de dépendances PHP.

Le fichier .gitignore est personnalisé afin de ne pas versionner le core et les modules mais que les thèmes et modules customs le soient.

Un script bash est exécuté à la fin pour copier le fichier default.settings.php en settings.php, créer les dossiers files et tmp...

C'est un peu une preuve de concept que j'aimerai utiliser sur mes prochains projets Drupal 7 et qui évoluera donc surement.

Si c'est concluant une version Drupal 8 viendra aussi.

Je suis preneur d'idées et de retours, n'hésitez-pas à ouvrir des issues ou faire des push requests sur la page github du projet.

Plus d'informations et comment s'en servir sur le readme de la page github du projet :

https://github.com/kgaut/drupal-site-scaffolder

 

Par flocondetoile
Adhérent

Les nouveautés de Drupal 8 : son système de configuration

Chaines soutenant un ascenceur

Le système de configuration de Drupal 8 constitue une nouveauté et amélioration majeure de Drupal 8, portée par l'initiative CMI. Le principe en est simple : séparer la configuration d'un site Drupal 8 de son contenu. Cette distinction entre configuration et contenu permet une transition entre plusieurs environnements d'un même site. Toutes les configurations sont stockées désormais au moyen de simple fichiers texte (au format YAML), ce qui sécurise toute modification et évolution si on dispose d'un système de versionning du système de fichiers. Ainsi, des changements et évolutions d'un site Drupal 8 peuvent être envisagées beaucoup plus sereinement. Découvrons les concepts clés de cette nouveauté majeure de Drupal 8.

Thème 
Drupal 8
Configuration
CMI

Par Simon Georges
Simon Georges

Bien débuter avec Nginx

Vous avez longtemps été un utilisateur plus ou moins averti de Apache HTTP Server et vous voulez commencer à tester nginx ? Voici quelques règles assez simples pour partir dans la bonne direction.

Par admin

SynfonyCon 2015

Synfonycon Paris 2015 se déroulera du 3 au 5 décembre 2015 au Folies Bergère Theater, Paris. Ce Rendez-vous fêtera les 10 ans du Framework Synfony et la sortie majeure de sa verison 3.

bandeau Synfony 10 ans

L'association Drupal France et Francophonie sera représentée par tous les membres du bureau 2015 pour parler de la communauté Francophone et du CMS.

Ce sera aussi l'occasion de parler de la nouvelle version "Drupal 8", fraichement sorti (19 novembre 2015), qui s'appuie sur les Bundles de Synfony 2.x

C'est pourquoi Drupal sera un des sponsors de SynfonyCon Paris et nous vous donnons rendez-vous pour venir nous voir. Par ailleurs, l'association à travers de son président interviendra lors des Lightning talks le jeudi 3 décembre à 14h00.

Tags : 
Par flocondetoile
Adhérent

Prendre le contôle sur les prix affichés avec Drupal commerce

Téléviseur dans un champ

Drupal commerce dispose d'un nombre important de modules contribués permettant de modifier l'affichage du prix d'un produit sur une boutique en ligne. Mais si des besoins métier sont par trop spécifiques, comme par exemple, afficher le prix de vente, et le prix original si une promotion lui est appliqué dessus, ainsi que le prix de vente avec un autre taux de TVA, et n'oubmions pas le prix HT, tout ceci accompagné d'une unité de quantité et d'un commentaire,avouez que nous risquons d'être un peu court avec les modules existants tant les besoins métier sont ici particuliers. Découvrons comment prendre le contrôle total de l'affichage du prix de votre produit en créant notre propre formateur de champ qui sera en charge du rendu de celui-ci.

Thème 
Drupal 7
Développement
Commerce

Par Kgaut
Kevin Gautreau

Installer Drupal 8 avec composer

Il est maintenant possible de gérer son installation de Drupal directement avec composer, installation, ajout de module, update...

Prérequis

Pour cela évidement, il faut avoir composer d'installé, sous Debian/Ubuntu :

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Il aussi est nécessaire d'avoir l'extension php CURL, toujours sous Debian et dérivés installez-la avec :

sudo apt-get install php5-curl

Téléchargement

Placez-vous dans le dossier où vous souhaitez installer drupal 8 (il doit être vide) et lancez la commande suivante :

composer create-project drupal-composer/drupal-project:8.x-dev ./ --stability dev -vv 

Il se peut que vous obteniez un message de ce genre :

Could not fetch *************, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=****************
to retrieve a token. It will be stored in "/home/********/.composer/auth.json" for future use by Composer.

C'est une protection mise en place par github pour éviter de se faire aspirer trop de contenu, il faut que vous généreriez un jeton chez eux, pour cela rendez-vous à l'adresse donnée et cliquez sur generate token :

Votre jeton se trouve à la page suivante :

Copiez-collez-le dans le terminal et faite Enter.

L'installation devrait se terminer correctement.

Structure

Votre dossier devrait maintenant ressembler à ça :

La racine de votre site est le dossier web, c'est sur lui que devra pointer votre virtual host.

Si vous allez dans le dossier web/sites/default vous vous rendrez compte que composer à déjà préparer l'installation du site avec le dossier files et les fichiers services.yml et settings.php, vous n'avez alors plus qu'a lancer votre navigateur sur l'adresse de votre virtual host afin de commencer l'installation de drupal en tant que tel.

Installation de modules contrib

Si vous souhaitez ajouter un module tiers, vous pouvez le faire, toujours avec composer via la commande suivante :

#téléchargement du module devel
composer require drupal/devel:8.*

#téléchargement du module token
composer require drupal/token:8.*

#téléchargement du module examples
composer require drupal/examples:8.*

Versionning et déploiment

Si vous observez le contenu du fichier .gitignore, vous verez qu'il demande à ne pas versionner les dossiers du core de drupal, les dépendances tierces ainsi que les modules contrib :

# Ignore directories generated by Composer
drush/contrib
vendor
web/core
web/modules/contrib
web/themes/contrib
web/profiles/contrib

# Ignore Drupal's file directory
web/sites/default/files

# Ignore files generated by PhpStorm
.idea

Pourquoi ? Car toutes la gestion de dépendance passe maintenant par composer et il n'y a donc aucun intérêt à stocker sous git ces éléments tiers. Le fichier composer.lock contient l'ensemble des dépendances avec la version précise nécessaire pour votre application.

Si vous clonez votre dépôt depuis un autre poste, il suffira de faire un composer install pour récupérer l'ensemble des dépendances dans leurs bonnes versions. Pareil pour le déploiement en prod qui doit ressembler à peu de chose prêt à ça :

#Récupération des dernières modifications
git pull origin master

#Téléchargement des éventuelles nouveaux modules ou encore mises à jours
composer install

#Reconstruction du cache (équivalent de cache-clear sous drupal 7)
drush cache-rebuild

#Migration de la base de données
drush update-db

Mise à jour core et modules

Pour mettre à jour le core et les modules, toujours avec composer :

composer update

Si vous vous rendez-compte que quelque chose c'est mal passé, faite un revert sur le fichier composer.lock puis composer install pour retourner dans l'état précédent.

 

Plus d'informations sur la page github de drupal-composer : https://github.com/drupal-composer/drupal-project.

Par Kgaut
Kevin Gautreau

Drupal 8 version finale disponible

Après quelques années de gestations, Drupal 8 est depuis aujourd'hui disponible en version stable (8.0.0 pour être exact.)

C'est une nouvelle version majeur, une mise à jour de votre site en Drupal 7 ne sera pas forcément aisé. Avant de migrer il faudra attendre que les modules tiers que vous utilisez soient portés en version 8 et si vous avez des modules customs, il faudra certainement les réécrire en grande partie.

Au niveau administration, une grosse refonte de l'interface utilisateur à été faite, des modules quasiment indispensables en dans drupal 7 sont maintenant dans le cœur de Drupal 8 (Views, CKeditor...) La gestion des langues est grandement améliorée.

Au niveau du code, Drupal 8 intègre maintenant des briques venant de Symfony 2, il nécessite au minimum PHP 5.5 et est compatible avec PHP7.

Beaucoup de modules restent encore à porter, mais la communauté a beaucoup travaillé pour que la transition soit plus rapide que celle en 2011 entre Drupal 6 et Drupal 7.

Pour le tester, je vous invite à soit le télécharger directement depuis cette page ou bien à utiliser composer via à l'aide de drupal-composer (https://github.com/drupal-composer/drupal-project.)

Si vous avez envie de jouer et d'apprendre le développement de module avec Drupal 8 je vous invite à tester Drupal Console (ceux qui ont déjà utilisé la console de Symfony ne seront pas perdu) qui permet depuis un terminal de générer des modules, des types d’entité, des types de contenu, des blocs...

À noter enfin, pas d'inquiétudes pour vos sites sur Drupal 7 au niveau de la sécurité, la communauté Drupal maintient toujours 2 versions en parallèle, donc le support de Drupal 7 sera toujours assuré jusqu'à la sortie de Drupal 9, nous avons donc quelques années devant nous...

Tags: 

Par admin

Drupal 8, grand pas en avant dans la gestion de l'expérience numérique, est disponible aujourd'hui

La plateforme de création d'expérience numérique la plus puissante et polyvalente du web s'est encore améliorée.

PORTLAND,Oregon, USA, le 19 novembre 2015, Aujourd'hui, DrupalTM a annoncé la sortie de sa dernière version, Drupal 8 (version anglaise). Drupal est la plateforme de création d'expérience numérique open source utilisée par des millions de sites internet et d'applications. Il motorise un grand nombre des sites web les plus influents. Drupal 8 change la manière de créer et proposer les meilleures expériences digitales du monde.

La gestion de l'expérience numérique est une activité quotidienne à temps complet, et Drupal permet depuis longtemps aux compagnies et organisations de rester au goût du jour sur ce point. C'est un logiciel modulaire conçu pour prendre en charge des opérations digitales complexes. C'est la plateforme que les gouvernements utilisent pour faire passer leurs messages les plus importants. (La Maison Blanche, le gouvernement français). C'est aussi la plateforme des contenus qui divertissent (Les GRAMMYs, France Télévision) et qui informent (Le Figaro, Fox News). C'est encore le moyen par lequel les organisations œuvrent à un changement global (Human Rights Watch, Oxfam International).

"Drupal nous permet de nous concentrer sur la production d’une expérience éditoriale efficace et riche en fonctionnalités afin que nos rédacteurs puissent se focaliser sur la création de contenus captivants et pertinents," dit Alexander S. Ross, Directeur d'ingénierie logicielle à NBC Universal Technology. "Nous sommes enthousiastes à l'idée d'utiliser quelques-unes des nouvelles fonctions de Drupal 8 pour stimuler davantage nos éditeurs".

Drupal 8 améliore la manière, pour les organisations, de présenter leur contenu, et l'impact de ce contenu en est amplifié. Ce contenu est conçu de façon modulaire, à base d'éléments flexibles plutôt que de pages rigides. Ceci aide les organisations à proposer ce que le public attend : un contenu digital personnalisé et pertinent. Avec Drupal 8, le contenu peut être exactement ce dont le public a besoin, là où il en a besoin.

“Aujourd’hui nous avons livré la mise à jour la plus importante de l’histoire de Drupal. En plus de nombreuses améliorations liées à la facilité d'utilisation, Drupal 8 intègre d’importantes avancées en matière de modélisation du contenu, ainsi qu'un découplage entre le traitement des contenus (API) et la mise en forme pour le web," a déclaré Dries Buytaert, créateur de Drupal et leader du projet. “C’est la boîte à outils qu'attendent les organisations pour répondre à la demande d’expériences digitales rapides, flexibles et hautement personnalisées qui sont le futur du web. Nous avons optimisé Drupal 8 pour l’intégration avec d’autres systèmes, et pour l’orchestration d’expériences orientées données, fonctionnant avec différents terminaux et canaux de communication. Plus de 3 000 contributeurs ont donné de leur temps sans compter pour créer le système de gestion de contenus (CMS) le plus évolutif et le plus puissant du marché. Drupal 8 transforme notre communauté et le web que nous connaissions.”

Le trait marquant de Drupal 8 est son engagement en faveur d'un contenu structuré et polyvalent. Cependant, cette flexibilité ne constitue pas le seul avantage de Drupal 8 pour aider les organisations à tirer le meilleur parti leurs plateformes numériques. Il apporte plus de 200 fonctionnalités nouvelles ou améliorées, dont :

  • Des outils d'intégration puissants pour interfacer Drupal avec d'autres logiciels présents dans l'infrastructure d'une organisation.
  • La création simplifiée de contenu, à l'aide d'interfaces de contribution adaptatives.
  • Une focalisation renouvelée sur l’approche “mobile d’abord”, permettant de créer des sites et des applications qui fonctionneront sur un éventail de matériels modernes plus étendu que jamais.
  • Une gestion de configuration totalement nouvelle permettant un développement et une maintenance de site plus rapides et plus sûrs.
  • Un support multilingue bien amélioré, offrant la possibilité de traduire n'importe quel élément du logiciel.

Des organisations utilisent déjà Drupal 8. LeTemps, un journal suisse francophone, utilise Drupal 8 pour afficher 4,2 millions de pages vues par mois. CH2M est une société internationale qui oeuvre au développement durable pour des gouvernements, des infrastructures et l'environnement. Elle utilise Drupal 8 pour présenter et démontrer ses compétences.

Le Memorial Sloan Kettering Cancer Center (MSK), un des plus grands centres de lutte contre le cancer des Etats-Unis, a lancé son nouveau site mskcc.org en mai dernier. Il a choisi Drupal 8, alors même que le logiciel n'était qu'en beta, pour étendre la portée de sa campagne "More Science. Less Fear" ("Plus de science. Moins de peur").

"Les chercheurs et les cliniciens du Memorial Sloan Kettering repoussent régulièrement les limites en matière d’innovation et de recherche,” a déclaré Evan Liebman, Directeur des Technologies et Communications en-ligne, “et nous voulions faire de même dans le domaine de la technologie digitale. Il était vraiment important pour nous d’adopter Drupal 8 très tôt et de contribuer à son développement. Avec le code orienté objet et les modèles de conception réutilisables de Drupal 8, nous pouvons contourner rapidement les obstacles techniques. Soixante-quinze pourcent des caractéristiques et des fonctionnalités que nous demandions sont maintenant dans le cœur de Drupal, y compris Views. Cela signifie que vous pouvez créer un site Drupal 8 directement dès la fin d'installation du coeur."

Avec 100 000 contributeurs actifs, Drupal possède une des communautés open source les plus étendues au monde. C’est une communauté mondiale de concepteurs, rédacteurs, traducteurs, développeurs, sponsors et bien d’autres métiers. En plus d’améliorer le cœur de Drupal ils travaillent ensemble à son extension par la contribution de modules, de thèmes et de distributions. Drupal 8 est l’étape la plus récente de leur engagement à son amélioration continue, permettant à des organisations de construire partout des choses qui étonnent le monde

Tous les noms de sociétés et de produits tiers sont des marques de leurs propriétaires respectifs. Nous les avons mentionnés uniquement à titre de référence.


A propos de l’Association Drupal

L’Association Drupal est une organisation sans but lucratif. Elle aide à faire grandir le projet Drupal et sa communauté par le biais de financements, de l’infrastructure, des événements et de la promotion. Sa vision consiste à faciliter la création d’espaces où quiconque, n’importe où, peut utiliser Drupal pour faire de l’internet un meilleur espace. Elle travaille à donner aux créateurs du web, ceux qui le pensent et ceux qui le font, l’inspiration et le pouvoir d’agir ainsi.

Pour plus d’informations, contactez, en anglais, le Président de l’Association Drupal Dries Buytaert, ou sa Directrice Exécutive Holly Ross.

Annonce ci-dessus traduite et localisée à partir de la version anglaise.


A propos de l’Association Drupal France et francophonie

L’Association Drupal France et francophonie est une organisation sans but lucratif. Elle représente officiellement le projet Drupal et sa communauté en France. Elle a pour missions principales de
promouvoir le logiciel libre de gestion de contenu Drupal en France et dans la francophonie,
d'exploiter et de gérer le site communautaire http://drupalfr.org, de maintenir la traduction française de Drupal et de ses principaux modules de contribution, et de créer et maintenir de la documentation en Français.

Pour plus d’informations, contactez le Bureau de Drupal France.


Aller plus loin

Découvrez aussi les principales nouveautés ou améliorations apportées par Drupal 8.

N'hésitez pas à télécharger Drupal 8.0.0 pour l'essayer.

Ces vidéos vous aideront à comprendre pourquoi nous aimons Drupal 8, et que Drupal est vraiment communautaire.

En page d'accueil : 
Version de Drupal : 
Par flocondetoile
Adhérent

Faut-il un expert Drupal 8 pour se lancer ?

pompe à essence libre service

La première version stable de Drupal 8 est enfin disponible au téléchargement. Beaucoup d'encre a coulé sur les nouveautés introduites par Drupal 8, tant elles sont nombreuses il est vrai, mais aussi parce que cette nouvelle version majeure aura su se faire attendre.

Thème 
Drupal 8
Expertise Drupal 8

Par Artusamak
Julien Dubois

La fin de Drupal 6 ?

La fin de Drupal 6 ?
mar, 17/11/2015 - 10:30
DuaelFr

Badge "Don't panic" inspiré du livre "Le Guide du Voyageur Galactique" de Douglas Adams

Dans un article datant du 9 novembre (EN), la date est tombée. Comme convenu depuis plus d'un an (EN), le support officiel de Drupal 6 cessera 3 mois après la sortie de Drupal 8, soit le 24 février 2016.
Cet article a pour objectif de vous expliquer clairement les raisons et les significations de cet arrêt mais aussi vous donner des pistes pour l'avenir de votre propre site.

Pourquoi Drupal 6 doit-il cesser d'être supporté ?

Drupal est un logiciel libre créé et entretenu par une communauté de milliers de développeurs à travers le monde. Sur l'ensemble de ces développeurs, seuls quelques uns touchent un salaire pour contribuer au cœur et aux modules. La grande majorité d'entre eux font cela de manière totalement bénévole.

Outre l'enrichissement du code, plusieurs équipes, encadrées par la Drupal Association (organisme à but non lucratif basé aux États-Unis), tentent de s'assurer que Drupal reste un produit de qualité. On trouve notamment une équipe dédiée à la sécurité, composée d'une quarantaine de membres, mais aussi une équipe qui valide les compétences des nouveaux développeurs afin de leur donner la possibilité de publier leurs propres modules. Comme les autres contributeurs, une grande partie des membres de ces équipes est bénévole et dispose donc d'un temps limité pour assurer ces charges.

Chaque évolution majeure de Drupal a apporté son lot de changements profonds liés à la fois à l'évolution des technologies sous-jascentes (PHP, HTML, Javascript, etc.) mais aussi à l'évolution des pratiques et des tendances. Ces changements de fond nécessitent beaucoup de travail pour que chaque développeur se forme aux nouveaux usages et aux nouvelles fonctionnalités. Cela peut sembler inutilement dispendieux au premier abord mais c'est la seule manière de continuer à proposer une expérience intéressante aux utilisateurs finaux de nos sites. De plus, certaines des technologies sur lesquelles repose Drupal sont soumises aux mêmes problématiques et contraintes et cessent à leur tour d'être supportées. Si l'on choisissait de maintenir notre logiciel malgré l'évolution forcée de ces technologies, nous devrions opérer à des changements à tous les niveaux afin d'éviter erreurs et failles de sécurité, au risque d'en créer de nouvelles par erreur.

En conséquence de cela, la décision a été prise il y a déjà longtemps de concentrer le travail de tous les contributeurs sur les deux dernières versions stables de Drupal, à l'image de ce que proposent un grand nombre d'entreprises dans notre secteur d'activité.

Qu'est ce que cela implique ?

Vous êtes inquiet à propos de votre site existant et c'est tout à fait normal. Cependant, rassurez-vous, la fin du support de Drupal 6 ne signifie pas que votre site va cesser brutalement de fonctionner !

À compter du 24 février, les équipes de développement qui continuaient à faire évoluer le cœur de Drupal 6 cesseront de le faire. Aucune nouvelle version évolutive ou corrective, même concernant la sécurité, ne sera plus publiée. La ligne de téléchargement disparaîtra également de la page du projet. Quelques temps plus tard (la date n'a pas encore été fixée), toutes les versions des modules et thèmes liés à Drupal 6 ne seront plus gérées par le gestionnaire de mise à jour de votre site.

Certaines entreprises ou certains développeurs pourront, s'ils le souhaitent, continuer à maintenir partiellement ou totalement des sites, des thèmes ou des modules liés à cette version mais il est très probable que leur nombre diminue rapidement et qu'ils ne soient donc plus en mesure de fournir assez de main d'œuvre pour répondre à la demande.

Il vous sera donc éventuellement possible de continuer à maintenir votre site quelques mois après la fin du support officiel, voire plus longtemps si vous trouvez les ressources prêtes à intervenir dans ce contexte. Vous devriez cependant être très prudent car votre hébergeur pourrait également décider de cesser le support de la version de PHP qui permet à Drupal 6 de fonctionner et vous vous retrouveriez alors obligés de changer d'hébergeur, de vous auto-héberger ou de procéder à une migration en urgence. Pour information, la dernière version de PHP officiellement supportée par Drupal 6 est la 5.3 et les équipes de PHP ont cessé de l'entretenir depuis le 14 août 2014.

Que faire avec mon site existant ?

Vous l'avez compris, que ce soit à cause de l'arrêt du support de PHP 5.3 par votre hébergeur ou la découverte d'une nouvelle faille de sécurité, votre site Drupal 6 sera prochainement en péril. Quelles que soient vos motivations, il vous sera sans doute possible, de manière plus ou moins complexe, de maintenir votre site à flots quelques mois de plus. Cependant, Drupal 6 fêtera ses 8 ans le 13 février et, même si votre site a été conçu plus récemment, il repose sur un socle technologique ancien et dépassé. À ce stade, vous devriez sérieusement envisager une refonte de votre site.

Comment choisir ma nouvelle version ?

Comme lors de la sortie de Drupal 7 en janvier 2011, même si la communauté est cette fois mieux préparée, il faudra attendre quelques mois avant que les modules indispensables, n'ayant pas déjà été intégrés au cœur (Entity API, Entity Reference, Views, Entity Cache, etc.), soient portés et disponibles dans cette nouvelle version.

Si votre site nécessite un grand nombre de modules contribués, il faudra sans doute choisir Drupal 7.
Dans le cas contraire, si votre site est assez simple vous devriez envisager de passer directement à Drupal 8.

Si vous ne savez pas vraiment sur quels modules s'appuie votre site nous pouvons réaliser pour vous un mini-audit centré sur le problème de la migration vers l'une de ces deux nouvelles versions. Au terme de celui-ci nous serons en mesure de vous recommander la version majeure sur laquelle il sera plus aisé de migrer ainsi qu'une estimation approximative du temps qui serait nécessaire pour le faire. Si cela vous intéresse, n'hésitez pas à nous contacter en utilisant le formulaire en bas de cette page.

Ne vais-je pas tomber dans le même piège une seconde fois ?

La question est pertinente. Comme toutes les versions passées et futures, Drupal 7 et Drupal 8 subiront aussi, un jour, le même sort que Drupal 6. Même si nous ne disposons pas encore de date, la politique officielle de la communauté a déjà été définie. Drupal 7 étant une version Long Term Support (LTS), il disposera de mises à jour évolutives et correctives jusqu'à 3 mois après le début du développement de Drupal 9, puis de mises à jour de sécurité uniquement jusqu'à 3 mois après le début du développement de Drupal 10. Le développement d'une nouvelle version majeure ne démarrant que lorsque des modifications très significatives, rompant la compatibilité descendante, doivent être réalisées, aucune date n'est encore envisagée. Au regard des cycles de développement précédents on peut aisément supposer que le démarrage de Drupal 9 n'aura pas lieu dans avant fin 2017 et que celui de Drupal 10 viendra encore bien après. Drupal 7 devrait donc être supporté au moins jusqu'aux alentours de 2020.

Diagramme du calendrier théorique des futures versions de Drupal

En pratique, en quoi consiste la mise à jour ?

Cette question est trop complexe pour y répondre en quelques mots mais je vais tâcher de résumer très grossièrement car cet article est déjà bien trop long.

Drupal 7 ne dispose que d'un chemin de mise à jour minimal et il peut donc être assez compliqué de réaliser cette évolution d'autant que de nombreux modules ont été rendus obsolètes par l'arrivée de cette nouvelle version et n'ont donc jamais été mis à jour. Dans ce cas il faudra prévoir de repartir du besoin fonctionnel initial pour reproduire, avec les nouveaux outils disponibles, les anciennes fonctionnalités concernées. 
Drupal 8 quant à lui dispose d'un nouveau système, basé sur le module Migrate (désormais intégré au cœur). Ce dernier permettra, pour tous les autres éléments existants également dans le cœur, de convertir données et configuration directement de l'ancien site vers le nouveau, avec un minimum de maintenance manuelle à réaliser. Les éléments un peu plus exotiques devront subir un traitement spécifique et même potentiellement du développement sur mesure avant l'import.

Dans un cas comme dans l'autre, une fois la structure reprise, les contenus pertinents pourront être migrés vers le nouveau site afin de préserver le travail passé et le référencement.

Quand est-ce qu'on commence ?

Même si vous comptez prolonger au maximum la vie de votre site actuel il faut impérativement commencer à préparer cette transition au plus tôt. Comme indiqué plus haut, nous pouvons réaliser pour vous un mini-audit dont l'objectif serait de vous donner une vision plus précise du potentiel évolutif de votre site, de vous recommander la prochaine version vers laquelle vous devriez vous diriger et une estimation du temps qui serait nécessaire à cette mise à jour. Si vous êtes intéressés par cet audit ou si vous voulez immédiatement passer à la réalisation, n'hésitez pas à nous contacter.

 

Couverture © Kreg Steppe

Catégorie
Par flocondetoile
Adhérent

La gestion des librairies avec Drupal 8

Une librairie

La gestion des ressources (feuilles de style CSS, javascript JS) sous Drupal 8 a fondamentalement changé comparé à Drupal 7. Le principe général qui a guidé la refonte de la gestion des ressources sous Drupal 8 est que seules les pages ayant besoin de ces ressources les chargeront. Le résultat immédiat est une performance accrue, mais son corollaire est une gestion plus fine du chargement de ces ressources. Heureusement, Drupal 8 a revu aussi en profondeur la gestion de ces ressources pour la simplifier et la rendre modulable à volonté en quelques lignes de configuration.

Thème 
Drupal 8
Développement
Theming

Pages