2. 2
Programme
9h00 - 9h15 Accueil
9h15 - 9h45 Introduction
9h45 - 10h30 La mise en place de site facilitée avec Drupal 8
Support des terminaux mobiles, édition en ligne du contenu, le theming sans code
PHP, multilingue simplifié
10h30 - 10h45 Pause
10h45 - 11h30 Bonnes pratiques pour faciliter la maintenance et les montées de version avec
Drupal 8
Gestion de la migration des données, gestion de la migration de la configuration,
module features, bonnes pratiques pour faciliter les migrations
11h30 - 11h45 User cases
Intervention d'un contributeur Drupal 8 et intégrateur Drupal pour différents clients
11h45 - 12h00 Questions / réponses
4. 4
LEADER HISTORIQUE DDUU MMAARRCCHHEE
OOPPEENN SSOOUURRCCEE !!
14 ans d'expérience
Plus de 500 clients publics et privés
150 experts
Bureaux en France, Belgique, États Unis
et Canada
4 métiers
complémentaires
Édition logicielle
Assurance
logicielle
Professional
Services
Open
Source
Hosting
5. 5
Une équipe de vétérans du logiciel libre et du web
6. 6
Dans le web depuis 15 ans
Des projets que nous sélectionnons
Une trentaine d'experts
sur des technologies élues et challengées
Des prestations "Haute couture"
centrées sur le Business
7. 7
Transparence, pas de "offshore"
Logiciel Libre : clients indépendants, liberté de choix, maîtrise du
système d'information
Fédération large de l'écosystème open source français par
LINAGORA
9. 9
Pilotage et Qualité : La clé du succès !
PAQ
("règles du jeu" : descriptif de l'ensemble des livrables, des responsabilités de chacun,
des acteurs, des process de validation....etc.)
Suivi
(Comités projet, pilotage)
Documentation
(Versionning, traçabilité)
Outils
(Extranet documentaire, matrice risques, suivi)
10. 10
Notre Offre Technologique
Des socles pérennes, réversibles, populaires, très efficaces
11. Nous élaborons des sites Internet
"Grand public", CMS, jeux concours, e-commerce,
11
e-CRM, Collectivités, médias en ligne....
12. 12
Refonte des Espaces numériques de la Région Île de France
17. 17
Mais aussi, sur l'année qui vient de s'écouler...
Le site Internet de l’École de Guerre
Le site Internet de la Direction de l'Enseignement Militaire Supérieur
Le site Internet événementiel de l'opération Monopoly (Mc Donald's)
Le site Internet de la DRHAT (évolutions)
La réalisation d'un site e-commerce pour le Conseil Général de Haute Savoie
La participation à la mise en place d'une plateforme e-commerce Monde pour un grand
Joaillier
Des "mini-sites" pour la Région Île de France
Des interventions pour différents acteurs dans le domaine des médias
...
18. 18
Nous concevons et réalisons des plateformes
Intra/Extranet
Applications métiers, intranet de gestion de projet, gestion
documentaire, workflows, ...
19. 19
Extranet métier du Défenseur des Droits
(gestion du traitement des saisines)
20. 20
Mais aussi, sur l'année qui vient de s'écouler...
Un intranet pour le Service des Essences des Armées
Un intranet pour le Conseil Supérieur de la Fonction Militaire
21. Nous mettons également en oeuvre des
solutions de Réseau Sociaux d'Entreprise
basées sur Drupal. Ces outils favorisent la collaboration et le
travail en équipe dans les entreprises et administrations.
21
24. 25
Faciliter la mise en place de site avec Drupal 8
Caractéristiques du socle Drupal
Licence Open source GPL V2
Aucun coût de licence
Solution mature
Plus de 10 ans d’existence
Adoption complète
Communauté très importante, plus de 2000 événements (camp, meetup) autour de la solution en
2013 ; de nombreuses références dans le privé comme dans le public (Nestlé, Région Île de France,
Radio France, Le Figaro....2 % des sites en ligne dans le monde)
Support et développements
Plus de 300 SA/SARL référencées comme spécialistes de la solution en France
Plus de 8000 fonctionnalités (modules) contribuées par la communauté, une méthode qualité
imposée pour les contributions
Solution complète et évolutive,
Gestion des utilisateurs, SSO, CMS, Performances....API très complète architecturée au moyen de
concepts de « modules », interface utilisateur très efficace/ergonomique, multi langues, responsive.....
25. 26
Faciliter la mise en place de site avec Drupal 8
Les versions de Drupal, le support communautaire
Source : https://www.drupal.org/node/2135189 - Proposal to manage the Drupal 8 release cycle
Posted by Dries on November 13, 2013 at 6:02pm
26. 28
Faciliter la mise en place de site avec Drupal 8
Les « core initiatives » Drupal 8
Avancement au 2 Septembre 2014.
La liste complète des évolutions : https://www.drupal.org/list-changes
27. 29
Faciliter la mise en place de site avec Drupal 8
Mobilité
Drupal 8 est un CMS « mobile friendly » qui intègre dans son core :
● Une interface Web Service pour une intégration dans des applications natives
● Des éléments HTML5 indispensables pour la mise en place de Web Apps
● La possibilité d'utiliser le back-end de gestion de contenu (formulaires) depuis
des terminaux mobiles
● Des thèmes full responsives
● Une optimisation au niveau des performances « front-end » (ex : image handling)
28. 30
Faciliter la mise en place de site avec Drupal 8
Mobilité
29. 31
Faciliter la mise en place de site avec Drupal 8
Édition du contenu
Drupal 8 apporte de nombreuses améliorations sur les sujets concernant la gestion
de contenu
● Contribution :
● Éditeur WysiWyg intégré, médiathèque
● Édition en « ligne » pour les contenus, blocs et views
● Formulaires de contribution plus ergonomiques et flexibles pour les webmasters
● ...
● Fonctionnalités
● De véritables « views » pour les listes du back office, ce qui permet la
création/modification simple d'écrans d'administration
● La gestion de la configuration en dehors de la base de données permet la mise en place
simple de plateformes de « staging », préproduction...
● Une gestion des blocs et des thèmes plus efficace
● ...
30. 32
Faciliter la mise en place de site avec Drupal 8
Édition du contenu
31. 33
Faciliter la mise en place de site avec Drupal 8
Édition du contenu
32. 34
Faciliter la mise en place de site avec Drupal 8
Multilingue intégré
● L'installer est multilingue
● L'anglais peut être supprimé
● Des blocks de contenus visibles en fonction de la langue
● Langues par défaut pour les utilisateurs
(+ langue admin)
● Centralisation des fichiers « .po »
(contrôle des versions)
● ….
33. 35
Faciliter la mise en place de site avec Drupal 8
Le theming sans code PHP
Twig est un moteur de template PHP créé par Fabien Potentier, créateur de
Symfony
● Extensible
● Sécurisé: Pas de PHP !
● Orienté objet
● Syntax facile et intuitive
● Supporté par les IDE : Eclipse, Netbeans, Emacs, Vim, PhpStorm, Sublime Text,
Textmate...
● Populaire: Zend, CodeIgniter, CakePHP, Drupal 8...
● Très bien documenté twig.sensiolabs.org/doc/documentation
34. 36
Faciliter la mise en place de site avec Drupal 8
Le theming sans code PHP
Drupal 7 PhpTemplate Drupal 8 Twig
$classes - $node->nid - $page['content'] {{ classes } - {{ node.nid }} - {{ page.content }}
print($variables);
ou
print render($variables);
{{ variables }}
Fonctions de theme
Ou
Templates *.tpl.php
*.html.twig
Dans *.tpl.php
<?php db_query('DROP TABLE {node}'); ?>
Nope
Filtrage de l'affichage des variables {{ variable|raw }}
{{ "Read more" | t }}
Exemples
35. 37
Faciliter la mise en place de site avec Drupal 8
Le theming sans code PHP
Exemples
Drupal 7 block.tpl.php
Drupal 8 block.html.twig
36. 38
Bonnes pratiques
Faciliter la maintenance et les montées de
version avec Drupal 8
37. 39
Bonnes pratiques - maintenance et montées de version
Gestion de la migration des contenus
● Migration de contenu et non mise à jour de la base de données (update.php)
● API d'import dans le noyau Drupal 8 basée sur le module Migrate.
● Migrations de Drupal 6 à Drupal 8 et Drupal 7 à Drupal 8 gérées par le noyau
Drupal 8, basées sur le module migrate_d2d
● Travaux et code encore en développement...
38. 40
Bonnes pratiques - maintenance et montées de version
Gestion de la migration des contenus
● Framework de migration de contenu depuis des sources externes :
csv, xml,json, bdd, webservice...
● Extensible pour d'autres entités personnalisées
● Interface d'administration
● Intégration drush
● Migrations définies pour les entités Drupal :
nodes, users, terms, comments
39. 41
Bonnes pratiques - maintenance et montées de version
Gestion de la migration de la configuration
● Migrations définies pour site name, slogan, roles, vocabularies, node types,
alias d'url, variables...pour D6
● « Step by step guide how to migrate D6 to D8 » pour drush
https://www.drupal.org/node/2350521
● Migration en utilisant une UI :
https://www.drupal.org/project/migrate_upgrade
● Travaux en cours pour D7->D8
40. 42
Bonnes pratiques - maintenance et montées de version
Avenir du module features
● Nouveau dans Drupal 8 : Configuration Management Initiative
● API pour stocker la configuration du site afin de faciliter son déploiement.
● Importer des fichiers de configuration .yml
● Exporter des fichiers de configuration .yml
● Import/export par l'interface ou par drush
config-export (cex) et config-import (cim)
● Active storage : espace où stocker la configuration courante
Base de données par défaut
● Staging storage : espace où réside la configuration à importer dans Drupal 8
● Diff entre l'active et le staging visible dans l'interface d'administration
41. 43
Bonnes pratiques - maintenance et montées de version
Avenir du module features
Après l'export de la configuration de la base de données au système de fichiers
Crédit image : https://www.drupal.org
42. 44
Bonnes pratiques - maintenance et montées de version
Avenir du module features
Crédit image : https://www.drupal.org
43. 45
Bonnes pratiques - maintenance et montées de version
Avenir du module features
Crédit image : https://www.drupal.org
44. 46
Bonnes pratiques - maintenance et montées de version
Avenir du module features
Crédit image : https://www.drupal.org
45. 47
Bonnes pratiques - maintenance et montées de version
Bonnes pratiques pour faciliter les migrations
● Le nouveau site se synchronise avec l'actuel site en production grâce à
Migrate.
● Les montées en versions majeures (7.x à 8.x) utiliseront Migrate
● Les montées en versions mineures (8.x-1.x à 8.x-2.x) peuvent utiliser
update.php (hook_update_N)
● Les développements de modules custom doivent utiliser l'API et les standards
Drupal
● Tests et rollbacks
46. 48
User cases
Retours d'expérience d'un contributeur Drupal 8
47. 49
Témoignage contributeur Drupal 8
Activités et anecdotes
● La revue de code
https://www.drupal.org/project/issues/projectapplications?status=8
● Co-maintenance des modules Drupal 7
● Maintenance de modules Drupal 8
● Traductions
● Issue queue Drupal 8
● Co-organisation d’événements locaux Drupal