Stage Groupe Berri Sommaire STAGE GROUPE BERRI ................................................................................................................... 1 REMERCIEMENTS ............................................................................................................................................. 3 Présentation du groupe Berri ........................................................................................................................... 4 La CIPAV .............................................................................................................................................................. 4 La CAVOM ........................................................................................................................................................... 5 La direction des systèmes d’information (DSI) du groupe Berri ........................................................................ 6 Organisation de la DSI ......................................................................................................................................... 6 Organisation fonctionnelle de la DSI: en 6 Pôles distincts .................................................................................. 7 Organisation fonctionnelle de la DSI – Domaine Back Office ............................................................................. 8 Mon premier projet de stage ........................................................................................................................... 9 Présentation de RAM ..................................................................................................................................... 10 Présentation général de l’application ............................................................................................................... 10 Présentation de la partie profession ................................................................................................................ 11 Exemple de partie de code JSP, JAVA et XML. .................................................................................................. 21 Un exemple de diagramme de classe ............................................................................................................... 29 Technologie et mots utilisée .......................................................................................................................... 31 Page 2 REMERCIEMENTS Je tiens à remercier toutes les personnes qui ont contribué au succès de mon stage et qui m'ont aidé lors de la rédaction de ce rapport. Tout d'abord, j'adresse mes remerciements à monsieur Frédéric CLENET qui m’a accepté en tant que stagiaire dans son équipe qui gère le back-office, de m’avoir donné une mission qui était en adéquation avec mes attentes et de m’avoir au mieux intégré à l’équipe. Je tiens à remercier vivement Naty PAYET ainsi que l’équipe du back-office, pour son accueil, le temps passé ensemble et le partage de son expertise au quotidien. Grâce aussi à sa confiance j'ai pu m'accomplir totalement dans mes missions. L’équipe fut d'une aide précieuse dans les moments les plus délicats. Je remercie également toute l'équipe informatique pour leur accueil, leur temps passées à me présenter leur travails, à répondre à mes questions sur mes choix futurs et à me donner leur ressenties par rapport aux technologies qu’ils pensent le plus importantes dans l’avenir. Page 3 Présentation du groupe Berri Le Groupe Berri est un groupe privé de protection sociale français, spécialisé dans les métiers de la retraite et de la prévoyance créé en 2011 pour gérer quatre caisses de prévoyance obligatoire françaises: la CIPAV, la CAVOM, l’IRCEC, la CAVEC. L’IRCEC et la CAVEC ne font plus partit du groupe Berri depuis octobre 2015 et juin 2015 respectivement. Son nom vient de celui de la rue de Berri à Paris où ces caisses avaient leurs locaux dans les années 1980. Les caisses membres du Groupe Berri sont des organismes de Sécurité sociale, créées en applications du Code de la mutualité et publiées au Bulletin officiel du ministère concerné. Elles exercent une mission de service public. Elles sont placées sous la double autorité du ministère chargé de la Sécurité sociale et du ministère de l'Économie et des Finances. Elles sont énumérées dans le Code de la Sécurité sociale. La CIPAV Pour leur retraite, mais aussi pour la couverture des risques invalidité et décès, les personnes exerçant une profession à titre «libéral» cotisent obligatoirement auprès d'un organisme d'assurance vieillesse et de prévoyance. Pour plus de 25% des libéraux en France, c'est la CIPAV qui assure ce rôle. La Caisse Interprofessionnelle de Prévoyance et d’Assurance Vieillesse (CIPAV) gère les trois régimes de retraite obligatoires des métiers du bâtiment et du cadre de vie, du conseil, de la formation, de la montagne et autres: Régime de base, Régime complémentaire, Régime d’assurance invalidité-décès. La CIPAV gère environ: 700 000 cotisants 160 000 retraités Page 4 La CAVOM La caisse d’assurance vieillesse des officiers ministériels gère les trois régimes de retraite obligatoire des métiers du judiciaire : huissiers de justice, commissaires-priseurs, mandataires … : Régime de base, Régime complémentaire, Régime d’assurance invalidité-décès. Elle gère environ : 5000 cotisants 2900 prestataires Les règles pour les régimes de base de ces deux caisses sont les mêmes. Page 5 La direction des systèmes d’information (DSI) du groupe Berri Organisation de la DSI La DSI de la CIPAV assure la maîtrise d’œuvre de l’ensemble du système d’information de la CIPAV: Urbanisme, architecture, Etudes, Exploitation, Maintenance, Support. La maitrise d’ouvrage La DSI et la MOA sont regroupée en une seule direction nommée DSI, La DSI est découpée en 6 Pôles rattachés directement à la Directrice des systèmes d’information. Chaque Pôle est sous la responsabilité d’un Responsable de Pôle (Responsable d’entité dans la nomenclature CIGREF) Page 6 Organisation fonctionnelle de la DSI: en 6 Pôles distincts DSI et MOA sont fusionnées. Les pôles « Domaines » regroupent les ressources permettant la maintenance et l’évolution d’un domaine particulier. Ces Domaines auront la responsabilité de l’intégralité des projets de leurs domaines: Définition des besoins Relation avec les métiers Alignement Stratégique Spécifications, développement, test et intégration Maintenance Suivi budgétaire Support Reporting Chaque responsable de Pôle à la tête d’un domaine exercera la responsabilité d’un responsable de domaine (voir fiches de poste) Les effectifs d’origine DSI et MOA sont répartis en fonction de leurs compétences et expertises sur les différents domaines et en tenant compte de leurs souhaits d’évolution de carrière. Le Schéma de la page suivante définit la répartition des applications entre les différents domaines. Cette répartition est fonctionnelle et non applicative Les effectifs sont des estimations et dépendront en particulier du portefeuille de projet à développer Page 7 Organisation fonctionnelle de la DSI – Domaine Back Office Voilà le domaine dans lequel j’ai été ajouté : Page 8 Mon premier projet de stage Le projet qui m’a été donnée a pour optique d’automatiser l’ajout d’une profession libéral pour la CIPAV au sein de la table des professions directement depuis l’application web java EE sans avoir besoin d’accéder à la base de donnée de RAM (refonte application métier). En plus de l’ajout il faut avoir la possibilité de pouvoir voir les professions existantes au sein d’une liste, de pouvoir faire une recherche dans la listes des professions de RAM. J’ai pour l’instant été amené à découvrir le projet RAM, qui correspond à l’application de gestion des adhérents et prestataire pour les employés de la CIPAV et CAVOM. Les cotisants et prestataire eux n’ont donc pas accès a cette application, un site leur ai réservés développer par l’autre équipe de développeurs le « front-end ». J’ai ensuite commencé à coder sur Eclipse en java EE sur le projet web qui utilise des vues XHTML en JSP et un Framework Hibernate pour la partie Base de données. Ce stage est pour moi intéressant puisque je n’avais pas été auparavant amené à utiliser les technologies utilisées dans ce projet. J’ai donc du apprendre à coder en java, JSP, voir la structuration d’une requête HQL. Ce stage m’apporte aussi une vision de l’intérieur de l’entreprise au sein d’une équipe, j’ai pu échanger sur le projet pour obtenir des aides mais aussi sur l’évolution de l’informatique en général avec leurs ressenti sur les technologies actuels, les choix que je suis amené à faire dans le futur. J’ai eu pas mal de réponses sur les questions du parcours à suivre en informatique, des entreprises intéressantes en tant que développeur junior, j’ai pu aussi parler avec des personnes qui sont dans des fonctions un peu différente, que ce soit a l’exploitation ou même des fonctions qui sont plus du coté connaissance du métier comme la MOA. J’ai pu avoir ma première réunion de travail ou mon responsable nous a parlé des projets en cour, des modifications matérielles, de qui devra gérer tel ou tel erreurs. J’ai essayé aussi de m’intégrer au maximum à l’équipe que ce soit dans les relations de travail mais aussi de manière sociale. 03/02 J’ai eu maintenant diverses réunion, j’ai présenté une première version du résultat, on ma demandé de reprendre des choses mais dans l’ensemble c’est bon, je commence à bien avoir en main éclipse, le langage java et les JSP. J’ai du rajouter un champ en base, il faut donc changer le modèle SQL des différentes bases de données puisque je travaille sur une copie de la base de donnée. Page 9 Présentation de RAM Présentation général de l’application Voici la page d’acceuil de RAM (refonte application métier) elle permet de rechercher une adhérent, dans le cas actuel un adhérent de la cipav et de le lister. Page 10 Présentation de la partie profession La nouvelle vue qui permet d’ajouter une profession à partir d’un libéllé de cette profession, d’un code APE correspondant à la profession, d’un collège et d’un paramètre permettant de choisir si la profession est affilier a la caisse de retraitre en cour d’execution dans l’application, dans le cas actuel on travail sur la CIPAV. Si il n’y a pas d’affiliation la date de refus est obligatoire sinon la date d’acceptation d’affiliation est facultatif, cette date permet de savoir à partir de quand la profession est accepter ou refusé. Par exemple on accepte l’affiliation à partir du 1 er janvier 2016. Page 11 Voici donc les écrans en fonction de si on est en acceptation ou en refus d’affiliation. Page 12 Un écran de confirmation qui permet d’afficher les données rentrées précédemment. La confirmation d’ajout de la profession quand on valide, le code étant basé sur le faite que chaque erreur arrête l’exécution du code et renvoie un message d’erreur, nous somme sûr qu’en cas de message de confirmation d’ajout l’ajout à bien été fait en base. Page 13 L’écran qui permet de rechercher une profession, là dans l’exemple on a rechercher une profession qui contient « TEST » il nous as donc trouvé la profession créer juste avant, on peut à partir de cet écran de recherche créer un CSV de la liste, modifier la profession en cliquant sur l’ID de la profession et trier les professions par l’id de la profession ou le libellé. L’Ecran qui permet la modification quand on clique sur l’un des ID de la profession Page 14 Page 15 Page 16 Si on clique sur le bouton pour télécharger en CSV on tombe sur cet ecran qui nous permet d’enregistrer le fichier. Page 17 Le résultat de l’affichage sous excel de notre liste. Page 18 On peut paginer de manière dynamique les résultats pour en afficher jusqu'à 50 au maximun. Page 19 La dernière page qui permet d’afficher un tableau de toutes les professions, cette page est assez similaire à la page de recherche. Page 20 Exemple de partie de code JSP, JAVA et XML. Voici donc un exemple de JSP sur la création qui est relié au Bean de creationprofession. Page 21 Dans le cas ou on créer une profession dans le code diverses contrôles s’exécutes pour vérifier par exemple la présence ou non en BDD du libellé inscrit. Quand on valide la création on passe donc par l’enregistrement de la profession et de son statut, on a donc 3 ajout en BDD, un ajout de la profession dans la table profession et 2 ajout dans la table professionstatut avec un statut adhérent « normal » et un statut autoentrepreneur. Page 22 Page 23 Un exemple d’un HBM pour les professions, c’est un XML qui permet de faire la jonction entre la BDD et le Bean de profession, on met a l’intérieur les donnés attendu par la BDD. Le Bean de recherche profession qui perme de vérifier qu’au moins un critère de recherche est définit. Page 24 Page 25 L’exemple de deux requête hibernate qui utilise les paramètres rentrés auparavant, la seule différence c’est au niveau du paramètre d’acceptation ou de refus qui est un peu particulier puisque certaine profession en base n’ont pas ce champs renseigné et l’ont donc à « null ». Page 26 L’exemple de la fonction qui permet la génération automatique du CSV. Page 27 Un exemple de règle de navigation utilisé pour gérer la jonction entre les JSP et les Bean java Une partie du fichier de properties labels qui permet de n’avoir aucune phrase directement écrite dans les JSP Page 28 Diagramme d’utilisation Page 29 Un exemple de diagramme de classe Profession Attributs : codeProfessionInterne codeApe codeCollege libelleLong codeTerminaison collegeCip3 collegeCip5 accepteAffiliation dtRefusAffiliation codeProfessionIBM version String String String String character String String boolean date String long Methodes : toStringAttributs(Stringbuilder) isMixteEcCac() setCodeProfessionInterne(String codeApe) getCodeApe() setCodeApe(String codeApe) getCodeProfessionInterne() getId() getCodeCollege() setCodeCollege(String codeCollege) getLibelleLong() setLibelleLong(String libelleLong) getProfessionStatuts() setProfessionStatuts(<professionStatuts> professionStatuts) getCodeTerminaison() getCollegeCip3() setCollegeCip3(String collegeCip3) getCollegeCip5() getCollegeCip5(String collegeCip5) getCodeProfessionInterne() getCodeProfessionIBM() setCodeProfessionIBM(String codeProfessionIBM) getAccepteAffiliation() setAccepteAffiliation() getDtRefusAffiliation() setDtRefusAffiliation() getVersion() setVersion(long version Page 30 void boolean void String void String String String String String void Set<ProfessionStatut void Character String String String String String String String boolean boolean Date Date long void Technologie et mots utilisée SVN : logiciel de gestion des versions pour les projets TOMCAT : serveur d’application JAVA. Mantis : logiciel de gestion des bugs. Maven : outil de gestion des projets Java. Java EE : langage java pour le web développement. JVM : Java virtuel machine utilisé pour exécuter le projet. Front office : parti utilisateur Back office : parti administration pour les employés des caisses. Page 31