Stage de deuxième année :

Présentation

Dans le cadre de mon BTS SIO, j'ai réalisé mon deuxième stage professionnel du 4 février au 29 mars 2019 au sein de l'UPMC à Paris dans le 5ème arrondissment.

Au cours de ce stage, j'ai pu mettre en application diverses situations professionnelles.

Situation professionnelle :

Application Java de copie de tables

Le contexte de travail :

Sorbonne Université est la fusion des universités Paris-Sorbonne et Pierre-et-Marie-Curie qui a eu lieu en janvier 2018. Ces deux universités utilisaient des applications de scolarité et de ressources humaines différentes. Ainsi, il y existe différentes bases de données dont on souhaite récupérer certaines tables et de les regrouper sur une seule base de données.

Lors de ce stage, ma mission est de développer une application permettant la copie de ses tables. Pour cela, j'ai utilisé le langage Java.

Description du projet :

Le but de cette application est de gérer la copie de tables provenant de différentes bases de données (PostgreSQL, Oracle, MariaDB, etc...), ainsi que d'y ajouter des colonnes contenant des informations sur la copie.

Pour ce projet j'utilise CDI (JSR 299: Contexts and Dependency Injection for the JavaTM EE platform), une alternative à Spring. Ainsi que différentes bases de données (Oracle Database, Postgresql, Microsoft SQL Server).

L'application a besoin d'informations différentes en fonction du type de base de données. Ces informations sont contenues dans un fichier XML.

Avec l'aide de mon tuteur, j'ai développé certaines fonctionnalités comme la copie de la structure des tables en utilisant les informations contenues dans le fichier de configuration (XML) ainsi que la copie simple des données et l'attribution de la clé primaire.

J'ai également appris à utiliser les logs, j'ai pu les exploiter en particulier en cas d'erreur. Exemple : une table que l'on veut recopier n'existe pas dans la base de données d'origine.

La structure de l'application étant plus complexe que celles que je développais en cours, j'ai réalisé un schéma des classes me permettant de me "repérer" dans l'application. (Le schéma est joint ci-dessous)

Compétences mises en oeuvre :

  • A1.4.1 Participation à un projet
  • A2.3.2 Proposition d'amélioration d'un service
  • A4.1.3 Conception ou gestion d'une base de données
  • A4.1.4 Définition des caractéristiques d'une solution applicative
  • A4.1.6 Gestion d'environnements de développement et de test
  • A4.1.7 Développement, utilisation ou adaptation de composants logiciels
  • A4.1.9 Rédaction d'une documentation technique
  • A4.2.1 Analyse et correction d'un dysfonctionnement
  • A4.2.4 Mise à jour d'une documention technique
  • A5.2.4 Étude d'une technologie, d'un composant, d'un outil, d'une méthode

Productions associées au projet :