Rapport de stages BTS SIO première et seconde années Stage 1 : du 10 juin 2013 au 28 juillet 2013 (7 semaines) Stage 2 : du 02 septembre 2013 au 04 octobre 2013 (5 semaines) Organisme d'accueil : CNRM de Toulouse Stages effectués sous la responsabilité de Dominique CHAMPEAUX et Alain GUENENTAN, supervisés par Serge LEGOUIS (responsable CTI). Projet à réaliser : Fusion de deux bases de données de gestion du personnel et création d'une application de gestion unique regroupant toutes les fonctionnalités des deux existants (application Web en PERL et application sous Access 2000). TRACKOEN Suzanne Années 2012/2013 et 2013/2014
SOMMAIRE Introduction...4 1/ Mon profil...5 Curriculum Vitae...5 2/ Présentation de la situation...6 1/ Présentation du système administratif concerné...6 2/ Présentation de la solution attendue...8 3/ Précisions sur les parties concernant chaque stage...9 3/ Le stage informatique...10 1/ Cahier des charges...10 2/ Activités réalisées...11 a/ Moyens humains et documentations...11 b/ Moyens techniques...11 c/ Compétences acquises...12 En résumé...13 Annexe : autres tâches réalisées pendant le stage...13
Introduction Dans le cadre de ma formation en BTS Services Informatiques aux Organisations spécialité Solutions Logicielles et Applications Métiers, j'ai effectué mes deux stages de première et seconde années au sein du Centre National de Recherches Météorologiques durant une période totale de 12 semaines. Le Centre National de Recherches Météorologiques (CNRM) est le service de recherche de Météo-France situé à Toulouse. Il forme une unité mixte de recherche associée au Centre National de la Recherche Scientifique (CNRS-GAME). Le sujet initial du stage concernait deux points principaux : - portage d'une base sous Access 2000 dans un environnement logiciel libre à étudier, - compléments fonctionnels à apporter après interview des utilisateurs de l'application. avec le déroulement suivant : - étude de faisabilité - recherche des solutions libres alternatives - portage de l'application (données et interfaces) - interview du service administratif pour les compléments souhaités - analyse et développement. Après entretien, ce projet a été repensé et découpé en deux périodes de temps, et s'est transformé en une fusion de deux bases de données et la création d'une nouvelle application regroupant de nouvelles fonctionnalités et celles des solutions existantes. Ce stage m'aura permis une approche professionnelle extrêmement bénéfique. J'ai pris à cœur de mener mon projet à bien tout en acquérant des qualités humaines indispensables dans le monde du travail par le biais de participations aux réunions d'équipe, de présentations de l'avancée de mes travaux, de discutions au sein d'une équipe de travail tout comme des interviews et interactions avec le client. Au delà des relations humaines, il a enrichi mon mode de travail à travers les différentes méthodes de développement rencontrées au fil de mes recherches auprès des développeurs rencontrés. Le travail réalisé est disponible à l'adresse : http://www.suzanne-portfolio.fr/portfolio/gp/index.php Compte utilisateur ayant tous les droits : AlbertD, tak741 Compte utilisateur en droit de lecture : DamienC, qz112k
I Mon Profil Formation : - 2012 2014 : BTS SIO option SLAM - Juin 2012 : Licence LLCE Japonais (Toulouse) - Décembre 2011:Concours JLPT niveau 4 (Lyon) - Juin 2009 : Baccalauréat Scientifique spécialité physique (Somain Nord) - Juin 2006 : Formation aux premiers secours (Marchiennes Nord) Outils/Logiciels/Méthodes utilisées : - Langages C++, PHP, Java, Javascript, Ajax - Langages MySQL, PostgreSQL, méthode Merise - IDE NetBeans, Eclipse - Travail sous Linux, Windows 7 Outils/Logiciels/Méthodes en cours d'apprentissage : - Langage Python - Framework Symfony 2 - Développement avec Git (gestion de projet) et GitHub - Développement avec Microsoft Project (gestion de projet) Expériences acquises : - 02/09/2013 04-10-2013 (5 semaines) : stage de développement d'application (CNRM) - 10/06/2013 08/07/2013 (7 semaines) : stage de fusion de bases de données et développement d'application (CNRM) Langues étrangères : - Anglais : intermédiaire - Japonais : intermédiaire - Espagnol : débutant
II Présentation du contexte 1/ Présentation du système administratif concerné Le CNRM gère les informations de son personnel indépendamment de celles administrées par Météo-France à l'aide d'une application Web «GestionPersonnel» stockant toutes les données des membres du personnel. Cette application permet de mémoriser ces données professionnelles, de les modifier et de les consulter librement à l'aide d'un système de recherche avancé. Ces données sont ensuite redirigées quotidiennement vers le serveur LDAP de Météo-France pour s'assurer de la cohésion des données de l'annuaire principal du site de Météo-France. Pour répondre à un besoin plus ciblé concernant la gestion des membres non permanents séjournant temporairement sur le territoire français et intervenant à de multiples reprises au sein du CNRM, une seconde solution a vu le jour pour permettre la gestion des données des non-permanents étrangers. Cette solution a été réalisée sous Access 2000 et se doit également de conserver la totalité des données saisies. Elle permet ainsi la saisie des données personnelles de ces membres, et leur attribue un récapitulatif de chacun de leurs contrats. L'application Access permet une recherche par ordre alphabétique et la création d'états pour imprimer les données selon certains critères. Par exemple, il est possible de demander la fiche récapitulative de tous les nonpermanents étrangers présents pendant le dernier mois écoulé affectés sur le site de Toulouse. Schéma relationnel de la base de gestion des membres non permanents étrangers :
2/ Présentation de la solution attendue La principale utilisatrice a souhaité une simplification de la gestion de tous les membres du personnel, à commencer par la fusion des deux types de gestion pour traiter tous les membres du personnel sur une seule et même application Web. Cette nouvelle solution doit donc conserver les données déjà existantes, et par conséquent ne pas modifier la structure des deux bases de données. Les données non renseignées depuis des années concernant chaque type de personnel pourront cependant être supprimées de la base de données commune. A savoir les titres des titulaires et les partenaires des non-permanents étrangers (NPE). L'application doit permettre de distinguer les membres faisant encore partie du personnel du CNRM et ceux n'en faisant plus partie, dont les données ont été conservées. Cette fonctionnalité s'applique aux deux types de personnel. En sélectionnant un membre du personnel, sa fiche de renseignements doit être accessible et indiquer, pour les titulaires, toutes les données les concernant. Pour les NPE, l'affichage doit se différencier selon leur présence actuelle ou passée : seules les données personnelles et du contrat en cours sont mentionnées pour les NPE présents, pour ceux n'ayant plus de contrat en cours, toutes les données des différents contrats doivent être affichés.
Une page supplémentaire permet de faire une recherche groupée sur les membres du personnel (titulaires et NPE traités séparément) pour obtenir un récapitulatif de leurs données professionnelles. Cette recherche est paramétrée par défaut pour les membres ayant été présent durant le dernier mois écoulé. Des options de recherche plus poussée sur le grade, l'échelon, etc. désirés sont possibles (différentes selon le personnel ciblé). Cette recherche est représentée sous deux formats, que choisit l'utilisateur : le résultat est accessible dans une page du navigateur sous forme de tableau, ou directement envoyé dans un fichier Excel. Seul le traitement des NPE possède une fonctionnalité spécifique : celle du rappel des dates de fin de validité des titres de séjour concernant les NPE actuels, pour prévoir à l'avance leur renouvellement. Les utilisateurs sont décrits selon deux profils : ceux possédant les droits d'écriture, et ceux en lecture seule. Les utilisateurs en droit d'écriture peuvent accéder à l'option de création et de modification des membres du personnel à l'aide de formulaires informatisés. 3/ Précision sur le découpage de stage La première période de stage se propose de réaliser : - Une première interview utilisateurs (en présence des responsables) - La mise en place du cahier des charges (en présence des responsables) - Une étude du travail à effectuer sur les bases de données - La fusion des bases de données - La modification de certains champs de la base en s'assurant de ne pas altérer les données existantes ni les échanges entre la base de données et la base LDAP - La création d'une maquette - Le début de codage : affichage des différentes listes de personnel, affichage des données individuelles lors de la sélection d'un membre - Entretien avec l'utilisatrice principale pour validation de la maquette et éventuelles modifications des fonctionnalités attendues La seconde période de stage se propose de réaliser : - Le reste du codage : mise en place des droits d'accès, génération des différents formulaires d'enregistrement des données (création et modification), génération du système de recherche nominatif, génération du formulaire pour la recherche groupée, du tableau PHP correspondant au résultat, ainsi que de la redirection vers le fichier Excel. - Déclaration à la CNIL - Tests unitaires - Présentation de l'application durant une réunion d'équipe - Tests fonctionnels réalisés par les membres d'équipes - Corrections des erreurs détectées - Entretien de présentation et formation rapide des utilisateurs - Déploiement de l'application opérationnelle
III Le stage informatique 1/ Cahier des charges L'environnement de travail choisi pour la réalisation de la solution applicative a été laissée au libre choix du stagiaire, à la seule condition de choisir parmi les logiciels et langages pouvant être mis à disposition par le CNRM. Aucune norme de développement n'a été imposée, la seule contrainte étant de réaliser un code «clair». S'agissant d'une nouvelle solution applicative, il est nécessaire de faire une déclaration auprès de la CNIL s'inscrivant dans le registre de la norme relative à la gestion du personnel NS-046. Les données : Les tables «Suivre» et «Partenaires» ne sont pas à garder car inutilisées dans l'application Agave (gestion des NPE). Parmi les renseignements des membres du personnel, les données relatives aux primes et aux titularisations doivent également être effacées. Aucune donnée en relation avec LDAP ne doit être modifiée. D'autres modifications, envisagées par le stagiaire, pourront être apporter si nécessaire. Les droits : Deux types d'utilisateurs doivent être définis : les utilisateurs principaux ayant droit d'ajouter et de modifier des données, et les utilisateurs ayant un droit de lecture des informations. L'application ne doit pas être accessible à d'autres personnes sans l'autorisation des administrateurs. L'interface : L'application doit permettre de traiter les deux types de personnels distinctement en fonction des structures des bases de données préexistantes pour éviter toute perte de données. Deux pages principales, l'une traitant les membres, l'autre traitant les NPE, sont donc à réaliser. Toutes les données étant conservées, l'application doit séparer l'affichage des membres actuellement présents sur l'un des sites reliés au CNRM, et celui des membres ne faisant plus partie du service. Par défaut, la liste des membres du personnel présents est affichée au démarrage, une option permettant de visualiser les anciens membres. Dans le traitement des NPE, la liste des NPE présents est également affichée par défaut, avec, dans l'encadrement droit, une fenêtre permettant de voir le nom des NPE dont les titres de séjour sont bientôt expirés. Lors de la sélection d'un membre, un nouvel onglet affiche ses informations. Dans le cas d'un utilisateur principal, une option permet de modifier les données du membre concerné. Un formulaire est alors accessible et modifie en conséquence les données dans la base. Dans le traitement des NPE, la modification des données personnelles est accessible, ainsi que l'ajout ou la modification de contrats. Ceux ci sont listés à la suite.
Les utilisateurs principaux bénéficient d'une option supplémentaire pour créer un membre. Lors de l'envoi de la requête de création, une vérification est faite pour s'assurer qu'il ne fait pas déjà partie de la base. Si ce n'est pas le cas, l'utilisateur est dirigé vers un formulaire de création. Dans le cas contraire, il est redirigé vers le formulaire de modification du membre concerné. Les deux types d'utilisateurs ont accès à une option de recherche rapide pour accéder aux informations d'un membre. L'application doit permettre de regrouper les informations des membres durant une période et/ou par critères. La liste des critères concernant chacun des types de personnel pourra évoluer. Ces regroupements d'informations doivent pouvoir être enregistrés dans un tableur. La proposition de deux sorties, une dans un nouvel onglet sous forme de tableau et une seconde directement dans un tableur de type Excel a été retenue. 2/ Activités réalisées a/ Moyens humains et documentations Durant la période couvrant les deux stages, soit du début juillet à la mi octobre, le compte utilisateur créé à mon nom m'a permis d'obtenir l'accès à la bibliothèque du CNRM, et d'y emprunter des ouvrages techniques. J'ai également eu la possibilité d'accéder aux ouvrages de référence de l'équipe d'accueil CTI. En termes de ressources humaines, j'ai pu bénéficier de plusieurs entretiens avec des membres de différentes équipes pour me documenter et me renseigner sur différents langages et méthodes de travail, notamment la découverte des lignes de commande principales pour la bonne réalisation du travail à partir d'une console, les composants permettant l'authentification à l'annuaire LDAP, et le langage Jquery pour l'utilisation de Ajax. b/ Moyens techniques Deux ordinateurs, Windows et Linux, ont été mis à ma disposition, avec un compte utilisateur et une adresse électronique. La première partie concernant l'adaptation des bases de données a été réalisée sous Windows. Le développement de l'application a été réalisé de deux façons : envoi de code avec Filezilla sous Windows, et travail en SSH sur le serveur hôte sous Linux. Sous phpmyadmin, ne base de données copie de la base de gestion du personnel originale m'a également été mise à disposition avec tous les droits. Le développement aura été réalisé à partir d'un éditeur simple : Kate. Les langages ayant été utilisé durant toute la période de stage sont : HTML, CSS, PHP, MySQL, et Javascript avec la bibliothèque de Jquery.
c/ Compétences acquises La réalisation de ce projet jusqu'à son terme m'aura donné la possibilité d'acquérir de nombreuses compétences professionnelles. Voici celles relevées parmi les situations professionnelles concernées par le BTS Services informatiques aux organisations : Situations obligatoires vues pendant le stage : - Production d'une solution logicielle et d'infrastructure ; - Prise en charge d'incidents et de demandes d'assistance ; - Élaboration de documents relatifs à la production et à la fourniture de services ; - Mise en place d'un dispositif de veille technologique. Production de services : - Analyse du cahier des charges d'un service à produire ; - Définition des niveaux d'habilitation associés à un service ; - Test d'intégration et d'acceptation d'un service ; - Accompagnement de la mise en place d'un nouveau service ; - Déploiement d'un service ; - Participation à un projet ; Fourniture de services : - Accompagnement des utilisateurs dans la prise en main d'un service ; Conception et maintenance de solutions applicatives : - Proposition d'une solution applicative ; - Conception ou adaptation de l'interface utilisateur d'une solution applicative ; - Conception ou adaptation d'une base de données ; - Définition des caractéristiques d'une solution applicative ; - Développement, utilisation ou adaptation de composants logiciels ; - Réalisation des tests nécessaires à la validation d'éléments adaptés ou développés ; - Rédaction d'une documentation technique.
En résumé Ce stage au sein du CNRM m'a permis de travailler sur un premier projet professionnel mettant en œuvre de nombreuses situations enrichissantes : - création d'un cahier des charges donnant suite à une interview utilisateur ; - mise en place d'un plan de travail autonome ; - fusion et modification de bases de données ; - création et validation avec l'utilisateur d'une maquette de l'interface ; - travail sur serveur à distance ; - gestion de versions ; - travail en équipe pour la réalisation du code d'authentification et de sécurisation ; - apprentissage sur le terrain avec d'autres membres du service ; - développement de composants logiciels ; - tests d'intégration ; - gestion des incidents en collaboration avec des utilisateurs pilotes ; - déclaration à la CNIL sous la surveillance d'un responsable ; - préparation et participation à une réunion ; - génération de documentation ; - présentation de l'application et formation succincte des utilisateurs ; - déploiement de la solution applicative ; Le travail réalisé est disponible à l'adresse : http://www.suzanne-portfolio.fr/portfolio/gp/index.php Compte utilisateur ayant tous les droits : AlbertD, tak741 Compte utilisateur en droit de lecture : DamienC, qz112k ANNEXE Autres tâches réalisées pendant le stage : Durant la période de stage, il m'aura été permis de participer à d'autres activités n'ayant pas de lien avec le travail à réaliser : - Fourniture de code JavaScript pour une application de réservation et de suivi des vols aériens du personnel ; - Observation de la création d'un compte LDAP: création du compte, mise en place des droits d'accès logiciel et matériel ; - Participation à une visioconférence intitulée «Les outils de télé-réunions» : https://www.jres.org/tuto/tuto16/index?&#programme