integration drupal systemes d'informations

26
Les problématiques d'intégration de Drupal dans le Système d'Information

Upload: neuros

Post on 21-Jun-2015

1.303 views

Category:

Documents


2 download

DESCRIPTION

Présentation effectuée par Arnaud Ranson lors de la conférence Drupagora 2013

TRANSCRIPT

Page 1: Integration Drupal systemes d'informations

Les problématiques d'intégration de Drupal dans le Système d'Information

Page 2: Integration Drupal systemes d'informations

Présentation

Nicolas MARSAUD Co-fondateur de Feel & Clic et ancien

Chef de projet à la DSI Thales Avionics

Arnaud RANSON Co-fondateur de Neuros et

ancien DSI chez Arcelor Espagne

Page 3: Integration Drupal systemes d'informations

Axes de la présentation

Bien gérer un projet d’intégration de Drupal dans un SI §  Pourquoi ? §  Drupal & DSI §  Quels acteurs ? §  L’environnement ? §  L’infrastructure ? §  Anticiper ?

Cas pratiques d’intégration §  Annuaire AD/LDAP §  Présenter sur le Web des données métiers §  Exposer un processus de gestion

Page 4: Integration Drupal systemes d'informations

Réussir un projet d’intégration de Drupal dans un système d’information

Drupal est de plus en plus utilisé pour réaliser des applications métier intégrées dans le paysage des Systèmes d'Information. Plus complexe qu’un projet traditionnel, cette intégration nécessite d’adopter de bon réflexes pour garantir une intégration réussie.

1

Page 5: Integration Drupal systemes d'informations

Pourquoi intégrer Drupal dans les SI ?

ü  Bénéficier des fonctionnalités de Drupal dans un environnement métier (Flexibilité, modularité)

ü  Proposer des interfaces ergonomiques et rapides ü  Mettre à disposition des end-users des informations

présentes dans le SI

ü  Éviter de ressaisir des informations plusieurs fois ü  Améliorer l’agilité des systèmes d’information

ü  Consolider plusieurs processus fonctionnels

ü  Améliorer la sécurité

Système d’information

Page 6: Integration Drupal systemes d'informations

Drupal est t-il accepté dans les DSI ?

§  de l’Open Source dans le paysage des SI §  Développement massif de Drupal dans les grands groupes §  Phase "d'early adopters" référents dans leur domaine (médias) §  Secteur public, les directives européennes recommandent l’Open

Source §  De nombreux acteurs ont fait le choix de Drupal §  Beaucoup de DSI ont connaissance de Drupal

(livres blancs, retours d'expérience) §  Les directions métiers ont tendance à le proposer par confiance §  Ne pas négliger les projets antérieurs plus ou moins bien terminés.

Page 7: Integration Drupal systemes d'informations

Qui sont les acteurs indispensables ?

Équipes techniques

Client final (direction métier)

Chef de projet fonctionnel

Concepteur Drupal

RSSI

Page 8: Integration Drupal systemes d'informations

Maitriser l’environnement

§  Demander les schémas d’urbanisation des SI sur votre périmètre d'intervention (ex. d'outil de modélisation : ARIS)

§  Cartographier les autres composants avec lesquels vous échangerez des informations (LDAP, CRM, ERP, PDM, BUS, ...)

§  Lister les protocoles d’échange que vous pourrez utiliser (Webservices, Flux Json, XML, CSV, Curl, …)

§  Ne surtout pas négliger la documentation (documents de conception, spécifications, …)

Page 9: Integration Drupal systemes d'informations

Adapter les infrastructures

§  Vérifier que Drupal est compatible avec l’environnement (PHP 5.3 / MySQL / Apache / Tomcat / ... )

§  Intégrer les contraintes de l’environnement dès le début du projet (Environnement Linux, Microsoft, Azur, Navigateur...)

§  Valider le délai de disponibilité de l’infrastructure (Nom de domaine, serveurs, Cloud, Webservices…)

§  Vérifier que vous respectez les contraintes de sécurité imposées (Charte de sécurité, procédures, contrainte de déploiement)

Page 10: Integration Drupal systemes d'informations

Prévoir la suite dès le début du projet

ü  Drupal ne facilite pas le staging

ü  Anticiper les évolutions fonctionnelles dès la conception de la plateforme Drupal (Conception Drupal)

ü  Définir les processus de livraison et de mise en production pour garantir la qualité (Méthodologie ITIL)

ü  Réguler les mises à jour des modules (Adapter à la sensibilité de l’application : sécurité)

u Modules Drupal : Features, Drush & Custom

Page 11: Integration Drupal systemes d'informations

Quelques cas pratiques

Les cas suivants ont pour but de présenter une synthèse de ce qui se produit traditionnellement lorsque l'on parle d'intégration de Drupal dans un SI.

2

Page 12: Integration Drupal systemes d'informations

Annuaire  LDAP  

Back  office  de  ges4on  

Applica4on  mobile  

2

1

3

Système d’information

Trois cas pratiques

Page 13: Integration Drupal systemes d'informations

Comment maîtriser la gestion des utilisateurs ?

§  La gestion des utilisateurs peut revêtir des formes variées avec Drupal : centrale en terme de fonctionnalité dans un site communautaire, à contrôler dans le cas d'un site plus institutionnelle …

§  Dans tous les cas elle devient rapidement un sujet de sécurité important en contexte "entreprise"

§  La mise à disposition d'un annuaire AD/LDAP permet de contrôler les utilisateurs et les droits associés dans une structure

§  Il est censé être le reflet le plus à jour des utilisateurs et des propriétés qui leur sont attachées (droits, attributs …)

u Modules Drupal : LDAP, Profile 2, Organic Group, …

Page 14: Integration Drupal systemes d'informations

Annuaire AD/LDAP

Item Valeur Couplage Fort

Temporalité Synchrone

Sens du flux De AD/LDAP vers Drupal

Qui est maître ? AD/LDAP

Que se passe-t-il quand le service est indisponible ?

L'authentification sur les comptes issus de LDAP n'est plus possible.

Modules Drupal

LDAP integration

§  Sujet Exemple : Connecter Drupal à l'annuaire de référence des utilisateurs

§  Objectifs : • Éviter la ressaisie de comptes utilisateurs • Centraliser les droits, faciliter la gestion des comptes utilisateurs

§  Mise en œuvre : Juste un protocole technique (optionnellement) mapper les champs AD/LDAP aux propriétés des utilisateurs (droits, attributs …) Flux à autoriser entre le serveur Drupal et l'annuaire

Page 15: Integration Drupal systemes d'informations

Comment choisir la méthode d’intégration des données ?

Intégrer des données peut servir à restituer de l'information ou mettre à disposition une transaction. Quelques questions à se poser : ü Intégration : Asynchrone / Synchrone ? ü Information : Temps réel / Temps différé ? ü Quel impact doit avoir l'indisponibilité d'un service intégré ? ü Quel est le protocole à retenir, est il accepté dans le contexte technique courant ? u Modules Drupal : Views, Services, Json, Feeds, SMTP

Page 16: Integration Drupal systemes d'informations

Présenter un annuaire d'entreprise

Item Valeur Couplage Faible

Temporalité Asynchrone

Sens du flux De AD/LDAP vers Drupal

Qui est maître ? AD/LDAP

Que se passe-t-il quand le service est indisponible ?

Les informations de l'annuaire ne sont plus à jour

Modules Drupal

LDAP  integra4on,  migrate,  custom  …  

§  Sujet Exemple : Alimenter Drupal des données de l'annuaire de référence pour proposer une fonction annuaire avec recherche de personnes.

§  Objectifs : • Éviter la ressaisie des données personnelles • Fournir une fonction d'annuaire

§  Mise en œuvre : Synchroniser la source de données (LDAP) avec le contenu "personne" dans Drupal. C'est-à-dire mettre à jour la base drupal des entrées et sorties du LDAP sans attendre la connexion des utilisateurs à la plateforme

Page 17: Integration Drupal systemes d'informations

Présenter sur le Web des données métiers (1)

Item Valeur Couplage Faible

Temporalité Asynchrone

Sens du flux De BO vers Drupal

Qui est maître ? BO

Que se passe-t-il quand le service est indisponible ?

Les informations des offres d'emplois ne sont plus à jour

Modules Drupal

Migrate,  custom  …  

§  Sujet Exemple : Présenter sous drupal les offres d'emploi gérées dans un back office de gestion dédié

§  Objectifs : • Éviter la ressaisie des données • Présenter seulement les informations utiles • Gagner du temps et de la qualité

§  Mise en œuvre : Synchroniser la source de données (BO de gestion) avec Drupal de manière à alimenter les contenus dans le site Exploitation d'un fichier CSV mis à disposition régulièrement

Page 18: Integration Drupal systemes d'informations

Présenter sur le Web des données métiers (2)

Item Valeur Couplage Fort

Temporalité Synchrone

Sens du flux De BO vers Drupal

Qui est maître ? BO

Que se passe-t-il quand le service est indisponible ?

La consultation des offres d'emplois est indisponible

Modules Drupal

Custom  …  

§  Sujet Exemple : Présenter sous drupal les offres d'emploi gérées dans un back office de gestion dédié

§  Objectifs : • Éviter la ressaisie des données • Présenter seulement les informations utiles • Gagner du temps et de la qualité

§  Mise en œuvre : Appel par web service du BO de gestion pour présenter les offres d'emploi actuellement disponibles Attention, cela charge le Back Office de requêtes qui peuvent détériorer les performances pour les utilisateurs habituels

Page 19: Integration Drupal systemes d'informations

Synthèse

Implémentation Processus Couplage Impact en cas de BO indisponible

Intégration des donnés par CSV Batch "Lache" Le site web présente les données mais elles ne sont plus à jour

Intégration des donnés par Web service

Temps réel Fort Le site web rend indisponible la fonction

§  Conclusion : Il n'y a pas de méthode préférable, cela dépend réellement du cas d'utilisation fonctionnel et de la stratégie "métier" à adopter

Page 20: Integration Drupal systemes d'informations

Exposer un processus de gestion (1)

Item Valeur Couplage Faible

Temporalité Asynchrone

Sens du flux De Drupal vers BO

Qui est maître ? Drupal

Que se passe-t-il quand le service est indisponible ?

Les candidatures ne sont visibles que sous Drupal

Modules Drupal

Custom  …  

§  Sujet Exemple : Permettre la saisie de candidatures en ligne

§  Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion

§  Mise en œuvre : Mise en place d'un formulaire sous Drupal Conservation sous drupal des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par batch la nuit

Page 21: Integration Drupal systemes d'informations

Exposer un processus de gestion (2)

Item Valeur Couplage Fort

Temporalité Synchrone

Sens du flux De Drupal vers BO

Qui est maître ? Drupal

Que se passe-t-il quand le service est indisponible ?

Erreur à la validation du formulaire …

Modules Drupal

Custom  …  

§  Sujet Exemple : Permettre la saisie de candidatures en ligne

§  Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion

§  Mise en œuvre : Mise en place d'un formulaire sous Drupal Pas de conservation des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par appel web service du BO

Page 22: Integration Drupal systemes d'informations

Exposer un processus de gestion (3)

Item Valeur Couplage Faible

Temporalité Synchrone (asynchrone très rapide)

Sens du flux De Drupal vers BO

Qui est maître ? Drupal

Que se passe-t-il quand le service est indisponible ?

Drupal a l'information la plus à jour

Modules Drupal

Custom  …  

§  Sujet Exemple : Permettre la saisie de candidatures en ligne

§  Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion

§  Mise en œuvre : Mise en place d'un formulaire sous Drupal Conservation des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par appel Webservice du BO en asynchrone répétitif et rapide

Page 23: Integration Drupal systemes d'informations

Synthèse

Implémentation Processus Couplage Impact en cas de BO indisponible Intégration des données en temps différé nocturne

Batch "Lache" Le service est rendu auprès de l'utilisateur, les utilisateurs du BO attendent avant de pouvoir traiter les demandes

Intégration des donnés en temps réel

Temps réel Fort Le site web rend indisponible la fonction avec une expérience utilisateur plus ou moins bonne …

Intégration des données en temps différé rapide

Quasi temps réel

Lache Le service est rendu auprès de l'utilisateur, les utilisateurs du BO attendent avant de pouvoir traiter les demandes

§  Conclusion : Il n'y a pas de méthode préférable, cela dépend réellement du cas d'utilisation fonctionnel et de la stratégie "métier" à adopter

Page 24: Integration Drupal systemes d'informations

Mobile – Drupal comme repository de contenu

Item Valeur Couplage Faible ou fort

Temporalité Synchrone ou a synchrone

Sens du flux De Drupal vers ???

Qui est maître ? Drupal

Que se passe-t-il quand le service est indisponible ?

Drupal a l'information la plus à jour

Modules Drupal

Services,  custom  …  

§  Sujet Exemple : Drupal contient des informations qui doivent être distribués sur différentes plateformes

§  Objectifs : • Faire circuler l'information rapidement une fois qu'elle est saisie, l'adapter au device de consultation • Éviter la ressaisie

§  Mise en œuvre : Drupal 8 (?) Considérer Drupal comme maitre de l'information et fournisseur de contenu indépendamment de la plate forme de consultation

Page 25: Integration Drupal systemes d'informations

Que faire pour réussir son intégration ? ü  J’ai identifié et impliqué les acteur indispensables ü  La méthode d’intégration est définie

ü  Asynchrone / synchrone ü  Temps réel / temps différé ü  Couplage fort / lâche ü  Qui est maître / esclave ü  Comment doit réagir l'application en cas d'indisponibilité

ü  Je suis conscient des impacts fonctionnels des points précédents ü  Je maitrise l’environnement et l’infrastructure de l’application ü  Je connais les futurs utilisateurs ü  Je connais les contraintes de sécurité et de déploiement ü  Je prévois la suite dès le début du projet ü  Je documente cette intégration

FICHE PRATIQUE

Page 26: Integration Drupal systemes d'informations

Pour aller plus loin…

À votre disposition pour en discuter :

Arnaud RANSON, Neuros @neuros_paris / [email protected] Nicolas MARSAUD, Feel & Clic @feelandclic / [email protected]