Page 1

Rapport de stage Informatique

Clic Eden Store

Tuteur : Sandrine Fefeu, Chef de projets informatique.

de Stanislas Kerné

Sommaire :

Rapport de stage de fin d’année.

Remerciements

4

Le rapport qui suit est le détail de mes 3 mois passés dans le servie DSI du Groupe Hospitalier du Havre.

Dans ce service de Direction des Systèmes d’information, où j’ai effectué un stage d’une durée de 12 semaines, j’ai découvert les différentes parties du travail de développeur.

Présentation de l’entreprise

5

Tout d’abord, l’offre de stage a été trouvée par candidature spontanée début mai.

Après avoir présenté plus en détail l’entreprise, je détaillerai dans ce rapport le métier de développeur puisqu’il faisait partie de mes tâches quotidiennes.

Organigramme du groupe

6

Le sujet qui m’a été proposé était de finir de développer un outil de gestion du brancardage permettant d’organiser l’ensemble des transports de patients d’un service à un autre.

Les tâches effectuées

7

La finalisation du développement de l’application fut pour moi une tâche qui m’a permis d’apprendre de nouvelles technologies tout en m’appuyant sur certaines de mes connaissances acquises au cours de ma deuxième année d’école supérieure en informatique.

Conclusion

9

Cette offre m’a fait réfléchir à la part de travail qu’avait un tel service dans une administration complète tel qu’un hôpital. En effet, après avoir fait quelques recherches sur l’entreprise, je me suis aperçu que celle-ci était polyvalente. Elle est constituée d’un service de production, de maintenance, de dépannage mais aussi, d’un bureau exploitation ainsi que d’une plateforme téléphonique.

Bibliographie 10 Annexes

B2 école Supérieure d’Ingénieur en Informatique. Année 2010-2011

11


Remerciements

4

Présentation de l’entreprise

5

Organigramme du groupe

6

Les tâches effectuées 1.

7

Prise en compte des travaux déjà effectués.

Compréhension du système MVC.

Apprentissage du Zend Framework.

Prise de connaissance de l’application en cours de développement.

Les tâches effectuées 2.

8

Présentations-Réunions.

Correction de bogues - Ajout de fonctionnalités dans l’application.

Développement de procédures, fonctions en PL/SQL code PHP.

Edition de la documentation utilisateur du logiciel de gestion du brancardage.

Conclusion

9

Bibliographie

10

Annexes

11

Sommaire détaillé

Sommaire détaillé

3


Remerciements

Je tiens à remercier tout particulièrement et à témoigner toute ma reconnaissance aux personnes suivantes, pour l’expérience enrichissante et pleine d’intérêts qu’elles m’ont fait vivre durant ces 3 mois au sein du GHH :

Monsieur Grégoire Lebreuilly, Directeur du service de Direction des Systèmes d’Information pour son accueil et la confiance qu’il m’a accordée dès mon arrivée dans l’entreprise. Pour le temps qu’il a passé à m’aider durant le développement de l’application. Madame Maryse Lagarin, Assistante de direction pour m’avoir intégré rapidement au sein de l’entreprise et m’avoir accordé toute sa sympathie et sa coopération professionnelle. Madame Sandrine Fefeu pour m’avoir accordé son temps et sa patience pour m’expliquer les tâches qui m’étaient dûes ainsi que pour son aide à résoudre certains problèmes de développement.

Remerciements

Monsieur Eric Chapon, Directeur du service de brancardage à l’hôpital Jacques-Monot pour m’avoir reçu à plusieurs reprises pour répondre à mes interrogations, et pour m’avoir accueilli au sein de son service pour me faciliter la compréhension des traits du métier de brancardier. Madame Catherine Jean s’occupant de la gestion des stages au GHH pour sa patiente vis à vis des problèmes administratifs rencontrés au cours de ce stage. Je souhaite remercier Monsieur Christophe Peycéré, stagiaire également pour son savoir et ses connaissances sur le développement du Zend Framework qui m’ont permis de ne pas rester bloqué sur certains problèmes.

Je voudrais aussi remercier toute l’équipe du service informatique pour leur disponibilité et ouverture d’esprit.

Je tiens aussi à remercier l’équipe de SUPINFO et les intervenants professionnels responsables de mon stage, pour avoir assuré la partie théorique de celle-ci et leur professionnalisme par rapport aux problèmes rencontrés au cours de ce stage.

4


Présentation de l’entreprise Les différents sites du GHH

Le Groupe Hospitalier du Havre disposent de dix sites : Hôpital Flaubert

Hôpital Jacques Monod

Hôpital Pierre Janet

55 bis rue Gustave Flaubert BP

29 avenue Pierre Mendès

47 rue de Tourneville

24 76083 Le Havre cedex

France 76290 MONTIVILLIERS

76600 LE HAVRE

Maison de l’adolescent

Hôpital de jour Raoul Dufy

Hôpital de jour

69 rue d'Ingouville

Rue de Tourneville

26 rue Jean Charcot

76600 LE HAVRE

76600 LE HAVRE

76600 LE HAVRE

Résidence du parc de Sanvic

Résidence Calmette Pasteur

Résidence de Rouelles

28 rue Romain Rolland

48 rue du 329ème

139 rue Adèle Robert

76600 LE HAVRE

76600 LE HAVRE

76610 LE HAVRE

Institut de Formation en Soins Infirmiers Mary Thieullent 28 rue Foubert 76600 LE HAVRE

Présentation du service Direction des Systèmes d’Information La DSI est composée de plusieurs entités au service des utilisateurs :

Présentation de la structure Le Groupe Hospitalier du Havre, en tant qu'établissement public de santé, est une personne morale de droit public dotée de l'autonomie administrative et financière. Il est administré par un Conseil d'Administration présidé par le Maire du Havre. Il est dirigé par un directeur nommé, après avis du Président du Conseil d'Administration, par arrêté du Ministre chargé de la Santé. Chargé d'une mission de service public, il est soumis au contrôle de l'Etat.

• Etudes (Chefs de projets qui gèrent les différents logiciels) • Exploitation (Techniciens qui interviennent sur réseaux et serveurs) • Un centre de support qui reçoit les appels des utilisateurs • Des techniciens de terrain qui dépannent les matériels • Un service de téléphonie La DSI est située au sein de l’hôpital Flaubert en centre ville, mais ses techniciens interviennent sur l’ensemble du parc informatique du groupe Hospitalier.

5


Organigramme du groupe :

6


Les tâches effectuées 1. Prise en compte des travaux déjà effectués. Compréhension du système MVC. Apprentissage du Zend Framework. Prise de connaissances de l’application en cours de développement.

Les différentes tâches effectuées au cours de mon stage Prise en compte des travaux déjà effectués. Après avoir fait connaissance avec les membres du service, je me suis attelé à comprendre plus en détails les tâches qui m’étaient demandées. Dès lors, j’ai lu le rapport du précèdent stagiaire, je me suis documenté sur ce qu’il avait fait et sur ce qu’il restait à faire. J’ai ensuite rapidement navigué dans l’application pour constater par moi même la charge de travail approximatif. Cependant, n’ayant pas eu la moindre formation sur la technologie employée, je n’ai pas pu me fixer d’obligations mais juste une certaine «frayeur».

Compréhension du système MVC Au début de ma formation, c’est à dire mis-juillet il était donc cruciale pour moi de comprendre le mode de fonctionnement de l’application que je devais finir. Le modèle MVC est une organisation globale d'une interface graphique qui est souvent délicate. L'architecture Modèle-Vue-Contrôleur ne résout pas tous les problèmes. Elle fournit souvent une première approche qui peut ensuite être adaptée. Elle offre aussi un cadre pour structurer une application. Ce modèle d'architecture impose la séparation entre les données, la présentation et les traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur.

Apprentissage du Zend Framework Je me suis ensuite documenté sur le Zend Framework qui est un framework pour PHP 5 créé en mars 2006 par Zend Technologies. Il est distribué sous la Licence BSD Modifiée. Le Zend Framework, aussi nommé ZF, a été développé dans le but de simplifier le développement Web tout en recommandant les bonnes pratiques et la conception orientée objets en offrant des outils aux développeurs. ZF permet aussi d'utiliser nativement le principe de MVC (Modèle-Vue-Contrôleur) mais ne l'oblige pas. J’ai donc suivi quelques tutoriels pour «m'imprégner» de la technologie.

Prise de connaissance de l’application en cours de développement. Après avoir appris les principales caractéristiques des technologies utilisées dans le logiciel, j’ai mis en pratique les connaissances acquises pour comprendre son fonctionnement. J’ai passé plusieurs semaines sur le projet avant d’entièrement assimiler le modèle MVC. Le fait d’avoir appris cette technologie en autodidacte m’a un peu retardé sur l’avancée du projet .

Le MVC ? Le Modèle Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la contient. Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données. Les résultats renvoyés par le modèle sont dénués de toute présentation.

La Vue La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur. Ces différents événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués par le modèle et d'interagir avec l'utilisateur. Dans cette application, elle a été conçu en HTML.

Le Contrôleur : Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, ce dernier avertit la vue que les données ont changé pour qu'elle se mette à jour. Certains événements de l'utilisateur ne concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.

7


Les tâches effectuées 2. Présentations-Réunions. Correction de bogues - Ajout de fonctionnalités dans l’application. Développement de procédures, fonctions en PL/SQL code PHP. Edition de la documentation utilisateur du logiciel de gestion du brancardage.

Les différentes autres tâches effectuées au cours de mon stage Présentations-Réunions. Pendant ma formation, j’ai participé à plusieurs réunions et présenté à plusieurs reprises le logiciel. En effet, le fait de développer une application pour un autre service que celui de la DSI impose d’engager des réunions plus ou moins longues et plus ou moins fréquentes selon l’avancée du projet. De plus, bien que le cahier des charges ait été déjà fait au préalable il est essentiel de comprendre les attentes des clients pour ainsi mieux répondre à leurs besoins-avis qui peuvent changer.

Correction de bogues-ajout de fonctionnalités dans l’application. Je ne me suis pas directement lancé dans le développement de ma tâche principale. En effet, après m’avoir assez documenté sur les technologies employées, j’ai préféré mettre en pratique mes connaissances sur les petits problèmes rencontrés lors de ma rapide navigation dans l’appli. C’est dès lors que j’ai commencé la résolution de certains problèmes ainsi que l’ajout de certaines fonctions comme, par exemple, la possibilité de importer/renseigner le sexe du patient et la régulation du transport auquel il était lié. Le fait que le logiciel de gestion du brancardage ai été copié à partir d’un logiciel déjà développé à causé des problèmes de compatibilité que j’ai essayé de résoudre au maximum.

2. Recherche et gestion des transports Modification d’un transport :

Impression

Informations+du+ patient

Aller+et+retour+ du+patient

Développement: procédures, fonctions en PL/SQL code PHP La tâche première qui m'était demandé été de créer un bouton d’importation. Le but de ce nouveau bouton est d’aller chercher et de synchroniser les rendez-vous préalablement déjà rentrés dans une application appelée SIH. Pour cela, j’ai dû aller chercher les champs concernés dans la base de données de l'hôpital puis, à l’aide de procédures et de fonctions adapter les champs trouvés. L’utilisation d’une base Oracle fut pour moi un plaisir puisque c’est une des matières que j’avais abordée en cours. J’ai donc pu améliorer mes connaissances . Le PHP a été développé sous Eclipse puisque c'était l’IDE qui a été utilisé par les anciens développeurs.

Actions+sur+le+transport

3. Planning Le planning résultant :

Filtres

Paramètres)modi-iables

Planning)obtenu

Edition de la documentation utilisateur du logiciel de gestion du brancardage. Après avoir fini la mission de mon stage, j’ai écrit le manuel d’utilisation pour faciliter la prise en main de l’application. Celui-ci peut ainsi permettre aux utilisateurs de s’informer sur toutes les fonctionnalités que renferme le logiciel. De plus, grâce à ce manuel, je ne pense pas qu’il y ai besoin d’une quelconque formation. La structure du site étant déjà de base assez simple, les utilisateurs peuvent s’y retrouver aisément sans avoir besoin d’aide. L’édition du manuel technique n’a cependant pas été rédigée pour faute de temps. En effet, la date de fin de stage arrivant à grands pas, nous avons préféré nous consacrer sur les dernières modifications et la mise en production du logiciel. Le fait d’avoir utiliser le framework zend tout en ayant commenté de façon régulière le code permet en plus de laisser la possibilité à tout autre développeur de continuer l’optimisation.

5. Administration Accessible uniquement par les administrateurs.

Modi%ication*d’un*service

Ajout*d’un*service*

* Images présentent en annexes .

8


Conclusion

Cela m’a aussi permis de me détacher du monde théorique dans lequel nous évoluons en cours.

En effet les connaissances acquises durant cette période de stage seront bénéfiques pour la suite de mes études.

Le fait que j’ai pu terminer en temps et heures la mission qui m'était demandée est une satisfaction personnelle dont je suis fier.

Le principal but des stages est de connaître le fonctionnement d’une entreprise et de s'y insérer tout en appliquant, apprenant des techniques. Grâce à la bonne entente et à la bonne atmosphère dans l'équipe je pense m’être bien adapté.

Pour finir, c’est dommage que «l’aventure» se finisse, j’avais pris mes repères aussi bien dans le monde du travail que dans celui de l’entreprise. De plus, j’aurais bien aimé optimiser un maximum le projet lancé avec eux. La comparaison de mes anciens travaux avec ceux effectués au GHH m’a fait prendre conscience que l’informatique est le domaine dans lequel je suis le plus à l’aise et j’en remercie les participants.

J’ai eu le temps de poser des questions pour lesquelles les réponses m’ont apporté une réelle solution. Cela m’a permis d’obtenir plus d’assurance et de confiance en moi-même. Le fait d’avoir directement travaillé avec des employés et avec le directeur du service était pour moi l'opportunité d’apprendre davantage de choses sur le fonctionnement d’une entreprise.

Conclusion

Ces 12 semaines bien que trop courtes, ont été pour moi du temps de gagner pour ma troisième année.

9


Bibliographie

Groupe Hospitalier du Havre : www.ch-havre.fr/ fr.wikipedia.org/wiki/Groupe_hospitalier_du_Havre www.etablissements.hopital.fr/annuaire_hopital.php?id=3306

Zend framework : www.framework.zend.com/ www.z-f.fr/ fr.wikipedia.org/wiki/Zend_Framework/ zend-framework.developpez.com/

Base de données: www.oracle.com/fr/index.html fr.wikipedia.org/wiki/Oracle_Database oracle.developpez.com/ toadworld.com fr.wikipedia.org/wiki/PL/SQL fr.wikipedia.org/wiki/Structured_Query_Language sqlpro.developpez.com/cours/sqlaz/fonctions/ www.apachefriends.org/fr/xampp.html fr.wikipedia.org/wiki/XAMPP

SUPINFO : http://www.supinfo.com/

Bibliographie

fr.wikipedia.org/wiki/Modèle-Vue-Contrôleur/

Ce rapport a été rédigé sous  os X grâce à l’application Pages comprise dans iWork. http://www.apple.com/fr/iwork/

10


Annexe 1

SQL$%$PL/SQL Procédure$d’importa5on$SIH$: CREATE OR REPLACE PROCEDURE RDV.IMP_SIH_TEMP IS sql_txt varchar2(2000); BEGIN sql_txt:='INSERT INTO RDV.BRAN_TRANSPORT SELECT RDV.RDV_NO,NULL,'; sql_txt:=sql_txt || ' DIM.BEN.BEN_NOM_USUEL,DIM.BEN.BEN_PRENOM_USUEL,''A'',RDV.RDV_TRANS.TRANS_H_O BLIG,SERV2NUM(RDV.RDV_TRANS.TRANS_ORIGINE),SERV2NUM(RDV.RDV_TRANS.TRANS_DE ST),NULL,'; sql_txt:=sql_txt || ' RDV.RDV_TRANS.TRANS_CODE ,DIM.BEN.BEN_DDN,DIM.BEN.BEN_NO, 1,NULL,DIM.BEN.BEN_SEXE_APP FROM DIM.BEN,RDV.RDV_TRANS,RDV' ; sql_txt:=sql_txt || ' WHERE RDV.BENEF_NO = DIM.BEN.BEN_NO AND RDV.RDV_NO = RDV.RDV_TRANS.RDV_NO AND RDV.RDV_TRANS.TRANS_H_OBLIG BETWEEN' ; sql_txt:=sql_txt || ' TRUNC(SYSDATE+1) AND TRUNC(SYSDATE + 2) and RDV.RDV_TRANS.RDV_NO not in (select distinct RDV.BRAN_TRANSPORT.NOTRA from RDV.BRAN_TRANSPORT)'; --insert into trace values (sysdate,sql_txt); commit; execute immediate sql_txt ;

END IMP_SIH_TEMP;/

Fonc5on$pour$l’importa5on$des$services$SIH$: CREATE OR REPLACE FUNCTION RDV.SERV2NUM (lib IN varchar2) RETURN VARCHAR2 IS num VARCHAR2(1024) ; BEGIN SELECT NOSER INTO num FROM rdv.bran_service WHERE upper(trim(LIBELLE)) = upper(trim(lib)); RETURN num; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN '404'; END SERV2NUM;

Annexe1

commit;

11


Annexe 2 Constraints: ALTER TABLE RDV.BRAN_SERVICE DROP CONSTRAINT BRAN_SERVICE_PK; ALTER TABLE RDV.BRAN_SERVICE ADD ( CONSTRAINT BRAN_SERVICE_PK PRIMARY KEY (NOSER)); ALTER TABLE RDV.BRAN_UTILISATEUR DROP CONSTRAINT BRAN_UTILISATEUR_PK; ALTER TABLE RDV.BRAN_UTILISATEUR ADD ( CONSTRAINT BRAN_UTILISATEUR_PK PRIMARY KEY (NOUTILIS)); ALTER TABLE RDV.BRAN_UTILISTRA DROP CONSTRAINT BRAN_UTILISTRA_NOUTILIS; ALTER TABLE RDV.BRAN_UTILISTRA ADD ( CONSTRAINT BRAN_UTILISTRA_NOUTILIS FOREIGN KEY (NOUTILIS) REFERENCES RDV.BRAN_UTILISATEUR (NOUTILIS)); ALTER TABLE RDV.BRAN_UTILISTRA DROP CONSTRAINT BRAN_UTILISTRA_PK; ALTER TABLE RDV.BRAN_UTILISTRA ADD ( CONSTRAINT BRAN_UTILISTRA_PK PRIMARY KEY (NOUTILIS, NOTRA)); Sequences:

CREATE SEQUENCE RDV.SEQ_SERVICE START WITH 106 MAXVALUE 9999999999999999999999 MINVALUE 1 NOCYCLE NOCACHE NOORDER; DROP SEQUENCE RDV.SEQ_TRANSPORT; CREATE SEQUENCE RDV.SEQ_TRANSPORT START WITH 1 MAXVALUE 99999999999999999999999999 MINVALUE 1 NOCYCLE NOCACHE NOORDER; DROP SEQUENCE RDV.SEQ_UTILISATEUR; CREATE SEQUENCE RDV.SEQ_UTILISATEUR START WITH 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 NOCYCLE NOCACHE NOORDER;

Annexe 2

DROP SEQUENCE RDV.SEQ_SERVICE;

12


Annexe 3 Présentation de la structure S’authenti*ier

Menu.de. navigation. (avec.indicateur) Ancre.du.site Contenu.du.site

3 Statuts : invités, utilisateurs, administrateurs

Retour.à.l’accueil

Se.connecter

Recherche et gestion des transports Onglet recherche :

Recherche&par&nom& de&brancardier

Zone&de&0iltrage

Ajout&d’un& transport

Actions& concernant&les& transports:& & Rechargement& de&la&grille

Edition&du&transport& Imprimer&le& transport&(PDF)& Suppression&du& transport&

Barre&de&navigation&de&la&grille

Recherche et gestion des transports Ajout d’un transport : Importation+ d’informations+grâce+à+ l’+IPP+du+patient

Informations+du+ patient

Aller+et+retour+ du+patient

Importation+ d’information+d’aller+ pour+le+retour

Annexe 3

Différentiation& &aller/retour

Résultat&de&la& recherche

Valider+le+transport

13


Annexe 4 Planning Le planning résultant :

Filtres

Paramètres)modi-iables

Planning)obtenu

Impressions

Administration Accessible uniquement par les administrateurs. Même structure :

Modi%ication*de*comptes

Différentiation* *actif/inactif

Ajout*d’utilisateurs* (et*statuts)

Annexe 4

Impression*d’une*.iche*de*transport*détaillé*pour*un*ou*plusieurs*transports*particuliers.*

14


Annexe 5

Tâche demandée Nouveau'bouton' d’importa1on'

Annexe 5

Le'but''de'ce'nouveau' bouton'serait'd’aller' chercher'et'synchroniser'les' rendez9vous'préalablement' déjà'rentrés'dans' l’applica1on'SIH.'Ils' s’ajouteront'donc'aux' transports'présents.' ' A'voir'pour'l’historique'avant' la'mise'en'place'de' l’applica1on'dans'le'service…'

15

rapport_ghh  

internship report

Read more
Read more
Similar to
Popular now
Just for you