66
28 mai 2009 Stéphane Gully ([email protected]) INIST-CNRS - Département des Systèmes d'Informations SVNWebAdmin « interface Web d'administration de dépôts SVN indépendants »

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

28 mai 2009

Stéphane Gully ([email protected])

(

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

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

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

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

[email protected]

Plan

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

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

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

[email protected]

L'heureuse histoire de Gnu et Tux

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

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

[email protected]

Il était une fois ...

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

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

[email protected]

« Gnu »un développeur motivé

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

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

[email protected]

« Tux »un administrateur système

surchargé

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

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

[email protected]

La routine

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

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

[email protected]

L'idée

Kool

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

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

[email protected]

la demande...

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

Kool

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

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

[email protected]

...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 !

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

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

[email protected]

l'impatience

Pfffiou faut attendre, si seulement je

pouvais le créer moi même !

Merci

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

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

[email protected]

la baisse demotivation

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

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

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

[email protected]

le temps passe

quelques heures (jours) plus tard ...

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

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

[email protected]

entre deux urgences

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

ssh superserveurcd /depots/svnadmin create klang

Klang

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

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

[email protected]

c'est fait !

Voilà le projet Kool est créé.

Kool

Merci beaucoup !

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

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

[email protected]

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

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

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

[email protected]

mais ...

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

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

[email protected]

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

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

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

[email protected]

la demande bis

Kool

Tux, help!Je n'ai pas les

droits sur le projet Kool :-(

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

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

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

[email protected]

l'urgence

Kool

Oups ... vite vite je corrige

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

ssh superserveurcd /depots/kool/confvi authz

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

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

[email protected]

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 ...

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

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

[email protected]

réflexion

Kool

Le mieux serait que Gnu puisse lui même

créer son dépôt.

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

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

[email protected]

satisfaction

Kool

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

C'est super svn !

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

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

[email protected]

quelques semaines plus tard...

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

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

[email protected]

tout va bien

Gnu et Tux ont finalementretrouvé toute leur motivation !

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

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

[email protected]

mais ...

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

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

[email protected]

« Gni »un autre développeur

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

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

[email protected]

travail en équipe

Kool

Salut Gnu, dis moi je peux travailler

avec toi sur Kool ?

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

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

[email protected]

baisse demotivation bis

Kool

Ho non faut encore demander

à Tux...

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

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

[email protected]

on recommence

Kool

Tux, peux tu donner les droits à Gni sur

le dépôt Kool ?

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

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

[email protected]

ç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

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

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

[email protected]

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 ...

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

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

[email protected]

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 !

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

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

[email protected]

L'outil

http://www.svnwebadmin.net/

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

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

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

[email protected]

SVNWebAdmin

http://www.svnwebadmin.net/

Génial, c'est opensource et la

documentation est en français !

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

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

[email protected]

Fonctionnalités

Voyons ce que ce logiciel nous propose.

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

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

[email protected]

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

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

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

[email protected]

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

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

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

[email protected]

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

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

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

[email protected]

Fonctionnalités

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

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

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

[email protected]

C'est vraiment simple, Gnu va certainement

adorer !

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

besoin ?

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

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

[email protected]

Pré requis

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

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

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

[email protected]

Ce sont des technologies standard, c'est parfait !

Mais... comment tout cela est articulé ?

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

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

[email protected]

Architecture

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

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

[email protected]

Limpide !

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

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

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

[email protected]

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

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

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

[email protected]

Authentification

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

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

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

[email protected]

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 ...

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

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

[email protected]

Authentification

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

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

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

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

[email protected]

Ok.

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

soucis !

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

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

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

[email protected]

Je me lance,je l'installe !

http://www.svnwebadmin.net/installation

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

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

[email protected]

les tests

Tux, Merci ! C'est exactement ce dont

on avait besoin !

Regarde Gnu, avec cet outil ce sera beaucoup plus

simple !

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

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

[email protected]

THE END

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

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

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

[email protected]

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 (?)

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

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

[email protected]

SVNWebAdminà l'INIST-CNRS

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

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

[email protected]

Statistiques

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

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

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

[email protected]

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

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

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

[email protected]

Intégration avec l'existant

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

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

[email protected]

Existant

Un annuaireLDAP

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

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

[email protected]

Existant

loginpassword

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

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

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

[email protected]

Accès à l'interface Web

loginpassword

LDAP

Vérificationlogin/mdp

SVNWebAdmin

Authentificationpar le Web

Création et modification des dépôts

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

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

[email protected]

Accès aux dépôts

LDAP

Accès auxdépôts

par client SVN mod_dav_svnmod_authnz_ldap

Vérificationlogin/mdp

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

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

[email protected]

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 !

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

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

[email protected]

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.

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

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

[email protected]

Démonstration

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

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

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

[email protected]

Merci, des questions ?

Stéphane Gully([email protected])

(