NetworkManager dans Fedora 13

Le projet NetworkManager a été initié par Red Hat pour fournir aux utilisateurs de Linux une expérience plus agréable de la configuration réseau. Le mainteneur actuel de NetworkManager est Dan Williams.

NetworkManager 0.8
NetworkManager comporte deux composants :
 * un service qui gère et rapporte les changements réseaux.
 * une applet graphique permettant aux utilisateurs de manipuler les connexions réseaux.

L'applet graphique est disponible pour GNOME, KDE et Xfce et respecte le protocole Systray de l'OpenDesktop.

Pour beaucoup d'utilisateurs, NetworkManager est associé avec nm-applet et KNetworkManager, ce dernier développé par Novell depuis 2008 dans le cadre de KDE. Ces applets fournissent une interface ergonomique pour configurer les réseaux sous Linux.

À l'heure actuelle, NetworkManager prends en charge les choses suivantes :
 * périphériques Ethernet filaire
 * périphériques Ethernet sans fils
 * sans chiffrement
 * WEP
 * WPA personnel et entreprise
 * périphériques mobiles (GSM, CDMA, UMTS, etc...)
 * VPN (OpenVPN, vpnc, openconnect, PTPP)
 * modem (PPP) et xDSL (PPPoE)

NetworkManager dans Fedora 13
Dan Williams, le mainteneur de NetworkManager a offert à la communauté un billet très intéressant sur NetworkManager 0.8 sur son blog. En sus, nous voudrions mettre en avant la nouvelle version 0.8.1 de NetworkManager fournie dans Fedora 13 "Goddard" et qui de nouvelles fonctionnalités telles que :


 * DHCPv6
 * Bluetooth DUN
 * statut des connexions mobiles

Dans Fedora 13 "Goddard" comme lors des précédentes versions de Fedora, NetworkManager est installé par défaut, ainsi que les applets pour les bureaux installés (GNOME, KDE, Xfce).

NetworkManager - GNOME
Le bureau GNOME fourni dans Fedora 13 (dont l'image Fedora 13 Desktop Live edition), comprend déjà l'applet NetworkManager disponible dans le panel. Celui-ci recherche les réseaux disponibles par défaut et offre un accès facile et rapide aux options de configuration comme la création et l'édition de connexions. Il fournit également des informations détaillées comme la force des signaux des réseaux sans-fils et la dernière date de connexion.

NetworkManager - KDE
Comme son homologue GNOME, KDE fournit une applet pour NetworkManager dénommée KNetworkManager. Cette application a été développé par Novell et offre une interface Qt intégrée au bureau KDE avec des fonctionnalités similaires à son équivalent GNOME nm-applet.

Interview avec Dan Williams
"J'ai eu le privilège d'interviewer Dan Williams, mainteneur du projet NetworkManager depuis 2005 et employé de Red Hat, dans le cadre des interviews pour la sortie de Fedora 13 réalisé par le groupe Fedora Marketing. Dan a fourni énormément d'informations sur le wiki du projet Fedora à propos de NetworkManager, raison pour laquelle, cette interview parlera principalement du développement et de la communauté autour de NetworkManager. J'aimerais remercier Dan pour m'avoir consacrer une partie de son temps pour cette interview mené par email."

- Nelson Marques, Fedora Marketing team

Interview

 * Comment qualifierais-tu ton implication dans Fedora et le logiciel libre ?
 * Dan Williams: Je travaille pour Red Hat depuis 2003, à l'origine sur OpenOffice.org mais depuis 2005, je suis le mainteneur des projets NetworkManager, ModemManager, et quelques autres trucs. Je me suis également impliqué dans OLPC au alentour de 2005/2007, aider à planifier et implémenter des fonctionnalités clés de Sugar notamment pour les réseaux sans fils.
 * J'agis également en tant que proxy des utilisateurs en assistant à de nombreux sommets WiFi dans le noyau et suis inscrit à diverses listes de diffusions linux sans fils (hostap/wpa_supplicant, linux-wireless, etc). Bien que depuis, nous avons été capable d'avancer le support des réseaux dans-fil dans Linux depuis 2004/2005


 * De ton point de vue, quels sont les barrières rencontrés par les développeurs potentiels quand ils essaient de rejoindre un projet libre ?


 * En premier, probablement l'absence de mentors; quand un développeur potentiel se présente, les autres développeurs ont très peu de temps à lui consacrer pour lui permettre de surmonter les premières étapes, parce qu'ils ont déjà beaucoup de choses à faire. La frontière est mince, vous pouvez passer 75% de votre temps à aider des nouveaux développeurs et ensuite vous n'arrivez plus à respecter vos objectifs parce que vous passez moins de temps à coder.
 * Ce qui aide à résoudre ce problème est la documentation, si vous mettez en ligne une documentation sur laquelle vous pouvez diriger les nouveaux développeurs comme point d'entrée, vous perdez moins de temps à rabacher les mêmes choses à chaque fois. Or, si il y a déjà d'autres contributeurs capables de se prendre en charge cette tâche pendant que vous pouvez vous consacrer à des sujets plus délicats.
 * Ce rôle (nommé "Relations avec les développeurs" dans les entreprises) est un excellent boulot pour ceux qui n'ont que peu de temps à accorder au projet mais qui sont volontaires pour recompiler régulièrement les sources (sans forcément corriger les bogues critiques) et répondre aux emails.


 * Quel serait ton conseil personnel aux développeurs potentiels qui voudraient aider le développement de NetworkManager ?
 * N'hésitez pas à poser des questions, aucune question n'est trop stupide ou embarassante à poser. Ensuite, quand vous avez compris la solution à votre question, dites-nous comment améliorer la documentation pour en faire profiter les autres. Comme nous sommes impliqués dans le projet depuis un certain temps, nous ne sommes pas toujours au courant de ce qui bloque les nouveaux contributeurs pour compiler les sources, comprendre l'architecture, etc...


 * Dans quels domaines, les nouveaux contributeurs acquièrent de nouvellles compétences en développant NetworkManager ?
 * Comment utiliser D-Bus, GObject et PolicyKit, comment fonctionne le sous-système réseau, les modems 3G, les API netlink, parser les fichiers de configuration réseaux, etc... Cela dépends sur quelle partie de NM vous travaillez comme celui-ci recouvre beaucoup de choses.


 * Quels sont vos conseils pour les utilisateurs moyens contribuant activement aux logiciels libres en rapportant les bogues ? Peux-tu estimer l'importance de ces contributions ?
 * Apprenez à faire de bons rapports de bogues. J'ai tenté de mettre en place une page expliquant comment doit être structuré un bon rapport de bogues pour NetworkManager : http://live.gnome.org/NetworkManager/Debugging.
 * les premières informations absentes de nombreux rapports de bogues sont quel version de NM le bogue a été recensé, et quel est le matériel utilisé. Côté projet Fedora, nous devons accentuer notre travail sur l'automatisation de la collecte ces informations comme le fait Ubuntu avec Launchpad. Cela doit vraiment être automatisé, mais pour le moment, nous avons encore besoin des utilisateurs pour le faire.


 * Peux-tu nous donner quelques avancées majeures de NetworkManager lors de ces six derniers mois ?
 * Nous avons finalisé NetworkManager 0.8, j'ai écrit un billet sur mon blog à ce sujet : The Taste of a New Generation.
 * Notons que Fedora 13 intégre un cliché stabilisé de NM 0.8.1 comportant quelques fonctionnalités supplémentaires listées plus haut. comme DHCPv6, Bluetooth DUN et le status des réseaux mobiles.


 * Quels distributions et outils utilises-tu le développement de NetworkManager ?
 * Je développe principalement sur Fedora, bien qu'occasionnellement je compile sur Ubuntu quand je dois corriger un bogue que l'équipe d'Ubuntu n'a pas été capable de corriger.
 * J'utilise gnome-terminal avec plusieurs onglets (habituellement, le répertoire NetworkManager dans un onglet, ModemManager dans un autre, et network-manager-applet dans un troisième onglet), puis Gedit pour coder. Non, je n'utilise ni Emacs, ni Vi, pour la bonne raison que j'ai commencé à développer sur Mac OS, il y a longtemps et que tout les outils de développement dessus ont des interfaces graphiques. GEditfait 95% de ce que la plupart des gens ont réellement besoin d'un éditeurs, et je n'ai jamais été vraiment fan des éditeurs modaux tels que Emacs/Vi probablement parce que je suis habitué à d'autres outils.

Les fondations de Fedora, un point de vue personnel


Je termine cette interview avec Dan en lui demandant son interprétation personnel des quatre Foundations Fondations (Freedom, Friends, Features and First):


 * Freedom (Liberté): C'est la nature même des logiciels libres, nous ne ferons aucun compromis. Si ce n'est pas libre ou entravé par des brevets, nous ne l'offrirons pas. Vous êtes libres de redistribuer, remixer, modifier tout ce que nous offrons.
 * Friends (Amitié): À la fois travailler et utiliser Fedora doit être une expérience agréable, nous ne devons pas discriminer ou mettre mal à l'aise nos utilisateurs. Nous devons nous montrer poli, éviter les attaques personnels et allez au fond des choses. Certes, il y aura toujours des désaccords mais nous devons les régler de la manière la plus civile possible.
 * Features (Fonctionnalités): Nous développons de nouvelles fonctionnalités grâce à la communauté. Nous ne les développons pas en cachette, presque tout ce que nous faisons est disponible dans des dépôts Git ou sur un wiki. Nous avons une multitude d'utilisateurs différents et nous tentons d'ajouter des fonctionnalités satifaisant chacun d'entre eux et pas seulement un groupe en particulier.
 * First (Excellence): Nous sommes des pionniers, nous importons des nouvelles fonctionnalités dans Fedora avant la plupart des autres distros, mais nous tentons de rendre ces fonctionnalités le plus stable possible pour nos utilisateurs. C'est un objectif difficile à atteindre mais jusqu'à présent, on se débrouille pas trop mal.

Biographie


Dan Williams est ingénieur logiciel senior au sein de l'équipe Desktop de Red Hat. Il a rejoint Red Har Inc. en 2003 pour travailler sur la suite OpenOffice du fait de son implication dans le port Mac OS X de celle-ci. En 2004, Havoc lui demande de "jeter un coup d'oeil sur comment améliorer la gestion du réseau" ("parce que celle-ci était vraiment vraiment nulle" dixit Williams, 2010), ce qui a entrainé Dan à travailler sur NetworkManager dont il est aujourd'hui le mainteneur depuis 2005.

Dan Williams a également fait partie de l'équipe originale de Red Hat ayant collaboré sur le projet OLPC (One Laptop Per Child).

Un exemple de configuration de NetworkManager
Dans le bureau GNOME, l'applet NetworkManager permet à l'utilisateur d'effectuer deux tâches :
 * Un clic droit ouvre une boite de dialogue pour activer différents périphériques et éditer la configuration et différentes options.
 * Un clic gauche ouvre un boite de dialogue affichant les statuts réseaux et de se connecter à un réseaux, gérer les connexions.

Cette exemple montre comment configurer une nouvelle connexion sans-fils à un réseaux requiérant une authentification dynamique WEP/PEAP/MSCHAP V2. La plupart des réseaux sans-fils seront automatiquement détectés par NetworkManager (en supposant que votre matériel est supporté et activé). Pour celà, il vous faudra suivre les étapes suivantes :
 * Un clic droit sur l'applet NetworkManager et choisissez Modifications des Connexions. La boite de dialogue suivante doit apparaitre :
 * Sélectionnez l'onglet Sans fil et s'afficheront les réseaux sans-fils disponibles. À ce moment, sélectionnez le réseau que vous souhaitez éditer et puis appuyez sur le bouton Modifier.
 * Une nouvelle boite de dialogue s'affiche pour la connexion réseau ressemblant à ceci :
 * Plusieurs onglets sont disponibles pour configurer la connexion :
 * Wireless tab: change SSID, Mode, Mac Address, BSSID and MTU. In most cases there is no need to change anything here. Remember to check Connect automatically for such feature.
 * Wireless Security tab: dans notre exemple, l'utilisateur choisira :
 * Security: Dynamic WEP (802.1x)
 * Authentication: Protected EAP (PEAP)
 * Anonymous Identity: non utilisé
 * CA Certificate: non utilisé
 * PEAP Version: choisissez Automatic
 * Inner Authentication: choisissez MSCHAPv2
 * Username: entrez votre identifiant de connexion pour ce réseau
 * Password: entrez votre mot de passe pour ce réseau
 * choisissez une de ces options si disponibles
 * IPv4 Settings: en général, la plupart se contenteront de l'option DHCP.
 * Puis appuyez sur le bouton Appliquer.

À ce moment, NetworkManager doit se connecter à votre réseau en quelques secondes. Ceci n'est qu'un exemple basique parmi d'autres possibilités de configuration réseaux prises en charge par NetworkManager. Les réseaux sans-fils peuvent utiliser d'autres méthodes d'authentification. Contactez votre administrateur système ou fournisseur d'accès internet pour obtenir les identifiants de connexion appropriés. Cette exemple se base sur l'applet GNOME nm-applet. Les utilisateurs de KDE s'appuyeront quant à eux sur KNetworkManager dont le fonctionnement est similaire.

Les utilisateurs rencontrant des problèmes peuvent chercher de l'aide auprès des volontaires de la communauté Fedora sur le réseau IRC Freenode dans les canaux: #Fedora et #fedora-fr (francophone). Prenez note que le support sur ces canaux IRC n'est disponible que pour certaines version, habituellement la dernière en date. Pour cela, il vous faudra une application de conversation IRC, entre autres : Plus d'informations sur la page suivante : Communicating and getting help.
 * X-Chat - inclus dans Fedora (installable à l'aide de la commande : yum install xchat).
 * Konversation - très populaire parmi les utilisateurs de KDE et inclus dans notre installation de KDE.

Message pour nos utilisateurs
"Le projet Fedora a pour ambition d'être pionner dans l'avancement des logiciels libres. Comme beaucoup d'autres projets communautaires dans l'univers des logiciels libres, notre succès dépends principalement du nombre croissant de ses contributeurs. Nous remercions non seulement nos contributeurs mais également nos utilisateurs pour avoir placé leur confiance dans la distribution Fedora Linux. Fedora s'améliore continuellement grâce à vos rapports de bogues que vous soumettez. Nos espérons que vous apprécierez Fedora autant que nos contributeurs apprécient de travailler sur les prochaines versions qui sortent tout les six mois afin de vous offrir le meilleur du logiciel libre."

- Au nom de l'équipe Fedora Marketing et de la comunauté Fedora

Liens d'intérêts

 * NetworkManager - Homepage
 * NetworkManager - Fedora Wiki
 * NetworkManager 0.8 - Dan Williams
 * KNetworkManager
 * Howto provide good Bug Reports - Dan Williams