industrialisez le développement et la maintenance de vos sites avec drupal

49
Industrialisez le développement et la maintenance de vos sites 9 octobre 2014

Upload: linagora

Post on 13-Jul-2015

291 views

Category:

Technology


2 download

TRANSCRIPT

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

Industrialisez le développement et la maintenance de vos sites

9 octobre 2014

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

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

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

3

Introduction

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

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

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

5

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

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

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

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

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

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

8

Une méthodologie en 5 étapes

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

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)

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

10

Notre Offre Technologique

Des socles pérennes, réversibles, populaires, très efficaces

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

11

Nous élaborons des sites Internet"Grand public", CMS, jeux concours, e-commerce,

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

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

12

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

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

13

Sites Internet du Service d'Information du Gouvernement

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

14

Programme E-CRM de Nestlé

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

15

Site Internet de la ville de Toulon

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

16

Site Internet de l'Humanité

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

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

...

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

18

Nous concevons et réalisons des plateformes Intra/Extranet

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

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

19

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

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

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

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

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.

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

22

Réseau Sociaux d'Entreprise

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

23

Faciliter la mise en place de siteavec Drupal 8

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

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

Page 25: Industrialisez le développement et la maintenance de vos sites avec 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

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

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.

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

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)

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

30

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

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

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

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

32

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

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

33

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

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

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)

● ….

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

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

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

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

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

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

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

38

Bonnes pratiquesFaciliter la maintenance et les montées de

version avec Drupal 8

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

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

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

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

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

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

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

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

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

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

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

44

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

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

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

45

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

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

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

46

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

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

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

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

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

48

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

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

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

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

50

Questions / Réponses

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

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 : [email protected] : www.linagora.com