SVNWebAdmin, une interface Web d'administration de dépôts SVN indépendants

Preview:

DESCRIPTION

Présentation et retour d'expérience du logiciel SVNWebAdmin

Citation preview

28 mai 2009

Stéphane Gully (stephane.gully@inist.fr)

(

INIST-CNRS - Département des Systèmes d'Informations

SVNWebAdmin« interface Web d'administration de dépôts SVN indépendants »

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Plan

● L'heureuse histoire de Gnu et Tux● Retour d'expérience à l'INIST-CNRS● Démonstration

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

L'heureuse histoire de Gnu et Tux

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Il était une fois ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

« Gnu »un développeur motivé

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

« Tux »un administrateur système

surchargé

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

La routine

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

L'idée

Kool

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

la demande...

Salut Tux, je souhaite créer le dépôt Kool

Kool

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

...qui dérange

D'accord, je le fais dans la

journée

Pfffiou encore une demande

Je suis impatient, j'ai plein d'idées

cool !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

l'impatience

Pfffiou faut attendre, si seulement je

pouvais le créer moi même !

Merci

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

la baisse demotivation

Bon je me mets sur autre chose en attendant...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

le temps passe

quelques heures (jours) plus tard ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

entre deux urgences

Ha au fait ! faut pas que j'oublie de créer Kool

ssh superserveurcd /depots/svnadmin create klang

Klang

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

c'est fait !

Voilà le projet Kool est créé.

Kool

Merci beaucoup !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

retour de lamotivation

Kool

Ouf c'est fait. Bon aller je me remets sur mon

projet

svn checkout http://depots/kool

Youpi ! Je vais pouvoir

commencer

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

mais ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

catastrophe !

Kool

svn: Le serveur a envoyé une valeur inattendue (403 Forbidden) en réponse à la requête OPTIONS pour 'http://depots/kool'

Ho non !!je n'ai pas les

droits

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

la demande bis

Kool

Tux, help!Je n'ai pas les

droits sur le projet Kool :-(

Hé voilà, j'ai perdu toute ma motivation ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

l'urgence

Kool

Oups ... vite vite je corrige

Désolé, je règle ça tout de suite.

ssh superserveurcd /depots/kool/confvi authz

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

soulagement etréflexion

Kool

Ouf ça marche enfin !

Voilà c'est corrigéMerci...

Il faudrait que je trouve une solution pour que ça ne se reproduise pas ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

réflexion

Kool

Le mieux serait que Gnu puisse lui même

créer son dépôt.

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

satisfaction

Kool

svn co http://depots/koolvi kling.javasvn add kling.javasvn commit...

C'est super svn !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

quelques semaines plus tard...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

tout va bien

Gnu et Tux ont finalementretrouvé toute leur motivation !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

mais ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

« Gni »un autre développeur

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

travail en équipe

Kool

Salut Gnu, dis moi je peux travailler

avec toi sur Kool ?

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

baisse demotivation bis

Kool

Ho non faut encore demander

à Tux...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

on recommence

Kool

Tux, peux tu donner les droits à Gni sur

le dépôt Kool ?

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

ça devient lourd

Kool

C'est fait ! Encore une demande ! Cette

fois je m'y mets, je cherche un outil.

ssh superserveurcd /depots/kool/confvi authz

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

rêveries

Kool

Merci tux

C'est bon tu as les

droits

Je suis responsable du projet Kool, si seulement je pouvais modifier les

droits moi même ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

au travail

Kool

C'est géniale de bosser à plusieurs !

C'est génial de développer en

équipe !

Il me faut une interface Web

d'administrations de dépôts SVN !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

L'outil

http://www.svnwebadmin.net/

Tiens, je vais essayer celui-là...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

SVNWebAdmin

http://www.svnwebadmin.net/

Génial, c'est opensource et la

documentation est en français !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Fonctionnalités

Voyons ce que ce logiciel nous propose.

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Fonctionnalités● Liste des dépôts● Visualisation rapide des droits

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Fonctionnalités● Création d'un nouveau dépôt● Réglage des droits d'accès au dépôt

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Fonctionnalités● Modification des droits d'accès

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Fonctionnalités

● Suppression d'un dépôt(uniquement par un administrateur)

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

C'est vraiment simple, Gnu va certainement

adorer !

Par contre, côté serveur, de quoi ai-je

besoin ?

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Pré requis

● Apache● PHP5 (mod_php5)● Subversion● mod_dav et mod_dav_svn● mod_ldap et mod_authnz_ldap (facultatif)

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Ce sont des technologies standard, c'est parfait !

Mais... comment tout cela est articulé ?

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Architecture

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Limpide !

Par contre les utilisateurs, je les mets où ? Je peux réutiliser mon annuaire LDAP ?

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Authentification

● Authentification nécessaire à deux endroits :– Au niveau de l'interface Web d'administration– Au niveau de l'accès aux dépôts

● Bases d'utilisateurs possibles :– Annuaire LDAP– Base MySQL– Fichier à plat– ... ou tout autre conteneur supporté par apache

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Authentification

La base des utilisateurs doit être unique pour les deux points d'accès

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Authentification

Méthodes d'authentifications de l'interface Web :– Formulaires Web intégrés au programme

(support de LDAP et SQL)

– Modules apache :(mod_authnz_ldap, mod_authn_file, mod_authn_dbd ...)

– CAS, Shibboleth ...

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Authentification

Méthodes d'authentifications pour l'accès aux dépôts :

– Modules apache :(mod_authnz_ldap, mod_authn_file, mod_authn_dbd ...)

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Ok.

Apache supporte l'authentification LDAP donc je n'aurai pas de

soucis !

http://www.svnwebadmin.net/auth-ldap

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Je me lance,je l'installe !

http://www.svnwebadmin.net/installation

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

les tests

Tux, Merci ! C'est exactement ce dont

on avait besoin !

Regarde Gnu, avec cet outil ce sera beaucoup plus

simple !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

THE END

« Gnu, Gni et Tux vécurent heureux et eurent beaucoup de dépôts. »

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Quelques alternatives

● USVN :http://www.usvn.info– Open-source (?)– Écrit en PHP– Gestion des groupes– Pas de délégation de l'authentification

● Svn-web-admin :http://code.google.com/p/svn-web-admin/– Open-source (GPLv3)– Écrit en JAVA– Pas de documentation (?)

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

SVNWebAdminà l'INIST-CNRS

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Statistiques

● Installé depuis Août 2007● 31 dépôts créés à ce jour● 26 développeurs l'utilisent

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

CVS vs SVN

● Cohabitation sans douleur avec CVS● Tendances :

– Anciens projets restent sous CVS– Nouveaux projets initiés sous SVN

● Migration facile avec le script cvs2svn

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Intégration avec l'existant

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Existant

Un annuaireLDAP

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Existant

loginpassword

Un serveur CAS(connecté à l'annuaire LDAP)

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Accès à l'interface Web

loginpassword

LDAP

Vérificationlogin/mdp

SVNWebAdmin

Authentificationpar le Web

Création et modification des dépôts

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Accès aux dépôts

LDAP

Accès auxdépôts

par client SVN mod_dav_svnmod_authnz_ldap

Vérificationlogin/mdp

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Conclusion

● Pas de comptes dupliqués car :– SWA permet la délégation de l'authentification– Base d'utilisateur unique (LDAP)

● Transition en douceur car :– Les utilisateurs de CVS travaillent comme avant– Les aventureux peuvent migrer facilement– Tous les développeurs sont contents !– Tous les administrateurs systèmes sont contents !

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Morale de l'histoire

Il n'y a pas que Gnu, Gni et Tux qui sont contents mais aussi de vrais développeurs

et de vrais administrateurs systèmes.

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Démonstration

http://www.svnwebadmin.net/demo/

28 mai 2009 SVNWebAdmin, une interface d'administration de dépôts SVN

stephane.gully@inist.fr

Merci, des questions ?

Stéphane Gully(stephane.gully@inist.fr)

(

Recommended