Intégration de logiciels Open-Source dans un ordinateur simplifié basé sur Linux Stage du 6 avril au 30 juin 2006
Le cadre du stage : L’Ordissimo
Qu’est-ce que l’Ordissimo ? Le principe : un ordinateur complet, simple à utiliser, destiné aux débutants.
L’environnement de travail
Linux, un OS à maîtriser Système d’exploitation entièrement libre, privilégiant l’interface textuelle plutôt que graphique Utilisé sous forme de distribution s’adaptant aux besoins
Le shell : couteau suisse du développeur Shell utilisé : interpréteur de commandes Permet d’accéder à toutes les fonctions de l’OS Possibilité de faire des scripts, d'enchaîner simplement des commandes etc... => Le shell est l’outil le plus utilisé par le développeur de part sa puissance mais aussi du manque d’équivalent graphique
Des outils simples et puissants Le shell permet d'utiliser de nombreux outils : Apt : utilitaire pour télécharger facilement des paquets Ssh : obtenir un shell distant Scp : transfert de fichiers entre ordinateurs distants Et bien plus encore.
Pourquoi Linux pour l’Ordissimo ? Pas besoins de développer entièrement un nouvel OS Développement et support assurés par d’autres développeurs Possibilité de modifier entièrement l’OS Système de dépôts/paquets pratique pour des mises à jour
Les conséquences sur le stage Un temps d’apprentissage à été nécessaire Très bon complément à la formation du DUT Cela m’a permit de découvrir des alternatives aux logiciels payants
L’intégration de logiciels
1ere étape : tester le logiciel Le logiciel répond-t-il aux besoins des utilisateurs de l’Ordissimo ? Quel sont les modifications à apporter ? Compatibilité avec l’Ordissimo Compromis entre volonté commerciale et technique Le logiciel peut-il/doit-il être intégré ? Stade de développement du logiciel Quid du support des développeurs ?
2ème : l’architecture du logiciel 1er contact : le langage utilisé Caractéristique du code : objet, compilation etc… Techniques employées
Organisation du logiciel Plus ou moins lié au langage utilisé Design Pattern (Motif de conception) Conventions utilisées Logiciels tiers utilisés Sur quelle(s) partie(s) les modifications vont- elles être faites ?
3ème étape : le développement Implémentation des modifications L’outil indispensable : Internet ! API et documentation officielle Tutoriaux et exemples Forums d’entraide
4émé : les tests Les modifications fonctionnes-t-elles ? Faire tester à d’autres développeurs/utilisateurs Répondent-t-elles au besoin initial ? 2ème série de tests = nouveaux besoins identifiés ?
5ème étape : Intégration finale Faire la liste des dépendances/paquets Conflits avec d’autres paquets ? Nécessité de garder une compatibilité avec les autres logiciels La mise à jour se déroule-t-elle correctement ?
Conclusion Expérience professionnelle Mise en pratique des connaissances acquises durant le DUT Découvertes de nouveaux outils/langages/techniques Meilleur compréhension de la place de l'informatique dans une entreprise