You are on page 1of 16

RAPPORT DE STAGE

Du 25/05/2015 au 26/06/2015

Matre de stage : M. Ivan Sivadon

BTS SIO 1
Anne 2014/2015

Page 1 sur 16

Abran Olivier

Sommaire
I/Prsentation de lentreprise ....................................... 3
A) Quest ce que le CIRAME ? ..................................... 3
B) Plan daccs ............................................................ 3
C) Les Activits du CIRAME ......................................... 4
D) Les Partenariats du CIRAME ................................... 4
II/LInformatique dans lentreprise ............................... 5
A) LArchitecture Informatique du CIRAME ................ 5
B) Les logiciels dans lentreprise ................................. 7
C) Internet dans lentreprise ....................................... 8
D) Les bases de donnes ............................................. 8
III/Le Projet.................................................................... 9
A) Cahier des Charges et Existant ............................... 9
B) APEX ...................................................................... 10
C) Solutions et Dveloppement ................................ 11
IV/Conclusion .............................................................. 15
V/Remerciements ....................................................... 16

Page 2 sur 16

Abran Olivier

I/Prsentation de lentreprise
A) Quest ce que le CIRAME ?
Le CIRAME ou Centre dInformation Rgional Agro-Mtorologique et Economique,
est une association rgionale cre en 1984 faisant suite lACR (Association
Climatologique Rgionale). Elle est compose dune quinzaine de personnes et se
situe au 779 Chemin de lHermitage dans le Hameau de Serres.

B) Plan daccs

Page 3 sur 16

Abran Olivier

C) Les Activits du CIRAME


Le CIRAME :
- gre et coordonne un rseau de stations agro-mtorologiques implantes dans les
principaux bassins agricoles de la rgion PACA ;
- collecte, valide, stocke et traite les donnes climatiques utiles lagriculture et aux
agriculteurs de la rgion ;
- diffuse les donnes l'ensemble des utilisateurs potentiels du milieu agricole via des
bulletins dinformations, ;
- contribue la traabilit des cultures et au dveloppement dune agriculture
durable.

D) Les Partenariats du CIRAME


Le CIRAME possde des partenaires dans les domaines techniques et scientifiques,
tant lchelle locale qu lchelle nationale, les voici :

NATIONAL
*INRA
*Service Rgional de lAlimentation
*Institutions spcialises : IFV-CTIFL-Arvalis
*CEMAGREF
*Socits phytosanitaires
*CNRS
*MtoFrance

REGIONAL
*Chambre dAgriculture
*Stations Rgionales dExprimentation
*Coopratives dApprovisionnement
*Syndicats Professionnels spcialiss
*Etablissements denseignement
*Mto-France
*Groupes dtudes : GRCETA-CETA-GDA
*Coopratives Agricoles

Page 4 sur 16

Abran Olivier

II/LInformatique dans lentreprise


A) LArchitecture Informatique du CIRAME

Page 5 sur 16

Abran Olivier

Le cblage du rseau fait partie de la catgorie 5e (Frquence : <155MHz, Dbit :


<1000Mb/s).
Le rseau est protg par un pare-feu Fortigate80C de FORTINET, il regroupe deux
zones :
-

Une DMZ (DeMilitarized Zone) qui rassemble les serveurs internet lis
diffusion sur le web qui sont : un serveur de production DELL Power edge sous
Windows Serveur 2003 (www.agrometeo.fr) et une machine virtuelle sous
Windows Serveur 2008 (serveur internet de test). Ces deux versions de
Windows sous des versions standards (IIS).

Une zone interne qui regroupe un contrleur de domaine sous Windows


Serveur 2003, les postes de travail (environs 15 postes sous Windows XP et
Windows 7) et deux serveurs de virtualisation sous ESXI (VMWARE). Un de ces
deux serveurs est une ancienne machine (serveur de production HP ProLiant)
qui a t upgrade (2 processeurs, 32 Go de RAM et 2To de stockage disque).
Ce premier serveur hberge un serveur (machine virtuelle) sous Windows
Serveur 2008 R2 avec oracle XE et Apex 4.0.2 et une machine virtuelle ddie
aux sauvegardes sous DEBIAN (squeeze).
Le second serveur de virtualisation est un serveur INTEL qui hberge la base de
production ORACLE 11g, sous oracle-linux, une machine de dveloppement
ddi au JAVA et la cartographie et un serveur web sous Windows 2008 R2.
Ce dernier serveur sera terme le serveur internet de production.

Page 6 sur 16

Abran Olivier

B) Les logiciels dans lentreprise


Le CIRAME sest quip de logiciels de programmation tels que Visual Basic 6, JAVA
et MAPINFO, ainsi que du pack Office Pro, 2007 ou 2013 en fonction des postes. Pour
assurer le fonctionnement de ses services, le CIRAME a dvelopp des logiciels
spcifiques qui sont:

-le logiciel Ylona, dvelopp en Visual basic 6 et servant la gestion des abonns,
lenvoi des bulletins dinformation et ldition des enveloppes (envoi courrier des
bulletins) ;
-le logiciel Tavelure, dvelopp en Visual basic 6 et utilis pour llaboration des
avertissements Tavelure et lenvoi des avertissements par fax, mail et SMS ;
-le logiciel Virement dvelopp en PL/SQL sous oracle dont lutilit est llaboration
dordre de virement au format SEPA (Single Euro Payement Area) ;
-le logiciel dinterrogation des stations mto automatiques, dvelopp en Visual
basic 6 ;
-le logiciel de validation des donnes collectes sur les stations, dvelopp lui aussi
en Visual basic 6 ;
-le logiciel de modlisation du risque phytosanitaire, dvelopp la fois en Visual
basic 6 et en PL/SQL sous Oracle.

Les sites web, quant eux, ont t dvelopps en ASP sous IIS.

Page 7 sur 16

Abran Olivier

C) Internet dans lentreprise


Le CIRAME est situ loin des quipements ORANGE permettant laccs internet en
ADSL. Pour rpondre ses besoins ORANGE a mis sa disposition une SDSL (2 paire
de cuivre) 2Mo. Ce dbit est le dbit maximal auquel le CIRAME a accs dans sa
situation gographique.

D) Les bases de donnes


Le CIRAME possde deux bases de donnes :
-la base clim sous ORACLE 11G, qui stocke les donnes mto collectes sur les
stations. Cette BDD a subi trois migrations : de la version 7 la 8i, de la 8i la 10g,
puis de la 10g la 11g. Lors du changement de version la machine physique est
change. Au dbut linterface tait ralise laide de logiciel ORACLE (Developer
2000). Lors du passage la version 11g, cette interface a t abandonne et
redveloppe laide dautres outils ORACLE : APEX installs par dfaut avec la
version 11g. Apex est un ensemble doutils diffuss gratuitement par oracle, sans
licence, ce qui ntait pas le cas de Developer 2000) ;
-la base Latitude qui est la base dobservations dpidmiosurveillance. Elle
fonctionne sous ORACLE XE 1Og et a t conue et dveloppe en interne. Linterface
a t ralise en ASP.

Page 8 sur 16

Abran Olivier

III/Le Projet
A) Cahier des Charges et Existant
La mission qui ma t confie par M. Sivadon (Matre de stage) tait llaboration
dune CRM (Customer Relationship Management ou GRC : Gestion de la Relation
Client) adapte aux besoins du CIRAME partir dun MCD et dune base de donnes
existante.
Le besoin majeur satisfaire tait la mise en commun de la base de donnes
client (la bdd client est situe sur la mme instance dOracle 11g que la bdd
clim, mais sur un schma, une sorte de sous-groupe, diffrent), qui tait
jusqualors accessible uniquement par la comptable du CIRAME et par le vicedirecteur M. Sivadon.
Ensuite, il fallait empcher laccs aux modifications des donnes en fonction de
lutilisateur qui les consulte, cest--dire qu part ladministrateur et lutilisateur
ayant cr un client, personne ne devait pouvoir modifier celui-ci. Il en va de mme
pour les donnes des utilisateurs qui ne devaient tre accessibles qu
ladministrateur.
Afin de permettre laccs tous le personnel, M. Sivadon a modifi la base de
donnes client et ma demand de dvelopper une application sur APEX 4.0.2.
Par la suite certains employs ont apports leurs suggestions, parmi lesquelles se
trouvaient : la normalisation des numros de factures, la mise jour automatique de
ltat des cotisations des clients, une page de tri globale des informations,

Page 9 sur 16

Abran Olivier

B) APEX
Comme je lai dit un peu plus haut, APEX est un ensemble doutils, distribu par
ORACLE, qui permet de crer des applications en ligne utilisant une base de donnes,
du HTML, du CSS, du JavaScript et du PL/SQL. Ce set doutils nous met disposition
une interface permettant de crer des pages entires en ayant seulement besoin
dcrire une ou deux requtes SQL, voici comme exemple une page cre sans crire
une seule ligne de code ou de requte SQL (query builder):

Barre de
recherche

Rsultat de la
requte

Voici quoi ressemble linterface de cration dun lment de type rapport SQL tel
que celui ci-dessus :

Page 10 sur 16

Abran Olivier

Outre la facilit de cration de pages que permet APEX, celui-ci limite nanmoins la
libert de cration/modification du dveloppeur moyen.
Pour crer les lments de la page, APEX gnre du code HTML, du CSS et du
JavaScript. Pour modifier le code gnr par APEX on se heurte deux problmes : le
dbogage et lendroit o lon crit/excute le code. Tout dabord, du fait que lon
nait pas connaissance de tout ce que crer APEX, on fait parfois face de nombreux
bugs sans avoir aucune indication de leur provenance, et supprimer le dernier
lment cr ne suffit pas toujours revenir en arrire car APEX ne supprime pas
tout ce quil a cr en mme temps que llment. Ensuite lendroit o lon crit
le code a une importance capitale mais on ne sait pas toujours o lon doit lcrire
pour obtenir le rsultat escompt, ce problme est gnralement li lexcution de
la page.
Une fois que lon peu prs comprit comment il fonctionne, APEX est relativement
simple prendre en main et lon peut commencer crer des pages plus pousses.

C) Solutions et Dveloppement
Tout dabord, jai analys le MCD suivant (Les entits colores en vertes sont
celles qui ont t ajoutes par M. Sivadon aprs ses premires modifications):

Page 11 sur 16

Abran Olivier

Aprs analyse, je me suis aperu que ce MCD ne grait pas correctement les besoins
noncs par M. Sivadon, nous en avons donc discut et avons modifi plusieurs fois
le MCD pour en arriver au modle suivant (les entits vertes sont celles qui ont t
ajoutes):

Aprs avoir rsolu le problme caus par le MCD, je me suis attaqu au problme
daccessibilit des donnes.
Pour commencer jai cr une fonction qui sexcute la page de connexion afin que
lauthentification se fasse en fonction en PL/SQL des identifiants qui se trouvent dans
la table UTILISATEUR de la base de donnes client, plutt quavec les identifiants
dAPEX (authentification par dfaut), afin de restreindre laccs lapplication.
Voici le code en question :
create or replace function authentification (p_username in varchar2,
p_password in varchar2) return Boolean as variable_test varchar2(1);
begin
select x
into variable_test
from UTILISATEUR
where upper(LOGIN) = upper(p_username)
and MDP = p_password;
variable_test:=true;
return variable_test;
exception when no_data_found then
return false;
end authentification;

Dclaration de la
fonction

Requte
Exception : en cas
dune erreur type no
data found

Page 12 sur 16

Abran Olivier

Dtails : Cette fonction est trs simple, elle cherche un rsultat en comparant les
paramtres avec le rsultat dune requte SQL, si il y a correspondance alors
lutilisateur peut accder lapplication, sinon il ny a aucune donne trouve et
lexception renvoi false, lutilisateur ne peut donc pas accder lapplication.
Pour restreindre laccs aux modifications, jai cr une fonction qui sexcute
laffichage du formulaire de modification des clients lorsque lun dentre a demand
tre modifi. Voici le code en question :
DECLARE
codeuser number;
codegrp number;
BEGIN
select UTILISATEUR.CD_UTILISATEUR, UTILISATEUR.CD_GROUPE into codeuser, codegrp
from UTILISATEUR where UPPER(UTILISATEUR.LOGIN)=UPPER(v('APP_USER'));
IF codeuser=v('P1_CD_UTILISATEUR') OR codegrp=9 THEN

Utilisateur correct
ou administrateur

RETURN true;
Else
IF v('P1_CD_CLIENT') IS NULL OR v('P1_CD_CLIENT')='' THEN

Aucun client
slectionn

RETURN true;
ELSE
RETURN false;
END IF;
END IF;
EXCEPTION WHEN no_data_found THEN
RETURN false;
END;

Page 13 sur 16

Abran Olivier

Cette fonction rcupre le code du groupe dutilisateurs et le code utilisateur auquel


appartient lutilisateur qui a pour login &APP_USER. (&APP_USER. Permet dans
APEX de rcuprer le login de lutilisateur courant), veuillez noter que cest
ladministrateur qui crer les utilisateurs, il ny aura donc pas de risque de login
identiques.
Puis si la requte trouve un rsultat on compare alors le code utilisateur que lon a
rcupr dans la requte avec le code utilisateur prsent dans les informations du
client, autrement dit on vrifie que le code rcupr est bien celui de lutilisateur ou
que cest celui dun administrateur.

Pour finir aprs avoir ralis le gros de lapplication, (aspect graphique, ajustement
des requtes SQL, organisation des pages, ergonomie,), je me suis occup des
demandes du personnel :
-La page de tri na pas t trs complique raliser, le plus problmatique tait le
dbogage. La page contient un rapport contenant le rsultat dune requte construite
en PL/SQL en fonction des champs remplis du formulaire situ sous le rapport.
-La normalisation des numros de facture a t faite en crant une squence dans un
champ de la table ABONNEMENT .
-La mise jour automatique de la cotisation des clients demand la cration dun
champ spcifique dans la table CLIENT et un CASE dans la requte du rapport
des clients, le voici :
CASE WHEN CD_CLIENT IN (select CD_CLIENT from ABONNEMENT where
CD_SERVICE=60 and DT_PAIEMENT>TRUNC(SYSDATE, 'y')) THEN 'N'
WHEN CLIENT.CD_CLIENT IN (select DISTINCT CD_CLIENT from ABONNEMENT)
THEN 'O'
ELSE 'N'
END AS "A_COTISE",

Page 14 sur 16

Abran Olivier

IV/Conclusion
A la fin de ce stage, lapplication est fonctionnelle malgr quelques bugs
intempestifs que je nai pas eu le temps de corriger. Il reste certains soucis
dergonomie au niveau de ladaptation de la taille des rapports en fonction de
la taille de lcran et de lorganisation des formulaires, savoir que si lon
plusieurs formulaires dans la mme page, ds que lun deux est soumis, les
autres le sont aussi. Afin de rgler ce problme jai d crer une page par
formulaire et cela nest pas trs optimis.
Ce stage ma permis de dcouvrir la technologie ORACLE et notamment APEX
qui est un outil intressant du fait de sa simplicit dutilisation et de sa
gratuit. Nayant fais auparavant quun stage en cuisine scolaire lors de mon
anne de 4ime, jai pu dcouvrir pour la premire fois le fonctionnement dune
entreprise et les problmatiques auxquelles elle doit faire face au quotidien.

Page 15 sur 16

Abran Olivier

V/Remerciements
Je tiens remercier toutes les personnes ayant permis le succs de ce stage.
Je tiens remercier tout particulirement
- mon matre de stage, M.Sivadon, qui ma accept comme stagiaire et ma
apporter ses connaissances lorsque jen avais besoin,
- mon professeur de spcialit, M. Girard, qui ma aid trouver ce stage et qui
est pass me voir lors de lavant dernier jour,
- les employs du CIRAME, pour mavoir accueilli avec bonne humeur et pour
avoir rpondu du mieux quils pouvaient mes questions.

Page 16 sur 16

Abran Olivier

You might also like