Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
éme
4 année
A mes parents :
Toute dédicace demeure insuffisante pour vous exprimer notre
reconnaissance. Vos sacrifices constants et démesurés, vos prières et
vos encouragements nous ont permis de progresser de continuer nos
études dans des conditions propices. Puisse Dieu tout puissant vous
procurer santé, bonheur et longue vie.
A mes professeurs :
Votre professionnalisme et votre modestie exemplaire sont pour nous
une source d’admiration et de profond respect.
Nous vous remercions infiniment pour tous les efforts déployés afin de
contribuer à ma formation.
A mes amis :
En témoignage de nos inoubliables moments de liesse, de fraternité.
Je vous souhaite beaucoup de persévérance.
Puis, mille mercis à tout le personnel de l’EMSI. Nous avons été touchés
de près tout au long de notre parcours par votre amabilité et efficacité,
votre simplicité exemplaire n’a d’égale que vos compétences.
Résumé
Sommaire
Introduction générale _______________________________________________________ 1
Chapitre I Contexte Général du projet ________________________________________ 2
1. Présentation de l’organisme d’accueil _____________________________________ 3
1.1. Les services offerts par ERICSSON ___________________________________________________ 3
1.2. Situation et axes forts d’ERICSSON ___________________________________________________ 3
Introduction générale
Ma mission était donc l’élaboration d’un système offrant une meilleure gestion des sites, des
stations, antennes et des équipements Ericsson dans le but de réduire l’utilisation excessive
des différentes ressources (matérielles, humaines…) qui résulte de l’utilisation de systèmes
classiques et non intègres. C’est dans ce cadre que s’inscrit mon projet de fin d’année intitulé
«Conception et la réalisation d’un système de gestion des sites réseaux».
L’application doit permettre d’avoir une vue globale sur les sites réseaux et leur différents
états. Elle doit être développée pour un fonctionnement Intranet et compatible avec un serveur
web Apache.
Le présent rapport présente le travail réalisé durant ma période de stage. Il comporte cinq
chapitres structurés dont le premier définit le contexte général du projet. Une étude
fonctionnelle que doit assurer l’application est l’objet du second chapitre. Le troisième
chapitre va porter sur l’analyse et conception de l’application. Les différentes technologies
qu'on a utilisées, avec description des différents Framework qu’elle implémente feront l’objet
du quatrième chapitre. Puis le dernier chapitre exposera la partie réalisation de ce projet.
Rapport de stage CH1 : Contexte général du projet
2
Rapport de stage CH1 : Contexte général du projet
Il a pour ambition d’être l’acteur principal d’un monde communicant à travers l’innovation,
la technologie, et des solutions durables. Il se trouve désormais devant de grandes
opportunités d’innovation que ce soit pour l’industrie, les services publics ou encore la sphère
privée. Cet organisme passe de la Société de l’Information à la Société en Réseau, dans
laquelle la préoccupation première n’est plus l’accès à l’information mais quel bénéfice en
tirer. Il a fallu 100 ans pour connecter 1 milliard de lieux, et 25 ans pour connecter 5 milliards
de personnes. La prochaine étape consiste à connecter les objets.
ERICSSON a plusieurs axes forts en Telecom, haut débit fixe, haut débit mobile, services de
communication, services managés, UMTS, LTE, 3G, 4G, OSS, BSS, Cloud, réseaux, TV et
3
Rapport de stage CH1 : Contexte général du projet
2. Présentation du sujet
Ce projet est une Application Web dédiée à Ericsson au Maroc pour répondre aux multiples
problématiques que cette tranche de professionnels rencontre au quotidien.
Cette application doit assurer une gestion minutieuse des sites réseaux, de leurs stations,
antennes et équipements pour répondre aux attentes et besoins des utilisateurs et optimiser le
temps.
L’application doit également offrir un tableau de bord pour assurer une meilleure visibilité
pour les utilisateurs, avec aptitude de supervision de l’état des différents composants gérés par
l’application.
Ma mission consiste aussi à l’élaboration d’un module pour la gestion des utilisateurs qui
permettras de crée des utilisateurs, leur attribuer des droits afin d’utilisé l’application selon
leurs postes dans la société.
Conclusion
Dans ce premier chapitre j’ai visé en premier lieu à situer le projet dans son cadre général en
présentant l’organisme d’accueil, puis j’ai dédié la seconde partie à la définition du sujet puis
la problématique soulevée Ericsson. Ce chapitre sert donc à présenter théoriquement mon
sujet mieux comprendre le système implémenté. Le chapitre suivant sera consacré à l'étude
des besoins fonctionnels et non fonctionnels que notre application doit assurer.
4
Rapport de stage Etude préliminaire et fonctionnelle
5
Rapport de stage Etude préliminaire et fonctionnelle
1.1. Contexte
Actuellement, il existe une offre importante de logiciel de gestion sur le marché. Cependant,
ils sont plus adaptés aux entreprises et organisation dont l’activité principale est purement
commerciale (Achat/Vente) qu’aux entreprises dont l’activité est déterminée par un ensemble
de processus métiers intègres. Ma mission était donc de mettre au point une application web
dédiée à ERICSSON, répondant à ses attentes en termes de gestion d’informations des sites
réseaux tout en offrant une visibilité globale sur son état actuel, en se basant sur un cahier de
charges élaboré minutieusement.
1.2. Problématique
Une grande majorité des entreprises au Maroc se basent sur un système d’information limité,
employant des méthodes dépassées et inefficaces à base d’outils de bureautique de traitement
de texte, ce qui produit des redondances d’informations, des pertes de données, et constitue de
grands gaspillages de temps et de ressources, ce qui se traduit par des pertes pour les
entreprises en question.
La plupart des responsables sont confrontés aux mêmes problèmes que je décriai comme suit :
- Perte de données, difficultés de recherches d’informations lorsqu’il s’agit des milliers des
sites réseaux installés au Maroc.
- Redondance des informations : Tout est inscrit dans des documents Excel, pas de
centralisation des données.
6
Rapport de stage Etude préliminaire et fonctionnelle
1.3. Objectifs
L’objectif principal dans la mise en œuvre de cette application le développement d’une
solution informatique permettant une gestion de pointe des sites et stations réseaux
ERICSSON installé au Maroc.
L’application est réalisée en utilisant le Framework Symfony 2.3 basé sur une architecture
MVC (Model, View, Controller), en interaction avec une base de données MySQL.
Le but de cette application est de respecter les contraintes suivantes pour sa réalisation et son
bon fonctionnement :
L’objectif principal dans la mise en œuvre de ce premier module est l’élaboration d’une
solution informatique générique s’adaptant à tous les bureaux ERICSSON marocains.
7
Rapport de stage Etude préliminaire et fonctionnelle
Les besoins non fonctionnels décrivent toutes les contraintes auxquelles est soumis
l’application pour sa réalisation et son bon fonctionnement.
-Confidentialité
La notion de confidentialité est importante lorsqu’il s’agit de formation. Il faudra donc veiller
à ce qu’aucune information des utilisateurs ne puisse tomber dans les mains d’une tierce
personne. Il faudra donc sécuriser les données et les accès à ces données.
-Ergonomie et souplesse
L'application doit offrir une interface conviviale et ergonomique exploitable par l’utilisateur
en envisageant toutes les interactions possibles à l'écran du support tenu.
-Rapidité
L'application doit optimiser les traitements pour avoir un temps de génération de schéma
raisonnable.
- Efficacité
8
Rapport de stage Etude préliminaire et fonctionnelle
2. Déroulement du projet
Définition
Gantt
Le diagramme de GANTT présenté ci-dessous jouait le rôle d’un fil conducteur tout au long
du projet. Il m’a permis d’ajuster les dérives et de maîtriser la gestion du temps alloué pour la
réalisation du projet.
9
Rapport de stage Etude préliminaire et fonctionnelle
Conclusion
Dans ce premier chapitre j’ai visé en premier lieu la description du projet puis les
fonctionnalités diverses que doit assurer notre solution en cernant les besoins fonctionnels et
non fonctionnels de l’application, puis finalement donne un aperçu des étapes de déroulement
du stage concrétisés par un diagramme de GANTT.
10
Rapport de stage Analyse et conception
1. UML
1.1. Présentation
UML «Unified Modeling Language» [1] est un langage de modélisation formel et normalisé,
né de la fusion de plusieurs méthodes existantes. Il est conçu pour l'écriture des plans
d'élaboration de logiciels.
UML est utilisé pour spécifier, visualiser, modifier et construire les documents nécessaires au
bon développement d'un logiciel orienté objet. Il offre un standard de modélisation, pour
représenter l'architecture logicielle.
UML comble une lacune importante des technologies objet. Il permet d'exprimer et d'élaborer
des modèles objet, indépendamment de tout langage de programmation. C'est un langage très
expressif qui couvre toutes perspectives nécessaires au développement puis au déploiement
des systèmes.
UML offre une très bonne compréhension du problème : le système à étudier sera traité
suivant différents angles et suivant les différents cas d’utilisation de ce système.
UML s’adapte parfaitement à la modélisation des applications à base d’objets et offre grâce à
ses différents diagrammes - une grande souplesse permettant la modélisation de différents
aspects de l’application. UML est aujourd’hui un standard adopté par les grands constructeurs
de logiciel du marché.
2. Diagramme de contexte
Pour ce projet, et dans la mesure de s’aligner avec le choix du formalise UML, nous avons
élaboré le diagramme de contexte, ce dernier un modèle métier ou fonctionnel qui est utile en
début de projet pour clarifier le domaine d'étude car il permet de :
12
Rapport de stage Analyse et conception
- Le situer dans son environnement (ce qui le concerne et ce qui ne le concerne pas) ;
Le diagramme de contexte [1] permet également de modéliser les principaux besoins que l’on
aura pour l’application, et de présenter les interactions entre les différents types d’utilisateurs
et la plateforme.
On se positionne uniquement sur le problème : on ne fait donc figurer que les flux entre le
domaine étudié et les domaines connexes ou partenaires.
Sur le diagramme de contexte, on constate que ce système est en interaction avec des trois
acteurs distincts :
13
Rapport de stage Analyse et conception
l’utilisateur, c’est l’acteur qui est responsable de gérer les zones, les programmes,
les antennes et les équipements des sites réseaux ainsi le suivi des stations.
Le responsable, c’est l’acteur qui gère les sites et les stations réseaux.
L’administrateur est l’acteur le plus privilégié, responsable de la gestion interne de
l’application et gestions des utilisateurs et leurs rôles.
Un cas d'utilisation représente une unité discrète d'interaction entre un utilisateur (humain ou
machine) et un système. Dans un diagramme de cas d'utilisation, les utilisateurs sont appelés
acteurs (Actors), ils interagissent avec les cas d'utilisation (Use Cases).
14
Rapport de stage Analyse et conception
Ci-dessous le diagramme de cas d’utilisation global qui cerne les fonctionnalités clés de
l’application :
• Un utilisateur peut gérer différentes entités telles que les zones des sites réseaux, les
programmes, antennes et équipements utilisées dans les sites réseaux ainsi le suivi des
stations.
• Un responsable dispose des mêmes privilèges que l’utilisateur, mais peut en plus gérer les
sites et stations réseaux directement et suivre leurs états.
• L’administrateur est l’acteur ayant le plus de privilèges, disposant des mêmes droits que le
responsable, avec en plus la possibilité de gérer les utilisateurs de l’application, et leur
affecter les rôles.
15
Rapport de stage Analyse et conception
Cette entité englobe différentes fonctionnalités relatives à la gestion des sites réseaux, à
savoir la mise à jour des informations, le suivi de leurs états et l’enregistrement des nouveaux
sites réseaux.
Descriptifs textuels
Le responsable a le droit de gérer le volet dédié aux sites réseaux, pouvant donc ajouter un
nouveau site, afficher ses informations ou les mettre à jour, le supprimer ou le rechercher
parmi la liste des sites réseaux. Toutes ces fonctionnalités nécessitent une authentification
d’utilisateur ayant au minimum le rôle Responsable.
16
Rapport de stage Analyse et conception
Description générale
Acteurs - Responsable
Scenario
17
Rapport de stage Analyse et conception
Post-conditions - Un site réseau est crée et figure dans la liste des sites
Alternatives
18
Rapport de stage Analyse et conception
19
Rapport de stage Analyse et conception
Exceptions
Post-conditions - Un site réseau n’est pas crée et ne figure pas dans la liste
des sites
20
Rapport de stage Analyse et conception
déclenchés par les acteurs. L’ordre chronologique se déroule vers le bas et l’ordre des
messages doit suivre la séquence décrite dans le cas d’utilisation.
Pour tous les diagrammes traités, on considère qu’une phase d’authentification est faite avant.
21
Rapport de stage Analyse et conception
permet d’assurer une fonctionnalité : les diagrammes d’interaction décrivent comment ces
objets vont assurer cette fonctionnalité.
22
Rapport de stage Analyse et conception
23
Rapport de stage Analyse et conception
24
Rapport de stage Analyse et conception
Description général
Acteurs - Administrateur
25
Rapport de stage Analyse et conception
Scénario nominal
26
Rapport de stage Analyse et conception
Alternatives
27
Rapport de stage Analyse et conception
Exceptions
28
Rapport de stage Analyse et conception
Post-conditions - L’utilisateur n’est pas crée et ne figure pas dans la liste des
utilisateurs
29
Rapport de stage Analyse et conception
30
Rapport de stage Analyse et conception
L’entité User est une entité générée par le bundle FOSUserBundle implémenté dans notre
projet pour gérer la sécurité et les privilèges d’accès aux URL suivant les rôles de la personne
connectée.
31
Rapport de stage Analyse et conception
6. Diagramme de déploiement
Le diagramme de déploiement [1] est une vue statique qui sert à représenter l'utilisation de
l'infrastructure physique par le système et la manière dont les composants du système sont
répartis ainsi que leurs relations entre eux. Les éléments utilisés par un diagramme de
déploiement sont principalement les nœuds, les composants, les associations et les artefacts.
32
Rapport de stage Analyse et conception
Conclusion
Dans ce chapitre j’ai tout d’abord décrit la méthodologie de travail utilisée pour la réalisation
de ce travail, puis j’ai fait une brève description du langage utilisé pour l’étape de la
conception, et finalement on a élaboré les différents diagrammes qui vont nous aider à
modéliser le système à mettre en place.
33
Rapport de stage Aspect technique
34
Rapport de stage Aspect technique
1. Spécification technique
L'étude technique consiste à mener une analyse des besoins techniques, puis trouver une
implémentation qui répond à ces besoins indépendamment des choix fonctionnels. Ce chapitre
fera donc l'objet de capture des besoins techniques et présentera ensuite la conception
générique qui décrit la solution adoptée.
1.1. MVC
Le pattern MVC [2] est un modèle de conception pour le développement d'applications
logicielles qui sépare le modèle de données, l'interface utilisateur et la logique du contrôle.
35
Rapport de stage Aspect technique
36
Rapport de stage Aspect technique
L’architecture ci-dessus permet d’avoir une indépendance entre les différentes couches, grâce
à la façade qui nous permet de changer de la technologie tout en conservant le métier intact.
La couche métier offre des services applicatifs et métiers à la couche présentation. Pour
fournir ces services, elle s’appuie, le cas échéant, sur les données du système, accessibles au
travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation
les résultats qu’elle a calculés.
Couche accès aux données : Elle consiste en la partie gérant l'accès aux gisements de
données du système. Cette couche gère l’accès et la sauvegarde des données. Elle
communique avec la couche
Service en utilisant les objets du domaine. Elle renvoie à la couche Service les objets métier
construits à partir des données de la base. Elle persiste dans la base de données les objets
qu’elle obtient de la couche Service. La couche persistance regroupe les éléments suivants :
Des services qui proposent des méthodes CRUD (Create, Retrieve, Update, Delete)
pour manipuler les entités.
Utilisation des API de mapping Objet / Relationnel.
37
Rapport de stage Aspect technique
2. Technologies utilisée
38
Rapport de stage Aspect technique
En plus de fournir une librairie très riche, il fournit également la possibilité de générer un
squelette de site internet, des classes et une base de données à partir d’une seule ligne de
commande.
Symfony permet de développer en MVC en séparant bien les 3 couches. Il fournit aussi la
possibilité de faire des tests unitaires, des tests fonctionnels, gérer l’internationalisation
facilement, utiliser des fichiers de configurations facilement, faire de l’url rewriting…et bien
d’autres fonctionnalités.
Il permet tout simplement de gagner du temps (et donc de l’argent) sur la mise en place des
projets web, et aussi sur leurs maintenance car le code est plus facilement modifiable et mieux
structuré ce qui permet de pouvoir faire évoluer les sites plus facilement.
Cette architecture est utilisée par le Framework lui-même pour séparer ses éléments de
fonctionnement.
Tout est fait pour fonctionner au plus bas niveau possible, c’est à dire depuis la requête http
jusqu’au rendu de la page dans le navigateur.
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
39
Rapport de stage Aspect technique
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 (clic de souris, sélection d'une entrée, boutons, etc). 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.
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, et ce dernier notifie la vue que
les données ont changée pour qu'elle se mette à jour.
40
Rapport de stage Aspect technique
Le routeur de Symfony
Le but du routeur [3] est de trouver la route correspondante à partir d'une URL, puis de
retourner le contrôleur que veut cette route.
Pour trouver la bonne route, le routeur va les parcourir une par une, dans l'ordre du fichier, et
s'arrêter à la première route qui fonctionne :
41
Rapport de stage Aspect technique
42
Rapport de stage Aspect technique
ORM (Object-Relational Mapping) [3], désigne la concordance entre les tuples du modèle
relationnel de la base de données et les classes équivalentes de l'application (les
DataBaseObject).
Doctrine est une bibliothèque d'ORM pour PHP. Elle repose sur l'extension PDO. Elle permet
une génération totale de la base de données en se reposant sur les classes et leurs associations.
Toutefois pour avoir un schéma cohérent il faudrait maîtriser et optimiser la conception de
son système d’information.
Le service Doctrine de Symfony est celui qui va permettre de gérer la persistance des objets.
Ce service est accessible depuis le contrôleur comme n'importe quel service : $doctrine =
$this->get('doctrine');
Doctrine Query Language qui permet de faciliter la manipulation des données avec une
syntaxe très proche du langage SQL.
Les templates [3] permettent de séparer le code PHP du code HTML. Seulement, pour faire
du HTML de présentation, on a toujours besoin d'un peu de code dynamique : comme par
43
Rapport de stage Aspect technique
exemple faire une boucle ou créer des conditions, etc... Pour faciliter ce code dynamique dans
les templates, le moteur de template Twig offre son pseudo-langage à lui. Ça n'est pas du
PHP, mais c'est plus adapté et voici pourquoi :
" La syntaxe est plus concise et plus claire. Par exemple pour afficher une
variable, {{ mavar }} suffit, alors qu'en PHP, il faudrait faire <?php echo $mavar; ?>.
" Il y a quelques fonctionnalités en plus, comme l'héritage de templates. Cela serait bien
entendu possible en PHP.
" Il sécurise vos variables automatiquement : plus besoin de se soucier de <?php htmlentities()
ou <?php addslashes().
" Il dispose de différents filtres facilitant la manipulation des données affichées tels que :
L’héritage est très utile dans le cas ou l’on dispose d’une Template mère qui contient le
design de l’application, ou l’on doit définir des blocs (appelés blocks en anglais) qui vont être
alimentés par les Templates filles. Les filles vont donc hériter de la mère en remplaçant
certains éléments par leur propre contenu.
L'avantage est que les Templates filles peuvent modifier plusieurs blocs de la Template mère.
{% extends "EricssonGestionBundle:layout.html.twig" %}
{% block body %}
{% endblock %}
{% include "EricssonGestionBundle::header.html.twig" %}
44
Rapport de stage Aspect technique
avancées permettant l’ajout des utilisateurs, l’affectation des rôles, la génération de formulaire
d’inscription, de modification de profiles, persistance en base de données avec des
mécanismes avancés d’authentification utilisant le cryptage des mots de passe.
FOSUserBundle utilise le pare-feu Symfony pour contrôler l’accès aux pages, muni d’un
mécanisme de vérification des rôles pour juger de l’accessibilité de l’utilisateur à l’url
demandé.
Et pour qu’il puisse être reconnu, l’enregistrement fos_user_security [6] s’ajoute au fichier
routing.yml, pour que le routage puisse prendre en considération les privilèges et rôles des
utilisateurs comme le montre la figure 19 précédemment montrée, elle contient les
enregistrements générés par FOSUserBundle lors de son implémentation.
45
Rapport de stage Aspect technique
3. Outils utilisés
L’application est développée avec le framework Symfony 2.3 qui est basé sur le langage
PHP. Elle est connectée à un serveur de base de données utilisant le SGBD MySQL.
L’application utilise une Template Admire, cette dernière a été intégrée en utilisant
Pour les fichiers de configuration Symfony elles utilisent le format XML ou souvent YAML
puisque ce dernier demeure le plus utilisé vu la meilleure organisation visibilité et qu’il offre
3.1. PHP
PHP (Hypertext Preprocessor) [7], est un langage de scripts libre principalement utilisé pour
produire des pages Web dynamiques via un serveur HTTP, mais pouvant également
fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les
programmes en ligne de commande. PHP est un langage impératif disposant depuis la version
46
Rapport de stage Aspect technique
Le langage PHP est utilisé principalement en tant que langage de script côté serveur, ce qui
veut dire que c'est le serveur (la machine qui héberge la page Web en question) qui va
interpréter le code PHP et générer du code qui pourra être interprété par un navigateur.
C'est un langage peu typé et souple et donc facile à apprendre par un débutant, il ne
s'encombre pas de théorie et a tendance à choisir le chemin le plus direct.
3.2. MySQL
MySQL [1] est un système de gestion de base de données (SGBD). Selon le type
d'application, sa licence est libre ou propriétaire. Il fait partie des logiciels de gestion de base
de données les plus utilisés au monde, autant par le grand public (applications web
principalement) que par des professionnels. Il est en concurrence avec Oracle et Microsoft
SQL Server.
MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de
performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de
données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées.
3.3. HTML5
HTML (Hypertext Markup Language) [7], est le format de données conçu pour représenter
les pages web. C’est un langage de balisage qui permet d’écrire de l’hypertexte, d’où son
nom. HTML permet également de structurer sémantiquement et de mettre en forme le contenu
des pages, d’inclure des ressources multimédias dont des images, des formulaires de saisie, et
des éléments programmables tels que des applets. Il permet de créer des documents
interopérables avec des équipements très variés de manière conforme aux exigences de
l’accessibilité du web. Il est souvent utilisé conjointement avec des langages de
programmation (JavaScript) et des formats de présentation (feuilles de style en cascade).
La version HTML5 est la prochaine révision majeure d'HTML (format de données conçu pour
représenter les pages web). Cette version est en développement en 2012. HTML5 spécifie
deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le
langage comprend également une couche application avec de nombreuses API, ainsi qu'un
algorithme afin de pouvoir traiter les documents à la syntaxe non conforme.
47
Rapport de stage Aspect technique
3.4. CSS3
CSS (Cascading Style Sheets : feuilles de style en cascade) [7] est un langage informatique
qui sert à décrire la présentation des documents HTML et XML. Les standards définissant
CSS sont publiés par le World Wide Web Consortium (W3C). Introduit au milieu des années
1990, CSS devient couramment utilisé dans la conception de sites web et bien pris en charge
par les navigateurs web. Le développement du troisième niveau des feuilles de styles en
cascade commence dès 1999.
CSS3 devient « modulaire », afin de faciliter ses mises à jour, mais aussi son implémentation
par des agents utilisateurs aux capacités et aux besoins de plus en plus variés (navigateurs
graphiques, navigateurs pour mobiles, navigateurs vocaux). Les navigateurs peuvent ainsi
implémenter des sous ensembles de CSS3.
3.5. JavaScript
JavaScript [7] est un langage de programmation de scripts principalement utilisé dans les
pages web interactives mais aussi côté serveur1. C'est un langage orienté objet à prototype,
c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets
qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs
permettant de créer leurs propriétés, et notamment une propriété de prototypage qui permet
d'en créer des objets héritiers personnalisés.
Le propos de JavaScript est de manipuler de façon simple des objets, au sens informatique,
fournis par une application hôte.
3.6. jQuery
jQuery [7] est une bibliothèque JavaScript libre qui porte sur l'interaction entre JavaScript
(comprenant Ajax) et HTML, et a pour but de simplifier des commandes communes de
JavaScript. La première version date de janvier 2006.
48
Rapport de stage Aspect technique
jQuery se présente comme un unique fichier JavaScript de 247 Kio (92,2 Kio dans sa version
minimalisée par la suppression des commentaires et caractères d’espacements) contenant
toutes les fonctions de base.
3.7. YAML
YAML, acronyme récursif de « Ain't Markup Language » [1], est un langage de sérialisation
en données Unicode. Il reprend des concepts d'autres langages comme XML, ou encore du
format de message électronique tel que documenté par RFC 2822.
L'idée de fond de YAML est que toute donnée peut être représentée par une combinaison de
listes, tableaux (de hachage) et données scalaires. YAML décrit ces formes de données (les
représentations
YAML), ainsi qu'une syntaxe pour présenter ces données sous la forme d'un flux de caractères
(le flux YAML).
La syntaxe du flux YAML est relativement simple et efficace, moins verbeuse que du XML,
moins compacte que du CSV, et a été établie de sorte qu'elle soit le plus lisible possible par
des humains, tout en pouvant être mise en correspondance facilement avec les types de
données précités, communs dans les langages de haut niveau. À ces langages il emprunte
certaines notations.
49
Rapport de stage Aspect technique
PDF, Word ou HTML afin de les partager et les publier sur Internet, cette application est
compatible avec de nombreuses applications, standards et environnements. Ainsi, vous
pourrez générer notamment des diagrammes de séquences ou de cas d'utilisation et ainsi
produire du code source dans de nombreux langages comme le Java ou encore le C++, ou
bien faire l'inverse, générer des diagrammes à partir de code déjà existant.
Conclusion
Dans ce chapitre j’ai présenté l’architecture mise en place, les Framework implémentés ainsi
que les outils utilisés pour la réalisation du projet.
50
Rapport de stage Réalisation
Chapitre V Réalisation
appareil mobile.
51
Rapport de stage Réalisation
1. Page d’accueil
La page d’accueil de l’application est la page d’authentification. Après s’être authentifié
l’utilisateur est redirigé vers la page principale de l’application, qui, selon ses privilèges, offre
plusieurs fonctionnalités de gestion back-office.
Cette page d’authentification est accessible pour tous les utilisateurs et représenté dans la
figure ci-dessus prise a partir d’un écran 15 pouces :
52
Rapport de stage Réalisation
La page dédiée Responsables est composée du menu de navigation dans la barre gauche, puis
offre la liste des sites réseaux, munie d’un champ de recherche global qui permet de chercher
le mot clé saisi dans tous les champs des enregistrements affichés.
53
Rapport de stage Réalisation
Pour chaque enregistrement correspondent plusieurs actions possibles, une icône « show »
permet d’afficher les détails du site réseau, une icône « edit » permet d’afficher un formulaire
de modification.
Cette page met également à disposition un bouton d’ajout d’un nouvel enregistrement, et un
bouton affichant la totalité des sites réseaux ainsi qu’un bouton pour chaque site réseau qui
permet d’afficher les stations reliées a ce dernier.
La page dédiée Responsables est composée du menu de navigation dans la barre gauche, puis
offre la liste des stations réseaux, munie aussi d’un champ de recherche global.
Pour chaque enregistrement correspondent plusieurs actions possibles, une icône « show »
permet d’afficher les détails du site réseau, une icône « edit » permet d’afficher un formulaire
de modification.
54
Rapport de stage Réalisation
55
Rapport de stage Réalisation
5. Privilège d’accès
Si un utilisateur n’ayant pas suffisamment de privilèges tente d’accéder à une page réservée à
des utilisateurs ayant des rôles supérieurs, il est redirigé à une page d’erreur, en voici un
aperçu :
56
Rapport de stage Réalisation
Conclusion
Dans ce chapitre j’ai présenté par le biais d’imprimés écrans quelques uns parmi les différents
volets dont dispose l’application, en mettant l’accent sur les restrictions d’accès qui reposent
sur les privilèges de chaque utilisateur.
57
Rapport de stage Réalisation
Conclusion générale
Ce rapport entre dans le cadre de mon stage de 4 éme année. Le projet a été réalisé
au sein de la société ERICSSON. Il consiste à la conception et la réalisation
d’un système de gestion et suivi des sites réseaux.
58
Apports de stage
Durant ce stage, j’ai pu tirer tout un ensemble de savoirs et savoir-faire
nécessaires à l'exercice du métier de développement. J’ai appris à m’adapter à
des nouvelles méthodes dans les domaines de développement et à l’organisation
du temps consacré pour cela.
Sur le plan personnel, ce projet fut un véritable test de mes capacités à résoudre
d’une façon autonome, les problèmes posés jour après jour et de mon aptitude à
assumer les responsabilités qui m’ont été confiées.
Pour conclure, j’espère avoir répondu aux attentes de la société et avoir été à la
hauteur de la confiance qu’ils m’ont témoignée.
59
Références
[2] http://dico.developpez.com/html/3020-Conception-MVC-Model-View-
Controller.php, consulté le 12 juillet 2014.
[3] http://fr.openclassrooms.com/informatique/cours/developpez-votre-site-web-avec-
leframework- symfony2, consulté le 12 juillet 2014.
60