BTS SIO 2ème année Option Solutions Logicielles et Applications Métiers 19 Janvier au 6 Mars 2015
BTS SIO 2ème année Table des matières I. REMERCIEMENTS... 2 II. PRESENTATION DE L ENTREPRISE... 3 III. DESCRIPTION DU PROJET... 4 A.PRESENTATION DU LOGICIEL... 4 BPRESENTATION DU PROJET... 4 C.FONCTIONNEMENT DE LA SOLUTION... 5 IV. REALISATION... 6 V. BILAN... 9 1
I. Remerciements Je tiens à remercier la société Asys qui m a accueilli et plus particulièrement Cyrille Pegoraro, mon maître de stage. Sébastien Lepine et Nicolas Pillet, développeurs, qui m ont accordé leur confiance et attribué des tâches valorisantes durant cette période. Je remercie également toute l'équipe de l'agence de Charnay-lès-Mâcon qui a su m'accompagner tout au long de ces sept semaines de stage. Faire ce stage dans cette entreprise a été un plaisir, découvrir comment une société d édition de logicielle fonctionne et comment le travail est répartis entre différents développeur a été très enrichissant pour moi. Le projet était très intéressant, les tâches que j ai réalisées étaient variées et j ai beaucoup appris sur la conduite d un projet. 2
II. PRESENTATION DE L ENTREPRISE Asys est une société créée en 1987 à Mâcon, elle accompagne ses clients PME-PMI et Grands Comptes dans la planification, le pilotage et l optimisation de leurs ressources. En 2013, le chiffre d affaires en hausse d Asys s élève à 7,5 M. Elle vise aujourd hui un chiffre d affaire de 10M pour 2015. L agence de Charnay-lès-Mâcon est composée de trois développeurs (Cyrille Pegoraro, Nicolas Pillet et Sébastien Lepine) et de plusieurs commerciaux. L entreprise propose plusieurs logiciels spécialisés dans la gestion de temps: Chronos (destinés aux grandes entreprises) et Horsys (destiné aux PME, facile à mettre en place). Mon projet de stage s est déroulé sur ce dernier avec Alexis Boisson, étudiant en BTS SIO option SLAM tout comme moi. 3
III. DESCRIPTION DU PROJET A. Présentation du logiciel Horsys est un logiciel de Gestion des Temps et de Planification packagé et pré-paramétré par secteur d activités pensé pour les PME, il propose des fonctionnalités indispensables à une gestion des temps pérenne pour les sociétés : gestion des présences, absences, des activités, planification, intégration à la paie, gestion de la modulation et de l'annualisation, gestion des variables de paie et analytique. Des modules complémentaires peuvent être intégrés afin de répondre aux attentes précises des différents clients. Ce logiciel se compose en trois parties : La base de données installée chez l entreprise Le logiciel administrateur installé sur les postes de l entreprise, qui permet la saisie des différentes informations. Le logiciel client qui permet aux salariés de modifier ou d ajouter des informations. Aujourd hui, la démocratisation de différents terminaux tels que les smartphones ou les tablettes ont permis d ouvrir un nouveau marché, celui des client déportés. Pour ce faire, la solution Horsys (application Windows clientes + base de données) a du évoluer. L équipé R&D d Asys a donc décidé de développer une nouvelle version de cette solution, full Web, accessible depuis n importe quel navigateur internet (sédentaire, terminaux mobiles,..) afin de faciliter l accès aux salariés. Pour se faire, l application full Web a été réalisée en utilisant l outil WebDev, qui permet de faciliter la programmation de page HTML dynamique. Des fichiers JavaScripts sont aussi utilisé pour les gérer les flux d informations. B. Présentation du projet Mon sujet de stage était donc de recréer les différentes fenêtres de l application windows Administrateur sous l environnement Web que l équipe de développeur était en train de créer pour la nouvelle version de la solution. FIGURE 1: CONNEXION WINDOWS FIGURE 2: CONNEXION WEB 4
C. Fonctionnement de la Solution Une page contient deux parties (voir figure 3): une partie dite fixe (1) où l on retrouvera les différents menus, et une partie dynamique(2), qui affichera les différentes informations et les formulaires de saisies. 1 2 Horsys se décompose en trois grandes parties : FIGURE 3: PAGE ACCUEIL VERSION WEB 1 2 3 1) L Interface Utilisateur La page HTML regroupe les différents styles (CSS) et les scripts (JavaScript) propres à celle-ci, afin de générer du contenu en provenance du serveur WebDev. Ces pages HTML sont composées de plusieurs scripts, afin de regrouper les fonctions récurrentes dans un seul fichier. 2) Le Serveur WebDev FIGURE 4: SCHEMA FONCTIONNEMENT HORSYS VERSION WEB Il permet de faire le lien entre l interface utilisateur et la base de données. La page HTML communique avec le serveur via le script JS en s échangeant un flux sérialisé propre à Asys. 5
Une fois ce flux reçu par le serveur, il est désérialisé et est interprété afin d exécuter les requêtes adéquates dans la base de données. Le serveur renvoi ensuite les données voulues via un unique flux sérialisé, que le script interprétera à son tour et utilisera pour mettre en forme l interface utilisateur. 3) La Base de Données Elle contient toutes les informations propres à une entreprise, qui peuvent être affichés via l interface utilisateur, depuis un ordinateur ou un terminal mobile. IV. REALISATION Lors de mon stage, je devais recréer les fenêtres présentes dans l application Administrateur de Horsys pour l interface Web. Il fallait donc analyser tous les éléments qu une fenêtre proposait afin de refaire une interface similaire, en adaptant l interface pour la rendre le plus intuitive possible. Une fois la page créée (HTML + CSS), il faut préparer le script propre à la page, afin d afficher les informations provenant du serveur WebDev et d exécuter les différentes fonctions qui animent la page. Enfin je devais créer les différentes pages et fonctions sur WebDev afin que le script puisse rapatrier les différentes informations provenant de la base de données en fonction des demandes de l utilisateur. La partie d échange d information entre le serveur et la base de données ne m était pas attribuée, car les requêtes SQL particulières à WebDev et les tables concernées étaient trop complexes pour moi. Lorsqu une page était achevée, je devais systématiquement la tester en envisageant tous les cas de figures afin de repérer des incohérences ou des erreurs non prévues. FIGURE 5: PAGE CATEGORIE VERSION APPLICATION FIGURE 6: PAGE CATEGORIE VERSION WEB 6
Les pages s organisaient généralement en deux parties, d une part un tableau (1) listant toutes les entrées enregistrées dans la base de données pour une table en particulier, et d autre part une barre latérale (2) qui apparait lorsque l on sélectionne une ligne particulière ou lorsque l on souhaite ajouter une entrée en affichant toutes les informations nécessaires à la saisie d une ligne. 1 2 FIGURE 6: PAGE CALENDRIER, LISTE DES ELEMENTS & DETAILS PARTICULIERS Certaines pages étaient plus particulières, j ai par exemple réalisé un calendrier qui permet d attribuer des jours particuliers pour la gestion des salariés (jours chômés, ouvrés, fériés, ). Ce calendrier a été réalisé en JavaScript, l utilisateur peut sélectionner un ou plusieurs jours à la fois, pour définir des vacances par exemple. FIGURE 7: PAGE PLANNING Ce genre de page apporte un vrai plus à l utilisateur, dans la version précédente, la gestion des calendriers n était pas intuitive. 7
Le menu a aussi été repensé, afin d améliorer l expérience utilisateur, voici le menu présent dans l application : FIGURE 7: MENU VERSION APPLICATION Une première version a été réalisée pour l interface Web, mais celle-ci provoquait l apparition d une barre de défilement verticale lorsque l on dépliait un menu, ce qui n était pas très ergonomique pour l affichage de nos pages : FIGURE 8: MENU VERSION BETA WEB L affichage d une nouvelle fenêtre (iframe) pour les différents menu été retenue, ce qui permet d avoir une vision d ensemble de ce que propose la solution, tout en gardant une interface épurée. Une fonction de recherche a été mise en place afin de faciliter la navigation aux utilisateurs : FIGURE 9: MENU VERSION WEB 8
V. Bilan Ce stage fut très enrichissant pour moi, j ai pu découvrir différents aspects qui définissent un développeur logiciel. Travailler en équipe sur un même projet, se répartir les tâches, j ai pu réellement comprendre quel était le quotidien d un développeur. Grâce à l aide de Cyrille Pegoraro, Nicolas Pillet et de Sébastien Lepine, j ai effectué différentes tâches qui m ont fait découvrir plusieurs facettes d un projet informatique. J ai pu évolué en autonomie pendant mon stage, mais lorsqu un problème se posait et que j avais des difficultés, des recherches sur internet ou l aide de mon tuteur m ont permis de réaliser le travail demandé. Ce projet n a malheureusement pas été finis à la fin de mon stage, car le travail demandé était trop important, la mise en vente de cette application est prévu pour fin Avril 2015. Le fait d avoir travaillé sur un produit qui sera plus tard utilisé par différentes personnes, différentes entreprises est très valorisant pour moi. Ce fût une très bonne expérience pour moi, cela m a conforté dans l idée de travailler dans ce domaine, et m a donné envie de continuer mes études dans cette voie. 9