COUPRIAUX Mathieu Licence Informatique Université de Franche Comté Stage de troisième année Du 10/03/08 au 30/05/08
PSA PEUGEOT CITROËN
PORTAGE DE SITES WEB D’UNIX VERS LINUX
Maître de Stage : M. Patrick LEGOLL Responsable de Stage : M. Frédéric DADEAU
REMERCIEMENTS
Avant tout développement sur cette expérience, il apparaît opportun de commencer ce rapport de stage en remerciant toutes les personnes qui ont eu la gentillesse de m’aider tout au long de ces douze semaines. Je tiens tout particulièrement à remercier mon maître de stage M. Patrick LEGOLL (Responsable du pôle transversal Unix) qui m'a formé et accompagné tout au long de mon stage avec beaucoup de patience et de pédagogie. Je remercie également M. Sébastien Desjardins, Expert système produit au pôle transversal, pour son soutient technique. Il a été un contact important pour la réussite de ce projet. Merci également à M. Emmanuel de Mones, responsable du service ETSO/SRVA, sans qui ce stage n'aurait pu avoir lieu. Je le remercie pour tout le soutient qu'il m'a apporté. Je remercie le personnel du pôle AIX, et plus généralement tout celui du service ETSO/SRVA pour le chaleureux accueil qu’ils m’ont réservé dés mon arrivé dans l'entreprise. Enfin, je remercie M. Frédéric Dadeau, mon responsable de stage au sein de l'université de Franche Comté, pour m’avoir suivi tout au long de ce projet.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 2
SOMMAIRE
INTRODUCTION
4
L’ENTREPRISE ET SON SECTEUR D’ACTIVITE
5
PRESENTATION DU SUJET
8
CAHIER DES CHARGES
12
MISE EN OEUVRE
18
LE BILAN
30
CONCLUSION
32
GLOSSAIRE
33
TABLE DES ILLUSTRATIONS
Erreur ! Signet non défini.
BIBLIOGRAPHIE
34
TABLE DES MATIERES
35
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 3
INTRODUCTION
Ces dernières décennies ont été la source de nombreuses avancées technologiques. L'une d'elle, le transistor, a constitué une invention déterminante sans laquelle l'électronique et l'informatique ne posséderaient pas leurs formes actuelles ; il a permis à la société de l’information électronique de se développer. Grâce à l'informatique, de nombreuses tâches fastidieuses ont disparu. Les grandes entreprises, toujours à la recherche de solutions leur permettant d'améliorer leur productivité, ont bien évidement investi dans ce domaine. PSA Peugeot Citroën, deuxième constructeur automobile européen, a tout naturellement informatisé son parc pour améliorer son rendement en automatisant certaines tâches. Cependant l'informatique est un domaine en continuel évolution et les enjeux économiques et stratégiques des entreprises changent. Ainsi, dans une optique de tout passage sur l'architecture X86, PSA Peugeot Citroën a décidé de désengager certaines machines Unix (IBM, HP, ...). Bien sûr, dans le cas d'un tel changement, il est nécessaire de conserver toutes les applications présentes sur le serveur d'origine. Une simple copie des applications ne suffit pas toujours. De plus, le portage d'une application est souvent l'occasion de faire certaines modifications, pour l'améliorer, la rendre plus propre, se rapprocher des standards de l'entreprise ou encore la sécuriser. Pour répondre à cette problématique concernant l'un de leur serveur, le service ETSO/SRVA a décidé de proposer cette opération sous forme d'un stage. Le but principal de celui-ci est de porter la plupart des applications présentent sur un de leur serveur (nommé BEAHAA) vers l'architecture X86. La vocation de ce rapport de stage est de vous rendre compte du travail accompli durant ce projet. Dans un premier temps, il vous présentera l'entreprise dans laquelle ce stage a été effectué et le sujet qu’il traite. Par la suite, sera exposé le cahier des charges et présenté l'architecture des différents sites. Ensuite la mise en œuvre des actions effectuées sera décrite et les problèmes rencontrés seront présentés. Pour finir, un bilan sera dressé. Celui-ci opposera les solutions proposées aux besoins de l'entreprise. Enfin, on synthétisera en quelques lignes le déroulement de cette expérience professionnelle avec un regard critique sur l'ensemble du stage.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 4
L’ENTREPRISE ET SON SECTEUR D’ACTIVITE
PSA PEUGEOT CITROËN
PSA Peugeot Citroën est un constructeur automobile français privé, avec la famille Peugeot comme actionnaire principal et qui contrôle donc les marques automobiles Peugeot et Citroën. Le groupe est le deuxième manufacturier européen, derrière le groupe allemand Volkswagen AG. PSA (Peugeot Société Anonyme) est fondé en 1965 pour former la holding du groupe automobile du même nom. Il s'agit en fait d'un transfert juridique de la Société des Automobiles Peugeot qui devient PSA. La naissance de PSA Peugeot Citroën intervient en 1976, lorsque Peugeot SA fusionne avec Citroën SA (il s'agit en réalité d'une absorption de la seconde par la première). PSA va alors développer une synergie entre ses marques et développer des projets sur les mêmes bases, pour réduire les coûts de production. Les ventes de véhicules de PSA Peugeot Citroën ont augmenté, en 2007, de 3,8%, pour atteindre les 3 233 000 unités. Ce résultat traduit de bonnes performances à l'international (+11,1%) et plus particulièrement dans les zones prioritaires (Chine, Mercosur, Russie) où les ventes ont progressé de 16,1%. Le Groupe, fort de ses deux marques généralistes, Peugeot et Citroën, s'est donné pour objectif de dépasser, en 2010, les 4 millions de véhicules vendus, de consolider sa position de numéro 1 de la voiture écologique et d'atteindre une marge opérationnelle entre 5,5 et 6%. Son ambition pour 2015 est de devenir le groupe le plus compétitif d'Europe et largement internationalisé.
Outre l'activité automobile, le Groupe comprend également : Un équipementier, Faurecia, leader européen et numéro 2 mondial dans la plupart de ses métiers (sièges, échappements,…). Gefco, entreprise de transport et de logistique, 2ème en France dans son domaine. Des sociétés de financement fédérées par la Banque PSA Finance. Peugeot Motocycles (scooters et cyclomoteurs de 50 à 125 cm3), 3ème constructeur européen.
PSA Peugeot Citroën est implanté sur plusieurs sites comme Poissy, Sochaux et Mulhouse par exemple pour les sites de productions/assemblages de véhicules. Le site de Bessoncourt (dans le Territoire de Belfort) est quand à lui l'un des centres informatique de PSA Peugeot Citroën.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 5
LA DIRECTION DES SYSTEMES D’INFORMATION
La Direction des Systèmes d'information (DSIN) fait partie de la Direction des Cadres Supérieurs et de l'informatique (DCSI). Elle intervient dans tous les secteurs d’activité (conception produit-process, production, commerce, gestion …) du groupe PSA Peugeot Citroën pour concevoir, développer et exploiter les systèmes d’information. La DSIN est aujourd’hui présente sur 66 sites ou filiales du Groupe en France et à l’international (Angleterre, Espagne, Argentine…). De la mise en œuvre des solutions adaptées jusqu'à l’exploitation au quotidien des systèmes, la DSIN (composée de 2500 collaborateurs) a pour objectif de satisfaire les utilisateurs et de servir les objectifs stratégiques du Groupe en proposant des produits et services de qualité.
L’ENTITE ETSO
L'entité ETSO a deux objectifs principaux : Le premier est d’assurer la mise en place des plates-formes logicielles et matérielles des serveurs, des postes de travail, et des moyens de stockage. Ceci comprend la définition des standards, les activités d’industrialisation, d’intégration et de déploiement des logiciels de base ainsi que des évolutions techniques. D'autre part l'entité ETSO devra mettre en place des solutions pour être capable à poursuivre ces activités en cas de sinistre et ainsi assurer la continuité du service DSIN. Le second objectif est un support opérationnel quotidien et continu, 7 jours sur 7 et 24h sur 24, sur l'ensemble des sites du Groupe.
LE SERVICE ETSO/SRVA
Le service SRVA, équipe de 25 personnes, fait partie de l'entité ETSO (au même titre que DBDC1 et ETSE2 entre autres). Ce service a pour objectif de maîtriser, supporter et faire évoluer les moyens logiciels et matériels des serveurs UNIX de PSA, afin que les applications qui s’y exécutent bénéficient d'un fonctionnement optimal et de qualité. 1
Outils de gestion des bases de données
2
Expertise Technique et Support Espagne (responsable du site web Guardian)
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 6
D'autre part, ETSO/SRVA doit définir, maintenir et appliquer ou faire appliquer les standards PSA, grâce à une expertise développée sur les techniques et systèmes d’exploitation UNIX utilisés dans le groupe. Pour assurer l'expertise de chacun des systèmes UNIX utilisés chez PSA, le service est découpé en pôles : un groupe d’expert par OS. Cette organisation a pour but de répondre au besoin d’expertise sur les systèmes d’exploitation UNIX, cependant elle n’est pas cloisonnée et doit permettre aussi d’accroître la compétence de chacun sur d’autres systèmes d’exploitation UNIX.
LE POLE TRANSVERSAL
Il regroupe l’activité associée au développement et à l’industrialisation des outils communs à l’ensemble des plates formes ou aux opérations transversales.
Il réalise les opérations suivantes : Étude, développement et mise en place de l’architecture USA Étude, développement et mise en place des outils de distribution Étude, développement et mise en place des outils transversaux (surveillance des systèmes, gestion des comptes). Modifications à réaliser sur l’ensemble des serveurs du parc.
Ce pôle est composé de trois personnes: M. Legoll (mon maître de stage), M. Desjardins (qui m’a apporté un soutien technique), et un apprenti.
L’ENVIRONNEMENT DE TRAVAIL
Pour ce stage, j'ai donc été rattaché au pôle transversal du service ETSO/SRVA. A cause d’un souci de place dans le bureau, j’ai été installé dans le bureau du pôle AIX (à proximité du pôle transversal). Comme outil de travail, un ordinateur portable avec Linux préinstallé a été mis à ma disposition.
Une fois l'entreprise et l'environnement de travail décrit, passons à la présentation du sujet.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 7
PRESENTATION DU SUJET
Les divers sites Web du service SRVA et plus globalement ceux de l’entité ETSO sont utilisés depuis de nombreuses années. C'est certains de ces sites qu'il m'a été demandé de porter d’un environnement HP-UX/iPlanet vers Linux/Apache*. Ceux-ci peuvent être classés selon trois catégories. D'une part, deux de ces applications (SRVA et DBDC) sont des sites Web d’entité; ceux-ci sont les sites des services eux même. Leur contenu est principalement une présentation du service, de la documentation, des informations utiles et des outils. D’autre, il existe le site Web Guardian qui est rattaché au site d’entité du service ETSE. Celui est en rapport avec le système d’exploitation éponyme. Pour finir, tous les autres sites sont rattachés au site d’entité du service SRVA. Ceux-ci sont globalement des outils, le plus généralement d'administration, fournis pas le service SRVA. Ils permettent par exemple de remonter les incidents de toutes les machines du parc avec le site Web SUSANE ou encore de distribuer des produits (ou logiciels) facilement (cf. CADIX). Ces diverses applications se doivent de rester opérationnelles étant donné l'activité au sein du service. Ainsi, dans un premier lieu, nous allons définir les besoins de l'entreprise, puis nous analyseront l'existant et nous finirons par définir le sujet du stage dans ses axes principaux.
BESOINS DU SERVICE E TSO/SRVA
Comme dans toute grande entreprise, des outils sont développés pour améliorer la productivité, faciliter la vie des utilisateurs, éviter les interruptions de service ... Ici, les utilisateurs sont globalement tous les employés de la DSIN. Toutefois, pour certains sites, l’accès est plus réglementé. Nous avons vu que l'une des missions du service ETSO/SRVA était de maîtriser, supporter et faire évoluer les moyens logiciels et matériels des serveurs UNIX de PSA. Cette activité est essentiellement une activité d'administration. Il est tout à fait naturel de vouloir automatiser ce genre de tâches. Étant donné la nature de l'activité du service et le nombre de personnes y travaillant, il est nécessaire de fournir une interface simple à ces outils. Pour ces raisons, de petits sites Web sont nés. Certains de ces outils fournissent des services simples comme la gestion des comptes utilisateurs (modifications, déploiement, clonage de comptes sur différentes machines …).
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 8
D’autres sont des interfaces Web à des outils beaucoup plus complexes. Ceux-ci permettent, par exemple, de gérer les alertes rencontrées sur les machines du parc (dans le cas de SUSANE). Certains sites fournissent plutôt des outils d’aide à la décision en générant des graphiques ou des tableaux alors que d’autres offrent un service de partage de la connaissance. Ceci est très utile pour les personnes qui sont, par exemple, en astreinte (car elles ne possèdent pas forcement des connaissances pointues dans tous les systèmes d’exploitation).
L’EXISTANT
Le service ETSO/SRVA n'a bien sûr pas attendu pour se doter d'outils lui permettant de facilité son travail. Différentes applications ont été développées au fil du temps pour répondre aux besoins apparaissant. Celles-ci ont beaucoup évolué. Beaucoup de travail a été effectué pour les maintenir et leurs ajouter des fonctionnalités. Nous allons donc étudier les outils existants en mettant en évidence les caractéristiques de ceux-ci. Les anciennes versions des sites, réalisées en moyenne il y a plus de 4 ans sur un environnement HP-UX, ont été développées par plusieurs personnes. Les technologies utilisées sont généralement le langage Perl* et le langage Shell couplés à l'utilisation des CGI* qui permet une utilisation Web. Le système de gestion de bases de données utilisé par défaut est Oracle* dans ses versions 7.33, 8.17 ou 9.20. Le serveur HTTP choisit est iPlanet 6.0. Un système d'authentification grâce à un annuaire LDAP* utilisé via iPlanet est mis en place. Celui était complété par un système d'ACL.
Les sites sont nombreux et ont été développés ou modifiés par plusieurs développeurs différents. Ainsi, différentes techniques de programmation ont été suivies. Une partie des sites ont été développés selon une approche impérative. C'est le cas notamment de tous les sites Web d’entités. Cependant, certains sites comme Cadix (outils de distribution des produits) suivent le paradigme objet. Globalement, la plupart des sites à porter étaient fonctionnels sur l'ancienne version. Cependant, certaines fonctionnalités non critiques présentaient des problèmes. Soit elles fonctionnaient mal, soit elles n'étaient plus mises à jour.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 9
LE SUJET DU STAGE
Le stage se déroule en deux temps. Dans un premier temps, la priorité est mise sur le portage à proprement parler des différents sites. L'accent est placé sur la non-régression par rapport à l'ancienne version. Dans un deuxième temps, il faudra corriger les différents problèmes subsistants sur les sites, remplacer les éléments obsolètes, améliorer la sécurité des sites et pour finir mettre le site aux normes PSA.
LA MIGRATION
Il est tout d'abord demandé de porter tous les sites de l'ancienne machine vers la nouvelle. Ceci implique plusieurs choses. A l’origine, la plupart des fichiers des sites étaient présents dans le même répertoire. Il a été demandé de séparer les fichiers de manière à ce que chaque site soit indépendant l'un de l'autre. En même temps, il faudra adapter les sites au nouveau serveur. Étant donnée l'utilisation de Apache au lieu de iPlanet, il faudra modifier la gestion de l'authentification. Plus généralement, il faudra mettre en œuvre diverses solutions pour se rendre moins dépendant de l'architecture de la machine et des outils utilisés.
L’AMELIORATION
L'amélioration de l'existant comprend plusieurs étapes. Tout d'abord, l'accent est placé sur la mise aux normes PSA. Ainsi, il est demandé d'adapter les nouveaux sites à la charte graphique de PSA. Cette mise aux normes passe aussi par l'utilisation de noms de dossiers et de fichiers conformes à ces normes. D'autre part il est requis d'améliorer au mieux la sécurité des sites. Ceci passe bien sûr par le placement des bons droits d'accès sur les fichiers. Puis il faudra mettre en place des connexions distantes sécurisées avec l'utilisation exclusive de SSH et SCP (au lieu de remsh, rcp ...). Ensuite, il sera nécessaire de réduire au maximum l'utilisation de la commande op (équivalent interne de la commande su). Par la suite, on devra supprimer l'ensemble des modules obsolètes et les remplacer par les nouveaux. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 10
Pour finir une phase correction des problèmes et de suppression de tout ce qui n'est plus utilisé aura lieu. Cette dernière facilitera les développements prochains et permettra d'avoir une meilleure compréhension des différents sites. Finalement, il est demandé de mettre en place une solution SVN simple. En effet, les sites sont en continuelle évolution et de nombreuses personnes peuvent être amenées à travailler dessus. Utiliser un système de gestion des configurations devrait être très profitable à l'avenir.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 11
CAHIER DES CHARGES
La formulation des besoins est une phase qui permet de s'assurer que tout le monde est en accord avec la définition de ce qu'il faut faire. Dans cette partie, nous allons définir exhaustivement les spécifications de base des applications et en décrire les modalités d'exécution. Par ailleurs, on définira aussi les objectifs à atteindre pour cette mission. Pour ce faire, nous traiterons le sujet sous deux angles. Dans un premier temps, nous présenterons les deux sites Web identités et le site Guardian. Ensuite, nous étudierons plus particulièrement aux divers outils rattachés au site Web SRVA. Ainsi, nous nous intéresserons, entre autres, au site Web de la gestion des comptes, de la gestion des GID, de la gestion des services, du déploiement d'application (Cadix), de la gestion des incidents (Susane), de la gestion des patches et des statistiques sur les accidents (SDI).
WEB ETSO/SRVA
L’accès au WEB spécifique ETSO/SRVA se fait à partir du WEB général ETSO.
Le WEB ETSO/SRVA contient : La configuration de tous les serveurs UNIX, avec un historique des 5 dernières configurations (partie webdique). Les statistiques concernant les serveurs UNIX en termes d’utilisation (logistique, applications, par projets), de répartition par constructeur et par site, de constitution des clusters (partie statistiques). La documentation technique SRVA, notamment celle nécessaire à l’astreinte (partie partage des connaissances). Les offres de prix (accès protégé), Les comptes-rendus d’activités de certains pôles générés automatiquement
DBDC
Le site Web DBDC étant le site Web identité du service éponyme, il fournit de base les fonctionnalités suivantes : présentation du service et de ses missions gestion de la documentation gestion des alertes et incidents du service Il propose, en plus de ces trois services, des comparatifs de différents systèmes de gestion des bases de données et un moteur de recherche de la documentation. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 12
GUARDIAN
Guardian fait partie du Web identité du service ETSE. Il offre de fonctionnalités très simples qui sont une présentation des serveurs Tandem et un partage de la documentation. Nous allons maintenant explorer les différents sites-outils rattachés au service SRVA.
GESTION DES GID
Ce site est l'un des plus simples. Le but de cette application est d'offrir un outil permettant de réserver des GID pour certains comptes pouvant être déployé sur un grand nombre de machines du parc. Ainsi, on réduit au maximum les risques d'interférence entre les différents comptes déployés sur les différentes machines. Pour ce faire, cette application devra présenter trois fonctionnalités assez évidentes. Tout d'abord, on devra pouvoir réserver un nouveau groupe. Optionnellement, on pourra rajouter un commentaire et une liste d'utilisateurs secondaires. Une deuxième fonctionnalité nécessaire est la possibilité de faire des recherches dans la liste des GID réservés (en fonction du numéro de GID, du nom de compte...). Pour finir, on devra pouvoir afficher les comptes ou GID qui ont été enregistrés en doublons. Il est à noter qu'ici l'authentification par défaut n'est pas suffisante. On veut rajouter en plus un filtre sur le groupe de l'utilisateur (pour ainsi n'autoriser que les personnes ayant un droit d'administration).
GESTION DES COMPTES
Ici, on souhaite fournir une interface simple à l'administration des comptes présents sur les différentes machines UNIX (cf. /etc/passwd). Il est bien question de gérer l'ensemble des comptes disponibles (des comptes systèmes aux comptes des différents utilisateurs). COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 13
Il existe deux familles de fonctionnalités. Tout d'abord, on veut pouvoir afficher toutes les informations d'un compte préalablement renseigné. Ainsi, ont pourra obtenir par exemple la liste des machines sur lesquelles le comptes existe. De plus, les caractéristiques des comptes seront affichées : le libellé du compte, son UID, son groupe, son Shell ... (toutes les informations présentes dans le fichier /etc/passwd). En plus de tout cela, la liste des comptes secondaires sera donnée. Le deuxième type de fonctionnalité est la modification ou la création des comptes. En effet, cet outil permet de créer un compte en sélectionnant un serveur sur lequel il existe déjà (duplication). Par défaut, c'est le dernier serveur de la liste qui est sélectionné car c'est sur cette machine que le compte a été créé en dernier. Pour finir, pour ce site aussi, l'authentification par défaut ne sera pas suffisante. En effet, deux types de personnes auront le droit d'accéder au site. D'une part, les administrateurs qui auront tous les droits, et d'autre part, les utilisateurs de Seculogique, qui ne pourront créer que des comptes avec des droits restreints. Ce site est une interface frontale à des commandes en ligne se trouvant sur un autre serveur.
GESTION DES SERVICES
Ce site doit permettre d'administrer facilement le fichier /etc/services des machines du parc. Il recense la liste des services disponibles sur une machine. Pour chaque service on peut obtenir un numéro de port et le protocole utilisé. Ici, une authentification supplémentaire doit être mise en place grâce à l'annuaire LDAP. En effet, on souhaite que seules les personnes du service SRVA puissent y accéder pour gérer la table de référence des services, les autres entités ne gérant que le fichier /etc/services de leurs propres machines. Ce site possédera deux accès. D'une part, on pourra afficher l'ensemble des services qui ont été déjà rajoutés globalement sur toutes les machines du parc. A partir de là, on pourra ajouter ou supprimer des services. D'autre part, on pourra obtenir l'ensemble des services pour une seule machine. Là aussi il sera possible d'ajouter ou de supprimer des services en fonction des droits que l'on possède.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 14
Lors des différents affichages, la mise en couleur de certains services permettra de connaître l'état d'avancement de leurs mise en place (port ajouté dans la base mais pas encore dans le fichier /etc/services, port supprimé dans la base mais pas encore supprimé du fichier /etc/services ....)
CADIX (DISTRIBUTION DE PRODUITS)
CADIX est un outil d’industrialisation des produits sous UNIX. Ainsi, l'objectif essentiel de ce produit est de fournir tous les outils permettant la distribution de produits3; à savoir la création d'une nouvelle distribution, la visualisation des distributions, la délégation de distributions et l'industrialisation de produits. Ainsi, les différentes fonctionnalités nécessaires sont :
Aide à la création d’une distribution ; Distribution unitaire en mode interactif ou en ligne de commande ; Distribution en masse avec une liste de serveurs (mode non interactif) ; Distribution de produits en mode serveur-client ; Gestion des produits avec licence ; Vérification et mise-à-jour de REFLOG
SUSANE (SURVEILLANCE DES SYSTEMES UNIX)
Il existe en fait deux applications Susane. La première est le produit Susane en lui même. La seconde est le site Web Susane qui offre une interface simple au produit Susane. C'est cette dernière application qu'il m'a été demandé de porter.
LE PRODUIT SUSANE
SUSANE est un logiciel de surveillance système Unix basé sur le principe des démons, c'est-à-dire un processus qui tourne en permanence et qui lance des commandes avec des temporisations. Il est composé de modules de surveillance communs et des modules spécifiques aux OS. Ces modules envoient des alertes et des incidents.
3
Fonctionnalité permettant d'installer des logiciels sur les différentes machines du parc.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 15
LE SITE WEB SUSANE
Ce site Web permet de recenser les serveurs où SUSANE est installé, de connaître l'état des différents modules et de consulter les alertes envoyées par SUSANE. Ainsi, on devra pouvoir voir l'état du parc (machines avec au moins un module KO), faire une recherche de machine ou une recherche d'alerte, consulter des statistiques, afficher les machines dont les modules possèdent des fichiers locaux de configuration ...
GESTION DES PATCHES
Le site de gestion des patches doit offrir les fonctionnalités suivantes :
installation d'un patch (ou un ensemble de patches) sur un ensemble de machines. demandes de patches consultation des demandes de patches recherche de patches ou de machines comparaison de machines gestion des failles
SDI
Le site de la SDI gère tout ce qui est changements et incidents au sein du service SRVA.
LES CHANGEMENTS
Les changements concernent toutes les actions réalisées par ETSO/SRVA sur les serveurs dont nous avons la responsabilité. Cet outil permet donc d'afficher l'état des changements (préparé, non-préparé ...) ainsi que les informations s'y rapportant pour chacun des pôles du service SRVA.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 16
LES INCIDENTS
C'est l'outil utilisé depuis 2004 pour le traitement des incidents. Les incidents sont toutes les erreurs plus ou moins graves rencontrées sur les différentes machines. A l'instar des changements, cet outil permet d'afficher l'état des incidents (traité, en attente ...) ainsi que les informations s'y rapportant pour chacun des pôles et chacun des utilisateurs.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 17
MISE EN OEUVRE
Si nous omettons le temps passé en début du stage à l'installation et la présentation des normes de sécurité, celui-ci peut se découper en trois parties. Tout d'abord, il y a eu une phase de prise en main et de compréhension de l'architecture des divers sites. Ceci a conduit directement à une phase d'analyse du travail existant afin de déterminer le fonctionnement des divers sites et les modifications à leur apporter. Ensuite la phase de portage sur la version de développement a eu lieu. Logiquement, c'est celle-ci qui a demandé le plus de travail. La dernière étape a été une phase de test pour s'assurer que toutes les applications d'une part ne présentaient pas de régression, et, d'autre part, que toutes les données étaient bien mises à jour correctement.
ANALYSE DE L’EXISTANT
L'analyse du travail existant se décompose en trois étapes. Tout d'abord, l’application sera globalement analysée. Ensuite nous comprendrons l'architecture globale des sites. Pour finir, nous étudierons les diverses interactions externes avec les autres machines.
BEAHAA
BEAHAA, nous l'avons vu, est le nom du serveur HP devant être désengagé. Il m'a été demandé de porter une partie des sites Web présents sur cette machine vers Linux. Les autres sites avaient soit déjà été portés, soit étaient en cours de développement. Ces différents sites, existent depuis un certain temps, une dizaine d'années pour les plus vieux. Ainsi, ces applications ont largement eu le temps de prendre racines dans les mœurs des utilisateurs. Ces outils ont été réalisés au cours du temps par une demi-douzaine de personnes. Ils ont été développés pour répondre aux besoins du service au fil des demandes. Le développement des différents sites a parfois été effectué en vie courante. Ainsi, une démarche projet n'a pas toujours été suivie.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 18
Les différents outils étant rattachés au site SRVA, la plupart de ces sites ont directement été greffés sur celui-ci (physiquement et logiquement). De part une volonté de modularité, il a été nécessaire de rendre tous ces sites indépendants les uns des autres. Il s'agit alors, dans un premier temps de porter la plupart des sites de la machines BEAHAA vers une machine Linux en les rendant bien indépendants les uns des autres en utilisant des URL dédiées.
L’ARCHITECTURE
Il existe, comme nous l'avons vu, trois sites Web principaux : ce sont deux sites Web "identités" des services en eux mêmes (SRVA, DBDC), ainsi que le site Web Guardian. Parmi ces trois sites, il en existe un qui est particulièrement important au niveau de sa taille : le site Web du service SRVA. Celui-ci propose en effet des fonctionnalités utilisées par beaucoup d'autres services. Celles-ci sont bien sûr utiles aux autres services de l'entité ETSO, mais aussi aux indus (personnes qui s'occupent de l'industrialisation des produits) et au pupitre (qui gère les alertes à la racine) par exemple. On peut citer dans cette catégorie d'outil, le Webdisque qui fournit des informations assez exhaustives sur la configuration matérielle et logicielle des machines UNIX. D'autre part, il existe une autre catégorie d'outils. Ce sont des sites indépendants mais qui sont rattachés au service SSRVA. Ce sont entre autres les sites Web Gestion des comptes, Susane, gestion de patch ... Il a fallu un certain temps pour comprendre l'architecture des sites lors de l'étape de prise en main.
LES INTERACTIONS
Étant donné la multitude de sites à migrer, la diversité des personnes ayant participé à leur conception et les contraintes inhérentes à PSA Peugeot Citroën; les méthodes et sources de stockages des données sont multiples. On peut toutefois les classer selon diverses catégories non exclusives. Tout d'abord, il existe le cas des bases de données. Elles sont nombreuses, mais l'une d'elle est une référence : REFLOG (référentiels des logiciels et des matériels). C’est une base de données ORACLE permettant le suivi des logiciels installés par les équipes ETSO sur les différentes machines. Chaque installation (ou mise à jour) de logiciel COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 19
sur une machine fait l’objet d’une mise à jour de cette base de référence. Elle permet de connaître l’état du parc. Une autre base de données beaucoup utilisée est celle du SITE SRVA. Celle-ci est potentiellement utilisée par tous les sites liés à SRVA. Bien sûr, divers autres site comme Susane, gestion de patches ont leur propre base de données. D'autres méthodes de stockage des données existent comme le stockage distant, les fichiers texte ... Ces sources de données peuvent être mises à jour par des scripts se lançant depuis la cron ou encore par des scripts exécutés à distance sur toutes les machines du parc ...
REALISATION DE L’APPLICATION
Afin de vous présenter la réalisation de l'application, nous allons décrire celle-ci sous plusieurs aspects. Dans un premier temps, nous étudieront le planning prévisionnel et le compareront au planning effectif. Ensuite nous vous présenterons le déroulement des opérations pendant tout la durée du stage. Puis nous expliquerons dans les détails les différents développements effectués.
LA PLANNING
LE PLANNING PREVISIONNEL
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 20
LE PLANNING EFFECTIF
Ce planning a été globalement respecté dans sa trame principale. Toutefois, il est à noter que du retard a été pris vers le milieu du développement. Ceci est du principalement au fait que le travail nécessaire pour la partie webdisque (qui aurait pu être un site à part entière tant les fonctionnalités qu’elle propose sont multiples) a été sous-estimé. Une erreur d'appréciation a aussi eu lieu pour la gestion de l'authentification. En effet le travail à effectuer pour la gestion des services applicatif (préalablement faites par Netscape et les ACL) a du être revoir à la hausse. D'autre part les tests on aussi représenté plus de temps que prévu (a cause des interactions avec les autres serveurs du parc). Étant donné que nous avions prévu de finir le travail demandé un peu avant la fin du stage, cette erreur d'appréciation, ne devrait pas avoir de répercutions directes.
LE DEROULEMENT
Le projet s'est déroulé globalement en trois grandes phases. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 21
Une première est le travail sur une version de développement. Ensuite est venue une phase de test et pour finir une phase de mise en production. Étant seul à développer sur une grande partie du projet (à part pour Susane et Gestion de patches), j'ai été relativement libre dans mon travail. Après la phase de prise en main, nous avons commencé à porter les sites en parallèle en fonction des points qui étaient traités pour obtenir un environnement de travail correct. Nous en avons profité pour corriger les problèmes les plus évidents. Ensuite pour chaque site, nous nous sommes penchés sur le code pour bien corriger tous les problèmes. Pendant cette phase, nous en avons profité pour supprimer ou modifier tous les éléments obsolètes. Par la suite, nous nous sommes occupés de toute la partie sécurisation et nous avons sur la création de nouvelles bases de données et la correction de certaines requêtes.
Passons à la phase de test. Une fois les applications portées, nous avons effectués des tests rapides sur celles qui n'étaient pas critiques. Cependant, certains sites ont demandés des tests plus poussés. Ceux-ci sont les applications qui ont des interactions avec d'autres machines ou bases de données globales. C'est, par exemple, le cas de la partie Webdisque du site SRVA. Celle-ci présente en effet deux contraintes. D'une part cet outil est susceptible de recevoir des données et d'envoyer des programmes sur tout le parc de machines Unix. Ceci est mis en place pour la remonté de config : à chaque redémarrage d'une machine, celle-ci envoie des informations sur le serveur BEAHAA. La solution pour l'adapter à la nouvelle machine est de mettre l'adresse DNS de l'ancienne machine sur la nouvelle. Mais, il a fallu vérifier au préalable que toutes les applications encore présentes sur l'ancienne machine n'était pas impactées. D'autre part, pour le Webdisque, elle concerne la récupération des informations sur les disques des machines du parc. Ici c'est un script qui est envoyé sur toutes les machines du parc chaque semaine (pour être sur d'avoir la bonne version). Il a donc fallut vérifier que ce mécanisme continuait à fonctionner (surtout que les informations remontaient bien vers le nouveau serveur).
Pour le passage en production, nous avons du tout d'abord installé tous les modules utilisés sur la nouvelle machine. Ceci passe l'installation des modules Perl et Apache nécessaires, des différentes applications pour la sécurisation (Api LDAP, module suexec) ... Ensuite il a fallu créer les bases de données sur la nouvelle machine. La phase suivante a été l'écriture de scripts permettant de mettre rapidement à jour toutes les sources de données sur la nouvelle machine afin qu'il y ait le moins de temps
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 22
possible (et donc de perte) entre le passage de l'ancienne version de production à la nouvelle. Des tests seront effectués de nouveau après suivi d'une correction d'éventuels bug ou régression.
Pour effectuer ce stage dans de bonnes conditions, j'avais à ma disposition deux ordinateurs virtuels pour un total de trois comptes utilisateurs. Sur ces deux machines (une de développement et une de production), je n'étais pas le seul à travailler; d'autant plus qu'il y avait déjà des applications en production sur cette dernière. J'ai donc tout naturellement effectué une bonne partie de mon stage sur la machine de développement et j'ai finis celui-ci sur celle de production. Je possédais un compte d'utilisateur normal que j'utilisais principalement pour me connecter sur les machines. J'utilisais un compte de développement spécifique pour une question de droits sur les fichiers. Pour finir j'avais accès à un compte administrateur que j'utilisais principalement lors de l'installation ou de la configuration des logiciels. Régulièrement je faisais des sauvegardes des développements vers la machines de production (pour ne pas avoir de problème en cas de problème matériel sur la machine de développement). Comme celle-ci était régulièrement sauvegardée par une solution interne à PSA, le risque de perte du travail effectué était infime.
LE PORTAGE
Dans ces grandes trames, le portage de l'application s'est effectué de la même manière sur tous les sites. Tout d'abord, une simple copie des fichiers a bien sûr été effectuée. Après il a fallu modifier l'architecture des sites et les adapter à la nouvelle machine. Ensuite, une phase de correction des différents problèmes a eu lieu. C'est cette dernière qui a pris le plus de temps. Devant le nombre de ligne de codes des différentes applications et le peu de commentaire disponible, cette tâche a été assez ardue. Il a bien souvent fallu relire le code ligne par ligne pour isolé le problème. Bien sûr la correction de celui-ci, une fois trouvée demandait rarement beaucoup de temps. Toutefois, parfois un problème de fond était soulevé et il fallu trouver des solutions pour le corriger. Toutefois, trois sites Web ont demandé un travail beaucoup plus conséquent.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 23
Les premiers sont le site Web Susane et le site de Gestion des patches. A l'origine ces deux applications étaient particulièrement liées. Pour m'occuper de ce portage, j'ai été aidé par M Patrick Bailat (mainteneur et développeur des deux sites). Celui-ci souhaitait profiter de la migration pour améliorer les sites plus en profondeur et les rendre plus portable. Ainsi, il m'a indiqué ce qu'il fallait faire. Il a lui même travaillé beaucoup sur ces deux sites.
Le troisième site à voir demandé beaucoup de travail est le site Web SRVA avec outils Webdisque et les Statistiques. A cause de la modification de l'architecte du site et des interactions avec les autres machines, il a fallu quasiment revoir chaque fichier ligne par ligne. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 24
En effet ces outils font énormément d'écriture et de modification sur le disque (ils sont d'ailleurs écrits pour une bonne partie en Shell) et les vérifications des codes retour n'étaient pas vraiment faites. Ainsi, suffisait-il, qu'un seul fichier n'ait pas les bons droits pour partir dans une boucle infinie. Une commande cd ne fonctionnant pas, pouvait conduire à l'écrasement de fichiers sur les disques durs. Les tests n'ont d'ailleurs pas été évidents à mettre en place. Le portage a été l'occasion de corriger quels problèmes (affichage des graphique qui ne fonctionnait pas, données pas mises à jour ...).
LES MODIFICATIONS
Pour répondre aux détails du cahier des charges, j'ai du apporter certaines modifications aux applications. D'une part, il a fallut revoir toute la gestion de authentification. Pour finir, nous avons du travailler sur l'amélioration de la sécurité des sites.
L’AUTHENTIFICATION
L'existant possédait un système d'authentification poussé reposant essentiellement sur les fonctionnalités internes du serveur Web iPlanet. A l'origine, les sites étaient découpés selon trois serveurs virtuels : Beahaa, Susane et Cadixsd. Le système reposait sur une authentification double. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 25
Il existait une authentification basée sur un annuaire LDAP pour chacun de ces trois serveurs. De plus, l'utilisation des ACL permettait de définir des droits sur chaque fichiers ou dossier des sites Web en fonction du service applicatif de l'utilisateur. A cause de la volonté de rendre chaque site indépendant et du passage à Apache, nous avons changé l'architecture d'origine. A partir de là, nous avons décidé de créer un virtualhost d'apache (serveur virtuel) pour chaque sites. A cause de cela, nous avons du faire en sorte que chaque site ait sa propre authentification. Alors, nous avons adapté chacun des sites pour que le logiciel Ssox les prenne bien en compte. Ce logiciel permet d'enregistrer le compte et le mot de passe de l'utilisateur. Ainsi, il n'est pas nécessaire de se connecter effectivement à tous les sites. Ainsi, une première authentification a été mise en place grâce au module authnz_ldap d’Apache. Celui ci permet de vérifier que l'utilisateur est bien dans l'annuaire LDAP et de renseigner certaines variables d'environnement comme REMOTE_USER. Nous avons vu qu'il était demandé d'être le moins dépendant possible des technologies utilisées. Ne voulant plus utiliser un mécanisme reposant sur les ACL, nous avons choisit de faire directement les requêtes LDAP dans les scripts concernés grâce à des fonctions préalablement développée. Pour ce faire nous avons choisit d'utiliser l'API LDAP interne à PSA Peugeot Citroën.
LA SECURISATION
Pour répondre à cette demande, nous avons effectués les actions suivantes. Tout d'abord, nous avons choisi de faire tourner Apache avec un utilisateur possédant le moins de droit possible : nobody. Ensuite, nous avons revu tous les droits des fichiers ainsi que leur propriétaire. Le fait d'utiliser l'utilisateur nobody a engendré quelques problèmes. En effet, certains scripts avaient besoin de lancer de commandes en tant qu'administrateur. Pour corriger ce problème, nous avons décidé d'utiliser le module suexec pour Apache. Celui-ci permet d'exécuter des programmes sous des UID et GID distincts de l'utilisateur associé au serveur Web lui-même. Ainsi, pour certains scripts, nous avons utilisé ce module pour passer du compte nobody à un autre compte ayant le droit de faire un op. Pour, plus de sécurité, les options de ce module sont définies en dur lors de la compilation. Ainsi, il nous a donc fallu recompiler ce dernier.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 26
LES PROBLEMES RENCONTRES
Quelques problèmes ont été rencontrés tout au long de ce stage et j'ai naturellement dû y faire face dans le but de les résoudre. Dans un premier temps, des problèmes dus au portage lui même sont apparu. Ceuxci, au nombre de trois, sont liés aux comptes système, à iPlanet et pour finir, au changement de machine. Dans un second temps, sera présenté un problème lié au JavaScript. Pour terminer, nous expliquerons la difficulté d'avoir déjà un existant en production.
PROBLEMES LIES AU PORTAGE
LES COMPTES SYSTEMES
Le premier problème rencontré concerne l’utilisation d’un compte supplémentaire avec l’UID 0. Ce compte possédant des droits d'administration, à l'instar du compte root. D'ailleurs, tout comme ce dernier, l'UID du compte sysux est 0. La source du problème provient de la duplication de l’UID 0. Le système d'exploitation HP-UX, système d'exploitation de l'ancien serveur, est capable de différencier des comptes ayant le même UID. Cependant, ce n'est pas exactement le cas sous Linux. Celui-ci ne peut pas dire à coup sûr si une commande à été lancée par l’un ou l’autre des comptes avec l’UID 0. Ceci devient problématique lors que l'on essaie du faire du ssh sans préciser explicitement quel compte doit être utilisé. Or les connexions ssh en tant que root n'étaient pas mise en place. Ce problème a été rencontré sur le site Web Cadix. Environ une fois sur deux, l'affichage des produits disponibles était vide. Ayant testé si l'ancienne version fonctionnait convenablement, j'ai remarque un problème similaire. A posteriori, il n'en était rien et le problème devait venir du temps de réponse de la machine distance. Quoiqu'il en soit, cette coïncidence m'a fait m'éloigner du problème dû au compte root.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 27
IPLANET
Un autre problème dû au portage était en relation avec le serveur Web iPlanet. Certains sites Web comme le site identité SRVA et DBDC utilisaient des fonctionnalités spécifiques à iPlanet. Nous avons déjà vu le cas de l'authentification où nous avons du totalement la redévelopper. Une autre fonction d’iPlanet concerne la recherche de documents facilement ajouté grâce à des mécanismes d'indexation de documents.
qui peut être
A cause du passage à Apache, cette fonctionnalité n'a pu être reconduite facilement. Cette fonctionnalité jugée peu importante, nous devrons la développer s’il reste du temps à la fin du stage.
UN NOUVEAU SERVEUR
Le dernier problème de cette catégorie est le changement de serveur. Nous avons déjà vu que le changement du nom du serveur avait posé des problèmes pour toute la partie Webdisque su site ETSO/SRVA. Cependant, ce site n'était pas le seul concerné. Le site Web Susane s'appuie sur un outil éponyme présent sur toute les machines du parc. Celui-ci permet de remonter les alertes rencontrées sur les différentes machines. Or, ce script, pour remonter les informations à la bonne machine, utilise le nom celleci (soit BEAHAA). Ceci pose un problème pour remonter les informations à la nouvelle machine. Pour corriger ce problème, il faudrait modifier le produit sur tous les serveurs. Pour remédier à ce problème, la base de données de Susane restera sur l'ancienne machine pour l'instant et le site Web en lui même sera porté sur le nouveau serveur.
PROBLEME LIE AU JAVASCRIPT
Ce problème concerne le menu déroulant du site ETSO/SRVA. Il était demandé de revoir l'organisation des catégories. A cause de l'architecture même de celui-ci, cette modification n'est pas évidente à faire. En effet tous les éléments sont liés entre eux et une simple modification, affecte tous les éléments du bandeau. Ayant évalué que le temps pour faire cette modification était plus important que de régénérer tous le bandeau, nous avons choisi de faire cette dernière opération. COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 28
DIFFICULTE DU A L’EXISTANT
Nous avons vu qu'il existait beaucoup d'interaction entre les sites et les autres serveurs. Ceci a engendré des difficultés pour la phase de test. En effet il a fallu vérifier que toutes les écritures ne modifiaient aucun fichier utilisé par l'ancienne version des sites (toujours en production pendant les développements.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 29
LE BILAN
Le bilan de ce stage s'articule autour de trois axes principaux. Nous ferons tout d'abord un bilan pour l'entreprise où nous compareront l'existant avant le stage, et ce qui a été réalisé durant celui-ci. Ensuite, nous présenteront un bilan humain mettant en évidence les rapports professionnels pendant ce stage. Le dernier bilan sera un bilan pédagogique qui retracera l'expérience et les connaissances acquises et mises en œuvre.
BILAN POUR L’ENTREPRISE
Toutes les applications ont été portées dans la version de développement et sont fonctionnelles. De nombreux tests ont été effectués avant la mise en production des nouveaux sites, et aucun gros problème ni régression ne devraient être rencontré. La mise en place de la version de production est en cours. Lors du portage de ces sites, de nombreux problèmes ont été corrigés et des améliorations ont été faites. La version de production devrait être rapidement opérationnelle. Ainsi les utilisateurs pourront remontés d'éventuels problèmes (normalement mineurs) et ceux-ci devrait être corrigés avant la fin du stage. L'entreprise semble satisfaite du travail effectué. Toutefois, il est a noté que le site web SUSANE (qui gère les incidents), bien que porté, n'est pas encore totalement en production. En effet, la partie non Web du site n'est pas encore migrée. Une fois que le produit Susane sera entièrement redistribué, le site web devrait être opérationnel. Les divers sites web vont encore évoluer dans l'avenir et de nouveaux sites sont déjà présents sur la nouvelle machines. Divers optimisations pourraient être faites. Par exemple, il serait souhaitable de modifier certains scripts pour qu’ils s’exécutent à partir du serveur et non du client.
BILAN HUMAIN
Sur le bilan humain, ce stage a été très positif. D'une part, mon maître de stage, M. Patrick Legoll, et M Sébastien Desjardins étant fortement disponible pour mes diverses questions, ils m'ont permis de mieux me guider à travers mes démarches .
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 30
De plus, j'ai eu divers contact professionnels, notamment avec M Patrick Bailat qui maintient SUSANE. Ensuite, le fait d'avoir participé aux réunions de services et de pôles, m'a permis d'une part de découvrir leurs déroulement et d'autre part de me sensibiliser à la vie de l'entreprise.
BILAN PEDAGOGIQUE
D'un point de vu pédagogique ce stage a été d'un double intérêt. Tout d'abord, ce stage m'a permis d'approfondir mes connaissances en programmation et en administration. D'une part, j'ai découvert de nouvelles technologies. En effet, ni le langage Perl, ni le fonctionnement des CGI n'ont été enseigné lors de mon cursus scolaire. D'autre part, j'ai pu approfondir mes connaissances dans certains domaines comme la programmation Shell (beaucoup utilisé avec les CGI et dans divers scripts). J’ai aussi approfondis mes connaissances dans l'administration d’Apache et d'Oracle. Les technologies utilisées pour les divers sites web étant variées, j'ai du utilisé certaines technologies apprises lors que mon cursus scolaire (C, HTML, XML, JavaScript). Ceci m'a permis d'approfondir mes connaissances dans ces domaines. En second lieu, cette expérience m'a appris à m'adapter. En effet j'ai utilisé un langage et des technologies que je ne connaissais pas forcement à la base. D'autre part, il a fallu que je m'adapte à certaines normes de l'entreprise. Il a fallu faire des efforts de compression d'une part parce que le code était peu commenté et, d'autre part, pour avoir une vision globale d'un site. De plus, l'architecture de sites et des diverses interactions entre les machines n'ont pas été évidentes à assimiler. Tout cela n'a pas rendu la tâche évidente.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 31
CONCLUSION
Pendant toute la durée de ce stage, j'ai pu acquérir de nouvelles connaissances techniques, de nouvelles méthodes de travail, d'organisation et acquis de l'expérience dans le travail d'une grande entreprise avec un réel objectif à atteindre. En effet, le milieu professionnel exige une certaine constante de «production » mais aussi la nécessité de savoir faire face aux problèmes, de savoir estimer le temps nécessaire à une opération et de respecter les délais. Il m'a aussi été permis de découvrir l'investissent nécessaire à la bonne conduite d'un projet (en terme de rigueur et de structuration du code). J'ai appris à utiliser le langage Perl et les CGI qui ne m'ont pas été enseigné pendant mon cursus scolaire. J'en tire aujourd'hui un enseignement supplémentaire et des capacités à mieux conduire mes futurs projets de programmation. Les divers sites web ont été portés dans leur version de développement. Les tests effectués sur l’application laissent à penser que la mise en production du travail effectué devrait être faite dans de bonnes conditions. L’expérience et les nouvelles compétences que j’ai acquises devraient me servir, sans aucun doute, au cours de mes prochains projets que ce soit dans le cadre des mes études ou dans ma vie professionnelle
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 32
GLOSSAIRE
Perl : langage de programmation interprété sous licence libre et fonctionnant sur la plupart des plateformes informatiques.
Oracle : Oracle est un système de gestion de base de données relationnel (SGBDR) fourni par Oracle Corporation
LDAP : Lightweight Directory Access Protocol est un protocole permettant l'interrogation et la modification des services d'annuaire
CGI : Common Gateway Interface est une interface normalisée utilisée par les serveurs HTTP. Celle-ci est indépendante de tout langage (même si le langage Perl a historiquement été souvent utilisé pour en écrire).
Apache : logiciel de serveur HTTP produit par l'Apache Software Foundation. C'est un logiciel libre avec un type spécifique de licence, nommée licence Apache.
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 33
BIBLIOGRAPHIE
Livre utilisé pour la réalisation de ce stage :
Perl Programming (DTP-250) – SUN Services
Sites Internet utilisés :
http://www.cpan.org : Site sur Perl (modules, documentations ...)
http://www.perl.org : Site sur le langage Perl (documentation, librairies, tutoriels ...)
http://www.oracle.com : Site de référence sur Oracle
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 34
TABLE DES MATIERES
INTRODUCTION _____________________________________________________________ 4 L’ENTREPRISE ET SON SECTEUR D’ACTIVITE ______________________________________ 5 PSA Peugeot Citroën _____________________________________________________________ 5 La Direction des Systèmes d’information ____________________________________________ 6 L’Entité ETSO ___________________________________________________________________ 6 Le Service ETSO/SRVA ____________________________________________________________ 6 Le Pôle Transversal ______________________________________________________________ 7 L’Environnement de Travail _______________________________________________________ 7
PRESENTATION DU SUJET _____________________________________________________ 8 Besoins dU SERVICE ETSO/SRVA ___________________________________________________ 8 L’Existant ______________________________________________________________________ 9 Le Sujet du Stage _______________________________________________________________ 10 La migration ___________________________________________________________________________ 10 L’amélioration _________________________________________________________________________ 10
CAHIER DES CHARGES _______________________________________________________ 12 Web ETSO/SRVA _______________________________________________________________ 12 DBDC ________________________________________________________________________ 12 Guardian _____________________________________________________________________ 13 Gestion des GID ________________________________________________________________ 13 Gestion des comptes ____________________________________________________________ 13 Gestion des services ____________________________________________________________ 14 Cadix (distribution de produits) ___________________________________________________ 15 Susane (surveillance des systèmes UNIX) ___________________________________________ 15 le produit susane _______________________________________________________________________ 15 le site web susane ______________________________________________________________________ 16
Gestion des patches ____________________________________________________________ 16 SDI __________________________________________________________________________ 16 les changements _______________________________________________________________________ 16 les incidents ___________________________________________________________________________ 17
MISE EN OEUVRE __________________________________________________________ 18 Analyse de l’existant ____________________________________________________________ 18 BEAHAA ______________________________________________________________________________ 18 COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 35
l’architecture __________________________________________________________________________ 19 les intéractions ________________________________________________________________________ 19
Réalisation de l’application ______________________________________________________ 20 la planning ____________________________________________________________________________ 20 le planning prévisionnel _______________________________________________________________ 20 le planning effectif ____________________________________________________________________ 21 le déroulement ________________________________________________________________________ 21 le portage _____________________________________________________________________________ 23 les modifications _______________________________________________________________________ 25 l’authentification _____________________________________________________________________ 25 la sécurisation _______________________________________________________________________ 26 les problèmes rencontrés ________________________________________________________________ 27 problèmes liés au portage ______________________________________________________________ 27 les comptes systèmes _______________________________________________________________ 27 iPlanet ___________________________________________________________________________ 28 Un nouveau serveur ________________________________________________________________ 28 probleme lié au JavaScript _____________________________________________________________ 28 difficulté du à l’existant ________________________________________________________________ 29
LE BILAN _________________________________________________________________ 30 Bilan pour l’entreprise __________________________________________________________ 30 Bilan humain __________________________________________________________________ 30 Bilan pédagogique______________________________________________________________ 31
CONCLUSION ______________________________________________________________ 32 GLOSSAIRE________________________________________________________________ 33 BIBLIOGRAPHIE ____________________________________________________________ 34 TABLE DES MATIERES _______________________________________________________ 35
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 36
Résumé : Le portage des applications présentes sur le serveur web des administrateurs système UNIX a été une phase nécessaire en vu de son désengagement. Il a fallu, tout d’abord, adapter les applications aux technologies utilisées sur la machine cible (passage de HP-UX/iPlanet à Linux/Apache). Par la suite diverses modifications et améliorations ont été réalisées. Pour cela, une compréhension globale, bien que difficile à obtenir, a été fondamentale. Voici les différents éléments réalisés lors de ce projet : analyse de l'existant portage des applications sur le serveur de développement adaptation et modification des sites tests de différentes applications passage en production
Mots clé : Unix, Apache, portage, sécurisation
COUPRIAUX Mathieu – Université de Franche Comté – année 2008
Page 37