Avahi (logiciel)
# Avahi (logiciel)

Avahi est une bibliothèque logicielle fournissant une implémentation libre des protocoles Zeroconf et comprenant notamment la prise en charge des protocoles IPv4LL, Multicast DNS (mDNS) et DNS-Service Discovery (DNS-SD). Avahi s'occupe d'attribuer automatiquement une adresse IP même sans présence d'un serveur DHCP, de faire office de DNS (chaque machine est accessible par le nom nomMachine.local), de publier des services et d'y accéder facilement (les machines du réseau local sont prévenues de l'arrivée ou du départ d'un service). Il permet donc à des logiciels de publier et de découvrir des services et des hôtes en cours d'exécution sur un réseau local TCP/IP sans configuration particulière. Par exemple, un utilisateur peut brancher son ordinateur sur un réseau et trouver instantanément des imprimantes pour imprimer, des fichiers à lire et des personnes à qui parler. Avahi est publié sous la licence publique générale limitée GNU (LGPL).

## Description

Le projet Avahi a été démarré initialement en raison de la controverse causée par la licence APSL de Bonjour, l'implémentation de Zeroconf historique d'Apple. Depuis, la licence de Bonjour a été remplacée par la licence moins controversée Apache 2.0. Toutefois, Avahi était entre-temps déjà devenue de facto l'implémentation de référence des protocoles Zeroconf pour les systèmes d'exploitation libres tels que GNU/Linux ou *BSD. Elle est maintenant distribuée par la plupart des distributions GNU/Linux et *BSD.

L'implémentation d'Avahi est totalement compatible avec celle de Bonjour. Avahi fournit des bibliothèques de compatibilité pour les applications utilisant Bonjour ou l'ancienne implémentation libre de mDNS Howl.

Avahi fournit également des interfaces pour différents langages de programmation (Python, Mono, etc) et offre une interface D-Bus. En raison de son architecture modulaire, Avahi est intégrée dans les principaux composants de bureaux libres comme les systèmes de fichiers virtuels GVFS de GNOME ou KIO de KDE.

Stuart Cheshire (le développeur à l'origine de l'initiative Zeroconf) a déclaré qu'Apple travaille avec l'équipe de développeurs d'Avahi et qu'il est impressionné par l'avancement de leur projet ; à tel point qu'Avahi pourrait à terme « remplacer l'implémentation d'Apple » (Bonjour).

## Historique

La bibliothèque Avahi a été développée par Lennart Poettering et Trent Lloyd. Elle est le résultat d'une fusion réalisée en 2005 entre l'implémentation des protocoles mDNS/DNS-SD de L. Poettering appelée "FlexMDNS", et du code de T. Lloyd appelé "Avahi". Alors que la majorité du code actuel provient du premier, le nom du second fut conservé pour nommer le projet. Le développement de "FlexMDNS" avait démarré fin 2004, et celui d'"Avahi" début 2004.

Avahi a été démarré à l'origine sous l'ombrelle de freedesktop.org, mais est devenu maintenant un projet séparé. Cependant, Avahi utilise la couche de communication inter-processus D-Bus de freedesktop.org.

Le nom Avahi et le logo de la bibliothèque font références à l'avahi laineux, une espèce de primates vivant à Madagascar. Lorsque T. Lloyd découvrit le nom, il l'apprécia et décida de l'utiliser.

