Professional Documents
Culture Documents
Du 25/05/2015 au 26/06/2015
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
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
Page 5 sur 16
Abran Olivier
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).
Page 6 sur 16
Abran Olivier
-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
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
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