I. RESUME

Au cours des cinq mois et demi qu’a duré ma mission à SITS, le GIE de Crédit Agricole Asset Management, j’ai pu mettre en œuvre les compétences techniques acquises durant la formation à Epitech, et ce en environnement réel.

Le but principal de cette mission était la mise en place d’un module de gestion des appels d’offres au sein de l’intranet SITS. Cette mission m’a aussi conduit à intervenir ponctuellement sur d’autres travaux en cours de l’équipe, ainsi qu’à m’impliquer de manière volontaire dans le mouvement de rationalisation des développements de l’équipe.

La première phase du travail fut la familiarisation avec l’environnement de travail :

  • l’environnement physique, avec les différents niveaux de déploiement (développement, qualification et production),
  • l’environnement humain et les contraintes organisationnelles d’une grosse structure telle que le Crédit Agricole,
  • l’environnement logiciel, notamment avec Le framework, sur lequel sont basés tous les sites développés par l’équipe.

Ensuite, il a fallu spécifier le module à partir des desiratas exprimés par l’interlocuteur représentant les utilisateurs finaux, tant au niveau fonctionnel qu’au niveau de la base de donnée à y associer. Cette phase a permit de définir précisément les caractéristiques précises de l’application.

Celle-ci devait permettre aux responsables de service de pouvoir passer des appels d’offres, afin de recruter des prestataires de service, via une interface web. Un carnet de contacts devait être mis en place pour la création et l’adressage des appels d’offres, tandis que des fonctions de gestion et de tri devaient permettre de les classer pour choisir la meilleure proposition. Enfin, des fonctionnalités d’archivage devaient être présentes pour la gestion future et le suivi des candidats.

La phase suivante, le développement à proprement parler, a permit de développer l’application en trois « lots » :

  • l’interface web, en deux lots distincts :
    • création d’un appel d’offres,
    • gestion des appels d’offres.
  • interfaçage avec la messagerie Notes.

Une fois ces trois lots livrés, durant la phase de recette de l’application, j’ai pu participer à différents projets, sur quelques points ponctuels :

  • réalisation d’une carte de France des placements forestiers pour le site Uniger,
  • exportation des fiches projets pour l’application intranet « Fiches projets »,
  • diverses réalisations Java sur le site « Reporting »,
  • etc.

Outre ces participations ponctuelles, j’ai aussi pu m’impliquer dans le processus d’homogénéisation des développements au sein de l’équipe. Peu avant mon arrivée, cette homogénéisation avait été initiée, ce qui avait abouti à la mise en place d’une norme de programmation. Malgré tout, les outils utilisés restaient très disparates.

J’ai donc effectué une étude sur l’outil eclipse afin de le proposer comme standard. Ce logiciel offre un cadre dans lequel diverses applications peuvent fonctionner de concert pour produire un environnement de développement intégré. Eclipse est totalement personnalisable et est totalement basé sur le principe des « plug-ins », et peut donc être transformé à volonté. De plus sa nature « Open Source » permet de modifier le cœur même des applications et de la plate-forme pour l’ajuster aux besoins spécifiques qui peuvent apparaître.

L’outil ayant été jugé intéressant, j’ai pu créer un « package » contenant une installation contenant tous les outils nécessaires à un développement web dans l’équipe :

  • éditeur PHP,
  • débogueur PHP,
  • éditeur Perl,
  • éditeurs HTML, XML, …
  • gestionnaire CVS,
  • explorateur de base de données et éditeur SQL,
  • explorateur d’arbre LDAP,
  • etc.

Le package contient aussi un certain nombre de plug-ins additionnels :

  • sur couche Vi pour les éditeurs,
  • outil de modélisation UML,
  • testeur d’expressions régulières,
  • etc.

Ce package a été adopté par la majorité de l’équipe.

De plus, certains plug-ins ont du être modifiés pour s’adapter à la configuration spécifique des outils de l’équipe :

  • le plug-in d’exploration de base de données pour reconnaître le serveur Sybase,
  • le plug-in CVS pour être compatible avec l’interface web CVS du framework,
  • le plug-in PHP pour suivre la norme de programmation au niveau du formatage.