Está en la página 1de 66

SVNWebAdmin

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

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

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

28 mai 2009
Plan

● L'heureuse histoire de Gnu et Tux


● Retour d'expérience à l'INIST-CNRS
● Démonstration

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
L'heureuse histoire de Gnu et Tux

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Il était une fois ...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
« Gnu »
un développeur motivé

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
« Tux »
un administrateur système
surchargé

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
La routine

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
L'idée

Kool

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
la demande...

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

Kool

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
...qui dérange

D'accord, je le
fais dans la
journée

Je suis impatient, Pfffiou encore


j'ai plein d'idées une demande
cool !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
l'impatience

Merci

Pfffiou faut attendre,


si seulement je
pouvais le créer moi
même !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
la baisse de
motivation

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
le temps passe

quelques heures (jours) plus tard ...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
entre deux urgences

ssh superserveur
cd /depots/
svnadmin create klang

Klang

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
c'est fait !

Voilà le projet
Kool est créé.

Kool

Merci
beaucoup !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
retour de la
motivation
Youpi ! Je vais
pouvoir
commencer

Kool

svn checkout http://depots/kool

Ouf c'est fait.


Bon aller je me
remets sur mon
projet

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
mais ...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
catastrophe !

Ho non !!
je n'ai pas les
droits

Kool

svn: Le serveur a envoyé une valeur


inattendue (403 Forbidden) en
réponse à la requête OPTIONS pour
'http://depots/kool'

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
la demande bis

Tux, help!
Je n'ai pas les
droits sur le
projet Kool :-(

Kool

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
l'urgence

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

ssh superserveur
cd /depots/kool/conf
vi authz
Kool

Oups ... vite vite


je corrige

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
soulagement et
réflexion

Voilà c'est
Merci... corrigé

Kool

Il faudrait que je
trouve une solution
pour que ça ne se
Ouf ça marche reproduise pas ...
enfin !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
réflexion

Kool

Le mieux serait que


Gnu puisse lui même
créer son dépôt.

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
satisfaction

svn co http://depots/kool
vi kling.java
svn add kling.java
svn commit
...

Kool

C'est super
svn !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
quelques semaines plus tard...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
tout va bien

Gnu et Tux ont finalement


retrouvé toute leur motivation !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
mais ...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
« Gni »
un autre développeur

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
travail en équipe

Salut Gnu, dis moi


je peux travailler
avec toi sur Kool ?

Kool

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
baisse de
motivation bis

Kool

Ho non faut
encore demander
à Tux...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
on recommence

Kool

Tux, peux tu donner


les droits à Gni sur
le dépôt Kool ?

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
ça devient lourd

ssh superserveur
cd /depots/kool/conf
vi authz
Kool

C'est fait ! Encore une


demande ! Cette
fois je m'y mets, je
cherche un outil.

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
rêveries

C'est bon
tu as les
droits

Kool

Merci tux

Je suis responsable du
projet Kool, si seulement
je pouvais modifier les
droits moi même ...
28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr
d'administration de dépôts SVN
au travail

C'est
C'estgénial
géniale
de
développer
de bosser à en
plusieurs
équipe ! !

Kool

Il me faut une
interface Web
d'administrations de
dépôts SVN !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
L'outil

http://www.svnwebadmin.net/

Tiens, je vais essayer


celui-là...

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
SVNWebAdmin

http://www.svnwebadmin.net/

Génial, c'est
opensource et la
documentation est en
français !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Fonctionnalités

Voyons ce que ce
logiciel nous propose.

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Fonctionnalités
● Liste des dépôts
● Visualisation rapide des droits

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Fonctionnalités
● Modification des droits d'accès

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Fonctionnalités

● Suppression d'un dépôt


(uniquement par un administrateur)

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
C'est vraiment simple,
Gnu va certainement
adorer !

Par contre, côté


serveur, de quoi ai-je
besoin ?

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Ce sont des technologies
standard, c'est parfait !

Mais... comment tout cela


est articulé ?

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Architecture

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Limpide !

Par contre les


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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Authentification

La base des utilisateurs doit être


unique pour les deux points d'accès

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Je me lance,
je l'installe !

http://www.svnwebadmin.net/installation

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
les tests

Regarde Gnu, avec


cet outil ce sera
beaucoup plus
simple !

Tux, Merci ! C'est


exactement ce dont
on avait besoin !

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
THE END

« Gnu, Gni et Tux vécurent heureux et


eurent beaucoup de dépôts. »

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
SVNWebAdmin
à l'INIST-CNRS

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Intégration avec l'existant

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Existant

Un annuaire
LDAP

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Existant

login
password

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Accès à l'interface Web

Création et
modification SVNWebAdmin
des dépôts

Authentification
login par le Web
password

Vérification
login/mdp
LDAP

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Accès aux dépôts

Accès aux
dépôts
par client SVN mod_dav_svn
mod_authnz_ldap

Vérification
login/mdp

LDAP

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
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 stephane.gully@inist.fr


d'administration de dépôts SVN
Démonstration

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN
Merci, des questions ?

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

28 mai 2009 SVNWebAdmin, une interface stephane.gully@inist.fr


d'administration de dépôts SVN

También podría gustarte