Refonte Drupal8 de l'écosystème digital de Campus France
1. CAMPUS FRANCE :
Refonte Drupal 8
de l’écosystème
digital
Le 15 février 2019, Drupal Camp Paris
2. SOMMAIRE
» Présentation Campus France
» Présentation Axess Open Web Services
» Le projet campusfrance.org : Contexte
» Le projet campusfrance.org : Enjeux
» Pourquoi Drupal
» Le projet en bref
» Le projet aujourd’hui
» Le futur du projet
» Conclusion/Questions
10. Une expertise Drupal reconnue
» Centre d’expertise Open Source
(Drupal/PHP/Symfony) du pôle Services Axess
Groupe. 2 agences : Paris/Lyon
» Développement/Intégration Drupal depuis 2006 (v4.6)
– Audit – Expertise Technique – AMOA – TMA –
Hébergement et Infogérance LAMP
» Une expertise Drupal reconnue sur le marché
francophone :
» Maîtrise complète de la chaîne avec des profils de
DevOps (25 salariés)
» Des références de mises en œuvre complexes
» Une participation active à la communauté dans l’ADN
de la société
» Votre serviteur : Sylvain Moreau, Directeur
Commercial (https://www.Drupal.org/u/slybud 118258)
12. Contexte : Historique de l’écosystème web
» En 2001 : Pages HTML statiques
» En 2005 : SPIP (en cohérence avec les postes
diplomatiques)
» En 2009 : Drupal 6
» En 2012 : Drupal 7
» En 2017 : Drupal 8
» Site campusfrance.org + 97 Sites locaux
» Site France Alumni (265 000 profils)
» Le blog des e-ambassadeurs
13. 18 000 000
de visites
en 2017
+ de 20 000 000
de visites
en 2018
16. Enjeux : Connexion aux SI tiers
» Interfaces avec des catalogues de formation existants
» Possibilité de récupérer le panier dans le profil Drupal
17. Enjeux : Simplicité & Multilinguisme
» 32 langues différentes
» Accès rapide aux informations, dont les catalogues
» Un espace documentaire et un moteur de recherche à
facettes
» Formation des utilisateurs de 96 pays
=> Avoir un outil gérant la complexité du multisites (voir
usine à sites)/multilingues (exemple : pouvoir différencier
une traduction selon le site)
18. Enjeux : Sécurité
» Un site constituant une représentation importante de la
France dans le monde
» Un site lié aux instances ministérielles
Enseignement supérieur et Recherche
Affaires Etrangères
» Une cible facile pour les « script kiddies »
» Etanchéité des droits entre les webmasters des différents
pays
=> Avoir un outil à l’état de l’art au niveau de la sécurité
(pas de faille en 10 ans de Drupal, mais beaucoup
d’attaques)
19. Enjeux : Performance
» Enjeux de performance liés au trafic important
» Enjeux de performance liés au système multisite
» Enjeux de performance liés au public : trafic 24/7 avec des
utilisateurs répartis dans le monde entier
=> Avoir une approche experte devops pour gérer les
optimisations fines au niveau de l’infra et en particulier
de la gestion des caches
22. Point forts de Drupal
» Drupal 6 :
la structuration des contenus
» Drupal 7 :
la gestion des médias
le multisite avancé (Domain Access)
Views 2 et 3
» Drupal 8 :
Gestion de la configuration avancée dans le core Drupal =>
maintenance facilitée notamment pour le multisite
enfin le multilinguisme avancé in core et + unitaire
(interface/configuration/contenus)
Gestion du cache
Entity API
23. Point faibles de Drupal
» Drupal 6 :
Pas de partage de contenus entre les sites
Pas de SSO
» Drupal 7 :
Gestion du multilinguisme (use cases pas prévus + pb de
performance liés à la centralisation des traductions dans 2
tables de la BDD)
» Drupal 8 :
Aucun ;-)
Gestion du multilinguisme (difficulté pour les utilisateurs de
comprendre les 3 systèmes de traduction en parallèle)
+ de configuration in code
24. Le projet en bref
Quelques points rapides
Historique des commits
25. Le projet en bref (Refonte Drupal 8)
» Durée : 12 mois (novembre 2016 => novembre 2017)
» Intervenants :
Client
UX Design : 2 UX (JOIN UP)
Créa : 2 Créa
1 Cdp technique Senior
1 Architecte
1 Lead Dev
6 Devs
2 Intégrateurs
» Méthodo : Cycle en V avec beaucoup d’agilité
» 450 journées-hommes !
» Un résultat à la hauteur des enjeux et ambitions !
26. Le projet en bref : point de vue d’un développeur
27. Le projet aujourd’hui
Architecture multisite
Architecture de production
Déploiement
Former les équipes de contributeurs : enjeux
Des challenges techniques relevés
28. 1 portail n sites
» Un portail international
» 97 sites qui partagent du contenu et une authentification
commune
» Synchronisation de certaines taxonomies par le biais de
json API
» Une gestion par défaut dans Drupal de l’utf8 (pensez au
chinois)
» Une gestion avancée du RTL (pensez à la langue arabe par
exemple)
» La possibilité pour un site local d’être hébergé sur une autre
infra et de disposer de ses fonctionnalités avancées
(exemple Campus France Chine) => branching model
adapté
30. Déploiements
» 3 instances : dev/preprod/prod
» 59 déploiements en prod en 2018 (6 déjà en 2019 )
» Process de déploiement facilités et industrialisés : GIT +
jenkins + magie maison
» 97 ouvertures/migrations de sites locaux
» Aujourd’hui : un script unique gère le déploiement de
nouvelles fonctionnalités sur 97 sites (avec des effets de
bord sur le cache redis)
31. Formation des contributeurs
» 97 sites locaux => beaucoup de contributeurs à former
» Enjeux de simplicité et de sécurité du Back-Office
» Enjeux de multilinguisme du Back-Office
» Bien gérer la différence culturelle
» « Les voyages forment la jeunesse »
32. Des challenges techniques relevés
» Une architecture réseau innovante
» Une gestion des caches performante
» Un système multisite/multilingue stable
» Une gestion des fonctionnalités par site spécifique, malgré
un socle commun (ex : Campus France Chine /
personnalisation des réseaux sociaux / newsletter
individualisée)
» Des formats éditoriaux innovants administrables : par
exemple timeline (https://www.campusfrance.org/fr/venir-en-
france )
34. Qu’est-ce qu’on fait maintenant ?
» Une TMA à la hauteur des enjeux et des évolutions
continues
» Refonte de l’espace documentaire
» Finalisation du déploiement des sites locaux (les sortir de la
prod masquée)
» Mises en place d’un CRM
» Un nouveau site en Drupal 9 dans 3 ans ?