Réalisé par :
ZEINEB CHEBAANE
Organisme : WG Consulting
Année Universitaire :
1
Page
2020-2021
2020-2021
Je tiens à remercier toutes les personnes qui ont contribué au succès de mon stage et qui
m’ont aidé dans toute la période de stage.
Je voudrais remercier mon encadrant M.ABD RAHMEN FEKIH, Il a su me faire confiance
lors de cette aventure dans le monde professionnel et a partagé ses connaissances de manière
très pédagogique.
Je le remercie aussi pour sa disponibilité ainsi que pour sa patience et ses précieux conseils.
Je souhaite ensuite adresser mes remerciements à Mme HAYAT OMMEZINE, responsable
administratif pour son accueil chaleureux qui a toujours été à mon écoute et a su m’apporter
un soutien sans faille.
je voudrais enfin exprimer ma reconnaissance envers les amis et collègues qui m’ont apporté
leur soutien moral et intellectuel tout au long de mon stage et je les remercie pour leur esprit
d’équipe.
2
Page
Table des figures..................................................................................................................4
Introduction Générale.........................................................................................................5
2.1 Introduction...............................................................................................................8
2.2 Etude préliminaire.....................................................................................................8
2.2.1 Les besoins fonctionnels...............................................................................8
2.2.2 Les besoins non fonctionnels.........................................................................9
4 Réalisation et test.........................................................................................................15
4.1 Introduction..............................................................................................................15
4.2 Environnement de développement.............................................................................15
4.2.1 Les logiciels utilisés.......................................................................................15
4.3 Réalisation
4.3.1 Obtention du formulaire.................................................................................19
4.3.2 Affichage de la base de données.....................................................................20
4.3.3 Suppression des produits.................................................................................21
3
Conclusion
3.1 Le modèle MVC..........................................................................................................10
3.2 Le modèle du contrôleur..............................................................................................11
4.6 Le formulaire..................................................................................................................19
Nous sommes une équipe composée de 5 stagiaires chacun doit terminer les tâches
nécessaires pour deux interfaces, je suis chargée de l’interface produit et l’interface
utilisateur.
conseille et travailles-en étroite collaboration avec ses clients, dans le respect de leurs
contraintes en termes de coûts et de délais pour transformer leurs visions en réalité.
En outre, WG Consulting s’appuie sur des outils et des méthodologies éprouvées (selon les
normes internationales), pour assurer le bon déroulement des missions d’IT consulting.
Enfin, pour répondre aux besoins de ses clients en termes de suivi des installations
informatiques et de leur utilisation, WG Consulting, SSII offre toute une gamme de contrats
de services modulables et personnalisés y compris l’infogérance totale des systèmes
d’informations.
Les services d’infogérance des systèmes d’informations :
Support technique
Maintenance des logiciels
Infogérance du Système d’Information d’entreprise
7
Page
2.1 Introduction :
Dans ce deuxième chapitre, nous allons mettre le sujet dans son cadre général. Par la suite,
nous aborderons l’étude préliminaire qui présente un ensemble des besoins fonctionnels et
autres non fonctionnels.
Notre site doit disposer d’une vitrine virtuelle à travers laquelle le client peut consulter une
grande variété des produits, il sera donc indispensable d’y présenter les prix et les
caractéristiques techniques de chaque produit pour faciliter la sélection du produit à acheter.
Inscription des clients :
Jusqu’à ce stade, le client est toujours anonyme mais pour pouvoir passer à un stade plus
rigoureux, il faut qu’il s’inscrive, cela se fait uniquement pour la première commande mais
après, notre client peut s’authentifier avec son nom, son prénom, son E-mail, son numéro de
téléphone, son adresse et son mot de passe et son rôle.
Laravel le Framework utilisé au cours du stage facilite cette tache car l’identifiant de
l’utilisateur, son nom, son e-mail et son mot de passe existent déjà dès le début dans Laravel
Il reste alors l’ajout des autres données de l’utilisateur.
8
Page
2.2.2 Les besoins non fonctionnels :
Les besoins non fonctionnels sont importants car ils agissent de façon indirecte sur le résultat
et sur le rendement de l’utilisateur, ce qui fait qu’ils ne doivent pas être négligés, pour cela il
faut répondre aux exigences suivantes :
Fiabilité :
Il faut respecter surtout la confidentialité des données personnelles des clients qui reste l’une
des contraintes les plus importantes dans les sites web.
Aptitude à la maintenance et la réutilisation :
Le système doit être conforme à une architecture standard et claire permettant sa maintenance
et sa réutilisation.
9
Page
3.1 Introduction :
La conception représente une phase primordiale et déterminante. C’est dans ce stade que nous
devons clarifier en premier lieu la vue globale, en faisant l’architecture générale que nous
allons suivre dans la partie réalisation de notre projet. Puis, dans un deuxième lieu nous allons
détailler notre choix conceptuel.
Le modèle MVC (Model View Controller ) est une méthode d’organisation du développement
d’applications ou des sites Web permettant de séparer les différents concepts résultant de nos
pages php.
10
Le modèle correspond à une table d'une base de données. C'est une classe qui étend la
classe Model qui permet une gestion simple et efficace des manipulations de données et
l'établissement automatisé de relations entre tables.
La vue :
La vue s’occupe principalement de faire afficher ce que le modèle renvoi. Ensuite, elle
s’occupe de recevoir toute interaction de l’utilisateur. La vue contient la présentation
graphique à renvoyer à l’utilisateur.
Le contrôleur :
Le contrôleur prend en charge de synchroniser le modèle et la vue. Il capte toutes les activités
de l’utilisateur et en fonction de ses activités, il actionne les changements à effectuer sur
l’application. Le contrôleur traite les actions utilisateurs, demande au modèle d’effectuer les
changements puis passe les données à la vue.
Le routage est l’un des composants clés du framework Laravel, c’est simplement un
mécanisme qui effectue le mappage des requêtes vers une action de contrôleur spécifique.
Toutes les routes Laravel sont définies dans le fichier situé sous la forme /routes/web.php.
GET :
Ceci est principalement utilisé pour récupérer les données du serveur, sans modifier les
données et les renvoyer à l’utilisateur.
POST :
Cela nous permet de créer de nouvelles ressources ou données sur le serveur bien que cela
puisse être utilisé uniquement pour envoyer des données pour un traitement ultérieur.
PUT :
PUT fonctionne comme POST dans le sens où nous permet d’envoyer des données au serveur
généralement pour mettre à jour une ressource existante au lieu de la créer
PATCH :
DELETE :
Migration :
Les Migrations sont une sorte de contrôleur de version pour la BD, permettant, à une équipe,
de modifier et partager le schéma d’une BD facilement. Les Migrations sont stockées dans le
dossier database/migrations.
12
Page
3.3 Conception détaillée :
La phase conceptuelle est une étape fondamentale pour la réalisation de n’importe quel projet.
Elle permet de faciliter le système d’information et réaliser l’implémentation de la base de
données et le traitement.
Le tableau de l’utilisateur :
Le tableau de produit :
TeamViewer :
TeamViewer est un logiciel propriétaire de télémaintenance disposant de fonctions de bureau
à distance, de téléadministration, de conférence en ligne et de transfert de fichiers.
Xampp :
Xampp est l’environnement de développement PHP le plus populaire.
C’est une distribution Apache entièrement gratuite et facile à installer contenant MYSQL,
PHP et Perl.
MYSQL :
MYSQL data base service est un service de base de données entièrement géré pour déployer
des applications natives du cloud en utilisant la base de données open source la plus populaire
au monde.
16
Page
Visual Studio Code :
Visual Studio Code est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et MacOs.
Les fonctionnalités incluent la prise en charge du débogage, la mise en évidence de la syntaxe,
la complétion intelligente du code, la refactorisation du code et Git intégré.Les utilisateurs
peuvent modifier le thème, les raccourcis clavier, les préférences et installer des extensions
qui ajoutent des fonctionnalités supplémentaires.
Laravel :
Laravel est un framework Backend PHP multi-plateforme permettant de créer des
applications et des sites web, il uilise un langage de script plutôt qu’un langage de
programmation PHP strict.
Laravel permet à un développeur de tirer parti d’une vaste bibliothèque de fonctionnalités pré-
programmées (telles que l’authentification, le routage et la création de modèles HTML).
L’accès à cette bibliothèque simplifie la création rapide de site web robuste tout en
minimisant la quantité de code nécessaire.
Les applications Laravel sont hautement évolutives et leur base de code est facile à maintenir.
Les développeurs peuvent également ajouter des fonctionnalités à leurs applications de
manière transparente, grâce au système de packaging modulaire de Laravel et à la gestion
robuste des dépendances.
17
Page
Blade :
L’ajout des messages d’alertes dans Laravel est aussi simple. Laravel contient une
classe nommée MessageBag qui contient une variété de méthodes pratiques pour
utiliser les messages d’erreur. Une variable prédéfinie $errors, qui est une instance de
cette classe, est automatiquement instancié et mise à la disposition dans toutes les
Views
CSRF :
Laravel vous permet de protéger facilement votre application des attaques CSRF
(Cross-Site Request Forgery. Les cross-site request forgeries sont un type d’exploit
malveillant par lequel des commandes non autorisées sont exécutées au nom d’un
utilisateur authentifié.
À chaque fois que vous définissez un formulaire HTML dans votre application, vous
devriez y inclure un champ caché de jeton CSRF pour permettre au middleware de
protection CSRF de valider la requête.
18
Page
4.3 Réalisation :
4.3.1 Obtention du formulaire :
Nous avons d’abord préparé le formulaire qui est une page contenant toutes les
caractéristiques des produits. Pour identifier chaque produit, nous avons rempli le formulaire
qui est affiché comme ci-dessous :
19