1. Rapport de stage
SOGECAP : Maintenance et livraisons de l’application : O.S.I.D (Outils Statistiques Indicateurs et Délais)
Maître de stage : Eric Davy
Encadrants : Eric Davy, Cédric Outreville
Référents techniques : Nicolas VINCENT
Premiers participants au projet :
Franck De-Moura (Stagiaire), Simon Chauvin (Alternant), Cédric Outreville (Alternant)
42 Boulevard Alexandre Martin
45000 Orléans www.sogecap.com
122-124 rue du Faubourg Bannier
45000 Orléans www.supinfo.com
Master of Science – Expert en Informatique et Système
Spécialité Développement Applicatif & Mobile
Beaudenon Théo
Année Universitaire 2013/2014
3. Introduction
3.1. Remerciements
Avant tout développement de ma part, je tiens à présenter mes sincères remerciements :
À Monsieur Eric DAVYqui m’a accepté au sein de son service pour la réalisation de mon stage et qui m’a donc permis par la même occasion de découvrir pour la première fois une grande organisation et d’avoir une première expérience professionnelle concluante.
À Monsieur Cedric Outreville de m’avoir guidé tout au long du projet en m’encadrant techniquement et en m’initiant à un bon nombre d’outils nécessaires à la réalisation de ce même projet.
À Monsieur Nicolas VINCENT qui m’a aidé a la mise en intégrations de l’application et le résolutions de certains problèmes.
À Madame Nathalie LE NUE pour sa patience et son sang-froid lors de problème avec l’application.
À tout le personnel de la SOGECAP qui aura participé directement ou indirectement à l’avancement du projet, mais aussi pour tout l’enrichissement que cela m’a apporté.
3.2. L’entreprise : « SOGECAP »
SOGECAP est la filiale assurance vie et capitalisation du groupe Société Générale. « Cette branche a pour fonction principale de fournir des produits dans le domaine de l’Epargne, de la prévoyance et de l’assurance des prêts que ce soit pour les particuliers, les professionnels ou les entreprises ».
D’origine française et fondée en 1963, « SOGECAP est devenu un acteur majeur de la bancassurance (4e en terme de chiffres d’affaires en France) mais aussi dans l’assurance vie (7e en terme de chiffres d’affaires en France) .
En quelques chiffres, SOGECAP c’est :
- Un chiffre d’affaires de 10,6 milliards d’euros en 2013
- 18 millions de contrats gérés en assurance de personnes
- Une présence dans 15 pays
- Une équipe de 2 100 collaborateurs »
« Le Président Directeur Général de SOGECAP est actuellement M.Philippe Perret. La direction générale se trouve en région parisienne, plus particulièrement au quartier d’affaires de la Défense. » La société dispose également de locaux à Orléans, boulevard Alexandre Martin, où j’ai effectué mon stage de fin d’année.
Source : Site Intranet SOGECAP, 6 Juin 2014
3.3. La Direction des Systèmes d’Informations (DSI)
La DSI (direction des systèmes d’informations) de SOGECAP a pour objectif de concevoir, développer et déployer les applications du patrimoine applicatif de SOGECAP. Elle en assure également leur maintenance (évolutive et corrective).
Cette même DSI est séparée en quatre services distincts :
- Corporate,
- SI France,
- International,
- AMS (Architecture, Méthodes et Supports).
La DSI dispose de beaucoup de clients différents les uns des autres. Il y a les clients de la Société Générale, les conseillers qui utilisent des applications internes pour faire souscrire un contrat à ces mêmes clients, ainsi que les partenaires professionnels de SOGECAP tel que SOGESSUR.
Mon stage s’est déroulé dans le Service d’Informations France (SI France) qui est organisé selon deux patrimoines applicatifs regroupant les chefs de projets, développeurs et prestataires spécialisés :
- Patrimoine Applicatif Distribution & Référentiel : Service qui gère toutes les applications informatiques de souscriptions (comprenant le domaine Référentiel et le domaine Distribution)
- Patrimoine Applicatif Assurance des personnes : Service qui gère tous les systèmes de gestion (comprenant le domaine Epargne et le domaine Prévoyance)
J’ai eu l’honneur de travailler au sein du domaine Distribution sous la direction d’Eric DAVY, responsable du Patrimoine Applicatif Distribution et Référentiel. J’y ai été guidé et encadré durant les deux premiers mois par Cédric OUTREVILLE, alternant sur le projet depuis un an, et Nicolas VINCENT, référent technique du projet.
4. Le projet : O.S.I.D (Outils Statistiques Indicateurs et Délais).
4.1. En Bref
Dans le SI France de SOGECAP est appliqué le concept d’amélioration continue. Pour cela, il faut évaluer la santé des projets pour respecter les normes ISO9000-ISO9001. Ces normes imposent d’établir des processus permettant d’estimer la qualité des projets et le temps de réponses à un incident. Ces processus garantissent un suivi de projet demandé dans les normes.
Les statistiques qui en découlent permettent de comparer les projets d’année en année et de savoir si le travail du service s’améliore. S’il ne s’améliore pas, il doit être possible de redescendre vers la raison du travail non satisfaisant. Une fois le problème ciblé, il faudra le résoudre et faire en sorte qu’il ne soit pas reproductible.
Chez SOGECAP, et plus particulièrement dans la D.S.I, on gère l’évolution d’un projet informatique à l’aide de deux logiciels internes à l’entreprise qui se nomment PsNext et JIRA.
4.2. Les charges, les évolutions et incidents
4.2.1. Les charges
PsNext : C’est un logiciel de gestion de projet et de portefeuilles pour les entreprises. Il permet de planifier et de gérer les différentes évolutions d’un projet/maintenance informatique et les charges qui en découlent, à savoir le nombre de jours/hommes que cela prend, la répartition de ceux-ci entre les différents services.
4.2.2. Les Évolutions et Incidents
JIRA : C’est un outil de gestion de suivi de bug, gestion des incidents et gestion de projets développé par Atlassian*. Il permet de faire le « va et vient » entre les différents services de la D.S.I (MOE (Maîtrise d’œuvre), HML (Homologation), pôle développement). Il assure le suivi des anomalies qui surviennent durant un projet ou une maintenance informatique.
4.2.3. Utilisation de ces données
Ces deux outils sont accessibles en interne par tous les salariés de l’entreprise. Chaque responsable et chef de projet se doit de garder le contrôle de la qualité des projets qu’il gère. Pour cela, grâce aux indicateurs récupérés sur chaque projet et croisés avec les anomalies issues de Jira, il est possible d’en déterminer sa qualité (ratio des anomalies [Jira] par les charges [PsNext] sur chaque indicateur [PsNext]).
Actuellement, les calculs sont réalisés manuellement par les chefs de projet, et représentent une charge de temps non-négligeable. Ainsi, la réalisation de l’application OSID permet désormais d’automatiser ces tâches, d’alléger le croisement des données PsNext et Jira, et de mieux répartir les rôles à jouer dans la mesure de la qualité d’un projet.
4.3. Importation données
À mon arrivée, l’importation des données s’effectue à partir de trois fichiers excel.
Deux fichiers proviennent de PSNext et un de Jira.
Les fichiers sont nommés: XXX_SSS_DDD.xls
XXX est le nom du projet.
SSS est le type du fichier.
DDD est l’année et le mois.
- Fichier IND (Indicateurs) : Ce fichier contient tous les indicateurs PsNext, ce qui identifie un PsNext. Lors de cette première étape, nous récupérons tous les niveaux 1, 2 et 3 des PsNext.
- Fichier CONSOMOE_IND (Consommation MOE Indicateurs) : Ce fichier contient aussi tous les indicateurs PsNext. Lors de cette étape, nous allons récupérer les clés d’indicateurs PsNext ainsi que les charges (jours hommes) associées.
- Fichier CONSOMOE_DOM (Consommation MOE Domaine) : Ce fichier contient cette fois les clés d’indicateurs PsNext, ainsi que les charges associées, organisées par domaine.
- Fichier JIRA : Ce fichier contient les anomalies rapportées lors de la réalisation du projet/maintenance.
Les fichiers sont lus par l’application et les données sont extraites pour être ajoutées dans la base de données. Les données seront utilisées pour générer des statistiques.
4.4. Génération Statistique
Les supports statistiques sont importants pour rendre compte de la qualité de la réalisation d’un projet pour pouvoir optimiser les méthodes utilisées, tirer des leçons des problèmes survenus durant le développement pour pouvoir les éviter dans les futurs projets et donc permettre à l’entreprise d’évoluer. Comme déjà énoncé précédemment, cette tâche actuellement réalisée manuellement par les chefs de projet prend du temps et représente une charge impressionnante. L’objectif de l’application développée ici est d’automatiser cette tâche.
À ce jour, la génération dispose d’une génération sur chaque PSNext de chaque projet a un Mois donné. Il indique les différents types d’anomalies et les charges du PSNext.
4.5. Synthèse
5. Environnement de travail
Comme de nombreux services informatiques conséquents, SOGECAP dispose de normes de développement. Elles sont instaurées par la cellule Architecture Méthodes et Support (A.M.S) qui assiste les développeurs et analyse leur code pour centraliser les codes communs des programmes.
De ce fait, tous les développeurs déploient les mêmes environnements de travail et produisent des programmes règlementés. Ce mode de travail en groupe revient à de l’expression et communication de l’informatique. Imposer des règles pour communiquer clairement et rapidement à travers nos programmes. Le respect de cette règlementation améliore le travail collaboratif par une meilleure relecture et compréhension des programmes des autres.
Dans ce contexte, les outils utilisés par OSID sont les suivants :
5.1. Outils temporaires et optionnels
5.1.1. XAMPP
« XAMPP est un kit d’installation contenant une suite de logiciels ». Il permet de déployer et d’utiliser localement un serveur Web facilement et rapidement. Cet ensemble, composé de logiciels libres, contient MySQL, PHP et Perl et se base sur un serveur TomCat Apache. De plus, il combine différentes API* (OpenSSL, Expat (parseur XML), PNG, SQLite, zlib, …), ce qui permet aux développeurs d’utiliser plus de fonctionnalités.
Ces produits ont été proposés afin de mettre en place, dans les meilleurs délais, le cœur de l’application. L’application existante fonctionnait avec ce logiciel. Son utilisation permettait d’avoir une base de données à disposition gérable en tant qu’administrateur. Cette base est accessible grâce à des interfaces web (phpMyAdmin*) pour visionner facilement les données échangées avec OSID.
5.1.2. Spring Roo
SpringRoo est un outil qui génère du code java via une console avec des lignes de commandes. Cette génération permettait d’administrer une base de données et des interfaces web basées sur le Framework Spring. Ses IHM (interface homme-machine), via des formulaires, manipuleront les différentes données sous la forme du modèle CRUD (Create Read Update Delete)*.
Cet outil a été employé pour gagner du temps dans la réalisation de la base de l’application. En revanche, comme tout générateur de code, le résultat est lourd et difficile à mettre en œuvre. En effet, de nombreux contenus sont nécessaires à la compréhension de la machine, et soumis à l’incompréhension d’un être humain.
5.2. Outils définitifs
5.2.1. Apache Tomcat
Apache Tomcat est un serveur d’applications qui gère les servlets* et permet de générer des pages web dynamiques*. Il combine la partie serveur et la partie client dans un même fichier. Beaucoup plus léger que XAMPP, il contient seulement les technologies nécessaires pour être utilisée sur certains serveurs pour des environnements d’intégration, de recette, de pré-production et de production.
5.2.2. Maven
Maven est un logiciel libre permettant la gestion et l’automatisation des réalisations des projets en JEE. Il a pour principal objectif de faciliter la compilation* des projets et a permis, pour l’application OSID, de gérer les dépendances et les librairies nécessaires via le fichier pom.xml* (Project Object Mode). Ce fichier permet de configurer la compilation du projet et de la rendre modulable.
5.2.3. Spring Tools Suite (STS) et Eclipse
Eclipse est un outil de développement qui donne accès à tout un environnement de développement intégré (EDI). Il possède en plus du débogueur, du compilateur et de l’éditeur de texte, une quantité considérable de plugins qui permettent de faciliter la programmation comme la génération automatique du code répétitifs ou d’un refactoring*.
STS vient compléter Eclipse en élargissant sa portée avec des librairies et des plugins supplémentaires. Cette extension permet de faciliter le développement en JEE. Mon éclipse était organisé celon le schéma ci-dessous :
5.3. Outils supplémentaires
5.3.1. Apache Poor Obfuscation Implementation (POI)
POI (Poor Obfuscation Implementation) est une API* du groupe Apache qui permet de manipuler différents fichiers générés par la suite Office de Microsoft tels que Word ou encore Excel. Le prochain objet* décrit (HSSF) a permis l’importations de données actuellement disponibles sur des fichiers Excel. Le second (XSSF) pourra être utilisé pour étendre les formats des fichiers lisibles par O.S.I.D.
- HSSF : Horrible SpreadSheet Format, est utilisé pour travailler avec les fichiers Excel d’extension .xls, et est compatible avec le format Excel de 1997.
- XSSF : XML Spreadsheet Format. Ce composant est exactement le même que HSSF présenté précédemment sauf que celui-ci est capable de travailler avec des fichiers d’extension .xlsx compatible avec les fichiers de format Excel de 2007.
5.3.2. Utilisation de CROWD
Crowd permet d’externaliser des logins et mots de passe hors d’une l’application. Ce système permet de gérer les utilisateurs à plusieurs applications dans une même base de données.
Pour incorporer CROWD (10.4.2 – Fonctionnement de CROWD en page 58) dans son application Web, une procédure précise est à respecter.
Dans le cas de l’application OSID, et de façon plus générale au sein de la société SOGECAP, le système CROWD est directement relié aux annuaires LDAP. Les annuaires permettent de conserver des données de manière organisé, sécurisé et avec une performance en consultation. Au sein de SOGECAP, il existe plusieurs annuaires LDAP, ayant chacun leurs spécificités. Par exemple, les utilisateurs de la Société Générale sont répertoriés dans un annuaire indépendant, ceux de SOGECAP dans un autre, etc.
5.3.3. Tortoise SVN
Tortoise SVN est un client Subversion (SVN) très populaire. Il s’intègre à l’explorateur Windows très facilement, et offre ainsi une interface graphique simple d’utilisation permettant de réaliser la plupart des tâches qu’offre SVN en ligne de commande. Cet outil de versionnage permet de garder une trace de différentes versions d’un même document. Dans n’import quel groupe de développeur, un outil de versionage est utilisé
5.3.4. J-Unit
Dans un monde parfait, tester est une perte de temps.
En effet dans un monde parfait le processus de fabrication d’un logiciel pourrait être décrit ainsi :
Recueillir les besoins ➝ Imaginer ➝ Écrire ➝ Compiler ➝ Exécuter
Dans un monde parfait, l’erreur n’existe pas. Il est donc inutile de tester.
Sauf que nous ne vivons pas dans un monde parfait, et le propre de la vie est de faire des erreurs. Rien de surprenant donc à ce que l’homme en fasse.
Sénèque le jeune nous rappelle, il y a déjà longtemps, que l’erreur est humaine, ‘Errare humanum est’. Conscient de cela, l’homme va tester ce qu’il fabrique dans un premier objectif de validation. L’utilité du test est alors de vérifier que ce qui a été fabriqué est conforme à ce qui a été demandé.
J-Unit est plugin qui peut s’intégrer et étendre Eclipse. Ce module contient un framework qui facilite l’implémentation des tests unitaires. C’est une instance de la célèbre architecture x-Unit utilisée pour les tests unitaires en tout genre.
5.3.5. Sonar
Sonar est, à mon sens, un excellent outil de suivi, d’une simplicité déconcertante.
Le but principal de cet outil est de fournir une analyse complète de la qualité d’une application en fournissant de nombreuses statistiques (ou métriques) sur ses projets. Ces données permettent ainsi d’évaluer la qualité du code, et d’en connaître l’évolution au cours du développement.
6. Travail effectué
6.1. Interface
Le design de l’interface ne respectant pas la norme SOGECAP, J’ai donc entrepris la refonte de celui-ci. Armé du Twitter Bootstrap, j’ai modifié toutes les pages pour rendre l’application plus agréable d’utilisation.
Le nouveau design est compatible jusqu’à Internet Explorer 7 et avec tout les navigateur récents.
Ce changement radical m’a permis de mieux comprendre le fonctionnement de Spring MVC
OSID avant refonte
OSID Après refonte
6.2. Données
|
OSID contient un certain nombre de données, la compréhension de celles-ci m’ont pris une bonne partie de mon temps, mais obligatoire pour travailler sur le projet dans de bonnes conditions.
Les données suivent un modèle CRUD (pour Create, Read, Update, Delete) qui est parti intégrant du MVC.
C’est donc springroo qui génère ces classes.
|
6.2.1. Importation
|
J’ai mis en place un système d’importation automatique des anomalies JIRA dans OSID, celui-ci va chercher les JIRA grâce a l’api REST et les importe en base tel le fichier JIRA.
Les avantages sont :
● Le calcul des délais est possible car l’on récupère des valeurs obligatoires pour le calculs de celles-ci.
● Un gain de temps, il n’y a pas d’extraction JIRA a faire.
|
6.2.2. Mise a jour
|
Cette page vous permet de mettre a jour les champs :
● datePremiereReponse ● dateResolution ● delaiResolution ● delaiFermeture Si Null ou égal à 0 (delais). Les nouvelles anomalies ne seront pas ajoutées.
La date Première Réponse et Date Résolution est récupéré sur REST JIRA. Puis les délais seront calculés grâce a ces dates.
|
6.3. Génération
6.3.1. Introduction
La génération de statistique a été la plus grosse partie de mon stage a SOGECAP. Toutes les générations sont effectuées avec la librairie Apache POI.
Cette librairie est extrêmement riche en composants. Elle m’a, en effet, permis de manipuler en java les lignes, colonnes, cellules, formules, dates et valeurs de manière simple. En revanche, cette librairie permet d’effectuer un très grand nombre d’opérations assez différentes les unes des autres. Celle-ci requière une grande maîtrise pour aboutir à un résultat attendu. Avec du recul, il m’est possible de conclure que cette prise en main est rapide du fait de la bonne documentation et des exemples disponibles partout sur internet.
Voila un exemple simple a comprendre:
6.3.2. Qualité multiple
|
La génération de qualité multiple synthétise les anomalies et charges par projets et par années.
Cela génère un fichier qui était autrefois réalise a main a partir de la génération déjà existante.
|
6.3.3. Délais
|
La génération des délais permet de voir des graphiques sur les anomalies d’un projet.
Graphique par : ● Traitement domaine ● Résolution domaines ● Fermeture domaine ● Traitement Projet ● Résolution Projet ● Fermeture Projet ● Délais Global
|
Exemple de la génération statistiques des délais :
6.3.4. Synthèse
|
La génération de synthèse est la génération statistique la plus poussée d’OSID.
Elle indique sous forme simple (émoticones) la qualité et les délais dans un seul document Excel. |
Exemple de la génération statistiques de synthèse (partie Qualité):
Exemple de la génération statistiques de synthèse (partie Délais):
6.4. Tests et qualité du code
6.4.1. Junit
J’ai effectué les tests des contrôleurs et de la partie génération sur Junit, ceux-ci permettent une non régression (tests d’un programme préalablement testé, après une modification, pour s’assurer que des défauts n’ont pas été introduits ou découverts dans des parties non modifiées du logiciel.).
6.4.2. Sonar
Suite a un test sur sonar, il a fallu corriger un gros nombre de problèmes sur le projet OSID.
La couverture de ligne est le pourcentage de ligne de code ou des tests sont présents.
Mes corrections sont visibles par la progression du taux de conformité et de couverture malgré les nouvelles fonctionnalités ( Lignes de code ).
Voila un exemple de couverture de ligne sur Sonar :
On peux voir ici que le test passe seulement dans le if et pas de le else. Si une erreur est ajouté dans le else, le test ne s’en rendra pas compte.
Voila un exemple de non conformité :
Ici, le nom des variables est trop court et donc peux porter à confusion.
6.4.3. Perpétuité du projet
J’ai mis a jour la documentation du projet OSID pour les nouveaux utilisateurs ( explications des nouvelles générations, nouvelles captures d’écrans).
Ajout d’une page OSID dans le WIKI SOGECAP avec un tutoriel sur :
- L’ importation du Projet
- La création de la base de données
- La configuration du Serveur
7. Conclusion
En 4 mois de stage a sein de SOGECAP, j’ai eu la possibilité d’enrichir mes connaissances en java ( génération de Fichiers Excel avancé et utilisation de Spring MVC ), mais aussi l’acquisition de connaissances sur des outils internes de l’entreprise, sur des applications reconnues de l’informatique (Wiki, clients SVN), et parfois même sur des applications les plus basiques qu’on puisse penser (Client de messagerie Outlook, bureautique avec la suite Office…).
Bien évidement la synthèse ci-dessus, est un résumé global de mon travail, j’omets les problèmes qui ont survenu et autres remarques constructives que l’on m’a faites sur certaines lignes de mon code, comme le disait Henry Ford : « L’enthousiasme est à la base de tout progrès. ».
Je remercie donc encore une fois toutes les personnes qui on prit de leur temps pour m’accompagner sur le projet.
Théo Beaudenon
8. Annexes
8.1. Glossaire
- API : ou librairie : interface* fournie aux programmeurs pour qu’ils accèdent à des fonctionnalités préprogrammées.
- Atlassian : Logiciel de wiki disposant de fonctionnalités très avancées développé par la compagnie Atlassian.
- Compilation : passage d’un langage compréhensible par l’homme (comme le java) à un langage compréhensible par une machine (binaire).
- CRUD (Create, Read, Update, Delete) : est un modèle de manipulation de données. Ce modèle prend en compte, pour chaque entité (comme un responsable, un projet ou encore une anomalie), sa création (Create), de la voir (Read), la possibilité de la modifier (Update) et de la supprimer (Delete).
- Dépendances : modules facilitant le travail du programmeur
- Diff : depuis un logiciel de versionnage cf(4.4.3 – Tortoise SVN en page 24), un diff est un affichage permettant de distinguer les modifications établies entre deux versions de fichiers (addition, suppression, modification)
- Eclipse favoris : Eclipse étant très personnalisable, chacun peut organiser les onglets et fenêtres de son logiciel tout en gardant les normes de l’entreprise.
- EDI/IDE : Environnement de Développement Intégré. Dans mon cas, Eclipse était l’IDE, plus précisément SpringSource Tools Suite (STS).
- Interface : Du point de vue du programmeur, une interface est un fichier permettant d’obtenir différents profils de fonctions. Cela permet d’avoir un point de vu plus clair que de chercher directement dans les codes.
- JEE : Java Enterprise Edition est une spécification pour la technique Java de Sun plus particulièrement destinée aux entreprises. Elle contient un ensemble d’extensions de Framework afin de faciliter le développement.
- JSP : JavaServer Page : Technique basée sur Java qui permet de créer dynamiquement du code HTML, XML ou tout autre type de page web.
- MySQL : Système de gestion de bases de données (SGBD) de type SQL.
- SQLite : Moteur de base de données relationnelles.
- Objet : En informatique, un objet est un regroupement de code de programmation qui pourra être utiliser autant de fois que nécessaire. Il centralise du code répétitif.
- OpenSSL : Boîte à outils de chiffrement de données
- Oracle : Système de gestion de base de données (SGBD) très réputé.
- S.I.D : Outils de Statistiques Indicateurs et Délais (Nom de l’application développée)
- Page web dynamique : page dont le contenu est construit selon un contexte.
- Perl : Langage de programmation reprenant des comportements et fonctionnalités du langage C.
- PHP (Hypertext PreProcessor) : Langage de programmation web utilisé pour produire des pages web dynamiques.
- phpMyAdmin : Interface web graphique permettant de gérer une base de données de type SQL.
- POI : Poor Obfuscation Implementation ou mise en œuvre d’une mauvaise offuscation. Plugin Apache permettant de lire/écrire des fichiers Excel
- xml : Fichier XML Project Object Model qui contient toutes les dépendances du projet
- Refactoring : Un refactoring en informatique est le renommage d’une partie du code. En d’autres termes, c’est une forme de réécriture du code de programmation qui est invisible par l’utilisateur avant et après refactoring.
- SQL : langage de manipulation de bases de données
- U (Tests Unitaires) : Procédé visant à « tester » les méthodes écrites dans l’application. S’assurer que les valeurs passées en entrée et en sortie sont celles qu’on attend et qu’elles sont correctes. Les tests unitaires permettent aussi d’envisager les cas improbables, avec des valeurs complètement superflues ou erronées.
- XAMP : Ensemble de logiciels permettant de mettre en place un serveur comprenant tous les services nécessaires pour une application web (serveur web, serveur FTP, serveur de base de données…).
- XML (Extensible Markup Language) : Langage informatique de balisage numérique.
8.2. Webographie/Bibliographie
- Sites officiels
- Documentation, API JAVA : http://docs.oracle.com/javase/6/docs/api/
- o Documentation, API Spring : http://www.springsource.org/documentation
- o Documentation, API Maven : http://maven.apache.org/guides/index.html
- o Documentation Apache POI (Extension Java Excel) : http://poi.apache.org/
- Sites d’apprentissage
- Développez : http://www.developpez.com/
- Site du Zér0 : http://www.siteduzero.com
- Stackoverflow : http://stackoverflow.com/