logo_python

Métropole Nice Côte d'Azur

Notre stage de première année à durée 1 mois, du 27 Mai au 27 Juin 2019.

Introduction

La Métropole Nice Côte d’Azur contient 49 communes. Elles se sont réunies le 1 er Janvier 2012 et elle fut la première métropole de France. C’est d’abord en Juin 2009 que 3 communautés de communes (Vésubie-Mercantour, La Tinée et Stations de Mercantour) qui comptaient 20000 habitants, avaient délibéré afin de demander leur rattachement à la Communauté Urbaine Nice Côte d’Azur. Mais le préfet n’avait pas donné son accord car le cadre législatif ne le permettait pas. Et c’est en 2010, le 16 décembre, que cette fusion a été faite grâce à la loi Réforme des Collectivités Territoriales.

Contexte

La Métropole met à disposition un site web afin que les citoyens puissent y inscrirent leur(s) enfant(s). Ce site, c'est Scolabus (https://scolabus.nicecotedazur.org). L'application est développée avec JavaEE tournant sur un serveur Apache TomCat, couplée avec Struts afin d’avoir un modèle MVC, Spring pour les injections de dépendances et les tests. Angular JS est aussi de la partie pour le côté front afin de pouvoir manipuler facilement des formulaires par exemple, mais pas seulement.

Travaux

Mon travail consistait à corriger les bugs et ajouter des fonctionnalités ou encore, les améliorer.

Par exemple, le site peut supporter qu’il puisse y avoir deux représentants légaux pour un ou plusieurs enfants. Je devais regrouper les 2 au niveau du front. Après cela, il m’a fallu améliorer l’affichage du dossier complet, c’est-à-dire de pouvoir aller sur toutes les informations relatives à un élève (tous les représentants légaux et frères et sœurs).

Autre exemple, du côté de l’administration, il y a la table des inscriptions et celle-ci peut être triée selon un critère. Mais le tri par date d’inscription fonctionnait mal et générait une erreur du côté du serveur. Premièrement, j’ai essayé de trouver l’erreur, celle-ci provenait de la requête SQL effectué, en effet, la date devait être égale à aujourd’hui mais à l’heure 00:00, j’ai changé cela. L’ancienne requête ne sélectionnait que les inscriptions ayant comme heure 00:00. Avec cette requête, on sélectionne toutes les dates respectant le motif de date et avec toutes les heures possibles. De plus, lors du tri des dates côté serveur, celui-ci générait une exception. J’ai donc réglé le problème.

Dernier exemple, la page d’accueil affiche des informations comme par exemple le début et la fin des inscriptions. Cependant, ces informations sont statiques et marquées en dur dans l’application. J’ai donc trouvé et proposé une solution adaptée. J’ai commencé à créer une table dans la base de données afin de stocker ces informations. Ensuite, créé une entité pour pouvoir manipuler les données facilement. Puis, j’ai ajouté une section dans le panel d’administration afin de pouvoir modifier facilement ces informations sans avoir à changer le code. Affichage des informations relatives à la page d’accueil. Lors d’un click pour modifier, une fenêtre s’ouvre pour éditer le texte. Enfin, j’ai changé le code de la page pour y insérer les informations dynamiquement depuis la base de données.

J’ai fait d’autres missions similaires.

Compétences acquises

J’ai pu comprendre à utiliser les Framework Struts et Spring pour le back et Angular pour le front. J’ai aussi appris à utiliser l’IDE Eclipse pour de futurs projets où il y aurait besoin de l’utiliser. J’ai pu aussi voir le fonctionnement d’un langage que j’utilisais principalement pour faire des applications desktop dans un autre cadre. S’adapter au cadre et technologies utilisées dans le projet. Savoir ajouter des fonctionnalités sans que les anciennes soient affectées et faire qu’elles cohabitent facilement.

Conclusion

Ce stage m’a apporté une vision plus professionnelle du cadre d’un développement d’applications. Comprendre les bugs qui sont signalés et les corriger efficacement ou alors comprendre les demandes de modifications. Tout cela pour rendre l’application plus facile à utiliser. Et aussi savoir efficacement traiter les requêtes dans un délai non conséquent.

Rapport de stage