URL: https://linuxfr.org/news/sortie-d-anvil Title: Sortie d'Anvil Authors: etenil Nÿco, baud123, NeoX, Manuel Menal et claudex Date: 2012年02月18日T00:02:31+01:00 License: CC By-SA Tags: bazaar, dvcs, forge, python et webpy Score: 16 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](https://fr.wikipedia.org/wiki/Forge_%28informatique%29) s'appuyant sur le gestionnaire de version décentralisé [Bazaar](http://bazaar.canonical.com). Son but est de proposer un environnement collaboratif simple et une interface attrayante à Bazaar. Anvil est écrit en [Python](https://fr.wikipedia.org/wiki/Python_%28langage%29) avec le framework libre [web.py](http://webpy.org) et la base de données [[MySQL]]. Anvil est disponible sous [[GPLv3]]. ---- [Page d'anvil, sur Anvil](http://bzr.ath.cx/anvil-forge) [Téléchargement de la version 0.01](http://etenil.kegtux.org/anvil-0.01.tar.gz) ---- Motivation ========== Plusieurs forges logicielles sont disponibles en ligne pour les DVCS les plus populaires, comme [GitHub](http://github.org), [Gitorious](http://gitorious.org), [Bitbucket](http://bitbucket.org) ou [Launchpad](http://launchpad.net). 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](http://bzr.ath.cx/anvil-forge/bugs) 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.