Mathrice et les outils de travail et développement collaboratif Philippe Depouilly, Laurent Facq IMB UMR 5251 - Mathrice GDS 2754 21 janvier 2013 (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 1 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 2 / 35
Le réseau Mathrice Mathrice, depuis 2000 : un réseau métier dans le périmètre de l INSMI (120 personnes) un réseau actif dans RESINFO (MRCT) une liste de diffusion, les Journées Mathrice semestrielles, une ANF tri-annuelle... qui possède une forte technicité et une expertise reconnue (émergence du groupe Calcul), c est un vivier de compétences ancre les ingénieurs dans les laboratoires Mais c est aussi une mission de service pour la communauté scientifique (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 3 / 35
Le GDS Mathrice 1/2 GDS 2754 : Groupement de Service CNRS un projet de service pour la communauté mathématique française une équipe technique répartie sur 8 sites (12 personnes) une plate-forme déployée sur 40 serveurs (36 machines virtuels) 4 sites géographiques d hébergement d où une grande disponibilité des services pour une panoplie très large de services (une dizaine de familles de fonctionnalités) et un public uniquement hors-site, plus d un chercheur sur trois (2800) à ce jour (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 4 / 35
Le GDS Mathrice 2/2 Un bref panorama des services PLM : portail d accès aux revues électroniques en partenariat avec le RNBM, hébergement de serveurs et de sites scientifiques et institutionnels, outils collaboratifs, tableau blanc interactif dans les laboratoires, partage de documents, disque Internet, environnement de groupe de travail mutualisé, de web-conference, messagerie électronique à disposition, service national de jetons logiciels (Matlab, Maple), annuaire quasi exhaustif de la communauté mathématique française (8000 entrées distinctes), en cours : un agenda des événements scientifiques (agenda des mathématiques)... (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 5 / 35
Nouveaux besoins/nouvelle dynamique difficulté à intégrer de nouvelles ressources (services et collègues) complexité de la plate-forme (multiplicité des OS, des pratiques, etc.) disponibilité de chacun fragmentée (la mission principale est dans le laboratoire) d où des difficultés à intégrer de nouvelles briques (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 6 / 35
Nouveaux besoins/nouvelle dynamique difficulté à intégrer de nouvelles ressources (services et collègues) complexité de la plate-forme (multiplicité des OS, des pratiques, etc.) disponibilité de chacun fragmentée (la mission principale est dans le laboratoire) d où des difficultés à intégrer de nouvelles briques besoin d une forge logiciel au niveau d un laboratoire -> mutualisation par définition ouverte sur l extérieur réutiliser les services existants de la PLM y associer l équipe existante de la PLM (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 6 / 35
Nouveaux besoins/nouvelle dynamique difficulté à intégrer de nouvelles ressources (services et collègues) complexité de la plate-forme (multiplicité des OS, des pratiques, etc.) disponibilité de chacun fragmentée (la mission principale est dans le laboratoire) d où des difficultés à intégrer de nouvelles briques besoin d une forge logiciel au niveau d un laboratoire -> mutualisation par définition ouverte sur l extérieur réutiliser les services existants de la PLM y associer l équipe existante de la PLM => repenser les interactions entre les services et aussi les individus : définition d un protocole d échange partagé (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 6 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail Le hub 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 7 / 35
Portail maison portail existant : ajout de modules à une plate-forme PHP (Horde) à l origine Horde est un webmail : limite de l exercice idée d une application "lourde dans un navigateur web -> interface "stateless" en javascript abstraction des services : communications client/serveurs via des webservices (API REST) idée d une authentification centralisée (SSO) CAS qui a évolué ensuite vers Shibboleth (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 8 / 35
Le HUB de services 1/2 Le hub prend en charge : le dispatch des services l authentification Côté interface utilisateur : Côté services : (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 9 / 35
Le HUB de services 1/2 Le hub prend en charge : le dispatch des services l authentification Côté interface utilisateur : l interface Sencha Ext JS communique via des APIs REST avec le hub l authentification est gérée sous forme de cookies de session au niveau du hub Côté services : (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 9 / 35
Le HUB de services 1/2 Le hub prend en charge : le dispatch des services l authentification Côté interface utilisateur : l interface Sencha Ext JS communique via des APIs REST avec le hub l authentification est gérée sous forme de cookies de session au niveau du hub Côté services : ensuite le hub communique via des APIs REST avec les serveurs de la PLM (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 9 / 35
Le HUB de services 2/2 Le hub fournit aussi un niveau d abstraction : le développement de l interface ne se soucit pas de l authentification les services sont dans une relation de confiance avec le hub Il suffit donc de définir un contrat entre les webservices du hub et les serveurs de la PLM, ainsi chacun peut déployer un nouveau service et présente la liste des webservices au hub. Trois populations peuvent travailler en parallèle : développeurs de la GUI développeurs du hub intégrateurs des services (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 10 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 11 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 12 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 13 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 14 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 15 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 16 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 17 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 18 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 19 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 20 / 35
Authentification SSO 1/2 La PLM accueille déjà 2800 comptes, en doublon avec les identités dans les laboratoires et dans les universités. Au lieu de déployer notre propre SSO, on tente une convergence avec la fédération d identités Education Recherche (opérée par RENATER) avec les objectifs suivants : identifier au sein de la fédération une communauté INSMI (attributs fournis par les IdP?) s aider d une information déjà existante : annuaire de la communauté mathématique française converger autant que possible vers un compte PLM existant (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 21 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 22 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : anonyme identifié dans la fédération identifié dans la fédération et présent dans l annuaire de la communauté (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : anonyme identifié dans la fédération identifié dans la fédération et présent dans l annuaire de la communauté société savante laboratoire (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : anonyme identifié dans la fédération identifié dans la fédération et présent dans l annuaire de la communauté société savante laboratoire identifié dans la PLM (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : anonyme identifié dans la fédération identifié dans la fédération et présent dans l annuaire de la communauté société savante laboratoire identifié dans la PLM laboratoire INSMI collaborateur (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
Authentification SSO 2/2 Périmètres actuellement identifiés : anonyme identifié dans la fédération identifié dans la fédération et présent dans l annuaire de la communauté société savante laboratoire identifié dans la PLM laboratoire INSMI collaborateur si possible : lier toutes les possibilités (je suis de l IdP de mon université, dans l annuaire et j ai un compte PLM) à l heure actuelle le seul attribut fiable commun à tous les IdP : email (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 23 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 24 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 25 / 35
Le contexte 1/2 une demande au sein d un laboratoire d une forge alternative avec intégration continue des forges existes... mais avec des périmètre pas toujours adaptés aux besoins exprimés (ex : forge INRIA => projets INRIA, Sourcesup => pas d intégration continue...) dans la continuité de l offre HPC du laboratoire (environnement de développement partagé/partageable) (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 26 / 35
Le contexte 1/2 une demande au sein d un laboratoire d une forge alternative avec intégration continue des forges existes... mais avec des périmètre pas toujours adaptés aux besoins exprimés (ex : forge INRIA => projets INRIA, Sourcesup => pas d intégration continue...) dans la continuité de l offre HPC du laboratoire (environnement de développement partagé/partageable) mais déployer une forge au niveau d un laboratoire est peu rentable => mutualisation dans le périmètre Mathrice (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 26 / 35
Le contexte 2/2 mais déployer une forge au niveau d un laboratoire est peu rentable => mutualisation dans le périmètre Mathrice (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 27 / 35
Le contexte 2/2 mais déployer une forge au niveau d un laboratoire est peu rentable => mutualisation dans le périmètre Mathrice cela signifie des spécificités car elle sera reversée dans une communauté : Administrée par l équipe support de la PLM => conventions d administration Un périmètre utilisateurs : Mathrice/INSMI Une orientation calcul scientifique en lien avec le groupe Calcul (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 27 / 35
La forge dans le contexte de la PLM réutilisation au maximum des services existants (ce qui permet de capitaliser sur l équipe support existante) : SVN GIT Sympa Jabber harmonisation des pratiques : capitaliser sur l authentification Shibboleth déployée parallèlement sur le portail les briques de la forge sont adaptées pour appeler les webservices existants la forge devient en quelque sorte un hub... réutiliser au maximum un savoir faire : PLACO pour le déploiement (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 28 / 35
Spécificités souhaitées intégration continue, pour l instant avec Jenkins... peut-être plus tard avec Nix/Hydra? multi-plateforme (orienté Unix) réutilisation de l environnement de modules (packaging de bibliothèques scientifiques avec dépendances des compilateurs) savoir identifier une communauté scientifique et s y insérer au maximum (favoriser les références aux annuaires de projets existant : RELIER) (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 29 / 35
Déploiement de la forge un choix de plate-forme : FusionForge un serveur multi-processeur/multi-coeur et de la virtualisation un adressage IP simplifié (une seule URL) => reverse proxy intégration continue : une ou plusieurs VM pour chaque OS cible PLACO est justement dédié à ce type d architecture (reverse proxy, déploiement simplifié de VMs, etc.) (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 30 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 31 / 35
Développements spécifiques les plugins redéveloppés pour appeler les webservices de la PLM un onglet RELIER à associer à la page d accueil du projet une authentification Shibboleth : derrière un reverse proxy (cf schéma) avec identification de la communauté (web service) une gestion de droits affinée : seule une partie de la population peut créer un projet à répercuter sur l outil Jenkins (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 32 / 35
(IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 33 / 35
Mathrice et les outils de travail et développement collaboratif 1 Mathrice 2 Le portail 3 Démo 4 L authentification 5 La Forge 6 Conclusion (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 34 / 35
Et pour terminer... la dynamique autour des webservices est évidente mais le déploiement de la forge est encore retardé...... printemps 2013, en lien avec le portail des services... et fin 2013 le portail sera intégré au portail national des mathématiques (en association avec le GDS RNBM et l UMS Mathdoc) http://mathrice.fr http://placo.mathrice.fr http://annuaire.emath.fr https://plm.math.cnrs.fr/portail https://forge.math.cnrs.fr http://www.sencha.com/products/extjs (IMB/MATHRICE) Mathrice/Envol 2013 21 janvier 2013 35 / 35