Industrialisez le développement et la maintenance de vos sites avec Drupal

Preview:

Citation preview

Industrialisez le développement et la maintenance de vos sites

9 octobre 2014

2

Programme9h00 - 9h15 Accueil

9h15 - 9h45 Introduction

9h45 - 10h30 La mise en place de site facilitée avec Drupal 8Support 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 8Gestion de la migration des données, gestion de la migration de la configuration, module features, bonnes pratiques pour faciliter les migrations

11h30 - 11h45 User casesIntervention d'un contributeur Drupal 8 et intégrateur Drupal pour différents clients

11h45 - 12h00 Questions / réponses

3

Introduction

4

LEADER HISTORIQUE DU MARCHE LEADER HISTORIQUE DU MARCHE OPEN SOURCE !OPEN SOURCE !

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étierscomplémentaires

Édition logicielle

Assurancelogicielle

ProfessionalServices

Hosting

OpenSource

5

Une équipe de vétérans du logiciel libre et du web

6

Dans le web depuis 15 ans

Des projets que nous sélectionnons

Une trentaine d'expertssur des technologies élues et challengées

Des prestations "Haute couture"centrées sur le Business

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

8

Une méthodologie en 5 étapes

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

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,

e-CRM, Collectivités, médias en ligne....

12

Refonte des Espaces numériques de la Région Île de France

13

Sites Internet du Service d'Information du Gouvernement

14

Programme E-CRM de Nestlé

15

Site Internet de la ville de Toulon

16

Site Internet de l'Humanité

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

Nous concevons et réalisons des plateformes Intra/Extranet

Applications métiers, intranet de gestion de projet, gestion documentaire, workflows, ...

19

Extranet métier du Défenseur des Droits(gestion du traitement des saisines)

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 œuvre 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.

22

Réseau Sociaux d'Entreprise

23

Faciliter la mise en place de siteavec Drupal 8

25

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.....

Faciliter la mise en place de site avec Drupal 8Caractéristiques du socle Drupal

26Source : https://www.drupal.org/node/2135189 - Proposal to manage the Drupal 8 release cycle Posted by Dries on November 13, 2013 at 6:02pm

Faciliter la mise en place de site avec Drupal 8Les versions de Drupal, le support communautaire

28

Faciliter la mise en place de site avec Drupal 8Les « core initiatives » Drupal 8

La liste complète des évolutions : https://www.drupal.org/list-changesAvancement au 2 Septembre 2014.

29

Faciliter la mise en place de site avec Drupal 8Mobilité

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)

30

Faciliter la mise en place de site avec Drupal 8Mobilité

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● ...

32

Faciliter la mise en place de site avec Drupal 8Édition du contenu

33

Faciliter la mise en place de site avec Drupal 8Édition du contenu

34

Faciliter la mise en place de site avec Drupal 8Multilingue 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)

● ….

35

Faciliter la mise en place de site avec Drupal 8Le 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

36

Faciliter la mise en place de site avec Drupal 8Le theming sans code PHP

Drupal 7 PhpTemplate Drupal 8 Twig

$classes - $node->nid - $page['content'] {{ classes } - {{ node.nid }} - {{ page.content }}

print($variables);ouprint 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

37

Faciliter la mise en place de site avec Drupal 8Le theming sans code PHP

Drupal 7 block.tpl.php

Exemples

Drupal 8 block.html.twig

38

Bonnes pratiquesFaciliter la maintenance et les montées de

version avec Drupal 8

39

Bonnes pratiques - maintenance et montées de versionGestion 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...

40

Bonnes pratiques - maintenance et montées de versionGestion 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

41

Bonnes pratiques - maintenance et montées de versionGestion 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

42

Bonnes pratiques - maintenance et montées de versionAvenir 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

43

Bonnes pratiques - maintenance et montées de versionAvenir 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

44

Bonnes pratiques - maintenance et montées de versionAvenir du module features

Crédit image : https://www.drupal.org

45

Bonnes pratiques - maintenance et montées de versionAvenir du module features

Crédit image : https://www.drupal.org

46

Bonnes pratiques - maintenance et montées de versionAvenir du module features

Crédit image : https://www.drupal.org

47

Bonnes pratiques - maintenance et montées de versionBonnes 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

48

User casesRetours d'expérience d'un contributeur Drupal 8

49

Témoignage contributeur Drupal 8Activité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

50

Questions / Réponses

Merci de votre attentionMerci de votre attention

LINAGORA – Siège social80, rue Roque de Fillol92800 PUTEAUXFRANCE

Tél. : +33 (0)1 46 96 63 63Fax : +33 (0)1 46 96 63 64Info : info@linagora.comWeb : www.linagora.com

Recommended