Vous êtes sur la page 1sur 41

Samuel MARTIN GM4

RAPPORT DE STAGE TECHNICIEN

Samuel Martin
INSA Rouen
GM 3

Lieu de stage : Institut de la Pierre Attelée


5, Rue du Tract
44600 Saint-Nazaire
Tel. : 02 40 90 22 74

Maître de stage : M. Gaston Charton

1/41
Samuel MARTIN GM4

SOMMAIRE

Sommaire..........................................................................................................2

Remerciements................................................................................................3

Introduction.....................................................................................................4

Présentation de l'entreprise..........................................................................5

1 – L'histoire de la création.......................................................................5

2 – L'identité de l'institut de la Pierre Attelée..........................................6

3 – La structure et le fonctionnement de l’institut...................................7

4 – Les valeurs et objectifs de l’institut.................................................11

5 – Fonctionnement pratique de l'institut...............................................13

Déroulement du stage..................................................................................18

1 – Présentation du projet.......................................................................18

A) Outils existants, moyens à disposition......................................18


B) Mes partenaires de travail........................................................19

2 – Choix d'une solution au problème.....................................................21

A) Présentation des outils..............................................................21


B) Déterminer la structure de la base de données........................23
C) Structure de l'intranet..............................................................25

3 – En pratique : présentation du projet finalisé....................................27

A) Les fonctionnalités....................................................................27
B) Aperçu de la base de donnée....................................................36
C) Bref aperçu des fonctions dédiées à la sécurité.......................39

Conclusion......................................................................................................41

2/41
Samuel MARTIN GM4

REMERCIEMENTS

Je voudrais remercier le personnel de l'institut de la Pierre Attelée pour leur


accueil et leur aide durant le déroulement de mon stage, ainsi que pour
m'avoir aidé à comprendre le fonctionnement de leur entreprise.

Plus particulièrement, un grand merci à :

– M. Gaston Charton

– M. Jean-Pierre Orieux

– Mme Liliana Galieva

– M. Cyrille Lamontagne

– Mlle Maryna Zhytnikava

– Mlle Aurelie Couapel

3/41
Samuel MARTIN GM4

INTRODUCTION

Mon stage a pris place du 25 juin au 12 septembre. Il s'est déroulé à l'institut


de la Pierre Attelée, basé à St Brévin puis St Nazaire (Loire-Atlantique).

Il a consisté à mettre en place une base de données relationnelle, ainsi que


l'intranet permettant l'exploitation de cette base. Les buts recherchés sont :

– Une description exhaustive du personnel, des clients et des étudiants de


l'institut.
– Un outil permettant la gestion de cette ressource humaine.
– Une source d'information pour les utilisateurs, ainsi qu'une gestion de leur
profil.
– Des outils de communication entre utilisateurs.

En effet, la base de données aura comme rôle premier de rassembler toutes


les données concernant tous les partenaires de l'institut afin de les organiser
de manière centralisée et structurée. Ceci permettra d'automatiser et de
simplifier la gestion des ressources humaines.

Un utilisateur (qu'il soit membre de l'institut, étudiant ou partenaire


extérieur) doit pouvoir consulter les informations le concernant et les éditer si
besoin est.

De plus, il doit pouvoir exploiter les ressources nécessaires à son activité.

Par exemple un étudiant doit pouvoir y retrouver son emploi du temps et ses
supports de cours, un professeur doit pouvoir créer des cours, gérer des
classes et publier du contenu. Le DRH doit pouvoir gérer le personnel, ajouter
des utilisateurs, mettre à jour des informations... Un commercial doit être à
même d'obtenir des données statistiques sur les clients.

Cet outil doit être disponible depuis n'importe quel ordinateur connecté à
Internet ou au réseau interne de l'institut.

4/41
Samuel MARTIN GM4

PRESENTATION DE L'ENTREPRISE

1) L’histoire de la création

Situé à Saint-Nazaire, à la proximité de grands centres industriels,


l’Institut de la Pierre Attelée est un établissement d’enseignement supérieur
technique privé. Ayant pour but de former les étudiants étrangers, notamment
d'origine chinoise, l’institut a été créé à partir de l’ouverture de l’Association
pour la Promotion des Echanges Economiques et Culturels franco-chinois
(APEEC) en 2004.

L’ APEEC est une idée qui émerge de relations amicales des professeurs
de nationalités différentes, d'anciens étudiants Chinois et Russes devenus
cadres d'entreprises après avoir étudié le management dans des écoles
Chinoises, Russes et Françaises, de personnes convaincus par l'importance
des points de convergence entre la France, la Chine, la Russie et les autres
grandes régions du monde. Cette association se veut être promotrice et
facilitatrice d'échanges. La University of International Business and
Economics de Pékin et l’Académie de finances de Moscou ont participé à
l’organisation particulière basée sur la loi française de Juillet 1901 relative
aux associations à but non lucratif.

Les membres fondateurs (principalement des seniors) se sont


rencontrés au cours de missions d’enseignement à l’étranger et en particulier
en Chine, en Russie, dans les Pays de l’Est et en Afrique. Les liens créés ont
été renforcés par des activités économiques communes. Désormais libérés de
leurs activités dans des entreprises en raison de leur âge, ils utilisent et
transmettent leur riche expérience, accompagnés par une association
groupant d’anciens étudiants Chinois et Russes devenus cadres et dirigeants
et d’autres professionnels français. Ensemble, ils veulent contribuer au
développement local par la création d’une activité permanente hors saison
touristique et créer des emplois. Leur action est le moyen d’utiliser et de
renforcer la valorisation de l’expérience des préretraités et jeunes retraités
encore motivés par une activité à leur rythme. L’Institut bénéficie d’un
important réseau de relations dans le monde par l’activité de ses fondateurs.

La Ville de Saint-Brevin a été séduite par l'ouverture d'un pôle de


formation professionnelle International et notamment franco-chinois destiné à
faciliter les projets industriels et commerciaux entre les entreprises françaises
et les entreprises chinoises et étrangères.

Saint-Brevin est à proximité immédiate du pôle technologique Nantes -


Saint-Nazaire, célèbre pour les Chantiers de l'Atlantique construisant les plus
grands bateaux du monde. Curieusement, c'est aussi le site choisi par Airbus

5/41
Samuel MARTIN GM4

pour construire un élément essentiel du plus grand avion du monde. Pétrole,


gaz, agro-alimentaire constituent autant de points d'excellence pour
l'agglomération et l'immense port dans l'Estuaire.

L'institut s'est donc tout d'abord installé à Saint-Brévin. Néanmoins, en


raison de conflits avec le nouveau maire, et afin d'être plus proches des
moyens de communication, des grandes entreprises et des centres
d'enseignement, l'institut a déménagé en août pour le centre-ville de Saint-
Nazaire.

2) L’identité de l’institut de la Pierre Attelée

L’Institut de la Pierre Attelée tient son nom de son ancienne localisation


géographique. En effet, les locaux se situaient en bordure de la forêt de la
Pierre Attelée à Saint Brevin en Loire-Atlantique.

Il convient de préciser ce qu’est la « Pierre Attelée », car son histoire


explique également le choix du nom de l’établissement d’enseignement. Il
s’agit d’un mégalithe baptisé le menhir de la Pierre Attelée au XIX siècle
après que les paysans eurent pariés qu’ils pourraient extraire le menhir en
attelant des bœufs. Cependant la pierre de 3 mètres ne fléchit pas.

La Pierre Attelée évoque les gigantesques constructions telles que les


pyramides, la grande muraille de Chine et les temples qui sont réalisables en
coordonnant la force de ceux qui tirent. La création de l’Institut de la Pierre
d’enseignement international repose sur une démarche semblable, c’est-à–
dire sur l’effort commun de personnes – fondateurs, entreprises partenaires –
pour atteindre un objectif. Outre la création même de l’institut, la symbolique
de la Pierre Attelée s’inscrit dans une des activités de l’établissement : la
création de réseaux de relations économiques et culturelles entre la France et
les grands régions du monde.

Le logo de l’Institut de la Pierre Attelée, présenté ci-dessous, a comme


emblème graphique un jeune arbre penché sous l’effet du vent mais résistant.
L’arbre symbolisé est un compromis entre un tremble et un bouleau, arbres
qui deviennent grands et qui sont les derniers à résister dans la toundra. Il se
veut représentatif d’une force exceptionnelle.

6/41
Samuel MARTIN GM4

De plus, vu que l’Institut était situé à proximité d’une forêt, l’arbre vient
symboliser l’implantation de l’établissement dans un environnement où la
nature est très présente. Il s’agissait de mettre en avant le cadre d’études
qu’offrait la localisation de l’Institut.

Depuis que le Rectorat de l’Académie de Nantes a agrée l’Institut de la


Pierre Attelée en tant qu’Institut d’Enseignement Supérieur Technique Privé,
l’établissement s’est déjà attribué une image qu’il tente d’ajouter ou de
renforcer sur certains points. Une des images que l’Institut souhaite
promouvoir est sa situation géographique et son ouverture internationale. Ces
deux éléments se retrouvent dans l’accroche « Face au large » qui est devenue
le slogan de l’établissement. Pour développer un Institut d’Enseignement
International, spécialisé dans l’accueil des étudiants étrangers, la façade
océanique est un atout et un symbole très fort.

3) La structure et le fonctionnement de l’institut

L’Institut d’Enseignement Supérieur Technique Privé de la Pierre Attelée


fait partie de l’Académie de Nantes. C’est un pôle de formation d’application
professionnelle, spécialisé dans l’accueil des étudiants étrangers : Chinois,
Russes, Indiens et Brésiliens.

7/41
Samuel MARTIN GM4

La structure fonctionnelle de l’Institut de la Pierre Attelée

L’Institut de la Pierre Attelée est composé à partir de 3 associations et 2


entreprises :

L’Association pour la Promotion des Echanges Economiques et Culturels


franco-chinois (APEEC) est à l’origine de l’Institut. L’établissement
d’enseignement supérieur technique privé possède des relations étroites avec
l’APEEC.

8/41
Samuel MARTIN GM4

La société par actions simplifiées Pierre Attelée Gestion représente le


fonctionnement de l’organisation à travers son exploitation. Cette société
s’occupe de la gestion courante de l’activité. Elle administre la marche de
l’entreprise et centralise le réseau de la Pierre Attelée et l’association de
l’entreprise. Elle s’occupe de distribuer les formations et diplômes, les travaux
et recherches, les échanges et les relations entre les acteurs et la distribution
de la documentation et de la publication.

La société en participation Pierre Attelée savoirs appliqués a été créé


pour intéresser les professionnels à intégrer à l’Institut. Cette société
fonctionne selon le principe de différer le paiement des salaires pour les
participants (vu que ces personnes ont une autre activité principale, ou sont
retraités) pour réduire leurs impositions.

L’association des entreprises (Association des Utilisateurs des Services


de l’Institut de la Pierre Attelée) réunit toutes les entreprises clientes ou
partenaires de l’Institut et qui sont regroupées pour avoir une force de
décision et pouvoir lancer des programmes importants.

Le réseau Pierre Attelée regroupe tous les anciens élèves ainsi que les
réseaux de l’Institut et constitue la principale ressource pour faire connaître
l’Institut de la Pierre Attelée dans les différents pays cibles.

9/41
Samuel MARTIN GM4

Les relations entre les participants et les rôles de chacun d’eux

Les quatre groupes sont l’Institut, les étudiants, les partenaires et les
entreprises. les deux premiers sont en haut du schéma car ils ont un lien très
soudé dû fait que les étudiants sont formés par l’Institut sur deux activités de
fond : le conseil et les ressources humaines.

Les entreprises et les partenaires sont en bas du schéma car ils ont un
lien particulier dû fait qu’une partie de ces partenaires sont des entreprises
(comme les cinq plus gros partenaires qui sont reliés en réseau), et qu’ils sont
associés dans l’association des entreprises utilisatrices des services de la
Pierre Attelée.

Ainsi le pont créé par l’Institut pour les partenaires provient de


l’association et donne la possibilité aux partenaires d’unir leurs compétences
et d’être en synergie avec tous les collaborateurs.

Ce pont est amplifié aussi par celui créé par les étudiants pour les

10/41
Samuel MARTIN GM4

entreprises qui vient de l’application de leurs compétences aux projets des


entreprises et de leurs stages. Le tout forme un sablier (en bleu) qui lie tous
les éléments du schéma et débouche sur une relation de partenaires, de
réseaux et de collaborations qui sont indispensable pour réaliser les services
et mettre en place les savoirs se trouvant dans les hexagones bleus sur le
graphique.

4) Les valeurs et objectifs de l’institut

L’actions de l’Institut de la Pierre de la Pierre Attelée s’appuie sur les


objectifs suivants:

• Délivrer une formation qualifiante, professionnelle, pratique, concrète,


utilisable.

• Faciliter la mobilité par une formation internationale professionnelle.

• Accueillir des étrangers pour créer de vrais réseaux de relations,


pouvant déboucher sur de puissants courants d’affaires.

• Associer systématiquement des entreprises ayant des projets


concernant l’enseignement des étudiants pour faire travailler chacun
d’entre eux sur des projets réels.

• Promouvoir l’idée que commercer et échanger est avant tout le fait de


relations humaines dont il faut optimiser le développement.

• Réunir les projets des entreprises vers l’étranger et l’effort des


étudiants en provenance de l’étranger pour découvrir les marchés, créer
des réseaux nécessaires à la réussite.

• Créer des emplois directs, favoriser l’implantation locale des détenteurs


du savoir et ouvrir un carrefour d’hommes, de savoirs et d’idées dans
une ville exceptionnelle.

• Utiliser les compétences et l’immense expérience de professionnels en


activité et surtout en préretraite et retraite pour former des jeunes
professionnels

• Accompagner individuellement chaque étudiant étranger – futur


décideur dans son pays - dans sa découverte de la culture.

11/41
Samuel MARTIN GM4

• Appliquer et promouvoir l’usage des nouvelles technologies.

• Promouvoir l’appel à la culture et à l’usage de la langue française dans


l’activité internationale.

Les trois raison de création d’un service innovant

12/41
Samuel MARTIN GM4

Le service proposé par l’Institut est né de trois raisons :

1. L’assurance explose en Chine, Russie et Brésil se qui rend nécessaire de


développer un enseignement professionnel utile dans le but de développer
l’activité locale.

2. La valeur ajoutée de ce service est élevée ce qui permet de transmettre


la culture pour implanter le français comme langue professionnelle.

3. L’assurance est une activité qui touche à tous les domaines et donne
ainsi l’opportunité d’accueillir les étrangers à fort potentiel.

L’ensemble de ces trois raisons est soutenu, utilisé et valorisé par l’expérience
des seniors qui joue un rôle prépondérant dans ce système puisque ce sont
eux qui vont former les étudiants et les professionnels.

5) Fonctionnement pratique de l'institut

Le schéma des relations entre les étudiants et les entreprises.

13/41
Samuel MARTIN GM4

Il faut constater que l’Institut met en avant les relations entre les
étudiants et les entreprises qui vont travailler en commun sur des missions
d’études. Cette idée est représentée par les deux branches (l’une est bleue et
l’autre est orange) qui se regroupent dans un tronc commun (qui est bleu
foncé) pour aboutir à un but final qui est la finalisation du projet de
l’entreprise et de la relation entre l’entreprise et l’étranger. L’étudiant est
recruté puis formé à un métier, le tout est en parallèle avec l’identification des
besoins des entreprises qui ont été recherchées par l’Institut. Les étudiants
font partie, par la suite, des missions d’études et de conseils.

Leur travail permet d’optimiser leurs compétences et de soutenir les


entreprises, mais aussi de définir les besoins complémentaires entre
entreprises et formations. Cette tache permet de créer un cercle vertueux qui
améliore et produit un effet d’expérience pour tous les protagonistes.

Le graphique montrant un cercle vertueux qui est rassemblé autour de trois volontés :
Former, projets réels et développer les réseaux.

14/41
Samuel MARTIN GM4

Les deux bases de ce cercle sont les étudiants et l’ouverture du marché


de trois pays cibles (Chine, Russie et Brésil). Cette ouverture donne
l’opportunité de créer un réseau d’entreprises et de partenaires qui partagent
leurs expériences pour les étudiants étrangers qui sont formés en langue
professionnelle, en applicatifs métiers et en nouvelles technologies du métier.

Ces étudiants créent un contact avec les entreprises à travers un stage


chez eux, puis développent les réseaux en rentabilisant le contact.

L’Institut de la Pierre Attelée développe une pédagogie ambitieuse et


novatrice totalement spécialisée dans l'accueil des étudiants étrangers :

• Par une immersion totale et intensive dans l'activité des entreprises


françaises et la vie pratique et quotidienne
• Par un entraînement intensif et un accompagnement permanent pour
l'assimilation rapide des concepts, savoirs faire, usages nécessaires
• Par une intégration immédiate en mode projet à des développements
concrets, réels, projetés ou en cours dans des entreprises
• Par transmissions des compétences et connaissances des hommes des
entreprises chargés des projets de développement à l'international
• Par recours aux analyses, compétences et expériences des professionnels
expérimentés, cadres et responsables des entreprises participantes.

L’Institut accueille des étudiants français et étrangers désireux de


maîtriser les aspects techniques et commerciaux de l’Industrie de l’Assurance
qui constitue son premier domaine d’enseignement appliqué ouvert. Il réserve
également une formation spécialisée aux étudiants étrangers et tout
particulièrement chinois grâce à des cours de français renforcés appliqués à
l’assurance, un programme spécifique d’acquisition des concepts de
l’assurance – mutualité des risques, garanties ; par l’application des nouvelles
technologies à la gestion et la distribution des produits, et au service des
clients ; par l’intégration totale d’Internet dans l’activité.

L’Institut de la Pierre Attelée favorise l’utilisation permanente et


systématique de l’ordinateur portable personnel et recourt à Internet et aux
nouvelles technologies mises à jour pour les supports pédagogiques. Cette
utilisation se trouve amplifiée par l’origine lointaine de certains étudiants. Il
aguerrit les futurs professionnels par l’utilisation des outils de simulation et
de jeux d’entreprises - SIMASSUR édité par Haussmann Innovation, La
recherche fine de l’information par les portails professionnels ASSURWEB. Il
offre également des conditions d’études exceptionnelles par le cadre et très
compétitives en tarif par l’utilisation des ressources logistiques d’une

15/41
Samuel MARTIN GM4

puissante station balnéaire disponibles hors saison.

L’Institut est avant tout la clé d’entrée dans les métiers liés à l’Assurance
et plus largement à la Banque-Assurance. Les diplômes préparés sont tout
d’abord :

Diplôme Bachelor Europeen - un Diplôme Européen en Techniques


d’Assurance et Animation du Développement Commercial (European Diploma
in Insurance Technical Knowledge and Sales Management); ainsi que les Tests
de langues (en particulier le TOEIC) et le Passeport de Compétence
Informatique Européen.

L’Institut de la Pierre Attelée effectue le soutien à la préparation des


diplômes français : les étudiants étrangers inscrits dans d’autres
établissements d’enseignement de la région trouveront un appui et des
méthodes spécifiques. (Cours intensifs de mise à niveau, répétition,
entraînement à la prise de parole en français et en public, etc).

Il y a également une possibilité pour les étudiants étrangers de réduire


le temps de leurs études en prenant en compte leurs résultats, leurs efforts et
leurs motivations.

Le schéma représentant les différentes possibilités pour les étudiants d’obtenir un diplôme
qualifiant

16/41
Samuel MARTIN GM4

Nous pouvons remarquer par ce graphique l'existence de différentes


possibilités pour les étudiants de valider leur diplôme au niveau Bac +3. Ce
graphique met par ailleurs en avant les étapes que suivent les étudiants avant
d’arriver à ce processus. Ces étapes se déroulent par un recrutement par les
délégués. Par la suite, les étudiants vont suivre 14 semaines de cours en
langue du métier puis 24 semaines en technique d’assurance. Ils exécuteront
des missions auprès des entreprises en tant que consultant junior pour
finalement passer leur diplôme Bac +3.

Mais l’Institut permet aussi de sélectionner les meilleurs éléments pour


leur donner l’opportunité de participer aux concours Bac +4 et aux concours
Bac +5 pour certains en entraînement intensif.

Tout ceci montre que chaque acteur a un rôle prépondérant et décisif


pour que le réseau et l’action menée fonctionnent, ce qui créé un lien fort
entre les nombreux protagonistes.

17/41
Samuel MARTIN GM4

DEROULEMENT DU STAGE

1) Présentation du projet

A – Outils existants, moyens à disposition

Lors de mon arrivée à l'institut, aucune gestion informatique du personnel


n'était en place. Les différentes coordonnées étaient simplement stockées à
l'aide d'un client de messagerie classique (Outlook 2003) ou de feuilles Excel.

Une autre partie de ces coordonnées, ainsi que beaucoup d'autres


informations étaient par ailleurs couchés sur papier.

Cette organisation posait plusieurs problèmes :

– La non-centralisation de l'information : chaque membre du personnel


possède les informations le concernant ou concernant son activité. S'il
souhaite obtenir une information détenu par une autre personne, il doit
déranger celle-ci pour l'obtenir, d'où une perte de temps et d'énergie.
– La volatilité de l'information : un papier peut être facilement égaré, des
contacts Outlook peuvent être perdus suite à un crash informatique (virus,
buf, fausse manipulation, panne matérielle...). De plus la multiplication des
supports et des lieux de stockage rend l'accès difficile et accentue les
risques de perte.
– Un accès restreint au site physique : on ne peut pas consulter certaines
informations si l'on est en déplacement.
– Un manque de dynamisme : toutes les informations doivent être mise à jour
manuellement. De plus il est impossible d'automatiser certains traitements
(statistiques sur les clients, extraction de données particulières en grand
nombre...).

Tous ces problèmes peuvent être résolus par la mise en place d'une solution
informatique.

Les moyens mis à ma disposition pour réaliser ce projet sont les suivants :
– Un bureau
– Un ordinateur portable personnel
– Un accès à internet haut débit
– Une ligne téléphonique

18/41
Samuel MARTIN GM4

Le budget destiné au projet étant restreint, je me suis tourné vers l'emploi


d'outils libres :
– Mysql : base de donnée logicielle
– PHPMyAdmin : gestion de la base de donnée
– PHP : programmation de l'intranet
– Kate : Editeur de texte avancé
– Open Office : rédaction du rapport de stage

Les raisons du choix de ces différentes technologies sont présentées plus loin
dans ce rapport.

B – Mes partenaires de travail

La création d'une base de donnée relationnelle concerne les habitudes de


nombreux utilisateurs, chacun ayant une activité différente.
Afin de définir précisément le cahier des charges de mon projet, j'ai donc eu à
travailler avec un éventail de personnes varié.

Tout d'abord, se situent évidemment les commanditaires du projet :

– M. Gaston Charton, mon maître de stage qui est aussi directeur de


l'institut. Il a défini les besoins, le rôle du projet et les fonctionnalités
voulues. Il m'a de plus expliqué en détail le fonctionnement de son
entreprise, la place de chacun (nécessaire afin de déterminer les différents
types d'utilisateurs destinés à utiliser l'intranet) ainsi que leur mission dans
l'institut.
– M. Jean-Pierre Orieux, responsable du personnel. J'ai été amené à travailler
avec lui afin de définir le profil des futurs utilisateurs : quelles seront leurs
particularités (étudiants, professionnels, clients...), leurs besoins (suivi des
cours, récolte d'information, gestion de ressources humaines...) et leurs
possibilités (définir quelles informations et fonctionnalités sont autorisées).

J'ai de plus été amené à prendre contact avec différents professionnels


concernant l'informatique, en particulier :

– M. François Macchie, consultant à Alias Informatique (http://www.alias-


info.fr/alias.swf). Ce webmaster a été chargé du suivi du site web publique
de l'institut : http://www.pierre-attelee.com/ . J'ai pris contact avec lui afin
d'établir un lien entre la base de donnée de l'intranet et le service
d'inscription du site web publique, ainsi que pour publier l'intranet sur
Internet.

19/41
Samuel MARTIN GM4

Enfin j'ai collaboré avec d'autres stagiaires pour la mise en place d'un système
de suivi des utilisateurs : stockage et utilisation d'informations personnelles
afin d'automatiser certaines opérations de gestion (combien coûte un client
par exemple).

– M . Cyrille Lamontagne, étudiant à l'IUP du Maine au Mans. Il est


actuellement en Master 2 de management des entreprises du tiers secteur
social. Le thème de son stage était l'aide à la mise en place du calcul de
coût, de prix et des méthodes de financement. Nous avons travaillé sur un
projet visant à informatiser la gestion des opportunités : il s'agit de réaliser
des fiches synthétiques sur les clients et le personnel et de déterminer leur
coût pour l'entreprise. Ceci devait être lié à la base de données et
disponible sur l'intranet.

– Mlle Maryna Zhytnikava, étudiante en Master2 à l'institut Franco-


Biélorusse de Gestion, m'a aidé à prendre en compte les utilisateurs
étrangers. En effet l'institut traite beaucoup avec des partenaires tels que
des étudiants Chinois ou Russes. Il était donc nécessaire de prendre en
compte certaines informations supplémentaires par rapport à des
utilisateurs français (langues parlées/écrites, système d'études particulier,
formalités administratives...).

20/41
Samuel MARTIN GM4

2) Choix d'une solution au problème

Plusieurs approches étaient possibles afin d'apporter une solution


satisfaisante.

Tout d'abord au niveau des outils utilisés : les gestionnaires de base de donnée
sont nombreux, de même que les langages web. On peut citer par exemple
Oracle, Postgresql, Mysql pour les premiers et PHP, ASP ou JSP pour les
seconds. Chacun ayant ses spécificités, il convient de le choisir
judicieusement.

J'ai tout d'abord écarté les gestionnaires de base de donnée du type d'Oracle
ou Access car ce sont des gestionnaires propriétaires et payants (ou très
limités dans leur version gratuite, pour le cas d'Oracle). Viennent ensuite
Postgresql et Mysql. Ce sont deux ténors de la base de donnée, et sont tous
deux libres. Etant donné que les deux gestionnaires sont assez similaires, mon
choix s'est porté vers Mysql, que j'ai déjà utilisé lors de projets dans le cadre
de l'UV GM3 « systèmes d'exploitations ».

De même, mon choix s'est vite porté vers le langage PHP pour exploiter la
base de donnée. En effet, outre le fait que je l'avais déjà utilisé
précédemment, c'est un langage libre, extrèmement répandu et donc très bien
documenté. De plus il intègre très bien Mysql, avec de nombreuses fonctions
dédiées.

J'ai de plus utilisé PHPMyAdmin, qui est une interface en PHP permettant de
gérer facilement (et graphiquement) les bases Mysql.

Pour les tests, un serveur web Apache 2 a été utilisé.

A) Présentation des outils

Mysql

C'est un gestionnaire de bases de données relationnelles libre et


multiplateforme (notamment Windows et Unix). La première
version a été publiée en 1995. La version actuelle (5.1) date de

21/41
Samuel MARTIN GM4

2005. Mysql supporte bien entendu la technologie ODBC (une interface entre
le serveur base de donnée et le client à vocation universelle). C'est le
gestionnaire utilisé par Wikipedia, Youtube et Nokia notamment.

PHP

Il s'agit d'un langage de script, libre et multiplateforme lui aussi.


C'est un langage procédural orienté objet depuis sa version 5.
La première version a été créée en 1994 et est fortement
dérivée du langage PERL. La version actuelle (5.2) date de 2007. Ce langage
permet la création de sites web à contenu dynamique, puisque le code est
exécuté par le serveur.
Il est notamment utilisé pour les solutions suivantes :
– Wikipedia
– PhpBB (solution de création de forums clé en main)
– PHPmyAdmin (outil de gestion de base de donnée présenté ci-dessous).

PHPmyAdmin

22/41
Samuel MARTIN GM4

Il s'agit d'une interface destinée à simplifier la gestion d'une base de donnée


Mysql. C'est un outil libre dont le développement a débuté en 1998.
Actuellement la dernière version est la 2.11 et date de 2007. C'est l'interface
la plus utilisée pour gérer des bases Mysql : on peut citer par exemple Free,
Lycos ou encore 1&1 comme exemple d'entreprises proposant cette solution à
leurs utilisateurs.

Apache

Il s'agit du serveur HTTP le plus utilisé sur internet : 54%


des parts de marché en 2007. C'est un logiciel libre qui
date de 1995. Historiquement dédié aux systèmes Unix,
c'est désormais un produit multiplateforme. Il est bien
entendu capable d'interpréter le langage PHP.

On notera ici que l'absence de budget dédié à l'achat de logiciels n'est pas un
handicap : les outils les plus performants et les plus utilisés sont libres et
gratuits. Ils sont d'ailleurs diffusés sous la licence GPL, à part Apache qui est
distribué sous sa propre licence, fortement similaire à la licence GPL.
Son objectif est le suivant (source :
http://en.wikipedia.org/wiki/GNU_General_Public_License )

1. la liberté d'exécuter le logiciel, pour n'importe quel usage


2. la liberté d'étudier le fonctionnement d'un programme et de l'adapter à
ses besoins, ce qui passe par l'accès aux codes sources
3. la liberté de redistribuer des copies
4. la liberté d'améliorer le programme et de rendre publiques les
modifications afin que l'ensemble de la communauté en bénéficie.

B) Déterminer la structure de la base de données

La diversité des personnes amenées à utiliser cette base de données oblige à


choisir avec soin quels seront les différents champs et tables à créer. De plus
il est essentiel de bien définir les besoins des utilisateurs, ainsi que leurs
limites. Ainsi un étudiant n'aura pas les mêmes droits, ni le même usage qu'un
membre du personnel, qui lui-même aura un profil bien différent d'un
commercial dans la base de données. On voit que suivant l'activité de la
personne, se dégagent des caractéristiques précises qui devront décrire de
façon exhaustive les différents utilisateurs. J'ai donc intuitivement cherché à

23/41
Samuel MARTIN GM4

structurer la base suivant ce modèle. Néanmoins, pour des raisons de


commodité il est nécessaire qu'informatiquement les utilisateurs soient tous
identifiables suivant le même modèle. C'est en effet pratique afin de se
connecter à l'intranet par exemple : chaque utilisateur doit avoir un couple
login/password, quelle que soit son activité.
De plus, certaines informations nécessaires à l'Institut ne sont pas
représentées par des personnes : c'est le cas des entreprises et des écoles,
pour lesquelles il est nécessaire de créer des tables séparées. De même, le
système d'échange de messages et de fichiers nécessite sa propre structure
de base de données, et concernant l'enseignement il a été nécessaire de créer
un système de tables afin d'organiser les classes et les cours.

Je suis donc parti sur le modèle suivant :

– Une table users


Elle contient les informations communes à tous les utilisateurs et
nécessaires à leur traitement informatique : mot de passe, nom
d'utilisateur, catégorie de l'utilisateur...
– Une table infos_personnelles
Elle contient les informations communes aux utilisateurs, mais qui ne
concernent pas le traitement informatique : adresse, nom et prénom,
civilité, nationalité, profession...
– Des tables d'informations complémentaires : une par catégorie
d'utilisateurs.
Elles contiennent les informations spécifiques à chaque catégorie
d'utilisateur : niveau d'étude pour les étudiants par exemple.
– Des tables Entreprises et Ecoles contenant tout ce qui concerne ces
dernières.
– Des tables Messages et Fichiers, destinées à stocker ce qui concerne
l'échange d'informations par l'intranet.
– Enfin des tables classes et calendrier sont destinées à organiser les
classes d'étudiants et les horaires de leurs cours.

La table users contient un champ id, qui identifie par un numéro unique
chaque utilisateur. Cet id est ensuite rappelé dans les autres tables contenant
une entrée le concernant, afin de pouvoir l'identifier de manière unique et
rapide.

Ce système d'id est en fait repris par toutes les tables, ce qui leur permet de
constituer un index et de répertorier de façon fiable chaque enregistrement.
De plus il est géré automatiquement par Mysql : à chaque nouvelle entrée
dans la table le champ id est incrémenté.

Par exemple, un des champs de la table classes est eleves_id, qui contient les
id de tous les élèves de la classe.
De même, un des champs de la table infos_personnelles est user_id. Il
contient la même valeur que le champ id de la table users, ce qui permet de
faire la correspondance entre utilisateur informatique et personne « réelle ».

24/41
Samuel MARTIN GM4

C) Structure de l'intranet

Afin d'exploiter efficacement la base de donnée, il est essentiel de construire


intelligemment l'intranet. En effet le nombre d'utilisateurs potentiels, leur
diversité et la confidentialité des données qui sont exploitées oblige à
cloisonner et automatiser le traitement de l'information.

Ainsi, chaque type d'utilisateur doit avoir accès à des ressources spécifiques,
tout en n'ayant pas d'accès aux ressources d'autres types d'utilisateurs.
Par exemple un étudiant doit pouvoir communiquer avec ses professeurs,
consulter et modifier les informations le concernant personnellement, mais ne
doit en aucun cas avoir accès à la liste des clients d'un commercial ou pouvoir
modifier le carnet d'adresses d'un professionnel.
Suivant l'activité de la personne se connectant, des pages spécifiques sont
donc consultables, et il en va de même pour les données.
J'ai donc stocké dans la base de données la liste des pages autorisées pour
chaque groupe d'utilisateurs, ainsi que d'autres informations ayant trait à la
confidentialité des données (types d'utilisateurs « compatibles » au niveau de
l'échange d'informations, champs visibles/modifiables...).

De plus les informations à afficher, ou le nombre d'utilisateurs à prendre en


compte peut être très important : il est nécessaire d'automatiser le traitement
des données au maximum. Par exemple lors de la modification des
informations personnelles d'un individu, la liste des différents champs à
afficher dans le formulaire d'édition n'est pas connue « en dur » dans les
fichiers PHP, de même pour la mise en page de ce formulaire. En effet le
nombre de champs est très important, et peut varier dans de grandes
proportions suivant l'information recherchée ou l'individu. Il a donc été
nécessaire de créer des fonctions prenant en paramètre les tables de la base
de donnée afin de pouvoir obtenir un traitement automatique et indépendant
des différents cas qui se présenteront.

Enfin étant donné que cet intranet doit être accessible par Internet, la
sécurisation des accès a été une obligation majeure.
Ainsi l'authentification d'un individu fait appel à différents contrôles :
l'adresse IP d'un utilisateur a-t-elle variée durant sa connexion ? Ne reste-t-il
pas inactif trop longtemps ? Y a-t-il un intermédiaire entre lui et le serveur
(principe de l'attaque « man in the middle ») ?
En outre, les mots de passes sont cryptés suivant l'algorithme SHA, et sont
modifiés par une chaîne aléatoire pour être sûr qu'ils ne correspondent pas à
un mot usuel (technique dite du « grain de sable »). Seul le résultat du
cryptage et ce « grain de sable » sont stockés dans la base de données.

25/41
Samuel MARTIN GM4

Enfin, un grand nombre de fonctions ont été codées afin de vérifier qu'aucun
utilisateur malveillant ne puisse manipuler de données non autorisées : par
exemple tout ce qui résulte d'un formulaire modifiable par l'utilisateur est
parsé afin d'éliminer les caractères ésotériques (des guillemets permettant de
couper une commande SQL notamment).

26/41
Samuel MARTIN GM4

3) En pratique : présentation du projet finalisé

A) Les fonctionnalités

En premier lieu vient une interface basique de connexion :

Une fois connecté l'interface diverge suivant le type d'utilisateur. Néanmoins


tous ont accès aux fonctions suivantes :

– Un système de messagerie :

27/41
Samuel MARTIN GM4

Notez que la partie « autorisations » a été effacée par confidentialité. Elle


apparaît uniquement chez certaines catégories d'utilisateurs, pour déterminer
quelle catégorie peut lire les messages de quelle catégorie.

– Un système de publication de fichiers :

Ici aucun fichier n'a encore été publié, et de même la section Autorisations est
effacée.

28/41
Samuel MARTIN GM4

– Un module de recherche :

Plusieurs critères de recherche sont disponibles :

29/41
Samuel MARTIN GM4

– Interface de gestion des utilisateurs

Cette interface n'est disponible que pour un nombre restreint d'utilisateurs.


Elle est destinée à l'ajout, la modification et la suppression d'utilisateurs.

Le premier écran résume les groupes d'utilisateurs disponibles.


Un lien permet de consulter la liste des membres de chaque groupe.
Deux autres liens permettent l'ajout d'utilisateurs, soit manuellement, soit à
partir d'un fichier.

Les liens Consulter ouvrent la page suivante (ici pour le groupe Professionnel)

30/41
Samuel MARTIN GM4

Par confidentialité les noms d'utilisateurs sont masqués.


Pour chaque utilisateur un ensemble d'action est disponible : consultation des
informations disponibles, modification, suppression, gestion des informations
client (destiné aux commerciaux).

L'écran d'information se présente de la façon suivante :

L'écran de modification et d'ajout est semblable, les champs texte étant


remplacés par des champs modifiables (avec éventuellement par défaut les
valeurs déjà présentes dans le cas d'une modification), et tous les champs sont
disponibles (dans l'écran d'information les champs vides ne sont pas affichés).

La fonction d'import d'utilisateurs à partir d'un fichier est présentée ainsi :

31/41
Samuel MARTIN GM4

Le format du fichier doit être un cvs (fichier texte formaté, Excel peut par
exemple exporter ses tableaux dans un tel format).

– Interface de gestion des partenaires

Elle est très semblable à l'interface de gestion des partenaires, mais elle est
dédiée à la gestion des entreprises et écoles partenaires de l'institut.

– Gestion des classes et des cours

Cet ensemble de pages est disponible aux professeurs et élèves pour recenser
et gérer les différentes classes ainsi que les cours associés :

Liste des classes

Informations sur la classe et ajout d'une classe

32/41
Samuel MARTIN GM4

Liste des cours

Informations sur un cours

Ajout d'un cours

Note : les informations (nom et prénom notamment) sont fictives.

33/41
Samuel MARTIN GM4

– Gestion des fournisseurs et commandes

Cette interface est destinée à suivre les différentes commandes passées à des
fournisseurs par l'institut. De même les fournisseurs peuvent mettre à jour
l'avancement des commandes par cette interface.

Exemple de suivi d'une commande

– Système de remise à zéro des mots de passe

Étant donné qu'aucun mot de passe n'est stocké en clair dans la base de
donnée, il peut parfois être nécessaire de devoir réattribuer un mot de passe à
un utilisateur. En cas de perte par exemple, ou si le mot de passe a été
divulgué.

(Les informations sont fictives)

– Système de sauvegarde/restauration de la base de donnée.

En cas de modification importante de la base (par exemple l'ajout de


nombreux utilisateurs par un fichier), une sauvegarde est automatiquement
créée.

34/41
Samuel MARTIN GM4

On peut aussi demander manuellement une sauvegarde, afin de pouvoir


revenir facilement à l'état précédent en cas de fausse manipulation ou de
défaillance logicielle ou matérielle.

Il a donc été nécessaire de créer des fonctions destinées à transformer les


informations contenues dans ces fichiers texte en instructions SQL, et vice-
versa.

35/41
Samuel MARTIN GM4

B) Aperçu de la base de donnée

Voici l'aspect final de la base de donnée, telle qu'elle est exploitée par
l'intranet :

Structure de la table users

Liste des tables de la base

Structure de la table infos_professionnels

36/41
Samuel MARTIN GM4

Structure de la table stats

Structure de la table infos_personnelles

37/41
Samuel MARTIN GM4

Structure de la table messages

Structure de la table Entreprises

Structure de la table Groupes Structure de la table cours

38/41
Samuel MARTIN GM4

C) Bref aperçu des fonctions dédiées à la sécurité

Étant donné que la sécurité des données fut un aspect essentiel de ce projet, il
me semble important de décrire succinctement les différentes fonctions
développées afin de sécuriser le transfert des informations.

Ce code est contenu dans un fichier auth_check.php et est appelé à chaque


début de page.

session_start();
include("config/config.php");
if(!isset($_SESSION['last_access']) || !isset($_SESSION['ipaddr']) || !isset($_SESSION['user']))
{
$_SESSION=array();
session_destroy();
header("Location: ".$LOGIN_PAGE);
die();
}
if(time()-$_SESSION['last_access']>$SESSION_TIMEOUT)
{
$_SESSION=array();
session_destroy();
header("Location: ".$LOGIN_PAGE);
die();
}
if($_SERVER['REMOTE_ADDR']!=$_SESSION['ipaddr'])
{
$_SESSION=array();
session_destroy();
header("Location: ".$LOGIN_PAGE);
die();
}

Ce morceau sert à vérifier par différents moyens que l'utilisateur est bien le
même d'une page à l'autre, et qu'il n'est pas resté trop longtemps inactif.

$test=FALSE;
for($i=0;$i<sizeof($champs);$i++)
{
if (($CHEMIN_USERS.$champs[$i])==$PAGE)
$test=TRUE;
}
if(!$test){
$_SESSION=array();
session_destroy();
header("Location: ".$LOGIN_PAGE);
die();}
$_SESSION['last_access']=time();

Ce code sert à vérifier que la page consultée est bien autorisée pour
l'utilisateur (la liste des pages autorisées est contenu dans la variable
$champs, qui provient d'une requête SQL sur la base de données).

39/41
Samuel MARTIN GM4

Nous allons maintenant voir les fonctions utilisées à différents moments et


destinées à la sécurité. Toutes ces fonctions sont stockées dans un fichier
functions.php.

function CheckUser($login,$mdp)
{
$login=mysql_real_escape_string($login);
$result=mysql_query("SELECT * FROM users WHERE login='$login'");
if (mysql_num_rows($result)>0)
{
$data=mysql_fetch_array($result);
$mdp_sha=sha1($mdp.$data['gds']);
if(($data['login']==$login) && ($data['pwd']==$mdp_sha))
{
return true;
}
}
return false;
}

Cette fonction est appelée lors de la connexion et vérifie la validité du login et


du mot de passe.

function sec_txt($texte)
{
$secu=htmlentities($texte, ENT_QUOTES, 'UTF-8');
return $secu;
}

Cette fonction parcourt une variable texte et supprime les caractères pouvant
être interprétés (quotes, balises html...).

function test_nom($nom)
{
return preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $nom);
}

Cette fonction est appelée lors de l'upload d'un fichier, pour vérifier que son
nom ne contient aucun caractère susceptible d'être interprétés par le serveur.

Ce sont les principales fonctions que j'ai développé pour sécuriser le transfert
des informations. Bien entendu d'autres ont été utilisé. Par exemple les
fonctions php mysql_real_escape_string() pour vérifier la présence de
caractères indésirables, ou encore sha1() afin de crypter les mots de passe.

40/41
Samuel MARTIN GM4

CONCLUSION

Ce stage m'aura au final apporté beaucoup de choses, tant au niveau


technique qu'au niveau humain.

En effet sur le plan des connaissances, le domaine des Bases de données et


des technologies web avait seulement été abordé par un projet de l'UV
systèmes d'exploitation.

J'ai donc dû pendant la première partie de mon stage réaliser une importante
auto-formation. Heureusement Internet est très fourni en cours et ressources
concernant ces technologies, et j'ai donc pu beaucoup apprendre dans ce
domaine.

De plus il m'a été laissé une grande liberté dans le choix des méthodes et
outils à employer pour arriver au résultat, ce qui m'a permis de comparer les
différents langages et programmes que je pouvais utiliser, et de faire les choix
technologiques que je jugeais les plus adaptés. Cette partie du projet, qui
précède le développement, m'a paru très importante car elle conditionne
l'ensemble de la suite de ce stage.

Sur le plan humain, l'immersion dans le fonctionnement de l'institut a été


forte. En effet la taille humaine de cette entreprise m'a permis d'être en
permanence au contact de l'ensemble de ses acteurs. Ma participation aux
réunions du CA, notamment, m'a beaucoup appris sur la direction au
quotidien d'une entreprise.

Enfin le fait de côtoyer des personnes de différents horizons (étudiants


chinois, stagiaires russes...) et de travailler avec différentes professions
(notamment en gestion) a été très intéressant et permet de ne pas s'arrêter à
l'aspect purement technique de mon projet de stage.

41/41