II. Interface web de gestion▲
Présentation d'USVN▲
Jusqu'ici, la gestion des dépôts était réalisée en console.
Si cela reste très utile, la console n'est pas forcément appréciée par tout le monde. De plus, afin de gérer les dépôts il est nécessaire d'avoir un compte administrateur, ou équivalent.
Pour résoudre cela, un projet de fin d'études de l'Epitech vient nous aider : USVN.
Celui-ci fournit une interface Web en PHP afin de prendre en charge la gestion de plusieurs dépôts.
USVN est fourni sous licence CeCILL.
Installation▲
Prérequis▲
Afin d'utiliser USVN, il faut s'assurer d'avoir toutes les dépendances requises :
- Apache 2 ;
- PHP5 ;
- Sqlite ;
- mod_dav_svn ;
- mod_rewrite ;
- subversion ;
- mod_authz_svn.
aptitude install libapache2-mod-php5 php5-sqlite
a2enmod rewrite
/etc/init.d/apache2 reload
Afin de poursuivre l'installation, l'archive de USVN doit être récupérée sur le site, et décompressée dans un répertoire accessible à Apache :
wget --no-check-certificate http://www.usvn.info/download/get/?file=0.6.3%20Mike.tgz
tar -zxvf usvn-0.6.3.tgz
mv usvn /var/www
chown -R www-data: /var/www/usvn
wget est un outil en ligne de commande permettant de récupérer des fichiers distants. S'il n'est pas encore installé : aptitude install wget.
Cela fait, il est nécessaire de s'assurer que la configuration pour ce site est correcte. Pour ce faire, ajoutez les lignes suivantes dans le fichier /etc/apache2/sites-available/defaut (ou dans le fichier de votre nom de domaine):
<Directory /var/www/usvn>
AllowOverride all all
</Directory>
Cela permet au site de définir des redirections via le fichier .htaccess.
Écrans d'installations▲
La suite de l'installation est réalisée directement par l'interface fournie par USVN.
Installation - Accueil▲
Installation - Choix de la langue▲
Le deuxième écran permet le choix de la langue, et à l'heure où j'écris cet article les langues suivantes sont gérées :
- français ;
- anglais ;
- espagnol ;
- chinois.
Installation - Licence▲
Ensuite, la licence CeCILL est affichée.
Installation - Configuration des répertoires▲
L'écran suivant est la configuration du nom du site, du chemin où seront stockés les dépôts ainsi que les fichiers de configuration, et l'URL d'accès à SVN.
La seule contrainte dans les chemins est qu'ils soient accessibles en lecture/écriture par Apache (utilisateur www-data sous Debian Etch).
Dans le cadre de cet article, les options par défaut sont utilisées.
Installation - Configuration de la base de données▲
L'écran suivant est celui du choix de la base de données : Mysql ou SQLite.
Dans cet article, partant du fait que MySql n'est pas forcément installée, c'est SQLite qui est choisi.
SQLite est un moteur SQL particulier. Contrairement à des SGBD comme Mysql ou Postgres, SQLite ne fonctionne pas sur un mode client/serveur.
Le moteur est directement intégré dans le programme qui l'utilise, et les données sont stockées dans un fichier unique.
Il reste cependant très performant, mais n'est pas prévu pour permettre de nombreux accès concurrents.
En contrepartie, il ne nécessite aucune installation ni gestion des comptes utilisateurs.
Installation - Création de l'administrateur▲
Installation - Fin▲
L'installation est presque finie, il reste à mettre le texte de configuration fourni dans le fichier de configuration de Apache (/etc/apache2/sites-available/defaut par exemple).
La configuration d'Apache ayant été changée, il est nécessaire de recharger celle-ci :
/etc/init.d/apache2 reload
Utilisation▲
Si tout va bien, lors de l'accès au site, l'écran suivant devrait apparaitre :
Une fois que vous êtes authentifié, les projets sont affichés.
L'ajout d'un projet se fait via l'onglet Administration :
Une fois l'ajout effectué, il est possible de voir un résumé des informations le concernant.
Il est possible d'ajouter des utilisateurs via l'onglet Administration. Dans cet article deux utilisateurs sont ajoutés : hikage et anonyme.
Dans le cas de l'utilisateur hikage, celui-ci est ajouté au groupe developpezcom.
Remarquons que durant la création de l'utilisateur anonyme, il est demandé de créer un groupe du même nom que celui-ci.
Une fois les utilisateurs ajoutés, il est possible de donner un accès au groupe anonyme pour le projet developpezcom :
Via l'écran de résumé d'un projet, il est possible de gérer les droits d'accès à celui-ci.
Pour cela, il faut entrer dans le navigateur de fichier.
Dans cet écran, le fait de cliquer sur Appliquer des droits sur / fait apparaitre un popup permettant de spécifier les accès par groupe.
De plus cet écran permet de naviguer dans les répertoires, et de spécifier des droits individuels sur chaque fichier/répertoire.
Une démonstration Flash plus complète de la gestion d'un projet avec USVN est disponible iciTutoriel Flash d'utilisation de USVN
Il est intéressant de savoir qu'il est possible de déléguer une partie de la gestion d'un projet à un utilisateur.
Pour cela, dans l'écran de résumé du projet, il est nécessaire d'ajouter un utilisateur comme Administrateur.
Une fois qu'un utilisateur est ajouté comme administrateur il peut :
- gérer les administrateurs d'un projet ;
- gérer les groupes d'un projet ;
- modifier les droits d'accès au projet.
Cependant, il n'a pas le droit de créer/supprimer des utilisateurs, de créer/supprimer des groupes ou de créer/supprimer des projets, cette responsabilité reste à l'administrateur général.