Rapport         CGI         Liens    

 

Rapport
 Résumé
 Téléchargement
 English version
Résumé

MandrakeSoft est une société informatique éditant le système d'exploitation Mandrake Linux. Ce dernier comprend le noyau Linux ainsi qu'une serie d'applications tout deux aux sources disponibles librement.

Au cours de ce stage de six mois, du 1er Juillet au 31 Décembre, chez MandrakeSoft, j'ai été successivement en charge de trois projets principaux sur le thème de la configuration du système Mandrake Linux, plus particulièrement des serveurs et plus généralement du système d'exploitation Linux.

La configuration et en particulier celle des serveurs sous Linux est parfois fastidieuse et le nombre et la complexité des paramètres déroute parfois les utilisateurs même les plus avertis. Il s'agissait d'améliorer la convivialité de la distribution Mandrake Linux grâce à une palette d'outils de configuration simple pour l'utilisateur final et évolutifs et modulaire pour les développeurs. Voici donc la description de ces projets et la contribution que j'y ai apportée :

Le premier projet qui m'a été confié est DrakWizard. C'est un outil de configuration de serveurs. Le programme en lui même ne configure rien mais permet le chargement et l'utilisation de modules spécifiques. Il existe aujourd'hui une dizaine de modules configurant chacun un type de service du système. Une précédente version était programmée en langage Java mais n'était plus mises à jour depuis plusieurs années pour de multiples raisons. Ce projet consistait à poursuivre la traduction du code en langage Perl. Un version déjà en partie traduite du programme Drakwizard existait avec environ 30% des fonctionnalités requises pour l'ensemble des modules. J'ai donc finalisé cette traduction du programme en lui même mais aussi de celle des modules, ce qui représentait le plus gros du travail. Cette nouvelle version permettra une mise à jour plus facile.

J'ai ensuite intégré l'équipe en charge du projet Naat. C'est un outil d'administration de machines en local ou sur le réseaux via, pour l'instant, une interface Web. Il s'agit d'une refonte totale par rapport aux deux précédentes versions. En vue de son intégration dans divers projets il devait faire les preuves de son exploitabilité. Après finalisation du moteur et implémentation de quelques modules il a pu être présenté et validé par une commission. Au sein de l'équipe de quatre personnes, j'étais en charge de cette finalisation et de la création des modules.

Enfin et pour cloturer mon stage, j'ai travaillé sur DrakConnect. C'est un outil de configuration des connexions réseaux pour le système Mandrake Linux (ADSL, modem, câble, LAN) utilisé dès l'installation. Afin de permettre une meilleur intégration de cet outil au sein de la distribution, les informations de configuration du système sont désormais extraite du système lui même. Auparavant, lors de la mise à jour des paramètres, un fichier propre à Drakconnect contenait un doublon des informations afin de faciliter la récupération des informations lors d'une prochaine exécution du logiciel. Il a donc fallu réaliser les parseurs nécessaires à la lecture de la quasi totalité des paramètres réseaux de la distribution (en fonction des logiciels de connexion proposés dans celle ci), directement à partir du système. Ensuite, le remplacement de l'ancien parseur par les nouveaux a été effectuée.

En parallèle de ces projets, j'étais en charge d'un certains nombre de logiciels inclus dans la distribution Mandrake Linux. Les dernières évolutions de ces derniers (nouvelles versions, correctifs, optimisations) sont intégrées dans la distribution grâce à un format spécifique de packaging. Il est alors très facile pour l'utilisateur d'ajouter, de supprimer ou de mettre à jour un logiciel de la distribution.

Ce stage bien qu'axé sur un aspect particulier de la distribution, à savoir la création d'assistants de configuration m'a permis de découvrir diverses activités et modes de travail de MandrakeSoft. D'autre part, les rouages de la configuration du système Linux sont complexes et intéressants et permettent de mieux comprendre les Unix en général.