Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
Compte rendu de stage
Stagiaire : Nicolas BASILE Date début : 19 janvier 2015 Tuteur : Rémy COQUARD Date fin : 13 mars 2015 Responsable : Marc PARDI Société : Cegedim SRH
Contexte
Les développeurs des scripts JavaScript de Cegedim SRH m’ont confié la tâche de développer un script particulier :
• ce script lit dans un classeur Excel la description d’un fichier à générer par un autre script à développer ;
• le classeur est fourni par un client de Cegedim SRH et revu par un analyste ;
• la description du fichier contient les données à générer, leurs règles de mise en forme ainsi que diverses règles de gestion ; il s’agit donc d’une spécification créée lors de phase d’analyse ;
• cette description est transformée en code JavaScript (format JSON) ou en fichier CSV, utilisables par le programme à développer qui générera le fichier.
Jusqu’à présent, les développeurs effectuaient cette transformation manuellement en manipulant et mettant en forme la description, ce qui entrainait une perte de temps assez importante.
Les classeurs Excel en entrée de mon script peuvent présenter différents formats (GTF, TPL) et la sortie obtenue également (code JavaScript ou fichier CSV).
Des illustrations figurent en fin de document.
Détails du stage
1
èresemaine : Découverte TEAMS
RHet exercices JavaScript
Durant les deux premiers jours, j’ai découvert l’application TEAMSRH sur laquelle allait être conçu le programme. TEAMSRH est un logiciel de paie qui assure également des fonctions de gestion des ressources humaines.
Le reste de la semaine, mon tuteur m’a fait réaliser différents exercices en JavaScript afin de découvrir le langage encore inconnu pour moi. J’ai réalisé différentes fonctions mais aussi des formulaires afin de m’imprégner du langage.
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
2
èmeet 3
èmesemaines : Version 1 du programme
Nous avons développé la première version du programme. Cette version permet de convertir un fichier TPL en JSON.
Le programme lit le classeur Excel en utilisant un outil développé par Cegedim SRH. Dans un premier temps, le programme calcule la largeur maximale de chaque colonne en fonction de la taille des données. Il génère aussi des titres pour les colonnes non prédéfinies. Ensuite, il détecte les colonnes vides et enregistre toutes ces informations. Le programme met ensuite en forme le tableau de sortie ; les données sont alignées en colonnes, séparées par des pipes ( | ). Les titres des colonnes sont centrés alors que sur les autres lignes, les données sont alignées à gauche. Les colonnes vides n’apparaissent pas en sortie.
Le programme génère un tableau au format texte et le stocke dans un fichier horodaté.
4
èmeet 5
èmesemaines : Version 2
La deuxième version du programme permet de traiter les deux types de classeurs.
Le programme détecte automatiquement le format d’entrée. Une boite de dialogue permet à l’utilisateur de choisir le format de sortie garce à des boutons radio. Une case à cocher permet d’ouvrir automatiquement le fichier.
La partie TPL fonctionne comme la première version. La partie GTF est plus simple à mettre en œuvre car les données apparaissent les unes à la suite des autres. Elles sont seulement séparées par des virgules sans mise en forme particulière.
Dans cette version, j’ai refondu le paramétrage établissant la correspondance entre les données du fichier d’entrée et celles du fichier de sortie.
6
èmesemaine (début) : Version 3
La version trois ajoute des contrôles générant des messages de type erreur et de type warning pour les données incorrectes ou absentes à tort. Cela permet de signaler les erreurs rencontrées.
De plus, cette version contient une case à cocher qui permet d’exclure certaines colonnes du fichier JSON si elles ne sont pas souhaitées par l’utilisateur.
6
èmesemaine (fin) : Version 4
La quatrième version ajoute une nouvelle case à cocher qui permet d’indiquer le type de chaque donnée dans un format raccourci. Une anomalie est détectée. Le programme pouvant modifier et agrandir les données à disposer en colonnes, la largeur de chaque colonne calculée au début du programme peut finalement se révéler insuffisante.
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
7
èmesemaine : Utilisation du programme, corrections d’erreurs et version 5
Mise en forme de neuf fichiers Excel qui ont permis de tester le programme et de trouver certaines erreurs qui ne pouvait pas être vues sur les premiers fichiers de test. Ces erreurs sont corrigées dans la version 4. Début de la version 5, développement d’une nouvelle fonction (codifier).
8
èmesemaine : Version 5
La version 5 permet de résoudre le problème des largeurs de données découvert en fin de semaine 6. Cela a nécessité de réécrire différentes parties du code.
Perspectives
• Mettre au point une version permettant de faire du GTF vers TPL
• Créer un script qui génère des lignes de code en fonction des valeurs présentes dans le classeur Excel.
Résultats des programmes
Voir illustrations pages suivantes.
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
Format TPL
Classeur Excel au format TPL en entrée
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
Format TPL
Fichier au format JSON en sortie
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
Format GTF
Classeur Excel au format GTF en entrée
Compte rendu de stage Nicolas BASILE Cegedim SRH (2 mois)
Format GTF
Fichier au format GTF en sortie