L'écosystème web de Campus France, faisant la part belle à Drupal depuis près de 10 ans, a la particularité d'être riche, complexe, multilingue et exposé aux attaques.
Dans ce contexte, quel retour d'expérience sur la mise en place de l'architecture Drupal, puis des méthodes et process de forge logicielle/CIT permettant d'industrialiser la production et la maintenance de près de 100 sites Internet ?
Tx304 g formation-ibm-tivoli-workload-scheduler-8-6-environnement-distribue-o...
Campusfrance.org + D8 : Comment industrialiser la production et l'intégration de près de 100 sites sur un socle avancé ?
1. Campusfrance.org + D8 : Comment
industrialiser la production et
l'intégration de près de 100 sites
sur un socle avancé ?
#integrationcontinue #hauteperformance #sécurité
#industrialisation #proud
2019
1
2. SOMMAIRE
1. PRÉSENTATION DES INTERVENANTS
2. LE PROJET : CONTEXTE & ENJEUX
3. POURQUOI DRUPAL ?
4. LE PROJET : CE QU’IL FAUT RETENIR
5. LE FUTUR DU POROJET / CONCLUSION
2
4. bonjour!
Je suis Stéphane Felut-
Paris
Directeur des Systèmes d’Information CAMPUS FRANCE. Passionné par
le web depuis le 20e siècle.
Vous pouvez me joindre ici : sfp@campusfrance.org
Ou bien là : https://www.linkedin.com/in/sfp92/
4
6. Organisation de Campus France
Double tutelle
Ministère de l’Europe et des
affaires étrangères
Ministère de l’Enseignement
supérieur, de la Recherche et de
l’Innovation
Conseil d’Administration
Députés et Sénateurs //
représentants des ministères //
des conférences d’établissement //
Maires de France // Régions de
France // CNOUS
Conseil d’orientation
Recommandations sur les
questions d’accueil et de séjour
des étudiants et chercheurs
internationaux
Forum Campus France
Etablissements d’enseignement
supérieur et de recherche
6
7. Le réseau des Espaces
Campus France
250 Espaces Campus France dans plus de
120 Pays
41 Pays à procédure « Etudes en France »
3 Grandes missions :
◇ Promouvoir l’enseignement supérieur
français
◇ Accompagner les étudiants dans leur
projet et leurs démarches
administratives
◇ Fournir une expertise sur le contexte
local
7
8. 500 personnes
dans le monde, 220 en France
358 établissements
Membres du Forum Campus France
+ de 250 Espaces
Dans + de 120 pays
8
50 manifestationsPilotées par Campus France par an
9. 30 000
Dossiers de bourses gérés
130 M€
de fonds gérés en 2017
265 000 Alumni
Sur le réseau social France Alumni
9
650 000 visiteurs+ de 300 établissements participants
10. bonjour!
Je suis Sylvain Moreau
Directeur Commercial Axess Open Web Services (AOWS). Tombé dans
drupal quand j’étais petit (https://www.drupal.org/user/118258),
ingénieur de formation.
Vous pouvez me joindre ici : sylvain.moreau@axess.fr
Ou bien là : https://www.linkedin.com/in/slybud/
10
13. Une expertise drupal reconnue
Centre d ’expertise
Drupal/PHP/Symfony au sein du
pôle Services Axess Groupe
Expertise drupal reconnue sur
marché francophone
Audit/AMOA
Développement/Intégration
Drupal depuis 2006 au forfait
Des références de mises en œuvre
complexe
TMA
Des process internes rodés pour
un accompagnement sur la durée
Hébergement / Infogérance
Maîtrise complète de la chaîne
#devops
13
Open Source / Communauté
Participation active dans notre
ADN
2 Agences
Paris
Lyon
14. Contexte et Enjeux
La refonte en drupal 8 de campusfrance.org : un challenge technique
14
16. + 100 sites web
Campusfrance.org + 97 sites locaux, France Alumni, blog des e-ambassadeurs
+20M visiteurs / 1,5 M fans
En 2018 répartis sur toute la planète (2017 : 18M)
Facebook/Twitter/Linkedin/Instagram
32 langues
Et pas toutes LTR
16
18. Enjeux
Connexion aux SI Tiers
Sécurité
Multi-sites
Multilinguisme
Industrialisation et intégration continue
18
19. Connexions aux SI Tiers
◇ Interfaces avec des catalogues de formation existants
◇ Possibilité de récupérer le panier dans le profil Drupal
◇ Import régulier de pdf pour espace documentaire
19
20. Simplicité & Multilinguisme
◇ 32 langues
◇ 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 (voire usine à
sites)/multilingues (exemple : pouvoir différencier une traduction selon le
site)
20
21. Sécurité
◇ Une représentation importante de la France dans le monde
◇ Un site lié aux instances ministérielles
◇ 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)
21
22. Performances
◇ Performance liée au trafic important
◇ Performance liée au système multisite
◇ Performance liée 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
23. Industrialisation et CIT
◇ 1 portail + 97 sites à refondre : nécessité de déploiement rapide
◇ Aucune équipe technique drupal interne
◇ Beaucoup de TMA, à consacrer aux évolutions
◇ Déploiement des patches de sécurité doivent être coordonnés et instantanés
=> Investir dans l’infra et les process permettant la mise en place d’une
politique d’intégration continue efficace et de concentrer l’effort de
maintenance sur les évolutions et non la maintenance applicative
(sécurité, montée de versions)
23
25. Points forts de Drupal
Drupal 6
La structuration des contenus
25
Drupal 7
La gestion des médias (scald)
Le multisite avancé (Domain
Access)
Views 2 et 3
Drupal 8
Gestion de la configuration
avancée dans le core Drupal =>
intégration continue et
maintenance facilitée .
Enfin multilinguisme avancé et +
unitaire dans le core
(interface/configuration/contenus)
Gestion du cache
Entity API
26. Points faibles de Drupal
Drupal 6
Pas de partage de contenus entre
les sites
Pas de SSO
26
Drupal 7
Gestion du multilinguisme :
Use cases non prévus
Pb de performance
(centralisation des traductions
dans 2 tables BDD)
Intégration continue « bricolée »
Drupal 8
Aucun ;-)
Gestion du multilinguisme (surtout
pour les utilisateurs avec les 3
systèmes unitaires)
+ de configuration in code
27. Le projet : ce qu’il faut retenir
Comment industrialiser la production et l’intégration de + de 100
sites sous Drupal 8 ?
27
28. Achitecturer le multisite
◇ 1 portail international et 97 sites
◇ Partagent du contenu et une authentification commune
◇ Synchronisation de certaines taxonomies (Json API)
◇ Profiter de la gestion par défaut de Drupal de l’utf-8 (hello le chinois)
◇ Prévoir la gestion avancée du RTL (hello l’arabe)
◇ Prévoir la possibilité pour un site local de quitter l’infra et de disposer de
fonctionnalités avancées (ex : Campus France Chine)
Valider une architecture technique drupal en amont intégrant ces
contraintes
Valider un branching model adapté
28
30. Se donner les moyens
◇ 12 mois (11/2016 => 11/2017)
◇ Equipe d ’experts : 3 Clients , 2UX, 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 Jours-Hommes
◇ #Devops : beaucoup de tuning dans la MEP et ensuite (gestion des caches très
délicate)
30
33. CIT : Déploiement d’un site
◇ Ajout du site dans 2 fichiers de configuration drupal
◇ Initialisation du site en production via un script shell = 4 commandes drush
◇ Configuration du site via backoffice Drupal en production masquée
◇ Modification DNS pour mise en production du site
33
34. CIT : Mise à jour d’un site
◇ Possibilité d’avoir différents modules activés selon le site
◇ Gestion de la configuration et des modules actifs par site via module config
split (https://www.drupal.org/project/config_split)
◇ Branching model dédié pour certains sites (Chine) afin d’effectuer des
opérations spécifiques sur les fichiers.
34
35. CIT : Déploiements
◇ 3 instances : dev/preprod/prod
◇ 59 déploiements en prod en 2018 (22 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)
35
37. Post mortem : challenges
◇ 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)
◇ Une formation des contributeurs intégrant les contraintes de temps et la
différence culturelle
◇ Des formats éditoriaux innovants administrables : par exemple timeline
(https://www.campusfrance.org/fr/venir-en-france )
37
38. “ Les voyages forment la jeunesse
38
Phileas Fogg (ou Passe-Partout)
39. Merci !
Des questions ?
Vous pouvez nous joindre :
◇ drupagora@drupagora.fr
◇ questions@drupagora.fr
39