Sous le capot de Drupal 8

Voiture de collection
Thème

L’arrivée prochaine de la prochaine version majeure de Drupal (prévue fin 2013) est l’occasion de faire un point sur toutes les nouveautés et avancées technologiques que Drupal 8 va introduire. Bien que celles-ci sont susceptibles d'évoluer encore, nous pouvons nous faire une idée assez proche de ce que Drupal 8 va nous offrir dans quelques mois, et ce à quelques jours du Code Freeze (Gel de l'ajout de code) prévu le 1er juillet 2013.

Sans vouloir être exhaustif, tant les nouveautés sont nombreuses et les initiatives multiples, nous allons tenter de faire un panorama assez large et le plus complet possible de Drupal 8, au travers des 7 initiatives majeures qui servent de fil conducteur à son développement, sans oublier les autres initiatives, telles que par exemple l'édition de contenu en ligne avec Drupal 8.

Mobilité et design responsive deviennent un standard

L'Initiative Drupal 8 Mobile est un effort concerté pour faire de Drupal 8 une plate-forme mobile de première classe. La première étape de cette initiative a consisté en la rédaction d’un guide détaillant les différents concepts et approches possibles pour réaliser une solution mobile (web applications, responsive design, etc.) que ce soit avec Drupal 8 ou même Drupal 7.

Tandis que les problématiques de l’intégration de Drupal avec les application natives (Web services) ou les applications web (HTML5) sont prises en charge par les initiatives du même nom, l’initiative Drupal 8 Mobile s’est concentrée donc sur les points suivants :

  • Administration et gestion de Drupal depuis un terminal mobile
  • Tous les thèmes Drupal 8, fournis par défaut avec le coeur et ceux futurs, doivent être responsives
  • L'amélioration des performances frontales

Un site Drupal responsive immédiatement après l’installation

Ainsi, tous les thèmes embarqués par défaut, ainsi que les futurs thèmes Drupal 8, seront nativement responsives, tout comme le thème d’administration par défaut, Seven, qui permettra d’administrer, gérer ou encore alimenter un site Drupal 8 facilement depuis un terminal mobile.

Des points de rupture à volonté

Les points de rupture (largeurs pour lesquelles le design d’un site change) sont implémentés dans le cœur de Drupal avec le module Breakpoints. Ce module standardise l’utilisation des points de rupture et permet à d’autres modules, ou thèmes, d’exposer ou encore d’utiliser les points de rupture définis par chacun.

Des images responsives

Les images ne sont pas en reste. Avec le module Picture, Drupal 8 implémente l’élément picture qui est en cours de validation aux niveaux des spécifications HTML5. Ce module intègre donc l’élément HTML5 picture au sein des champs de type image, ou encore, pour les images insérées depuis un éditeur de texte. Définir des tailles différentes d’image, selon la taille de l’appareil utilisé pour consulter le site, devient un jeu d’enfant. Aussi bien il permet d’intégrer avec harmonie les images au sein des designs responsives, mais aussi de préserver la bande passante des terminaux mobiles en leur servant nativement des images avec une taille appropriée, et donc d’améliorer significativement les performances.

Paramètres du module Picture

Un portage sur Drupal 7

Nous pouvons noter que les modules Breakpoints et Picture, présents dans le cœur de Drupal 8, ont été portés sur Drupal 7 et peuvent donc être utilisé dès aujourd’hui.

Une nouvelle architecture CSS

Pour rendre le code CSS plus réutilisable, prévisible, maintenable et évolutif, une nouvelle architecture a été réalisée, basée sur SMACSS. En complément de nouvelles directives et conventions de codage des feuilles de style CSS, la structure des fichiers CSS a été réorganisée dans une logique qui apporte efficacité, agrégation et mises à jour facilitées.

Amélioration JavaScript et performances

Modernizr est désormais présent dans le cœur de Drupal 8 et apporte avec lui le support du HTML5 pour les navigateurs les plus anciens. Un travail visant à s’assurer que les fichiers javascript ne soient chargés et lus que quand cela est nécessaire est toujours en cours et devrait apporter une amélioration significative en terme de performances côté navigateur. Dans cette optique, le composant Symfony Assetic sera utilisé pour gérer toutes ces ressources (css, js, etc.) et permettra de supporter nativement SASS, Coffeescript, LESS, et bien plus. Bref, vous pouvez dire adieu aux fonctions drupal_add_js() et drupal_add_css().

La configuration de Drupal 8 est désormais gérée au niveau du système de fichier

La configuration d'un site Internet Drupal 7 est stockée au sein de sa base de données, comme à peu près tous les CMS disponibles à ce jour. Le module Features permet d'exporter, dans une certaine mesure, (i.e. quand les modules implémentent cette possibilité) ces configurations stockées en base de données afin de pouvoir les déployer sur un autre environnement. Bien souvent les informations de configuration sont stockées au même niveau que les données, quand l'ensemble n'est pas, tout simplement, joyeusement entremêlé.

Partant de ce constat, et du postulat que les données de configuration d'un site Drupal sont conceptuellement complètement différentes des données du contenu, cette initiative s'est donnée comme objectifs de :

  • Stocker toute la configuration de Drupal 8 au sein de fichiers, lisibles, qui sont gérés avec un contrôle des versions et qui peuvent être déployés très facilement d'un environnement à l'autre
  • Fournir une API pour mettre à jour cette configuration, ainsi que mettre à disposition une interface utilisateur pour appliquer ces mises à jour
  • Convertir 100% du coeur pour utiliser le nouveau système de configuration
  • Fournir des fonctionnalités d'internationalisation et de traduction de la configuration
  • Fournir aux développeurs et aux utilisateurs une documentation sur le système et comment l'utiliser

Ce changement d'architecture va permettre de lire, et comprendre, très facilement les configurations d'un site Internet Drupal 8, qui seront stockées dans des fichiers YAML. Tout comme il va permettre de déployer la configuration d'un site à l'autre, d'un environnement de développement à un environnement de production, d'une façon presque enfantine. Les modules contribués pourront s'appuyer sur l'API fournie pour stocker leurs données de configuration dans la même structure de fichiers.

Faites vous une idée sur la lisibilité de la configuration avec cet exemple, et devinez quelle configuration cette exemple définit.


id: node.article.default
uuid: 56898d4c-926e-4301-9c00-d620119091c3
targetEntityType: node
bundle: article
mode: default
content:
  body:
    label: hidden
    type: text_default
    weight: '11'
    settings: {  }
  field_tags:
    label: above
    type: taxonomy_term_reference_link
    weight: '10'
    settings: {  }
  field_image:
    label: hidden
    type: picture
    weight: '-1'
    settings:
      picture_mapping: content_image
      fallback_image_style: ''
      image_link: ''
  language:
    visible: '0'

Autant dire qu'il y a peu de chances que le module Features soit porté un jour vers Drupal 8...

Cette nouvelle architecture offre également des perspectives intéressantes, qui ne manqueront pas d'être exploitées par les modules contribués de Drupal, comme par exemple l'implémentation d'un système de contexte qui permet de modifier la configuration d'un site Drupal 8 selon certains contextes (comme la langue, le domaine, etc.).

La plupart des objectifs de cette initiative sont (ou seront) atteints mais il reste encore du travail pour finaliser cette nouvelle architecture avant la fin 2013, et tout spécialement, comme souvent, sur la documentation à destination des développeurs ou des utilisateurs qui doit être complétée et mise à jour. A noter comme exception, la documentation du système de contexte de l'architecture de configuration que vous pouvez consulter dès maintenant.

Drupal 8 supporte nativement le HTML5

Cette initiative s'est donnée comme objectif d'implémenter le HTML5 dans le coeur de Drupal pour

  • Offrir une meilleure expérience aux utilisateurs finaux
  • Permettre aux modules et aux thèmes contribués d'évoluer en utilisant le HTML5
  • Donner aux développeurs de thèmes un contrôle total sur l'utilisation des nouveaux éléments sémantiques introduits par le HTML5

Logo HTML5Nous devrions donc disposer avec Drupal 8 de tous les nouveaux éléments de formulaire (email, tel, date, search, etc.) introduits par HTML5. Les rôles ARIA seront aussi de la partie, afin d'améliorer encore l'accessibilité, et les balises <video> et <audio> permettront d'intégrer nativement les vidéos ou documents audio au sein de votre site web Drupal 8. Cette transition vers le HTML5 a été l'occasion également de toiletter en profondeur le balisage et les éléments de style de Drupal 8.

Ce support natif du HTML5 rend inutile l'utilisation de javascript pour le contrôle des formulaires, désormais intégré nativement au sein des nouveaux éléments de formulaires, et à ce titre va permettre d'améliorer les perfomances globales de Drupal 8. Tout comme il autorise une meilleure expérience utilisateur, que ce soit sur un terminal mobile ou un ordinateur de bureau, et place Drupal 8 à la croisée des applications natives et de l'Internet mobile.

Des blocs partout

L'initiative Drupal 8 Layout vise à apporter une unité au système actuel, hétéroclite, des éléments de sortie utilisés par Drupal pour générer ses pages HTML (blocks, pages, menus, paramètres des thèmes, et plus). Fournir un mécanisme standardisé pour générer et afficher les contenus, quels qu'ils soient,  fournir de nouveaux outils pour placer des contenus sur une page, et améliorer les performances. Tels sont les buts de cette initiative, qui veut s'appuyer sur les outils et l'expérience développés dans les modules contribués de Drupal 7 comme Panels, Context, Display Suite, etc.

Le slogan utilisé "Des blocs et des pages partout" (bloc and layout everywhere) est à prendre réellement au pied de la lettre : l'idée est de faire, de tout élément affiché sur une page, un bloc. Non pas un bloc au sens traditionnel du terme, tel qu'il existe actuellement dans Drupal 7, mais un bloc intelligent, sensible au contexte et qui peut être (re)utilisé sous la forme d'instances. De même, les régions feront partie intégrante du coeur de Drupal 8, et ne seront plus spécifiques à un thème. Autrement dit ce ne sont plus les thèmes qui implémenteront leurs régions, via leur fichier .info.

Les nouveautés qui devraient être introduites dans Drupal 8 vont nous permettre de choisir un agencement de page parmi une palette disponible, d'avoir la possibilité d'inclure un agencement dans un autre pour concevoir des dispositions de page complexes, et de disposer d'agencements de page sensibles au contexte, comme par exemple le type de contenu actuellement consulté.

Pour résumer brièvement, l'initiative Drupal 8 layout se compose de 5 fonctionnalités majeures :

  • Blocs contextuels : pouvoir transmettre des données aux blocs pour qu'ils puissent réagir à autre chose qu'une adresse URL
  • Blocs partout : faire de tous les éléments d'un page, depuis le logo du site, en passant par les menus jusqu'au contenu principal, des blocs qui peuvent être traités de la même manière
  • Agencement multiple de page : choisir parmi des dispositions de page préconfigurées ( 3 colonnes, Grille, etc.) ou concevoir votre propre agencement de page
  • Rendu partiel des pages : les pages seront composés d'élements individuels qui pourront être lus et rendus indépendament les uns des autres, permettant une meilleur performance (avec le support ESI/SSI) et des requêtes AJAX indépendantes
  • Meilleur interface utilisateur pour gérer les blocs : fournir une interface visuelle, de type glisser-déposer, pour créer des agencements de page et les peupler avec des blocs

Regrouper les fonctionnalités offertes par des modules majeurs de Drupal 7, comme Panels, Context, Display Suite et d'autres, au sein de Drupal, tel est l'objectif ambitieux de cette initiative. Malheureusement avec le gel des fonctionnalités nouvelles de Drupal 8, intervenu le 18 février 2013, la plupart des interfaces utilisateurs inscrites au programme, ainsi que le système de bloc contextuel, ne pourront pas être au rendez-vous à la sortie de Drupal 8. Ce sera pour Drupal 9. Mais afin de valider et concrétiser le nouveau système de bloc et de mise en page de Drupal 8, des interfaces utilisateurs à minima seront réalisées, sans toutes les fonctionnalités qui ont été imaginées.

Mais finalement, ce n'est peut-être pas une si mauvaise nouvelle. Les fondations seront là, au travers notamment d'une API unifié, et ne demanderont qu'à être exploitées par les modules contribués. Display suite dispose d'ailleurs déjà d'une version 8 en cours de développement, et puisque toutes les contributions ultérieures s'appuireront sur l'API, nous avons l'assurance que ces solutions seront mutuellement compatibles, ce qui était loin d'être le cas sur Drupal 7 puisque chaque module contribué était obligé finalement de réinventer sa propre API.

Nous aurons bien des "blocs partout" avec Drupal 8, des pages constituées de composants individuels qui supporteront nativement les mécanismes sophistiqués de cache comme ESI ou SSI, et un nouveau moteur de template, basé sur Twig, documenté, extensible, sécurisé, très rapide et non des moindres, utilisé ailleurs.


<article id="node-{{ node.nid }}" class="{{ attributes.class}} clearfix"{{ attributes }} role="article">

  <header>
    {{ title_prefix }}
    {% if not page %}
      <h2{{ title_attributes }}>
        <a href="{{ node_url }}">{{ label }}</a>
      </h2>
    {% endif %}
    {{ title_suffix }}

    {% if display_submitted %}
      <div class="meta submitted">
        {{ user_picture }}
        {{ submitted }}
      </div>
    {% endif %}
  </header>

  <div class="content clearfix"{{ content_attributes }}>
    {# We hide the comments and links now so that we can render them later. #}
    {% hide(content.comments) %}
    {% hide(content.links) %}
    {{ content }}
  </div>

  {% if content.links %}
    <footer class="link-wrapper">
      {{ content.links }}
    </footer>
  {% endif %}

  {{ content.comments }}

</article>

Faites vous une idée des nouveaux templates de Drupal 8.

Drupal 8 multilingue "out of the box"

Concevoir un site multilingue avec Drupal 7 était loin d'être une simple affaire. Pour parvenir à ses fins, il était nécessaire de s'appuyer sur tout un jeu de modules contribués, tels que localization update, internationalization, variable, content translation, entity translation, locale, etc. Rien d'impossible, mais il faut reconnaître que la configuration du multilinguisme sur Drupal 7 était loin d'être un modèle d'ergonomie et restait assez peu intuitive.

Cette initiative Drupal 8 multilingue a relevé le défi et ne s'est donné pas moins comme objectif de faire de Drupal 8 le choix indiscutable pour quiconque souhaite concevoir et réaliser un site Internet multilingue.

L'implémentation du multilinguisme sur Drupal 8 s'appuie sur 4 piliers fondamentaux.

Les briques du multilinguisme sous Drupal 8

Les services de base

Donner la possibilité de supprimer l'anglais comme langue, choisir sa langue dès l'installation de Drupal, simplifier la configuration des langues, rendre plus facile la configuration pour la détection et le choix de la langue. Telles sont les améliorations prévues. Et non des moindres, donner la possibilité d'activer le support du multilinguisme pour tous les composants de Drupal 8 : termes de taxonomy, fichiers, etc. 

L'interface de configuration

Drupal 8 disposera nativement d'une interface permettant d'importer, d'exporter des jeux de traduction, ou encore d'ajouter ses propres traductions. Nous pourrons bien sûr automatiser les imports ou les mises à jour des traductions depuis localize.drupal.org, pour nous éviter de longues et fastidieuses opérations manuelles. L'amélioration de l'expérience utilisateur est également en ligne de mire.

La traduction du contenu

Le modèle utilisé va nous permettre de traduire à peu près tout ce qui peut ressembler de près ou de loin à du contenu : les entités, les champs, et même les propriétés des contenus comme le statut, l'auteur, etc. Bien sûr une interface utilisateur, intégré dans le coeur, permettra aussi bien aux contributeurs qu'aux administrateurs de traduire simplement le contenu. Si un article subit des modifications substantiels (au niveau de son contenu), nous aurons même la possibilité d'indiquer simplement sur toutes les versions traduites de cet article que la version originale est été modifiée en profondeur, permettant ainsi de maîtriser globalement la qualité des traductions sur l'ensemble des contenus du site Internet.

La traduction des configurations

Grâce à l'initiative sur la gestion de la configuration de Drupal 8, qui a harmonisé le stockage des configurations sur un système unique, Drupal 8 proposera également le support du multilinguisme nativement pour l'ensemble des éléments de configuration d'un site : les blocs, les formulaires de contact, les vues, les règles, etc.

Ergonomie

Enfin, et cet aspect est abordé pour chacun des piliers qui vont propulser Drupal 8 comme le CMS de référence en matière de multilinguisme, l'ensemble du système de traduction est conçu et réalisé dans un constant souci d'ergonomie, tant pour rendre plus facile la compréhension du fonctionnement du multilinguisme sous Drupal, que pour améliorer l'expérience utilisateur.

Views dans le coeur de Drupal

Près de 70% des sites Internet réalisés avec Drupal disposent du module Views. Autant dire que son intégration dans le coeur de Drupal était plutôt attendue. Les avantages immédiats vont nous permettre de pouvoir modifier aisément les différentes vues du backoffice d'administration, si le besoin s'en fait ressentir, puisque désormais les modules du coeur de Drupal pourront s'appuyer sur Views.

Views peut être considéré comme un pilier de Drupal. Avec les précédentes versions de Drupal, bien souvent Views servait de baromètre à la communauté Drupal qui attendait la sortie d'une verison stable de Views pour considérer la version de Drupal comme étant désormais prête à la production. De plus bon nombre de modules contribués s'appuient sur l'API de views et de fait suivent plus les versions de Views que du coeur de Drupal.

Views apportera également son lot de nouveautés avec Drupal 8. Nous pouvons citer, sans être exhaustif :

  • l'intégration d'un équivalent à Views Bulk Operation, pour réaliser des actions massives sur des contenus
  • la création d'un champ de type liste déroulante
  • le support des token
  • le support de REST et la sérialisation des données
  • la possibilité de cloner des vues de différente nature (cloner une page comme un bloc, etc.)

L'intégration de Views dans le coeur de Drupal va aussi permettre d'améliorer la stabilité globale de l'éco-système des modules contribués de Drupal, car désormais les bugs ou problèmes de Views seront désormais traités comme un problème du coeur, et non plus comme un problème d'un module contribué.

Drupal 8 devient RESTFul avec les  Web Services

Aujourd'hui, comme tous les systèmes de gestion de contenu, Drupal a été conçu pour générer des pages HTML en réponse aux requêtes qu'il reçoit. A l'ère des applications mobiles, ce postulat n'est plus en phase avec la réalité, du fait de la multiplicité des appareils connectés, des nouveaux services et besoins émergents sur Internet. Il ne s'agit plus de fournir uniquement une page HTML destinée à un navigateur Internet. L'essentiel est désormais de fournir une réponse, quelqu'elle soit, à une requête. Il s'agit de permettre à Drupal de supporter la prochaine génération des flux de données.

L'objectif premier de l'initiative Drupal 8 Web Services est de concevoir Drupal 8 dans l'optique de générer aussi bien des pages HTML que des données aux format XML, JSON ou tout autre format non HTML, mais également d'exposer les fonctionnées de Drupal à travers une interface RESTFul pour lui permettre également de recevoir tout type de requêtes et de données.

Cette nouvelle approche a été réalisée en s'appuyant sur le framework orienté objet Symfony, qui est basé sur ces principes mêmes. Les principales nouveautés introduites par cette initiative seront rééllement sous le capot. En résumé, Drupal 8 permettra de communiquer, diffuser, recevoir ou d'échanger tout type de données, de manière cohérente, et ce entre différents serveurs ou encore de serveur à client (application mobile, etc.)

Les autres initiatives

De nombreuses nouveautés seront disponibles avec cette version majeure, sans être forcément portées par une des initiatives majeures.

L'édition de contenu avec Drupal 8

Drupal 8 disposera nativement désormais d'un éditeur de texte. Plus besoin d'installer un module contribué tel que WYSIWYG ou encore CKEditor pour disposer d'une interface riche de création et d'édition de contenu. La librairie ckeditor 4 sera embarquée par défaut, sans être exclusive. Vous pourrez toujours utiliser d'autres librairies (tinyMCE, etc.) selon votre convenance.

L'interface de configuration des différents formats de texte (texte brut, texte HTML simplifié, Full HTML, etc.) a été revue et simplifiée regroupant au sein d'une seule et même interface toutes les configurations disponibles. Une interface de type glisser-déposer vous permettra d'activer simplement les options de mise en forme pour chacun des formats. De même le formulaire de création de contenu a été revu améliorant l'ergonomie générale et son utilisation depuis des terminaux mobiles.

Le nouveau formulaire de création de contenu avec Drupal 8

Une autre nouveauté introduite dans Drupal 8, portée par la distribution Spark, vous permettra d'éditer le contenu directement en ligne (in-place editing), en restant sur la page sans passer par la case backoffice. On peut noter que cette fonctionnalité a été portée sur Drupal 7 avec le module Edit.

Plusieurs améliorations en matière de rédaction de contenu (content authoring) sont dans les tuyaux. Citons par exemple l'introduction des modes de vues pour les formulaires (à l'instar des vues pour les types de contenu), la gestion de la légende et de l'alignement des images insérés dans le corps du texte, etc. des petits détails qui mis bout au bout font toute la différence.

De nouveaux champs à gogo

Drupal 8 va intégrer de nouveaux champs par défaut. Plus besoin d'installer les modules contribués tels que email, date, link, etc. Ces types de champs seront désormais disponibles nativement. Cinq nouveaux type de champs seront disponibles avec Drupal 8, dont notamment le célèbre entity reference qui permet de relier entre eux différents contenus :

  • Email
  • Date
  • Téléphone
  • Lien
  • Entity Reference

Drupal 7 permet aujourd'hui d'associer n'importe quel type de champ aux contenus, aux utilisateurs, aux commentaires ou encore aux termes de taxonomy. Avec Drupal 8, il sera désormais possible également d'associer n'importe quel type de champ aux formulaires de contact, permettant ainsi de pouvoir concevoir un formulaire de contact évolué sans avoir besoin de recourir à un module tiers, mais également aux différents blocs qui pourront être gérés de la même manière que les contenus (les blocs disposeront également de la gestion des versions).

Drupal 8 : Pas inventé ici, fièrement trouvé ailleurs

Drupal a toujours été une plate-forme incroyablement souple, programmable, adaptable. Le système de hook orienté aspect est extrêmement puissant et permet une très grande flexibilité en matière de développement. Mais Drupal a toujours fait les choses à sa manière, et dans certains cas à l'exclusion des meilleures pratiques. Drupal 8 inverse cette tendance, et intègre désormais de plus en en plus de composants externes au sein de son code et de son eco-système.

Le plus remarquable de tous, bien sûr, est l'adoption de certains composants de Symfony au sein du coeur. Mais également de bon nombres de librairies externe telles que Doctrine, Assetic, Backbone, Guzzle, Twig, etc. Le maître mot qui aura servi de référence au développement de Drupal 8 aura été Not invented here, proudly found elsewhere. Outre l'intérêt de s'appuyer sur des framework existants et reconnus, pour ne pas réinventer la roue, une conséquence directe de cette nouvelle politique sera l'élargissement du vivier de compétences sur Drupal, et à l'inverse une contribution de l'eco-système Drupal plus active envers la communauté PHP dans son ensemble.

Une nouvelle fonctionnalité de Drupal 8 m'a échappé ? N'hésitez pas à la partager dans les commentaires.

Commentaires

Soumis par Florent (non vérifié) le 18/09/2013 à 12:28 - Permalien

Cette revue est vraiment très bien rédigée, complète et factuelle.
J'attends comme beaucoup d'autres l'arrivée de cette nouvelle version; symfony2 est à la base d'un projet et je comprends totalement le choix de drupal envers ce framework.
Vivement la suite.

Soumis par Michel (non vérifié) le 22/10/2013 à 17:00 - Permalien

Bonjour
merci pour l'article ... avez vous une idée sur la migration d'un site drupal 7 en drupal 8

Soumis par Florent (non vérifié) le 22/10/2013 à 17:08 - Permalien

En réponse à par Michel (non vérifié)

Aucune idée, mais vu que les socles sont complètement différents, il y a de forte chances pour que la migration soit impossible sans un outils spécialement dédié (qui n'existe pas ou n'est pas visible dans l'immédiat).

Soumis par Flocon de toile le 22/10/2013 à 18:44 - Permalien

Il est certain qu'il est encore un peu tôt pour augurer des possibilités de migration d'un site Drupal 7 vers Drupal 8. Tout dépendra aussi des modules utilisés sur Drupal 7 et s'ils sont disponibles sur Drupal 8. Néanmoins, je ne doute pas que nous disposerons d'outils facilitateurs pour réaliser cette migration, tels que le module Drupal-to-Drupal data migration qui propose déjà ce type de fonctionnalités pour migrer un site Drupal depuis les versions 5 et 6.

Soumis par Adrien B (non vérifié) le 25/11/2013 à 15:55 - Permalien

...car je ne m'étais intéressé qu'à la version 7 jusque-là. Justement, pour un site sous Drupal 7, savez-vous si la mise à jour vers la v8 sera rendue aisée ? Ou est-ce qu'il faudra migrer son site "à la main" ?

Soumis par john lei (non vérifié) le 12/12/2013 à 16:02 - Permalien

je travaille dans un hotel de luxe a hong kong. Nous avons créé un petit logiciel interne à destination des clients. J'envisage de passer à la version 8, mais j'attends un peu avant de prendre ma décisions... Merci pour le post.

Soumis par ninjasam (non vérifié) le 21/01/2014 à 16:05 - Permalien

Je suis impatient de voir ces mises à jours, ça parait très bien penser.
J'ai quand même des questions sur symfony qui est exigeant sur la façon de coder et qui demande de rajouter un espèce de code qui leur est propre si j'ai bien compris leur philosophie.
Cette philosophie me semble assez différente de celle de drupal et je me demande si la programmation des thèmes se fera toujours par des fichiers php ou drupal tombera dans les conventions  de codage de symfony (pas assez standard à mon gout et trop bidouille).

Soumis par Brugnon Kaliop (non vérifié) le 21/03/2014 à 14:36 - Permalien

Il ne faut pas oublié que les champs seront maintenant unique. Donc on pourra donné 10 fois le même nom à un champ. Le désavantage c'est qu'on perds le coté pratique d'utiliser un champ dans plusieurs types de contenus. Sans oublié l'arrivée de la programmation objet.

Soumis par woprrr (non vérifié) le 12/06/2015 à 12:59 - Permalien

En réponse à par Brugnon Kaliop (non vérifié)

Faux ! Drupal 8 conserve la possibilité de ré-utiliser un champs déjà créer pour chaque type d’entités existante. Les seuls champs "fixe" ce seront ceux que l'on définit via l'interface de création d'une entity (via annotation + définition des datas). Outre ce cas spécial qui est de définir des champs de base pour une entity codé, la réutilisation est tout a fait possible et c'est meme pour cela que nous a avons a dispo un combo de yml a l'export d'un field (field.field..... + field.storage.... + la définition du champs sur l'entity_view + sur le entity_form_display). Chacun de ses éléments peuvent différer entre les entity qui utilise le champ sauf le field.storage qui contient toute la settings du champs.

Soumis par Francois Garrouste (non vérifié) le 15/03/2016 à 16:41 - Permalien

Bonjour.
Je désirerais passer à Drupal 8 pour un projet mais ayant installer le 7 et le 8 je suis bloqué par un truc qui n'existe plus dans le 8.
Dans le module View du 7 il y avait un moyen de mettre "Term name converted to Term ID" dans Configure contextual filter: Content: Has taxonomy term ID
Alors que dans le 8 cette "superbe" option n'existe plus. Elle était bien pratique pour utiliser le nom d'un term de taxo à la place de son ID. Ex: /categorie/macon/entreprisetrucmuche à la place de /categorie/18/entrerprisetrucmuche.
Et pour l'instant je bloque là dessus, donc vais surement repasser en 7 .
Et donc pourquoi faire une évolution d'un Drupal pour avoir moins de choses ? (je sais c'est moyen mon point de vue).
Cordialement François

Ajouter un commentaire