Sortie d'Anvil

Posté par  . Édité par Nÿco, baud123, Manuel Menal, NeoX et claudex. Modéré par Manuel Menal. Licence CC By‑SA.
Étiquettes :
16
18
fév.
2012
Gestion de versions

J'ai le plaisir de vous annoncer que la toute première version d'Anvil (0.01) est désormais disponible. Anvil (enclume en Anglais) est un logiciel libre de forge s'appuyant sur le gestionnaire de version décentralisé Bazaar. Son but est de proposer un environnement collaboratif simple et une interface attrayante à Bazaar.

Anvil est écrit en Python avec le framework libre web.py et la base de données MySQL. Anvil est disponible sous GPLv3.

Motivation

Plusieurs forges logicielles sont disponibles en ligne pour les DVCS les plus populaires, comme GitHub, Gitorious, Bitbucket ou Launchpad. Les plus populaires d'entre eux ne sont malheureusement pas libres, et le seul qui soit dédié à Bazaar est difficile à installer et plutôt lourd (Launchpad).

Le but d'Anvil est d'être plus proche des forges « à la mode » que Launchpad, et surtout d'être plus simple et plus facile à installer dans son entreprise ou chez soi.

Fonctionnalités

Accès au code

Point important pour une forge, Anvil propose un accès en HTTP pour les pull (accès public), et un accès via SSH pour les opérations de push.

Les dépôts gérés par la forge sont dans une arborescence du dossier de l'utilisateur bzr, lequel est dédié au logiciel. La partie SSH s'appuie quant à elle sur le fichier authorized_keys, qui permet de lancer un greffon pour Bazaar lors des connexions entrantes qui vérifie les droits d'accès et ré-écrit les chemins dynamiquement.

Messagerie interne

Anvil se veut social, même s'il n'a pas beaucoup de fonctionalités en ce sens pour l'instant. Il est toutefois déjà possible de contacter d'autres utilisateurs directement sur le logiciel plutôt que par email.

Le système de messagerie interne n'est pour le moment pas géré en AJAX et n'est donc mis à jour que lorsque la page est rafraichie. Ce système sera amené à évoluer dans les prochaines version pour plus d'utilité.

Branches Bazaar

Envoyer une branche sur Anvil est très simple puisqu'il suffit d'en pousser une qui n'existe pas encore. Bazaar crée alors dynamiquement la branche. Anvil apporte toutefois une possibilité que n'offre pas Bazaar directement, à savoir la suppression d'une branche (il suffit en fait de supprimer le dossier de la branche).

L'interface web permet de naviguer dans l'arborescence de la branche et de voir les fichiers avec coloration syntaxique.

Gestion de projet

Outre ses branches personnelles, les projets ont eux aussi leurs propres branches. L'intérêt réside dans le fait qu'on puisse y ajouter d'autres utilisateurs qui ont alors aussi le droit de modifier les branches du projet.

Gestion de bugs

Le système de gestion d'incidents d'Anvil se veut simpliste et ouvert. On peut par exemple y reporter des bugs sans pour autant être enregistré sur la forge.

Gestion documentaire

Anvil permet une gestion documentaire très simple et permet d'écrire des documents en Markdown attachés au projet. Il ne gère pour le moment pas les versions des documents.

Ubiquité de Markdown

Markdown est un format pratique, et Anvil l'utilise un peu partout, aussi bien dans les profils utilisateurs que les descriptions de projet ou la documentation. Le but est de permettre aux développeurs d'offrir facilement un contenu riche.

État des lieux

Cette version est la première à être utilisable, mais présente bien des défauts.

Le code est plutôt mal organisé, manque de commentaires et les bugs sont probablement légion. L'interface est en Anglais et pour le moment rien n'a été prévu pour les traductions.

Installer Anvil est assez simple mais réclame tout de même une petite expérience d'administration système. J'ai écrit un readme qui décrit l'installation pas à pas de la forge avec Apache2 et mod_fcgid.

Futur

Les buts pour la version 0.02 n'ont pas encore été définis formellement, mais l'accent sera mis sur la correction des bugs et le nettoyage du code, ainsi que l'amélioration du thème par défaut.

Aller plus loin

  • # Fusionforge & Bazaar

    Posté par  (site web personnel) . Évalué à 2.

    Depuis la version 5.0, Fusionforge ( http://fusionforge.org/ ) supporte bazaar comme DVCS.

  • # Sources

    Posté par  . Évalué à 4.

    Anvil (comme fossil d'ailleurs) ne présentent pas les sources à travers l'interfaces web, je trouve ça dommage pour plusieurs raisons :

    • il peut être pratique pour quelqu'un qui ne fait pas parti du projet de regarder simplement un peu les sources sans avoir à faire un pull/clone/checkout
    • ça permet aux moteurs de recherches d'indexer le code

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.