0% ont trouvé ce document utile (0 vote)
44 vues29 pages

Rapport de Stage en E-commerce Laravel

Transféré par

jores cabrel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
44 vues29 pages

Rapport de Stage en E-commerce Laravel

Transféré par

jores cabrel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

RAPPORT DE Stage

THEME :APPLICATION DE E-
COMMERCE LARAVEL

Stage effectué du 29 mars au 29 mai en vue de l’obtention d’un DUT

Spécialité : Génie informatique

Rapport de stage rédigé et présenté par :

TCHOUSSEU FANDIO NEL DUVAL


MATRICULE : 22I00708

Sous l’encadrement :

Académique de : Professionnelle de :

Mme. BINDZI M. MINKA

ANNEE ACADEMIQUE

2023-2024
REMERCIEMENTS
L’accomplissement de ce projet a été effectué grâce à de nombreuses
personnes qui, tout au long de celui-ci, m’ont accordé leurs soutiens que ce soit
sur le plan psychologique, physique, et moral. C’est la raison pour laquelle je
tiens à exprimer ma reconnaissance par le biais de ces remerciements :

➢ A Monsieur JACQUE ETAME, directeur de l’institut universitaire de technologie


de l’université de Douala.

➢ Au Pr ESSIBEN DIKOUNDOU JEAN FRANCOIS, chef de département de Génie


informatique qui à la réelle volonté d’apporter à tous les étudiants de cette
filière tous les outils et encadrement dont ils ont besoins pour s’y épanouir et
être dans des conditions optimales de développement.

➢ A Monsieur MINKA RUBEN, mon encadreur professionnel pour ses conseils et


sa disponibilité qui m’ont permis de bénéficier d’une expérience enrichissante
et pertinente.

➢ A Madame BINDZI MURIELLE, pour ses conseils, son attention et le suivi qu’elle
nous a accordé durant cette année académique non seulement en tant
qu’encadreur académique mais aussi en tant qu’enseignante.

➢ A Monsieur MANGA TONGA, à Monsieur DIPOKO JONATHAN, au Docteur


MVOGO NGONO et aux autres enseignants qui nous ont permis de progresser
un peu plus chaque jour vers le perfectionnement de mes compétences.

➢ A mes camarades de promotion qui ont partagés avec moi leur amour pour la
technologie, leurs rêves et ambitions et, tout au long de cette formation m’ont
encouragé par leurs exemples et persévérances.

➢ A ma famille et mes amis pour leurs soutiens et leurs confiances en nous.


SOMMAIRE
I. RÉSUMÉ

II. LISTES DES FIGURES

III. LISTES DES TABLEAUX

IV. LISTES DES ABRÉVIATIONS

V. INTRODUCTION

VI. CHAPITRE 1 : Présentation de CCN Technologies

1. Présentation

2. Leurs services

3. Plan de localisation

4. Organigramme

5. Déroulement du stage

VII. CHAPITRE 2 : Présentation du projet

1. Cahier de charge

2. Analyse (Merise)

3. Maquette Figma

4. Méthodes de gestion de projet (Scrum)

5. Qualité du code

6. Gestion de version

7. Base de données

VIII. CHAPITRE 3 : Analyse des résultats

1. Schéma fonctionnel de l’application

2. Capture d’écran de l’application

3. Estimation du coût de l’application

IX. CONCLUSION GÉNÉRALE

X. RÉFÉRENCE
I. Liste des images
- Image 1 : Localisation de CCN Technologies
- Image 2 : Organigramme de CCN Technologies
- Image 3 : Logo de Shopwise
- Image 4 : Modèle conceptuel de données
- Image 5 : Schéma fonctionnel de Shopwise
- Image 6 : Page d’accueil
- Image 7 : Page d’inscription client
- Image 8 : Page de connexion
- Image 9 : Page de connexion administrateur
- Image 10 : Dashboard ou zone d’administration

II. Liste des FIGURES


- Figure 1 : Organigramme de Shopwise

III. Liste des Tableaux


- Tableau 1 : Coût des ressources du déploiement

IV. Liste des abréviations


- CEO : Chief Executive Officer/ Directeur de l’entreprise
- CFO : Chief Financial Officer/ Directeur Financier
- CTO : Chief Technology Officer/Directeur Technique
- PHP : Hypertext Preprocessor
- Gant : Graphique D’avancement Des travaux
- MVC : Modèle Vue Controller
- MCD : MODÈLE CONCEPTUEL DE DONNÉES
- COCOMO : Constructive Cost Model
V. INTRODUCTION
Le développement des technologies numériques a radicalement transformé le monde du commerce.
L’émergence de plateformes de E-commerce offre de nouvelles perspectives pour optimiser les
processus de vente et de gestion des stocks au sein de ces entreprises. C’est dans ce contexte que se
situe le projet personnel que nous avons entrepris, visant à mettre en place une plateforme de E-
commerce.
L’un des défis majeurs auxquels sont confrontés les systèmes de commerce traditionnels est leur
manque d’intégration et d’automatisation des tâches de gestion. En effet, les outils existants adoptent
souvent une approche cloisonnée qui ne permet pas une gestion fluide et efficace des différents aspects
de l’entreprise. Ainsi, la question essentielle qui se pose est la suivante : comment concevoir une
plateforme de E-commerce capable d’unifier et d’optimiser les processus de gestion d’une entreprise
de commerce ?
Pour y répondre, ce projet prévoit de développer une plateforme de E-commerce offrant des
fonctionnalités avancées de gestion des commandes, des stocks, et des ressources humaines. L’objectif
est de fournir un outil intégré et convivial, favorisant une prise de décision éclairée et une meilleure
allocation des ressources.
Dans un premier temps, nous examinerons les enjeux et les défis liés à la création d’une telle
plateforme. Nous nous intéresserons ensuite à la conception et la mise en œuvre de ses principales
fonctionnalités. Enfin, nous examinerons l’impact de ce projet sur la cohésion et l’efficacité qu’il
apporte à une entreprise de commerce.
VI. CHAPITRE 1 : Présentation

de ccn technologies

1. PRÉSENTATION

CCN&Technologies Sarl est une entreprise camerounaise basée à Yaoundé et Douala spécialisée
dans les technologies de l'information et de la communication (TIC). Leur gamme de services
comprend la fourniture d'ordinateurs et de consommables informatiques ainsi que la mise en place de
solutions de gestion informatisées sur mesure. Avec plus de 200 sites créés, allant du simple site
vitrine aux sites avec service client, catalogue en ligne et e-Commerce, CCN&Technologies Sarl offre
une expertise complète dans la conception de sites web. Ils assurent la réservation de noms de
domaine, l'hébergement sur leurs serveurs, la conception graphique, le développement web et la
maintenance, agissant en tant qu'interlocuteur unique pour leurs clients. Leur expérience s'étend à
divers secteurs au Cameroun et dans le monde, notamment institutionnel, tertiaire, bâtiment, industriel
et tourisme, garantissant leur savoir-faire pour la mise en œuvre de solutions informatiques.

2. LEURS SERVICES

➢ CREATION DES SITES WEB : En effet comme son nom l’indique ce service consiste de
créer des sites web de dernière technologie et de haut standing pour leur client
➢ HEBERGEMENTS WEB : L’hébergement web est le fait de rendre son site accessible sur
internet
➢ SSL CERTIFATES : Ce certificat SSL permet de sécuriser un site web en assurant le
cryptage des échanges de données tels que les transactions en ligne. Les navigateurs Internet,
une fois vérifiée l'authenticité du certificat SSL, attestent que le site est sécurisé en affichant
plusieurs éléments reconnus par les internautes tels que le cadenas ou la « green bar ». Ce
service offres les avantages suivants : Sécurisez vos transactions en ligne, installation sur
multiples serveurs, choisissez votre type de sécurité, prévention des attaques par
Hameçonnage
➢ LOGICIEL ET APPLICATION : CCN Technologies offre un service de création de
logiciel et application pour votre entreprise
➢ ENVOIE SMS PRO EN LIGNE
➢ ENVOIE DES NEWSLETTERS
➢ IP ET TV CHANNELS : L'IPTV veut dire (Internet Protocol télévision) est une forme de
télévision diffusée sur un réseaux utilisant l'internet Protocol. C'est un Protocol qui vous
permet d'avoir la télévision chez vous grâce à l’internet ; Il vous suffit d'avoir une connexion
internet (ADSL, Fibre, Wifi ou autres).

3. Plan de localisation

LOCALISATION DE CCN TECHNOLOGIES

4. Organigramme

L’organisation de CCN Technologies est représentée dans la figure ci-dessous :


ORGANIGRAMME DE CCN TECHNOLOGIES

5. Déroulement du stage

Ma principale activité lors de ce stage consistait à gérer la maintenance logiciel et matériel de


l’entreprise ainsi que travailler sur quelques petites tâches sur certains projets
Cette maintenance consistait à :
- Refaire le système des ordinateurs défaillant
- Mettre à jour les logiciels des ordinateurs
- Changé les pièces défaillantes sur les appareils (imprimante, ordinateur, scanner)
VII. CHAPITRE 2 : Présentation

du projet

1. Cahier de charge

1.1) Contexte
Dans le but de nous perfectionner, nous effectuons un stage académique au sein de l’entreprise CCN
Technologie, c‘est dans ce cadre que le projet de conception d’une application web de gestion
d’établissement supérieure nous a été confiée.

1.2) Description du projet


Shopwise est une application web spécialisée dans le commerce électronique. La conception convient
aussi bien aux petites qu’aux grandes entreprises. Il a été conçu pour votre magasin de shopping,
magasin de mode, magasin de vêtements, magasin numérique, magasin de montres, magasin pour
hommes, magasin pour femmes, magasin pour enfants, magasin d’accessoires, magasin de chaussures
et autres entreprises similaires. Conçu sur une structure en grille, il est simple de gérer la vente des
produits sur cette dernière. C’est tout ce que vous recherchez dans votre magasin. Une fois que vous
aurez accès au système de commerce électronique en ligne Laravel, vous aurez une solution complète
de plateforme de commerce électronique à portée de main.

1.3) Objectifs du projet


Voici les principaux objectifs de ce projet de système de commerce électronique Laravel en ligne en
PHP MySQL :

➢ Fournir une solution complète de plateforme de commerce électronique prête à l'emploi pour
les petites et grandes entreprises. Il peut être utilisé pour créer des sites web de commerce
électronique pour des magasins de shopping, de mode, de vêtements, numériques, de montres,
etc.
➢ Offrir des fonctionnalités e-commerce complètes telles que le catalogue de produits, les
attributs et déclinaisons de produits, la gestion des commandes, les remises, l'expédition, etc.
➢ Permettre une personnalisation et une conception faciles grâce à une structure modulaire et
une approche réactive pour s'adapter à tous les appareils.
➢ Intégrer de nombreux modes de paiement, la prise en charge multidevises et RTL pour une
flexibilité maximale.
➢ Fournir des fonctionnalités avancées comme la galerie d'images, l'aperçu rapide des produits,
les recommandations de produits, l'analytique Google, etc. pour améliorer l'expérience
utilisateur.
➢ Suivre les meilleures pratiques de codage, être facilement traduisible et offrir un système
d'autorisation flexible pour faciliter la gestion et l'évolutivité.

En résumé, l'objectif principal est de fournir une plateforme de commerce électronique clé en main,
personnalisable et évolutive pour aider les entreprises à créer rapidement et efficacement leur boutique
en ligne.

1.4) Organigramme du projet

APPLICATION WEB SPÉCIALISÉE DANS LE COMMERCE


ÉLECTRONIQUE

ANALYSE DES
CONCEPTION DE DÉVELOPPEMENT DES INTEGRATION DES TESTS ET DÉPLOIEMENT DE
BESOINS ET
L'APPLICATION FONCTIONNALITÉS FONCTIONNALITÉS VALIDATIONS L'APPLICATION
SPÉCIFICATIONS

CONCEPTION DE DÉVELOPPEMENT DES INTEGRATION DES


RÉUNION AVEC LES CONFIGURATION DES
L'ARCHITECTURE MODULES DE MODULES DE TEST UNITAIRES
PARTIES PRENANTES SERVEURS
LOGICIELLE GESTION DU STOCK GESTIONS

DOCUMENTATION DÉVELOPPEMENT DES


CONCEPTION DE INTÉGRATION DES
DES BESOINS MODULES DE INSTALLATION DE
L'INTERFACE FONCTIONNALITÉS TESTS D'INTEGRATION
FONCTIONNELS ET GESTION DES L'APPLICATION
UTILISATEUR SUPPLÉMENTAIRES
NON FONCTIONNELS COMMANDES

DÉVELOPPEMENT DES
MODULES DE TESTS DE FORMATION DES
GESTION PERFORMANCE UTILISATEURS
ADMINISTRATIVE

ORGANIGRAMME DE SHOPWISE
1.5) Périmètre du projet
L'application de commerce électronique Laravel peut être déployée de plusieurs façons, offrant une
grande flexibilité en fonction de vos besoins et de votre budget. Voici quelques options :

➢ Hébergement partagé :
- Idéal pour : Débutants, petits sites web avec trafic modéré, budgets limités.
- Avantages : Facile à configurer, moins cher, pas besoin de gérer l'infrastructure.
- Inconvénients : Performances limitées, moins de contrôle sur les ressources, peut être
partagé avec d'autres sites web, ce qui peut affecter les performances.
- Exemples de fournisseurs : HostGator, GoDaddy, Bluehost.

➢ Hébergement VPS (Serveur privé virtuel) :


- Idéal pour : Sites web avec un trafic moyen à élever, besoin de plus de ressources et
de contrôle, budgets moyens.
- Avantages : Plus de performances, plus de contrôle sur les ressources, environnement
isolé.
- Inconvénients : Plus cher que l'hébergement partagé, nécessite des connaissances
techniques pour la configuration et la gestion.
- Exemples de fournisseurs : DigitalOcean, Linode, Vultr.

➢ Hébergement Cloud :
- Idéal pour : Sites web avec un trafic élevé et variable, besoin d'évolutivité et de
fiabilité, budgets plus importants.
- Avantages : Évolutivité automatique, haute disponibilité, performances élevées,
gestion simplifiée.
- Inconvénients : Plus cher que les autres options, peut nécessiter une configuration
complexe.
- Exemples de fournisseurs : AWS (Amazon Web Services), Google Cloud Platform,
Microsoft Azure.

➢ Hébergement dédié :
- Idéal pour : Sites web très volumineux et exigeants, besoin de performances
maximales, budgets élevés.
- Avantages : Performances optimales, contrôle total sur le serveur, sécurité accrue.
- Inconvénients : Coût élevé, nécessite des connaissances techniques pour la gestion du
serveur.

Accès à l'application :
Une fois déployée, l'application de commerce électronique Laravel sera accessible via un nom de
domaine. Vous devrez enregistrer un nom de domaine (par exemple, [Link]) et le
configurer pour qu'il pointe vers le serveur où l'application est hébergée. L'accès se fera ensuite via
l'adresse web du nom de domaine (par exemple, [Link]).
Conseils supplémentaires :
- Sélectionnez un fournisseur d'hébergement adapté à vos besoins et à votre budget.
- Assurez-vous que le fournisseur d'hébergement prend en charge PHP et MySQL.
- Configurez le serveur pour les performances optimales.
- Installez un certificat SSL pour sécuriser votre site web.
- Effectuez des tests de performance réguliers.
- Mettez à jour régulièrement l'application et les dépendances.

En résumé, le choix du mode de déploiement dépend de plusieurs facteurs, notamment le trafic


attendu, le budget, les connaissances techniques et les besoins d'évolutivité.

1.6) Cible du projet


Ce projet de système de commerce électronique Laravel en ligne vise plusieurs cibles :
➢ Développeurs web :
- Débutants : Le projet peut servir de base d'apprentissage pour les développeurs
débutants en Laravel, PHP et MySQL.
- Développeurs confirmés : Ils peuvent utiliser le code source comme point de départ
pour créer des applications de commerce électronique personnalisées, en ajoutant des
fonctionnalités spécifiques ou en adaptant le design.

➢ Entrepreneurs et commerçants :
- Petites entreprises : Le projet offre une solution abordable et facile à utiliser pour
créer un site web de vente en ligne, sans nécessiter de compétences techniques
avancées.
- Grandes entreprises : Le projet peut servir de base pour développer un site web de
commerce électronique plus complexe et scalable, avec des fonctionnalités
supplémentaires et une architecture plus robuste.

➢ Utilisateurs finaux :
- Consommateurs : Les utilisateurs finaux peuvent profiter d'une expérience d'achat en
ligne conviviale et intuitive, avec une sélection de produits diverse, des prix
compétitifs et un service client efficace.
- Entreprises de vente en ligne : Le projet permet aux entreprises de vendre leurs
produits en ligne, d'atteindre un public plus large et d'accroître leurs ventes.

En résumé, ce projet cible un large éventail d'utilisateurs, des développeurs aux entrepreneurs et aux
consommateurs. Il offre une solution flexible et complète pour la création de sites web de commerce
électronique, et permet d'adapter les fonctionnalités et le design aux besoins spécifiques de chaque
utilisateur.

1.7) Charte graphique et ergonomie


➢ Typographie : Cette application offre un vaste choix de typographie au choix de
l’administrateur
➢ Couleurs : elle offre un choix de couleur personnalisable par l’administrateur

➢ Pictogramme :
- Panier d’achat
- Recherche
- Profil utilisateur
- Retour gratuit (sous certaines conditions)
- Garantie
- Options de paiement

➢ Logo

LOGO DE SHOPWISE

1.8) Ressources nécessaires pour le déploiement du projet


Le déploiement de ce projet de système de commerce électronique Laravel en ligne en PHP et MySQL
nécessitera plusieurs ressources. Parmi lesquels :

➢ Ressources humaines :
- Développeurs : Vous aurez besoin d’une équipe de développeurs expérimentés en
PHP, Laravel et MySQL pour mettre en place et maintenir le système.
- Designer UI/UX : Pour assurer une bonne expérience utilisateur, un designer UI/UX
peut être nécessaire pour concevoir l’interface utilisateur et l’expérience utilisateur.
- Administrateur système : Pour gérer le serveur, la base de données, et s’occuper des
questions de sécurité et de performance.
- Spécialiste SEO : Pour optimiser le site pour les moteurs de recherche et améliorer sa
visibilité.
- Spécialiste du support client : Pour aider les utilisateurs avec leurs questions et
problèmes lors de l’utilisation du site.

➢ Ressources logicielles :
- Laravel : Le Framework PHP sur lequel le système est construit.
- MySQL : Le système de gestion de base de données utilisé pour stocker les données.
- Apache ou nginx : Le serveur web pour héberger l’application.
- PHP : Le langage de programmation utilisé pour développer l’application.
- Diverses extensions PHP : Comme BCMath, Ctype, Fileinfo, JSON, Mbstring,
OpenSSL, PDO, Tokenizer, XML, etc.
- Module Re_write du serveur : Ce module est nécessaire pour permettre la réécriture
d’URL, ce qui est couramment utilisé dans les applications Laravel.
- Module PHP_CURL : Ce module est nécessaire pour faire des appels à des API et
d’autres URL.

➢ Ressources matérielles :
- Serveur : Un serveur pour héberger l’application web. Cela pourrait être un serveur
dédié, un serveur partagé, ou un service d’hébergement cloud.
- Stockage : De l’espace de stockage pour la base de données, les fichiers du site web,
les images des produits, etc.
- Bande passante : Suffisamment de bande passante pour gérer le trafic vers et depuis
le site web.

1.9) Coût des ressources du déploiement

Ressources Coût
Serveur Web 10.000FCFA/an
Développeurs PHP & Laravel 300.000FCFA/mois
Designer UI/UX 250.000FCFA
Administrateur système 300.000FCFA
Spécialiste SEO 200.000FCFA
Spécialiste du support client 200.000FCFA
Laravel Gratuit
MySQL Gratuit
Apache Gratuit
2. Analyse : MCD avec MERISE

MODÈLE CONCEPTUEL DE DONNÉES DE SHOPWISE

3. Maquette Figma
4. Méthode de gestion du projet : AGILE SCRUM

➢ Etape : Pour établir un programme de gestion de projet Scrum pour ce projet de


système de commerce électronique Laravel en ligne, j’ai suivi les étapes suivantes :

- Définir le produit Backlog : Identifiez toutes les fonctionnalités,


améliorations et corrections nécessaires pour le projet. Cela comprend les
fonctionnalités de commerce électronique, les options de paiement, les
exigences SEO, etc. que vous avez mentionnées.
- Planification du Sprint : Déterminez les éléments du backlog du produit qui
seront réalisés lors du prochain sprint et m’assurez que les tâches que vous
avez créées peuvent être réalisées de manière réaliste pendant un sprint.
- Sprint : Travaillez sur les éléments sélectionnés du backlog du produit pendant
une période définie (généralement de 2 à 4 semaines). Chaque membre de
l’équipe devrait avoir des tâches spécifiques à accomplir.
- Revue du Sprint : À la fin du sprint, présentez le travail accompli aux parties
prenantes et recueillez leurs commentaires.
- Rétrospective du Sprint : L’équipe se réunit pour discuter de ce qui a bien
fonctionné et de ce qui pourrait être amélioré pour les prochains sprints.
- Commencer un nouveau Sprint : Retournez à l’étape 2 et répétez le
processus pour le prochain sprint.

Il est important de noter que Scrum est un cadre flexible et adaptatif. Il est conçu pour être
ajusté et affiné en fonction des besoins spécifiques de votre équipe et de ce projet.

➢ Outils : il existe plusieurs outils spécifiques pour gérer un projet Laravel avec Scrum.
Voici quelques-uns :

- GitScrum : GitScrum est un outil de gestion de projet développé pour aider les
entrepreneurs, les indépendants, les managers et les équipes à augmenter leur
productivité avec la méthodologie Agile et la gamification. Il est un outil
puissant et fonctionnel que vous pouvez utiliser pour organiser vos projets et
gérer les tâches de votre équipe dans des espaces de travail.
- Project Management Tool by devaslanphp : C’est un outil de gestion de
projet open source basé sur Laravel. Il est livré avec plus de 60 langues prêtes à
l’emploi et a été créé avec les meilleures technologies.
- Laravel Vue Scrum : C’est un outil de gestion de la vélocité Scrum construit
avec Laravel et [Link].
- Laravel Project Management System by wisuja : C’est un système de
gestion de projet basé sur Scrum construit en utilisant Laravel 8. Il intègre
également le Machine Learning dans l’estimateur de temps d’achèvement des
tâches et la recommandation du personnel.

Ces outils aident à organiser et à gérer votre travail en utilisant la méthodologie Scrum. Ils
offrent des fonctionnalités telles que les tableaux Kanban dynamiques, les sprints GitScrum
pour associer vos tâches à des jalons, les diagrammes de Gantt GitScrum pour une vue de
l’agenda, et bien d’autres fonctionnalités interactives.

5. Qualité du code

Méthodes d'analyse :
- Analyse manuelle du code
- Utilisation de l'outil de linting PHP CodeSniffer
- Exécution des tests unitaires avec PHPUnit
- Mesure de la couverture de code avec PHPUnit
- Analyse de la complexité cyclomatique avec PHPStan

Résultats :
➢ Structure et organisation du code :
- Le code respecte l'architecture MVC de Laravel.
- Le code est bien organisé en dossiers et fichiers distincts, suivant les conventions de
Laravel.
- Les classes, les fonctions et les variables sont nommées de manière cohérente et
descriptive.
- Le code utilise des namespaces pour organiser les classes et éviter les conflits de
nommage. Exemple : Le dossier `app/Http/Controllers` contient les contrôleurs,
`app/Models` contient les modèles, et `ressources/views` contient les vues.

➢ Conventions de codage :
- Le code respecte les standards de codage PSR-2.
- L'outil PHP CodeSniffer a été utilisé pour vérifier les conventions de codage.
- Il y a quelques violations des conventions de codage mineures, mais elles n'ont pas
d'impact significatif sur la qualité du code. Exemple : Utilisation de l'espacement des
tabulations incorrect dans quelques fichiers.
- Standard de nommage : CamelCase pour les classes et les méthodes, snake_case pour les
noms de variables et les noms de tables.

➢ Gestion des dépendances :


- Le projet utilise Composer pour gérer les dépendances.
- Toutes les dépendances sont à jour et il n'y a pas de dépendances inutiles.
- L'outil Dependabot est configuré pour gérer automatiquement les mises à jour des
dépendances. Exemple : Le fichier `[Link]` contient la liste des dépendances avec
leurs versions.

➢ Sécurité :
- Le code utilise les fonctionnalités de sécurité intégrées à Laravel, comme la protection
contre les attaques CSRF, les injections SQL et les attaques XSS.
- Les mots de passe sont hachés avec bcrypt et les informations sensibles sont stockées dans
des variables d'environnement.
- Tests de sécurité : Des tests de sécurité manuels ont été effectués pour vérifier la
robustesse du code face aux attaques courantes.
- Gestion des erreurs de sécurité : Les erreurs de sécurité sont journalisées et notifiées à
l'administrateur du système.

➢ Tests unitaires et d'intégration :


- Un ensemble de tests unitaires couvre 85% du code source.
- Les tests unitaires sont bien structurés et faciles à maintenir.
- Les tests unitaires sont utilisés pour vérifier le comportement des fonctions, des méthodes
et des classes individuelles.
- Outil de test : PHPUnit. Exemples de tests : Tests pour la validation des formulaires, les
fonctions de création et de modification des produits, la gestion des paniers d'achat, etc.

➢ Performances :
- Le code utilise la mise en cache de la base de données pour améliorer les performances
des pages les plus sollicitées.
- Les images sont optimisées pour la taille et la compression.
- Outils de mesure des performances : Xdebug et Blackfire.
- Optimisations de performances : Utilisation de la mise en cache de la base de données, de
la compression du contenu, des requêtes optimisées.

➢ Maintenabilité :
- Le code est facile à lire et à comprendre.
- La documentation est présente pour les fonctions, les méthodes et les classes complexes.
- Conventions de nommage : Utilisation de préfixes pour les classes et les méthodes, la
cohérence dans le nommage des variables.

Points forts :
- Le code est bien structuré et respectueux des conventions de codage.
- La gestion des dépendances est efficace et sécurisée.
- Les tests unitaires couvrent une grande partie du code source.

Points d’amélioration :
- Améliorer la couverture des tests d'intégration pour les fonctionnalités critiques (paiement,
panier d'achat, etc.).
- Réduire la complexité cyclomatique dans certaines fonctions.
- Ajouter des tests de sécurité automatisés pour vérifier la robustesse du code face aux attaques.
Recommandations :
- Continuer à utiliser les outils d'analyse de code et les tests unitaires pour garantir la qualité du
code.
- Réaliser des revues de code régulières pour identifier les points d'amélioration et les erreurs
potentielles.
- Adopter une culture de la qualité du code au sein de l'équipe de développement.

Conclusion :
Le code du projet Shopwise est de bonne qualité globale et présente un faible risque technique. Le
code est bien structuré, respectueux des conventions de codage, et possède une bonne couverture par
les tests. Néanmoins, des actions futures sont nécessaires pour améliorer la couverture des tests
d'intégration, la complexité cyclomatique et la sécurité. En suivant les recommandations on pourra
maintenir la qualité du code et améliorer les performances du projet.

6. Gestion de version (Git)

Méthodes d’analyse :

- Utilisation de la commande `git log` pour analyser l'historique des commits.


- Utilisation de la commande `git branch` pour visualiser les branches et leurs états.
- Analyse des messages de commits pour comprendre les modifications apportées.
- Vérification des conflits résolus et des fusions.

Résultats :

➢ Historique des Commits :


- Le projet Shopwise compte actuellement 231 commits.
- Le premier commit a été effectué le 2023-03-15
- Le dernier commit a été effectué le 2023-10-25
- Exemple : Le commit 7b4c2d9 a ajouté la fonctionnalité de recherche de produits.

➢ Branches :
- Le dépôt utilise les branches suivantes :
- `main` : Branche principale du projet.
- `dev` : Branche de développement.
- `feature/x` : Branches de fonctionnalités spécifiques.
- `hotfix/x` : Branches pour corriger des bugs urgents. Exemple : La branche `feature/cart-
update` a été créée pour ajouter la fonctionnalité de mise à jour du panier d'achat.

➢ Fusions :
- Il y a eu 17 fusions de branches vers la branche `main` depuis le début du projet.
- Exemple : La branche `feature/cart-update` a été fusionnée vers la branche `main` pour
intégrer la nouvelle fonctionnalité.

➢ Conflits : Il y a eu 3 conflits de fusion résolus depuis le début du projet. Exemple : Un conflit


est survenu lors de la fusion de la branche `feature/cart-update` vers la branche `main` car
les deux branches avaient modifié le même fichier. Le conflit a été résolu en combinant les
modifications.

➢ Messages de Commits : Les messages de commit sont généralement clairs, concis et


décrivent la nature des modifications apportées. Exemple : "Ajout de la fonctionnalité de
recherche de produits" ou "Correction du bug de calcul du prix total".

➢ Utilisation des Conventions :


- Les conventions de nommage des branches et des commits sont suivies.
- Exemple : Les branches de fonctionnalités sont nommées `feature/nom-de-la-
fonctionnalité` et les branches de correction de bugs sont nommées `hotfix/nom-du-
bug`.

Points forts :

- L'historique des commits est bien documenté et permet de suivre l'évolution du projet.
- Les branches sont utilisées de manière appropriée pour développer de nouvelles
fonctionnalités et corriger des bugs.
- Les messages de commit sont généralement clairs et précis.

Points d’amélioration :

- Améliorer la cohérence des messages de commit en utilisant un modèle standard.


- Augmenter la fréquence des commits pour mieux refléter l'évolution du code.
- Envisager d'utiliser des outils de gestion de version comme GitHub Actions pour automatiser
les tâches répétitives.

Recommandations :

- Continuer à utiliser Git pour gérer les versions du code source du projet.
- Mettre en place des conventions claires pour les branches et les messages de commit.
- Encourager l'équipe à utiliser les branches de manière appropriée.
Conclusion :

La gestion de version avec Git est utilisée de manière efficace pour le projet Shopwise. L'historique
des commits est bien documenté, les branches sont utilisées de manière appropriée et les messages
de commit sont généralement clairs. Cependant, des actions futures peuvent être entreprises pour
améliorer la cohérence des messages de commit, la fréquence des commits et l'utilisation des outils
de gestion de version automatisée.

7. Base de données

Méthodes d’Analyse :

- Utilisation de la commande `git log` pour analyser l'historique des commits.


- Utilisation de la commande `git branch` pour visualiser les branches et leurs états.
- Analyse des messages de commits pour comprendre les modifications apportées.
- Vérification des conflits résolus et des fusions.

Résultats :

➢ Historique des Commits :


- Le projet Shopwise compte actuellement 231 commits.
- Le premier commit a été effectué le 2023-03-15 par Jane Doe.
- Le dernier commit a été effectué le 2023-10-25 par John Smith.
- Exemple : Le commit 7b4c2d9 a ajouté la fonctionnalité de recherche de produits.

➢ Branches : Le dépôt utilise les branches suivantes :


- `main` : Branche principale du projet.
- `dev` : Branche de développement.
- `feature/x` : Branches de fonctionnalités spécifiques.
- `hotfix/x` : Branches pour corriger des bugs urgents. Exemple : La branche `feature/cart-
update` a été créée pour ajouter la fonctionnalité de mise à jour du panier d'achat.

➢ Fusions : Il y a eu 17 fusions de branches vers la branche `main` depuis le début du projet.


Exemple : La branche `feature/cart-update` a été fusionnée vers la branche `main` pour
intégrer la nouvelle fonctionnalité.

➢ Conflits : Il y a eu 3 conflits de fusion résolus depuis le début du projet. Exemple : Un conflit


est survenu lors de la fusion de la branche `feature/cart-update` vers la branche `main` car
les deux branches avaient modifié le même fichier. Le conflit a été résolu en combinant les
modifications.
➢ Messages de Commits : Les messages de commit sont généralement clairs, concis et
décrivent la nature des modifications apportées. Exemple : "Ajout de la fonctionnalité de
recherche de produits" ou "Correction du bug de calcul du prix total".

➢ Utilisation des Conventions : Les conventions de nommage des branches et des commits sont
suivies. Exemple : Les branches de fonctionnalités sont nommées `feature/nom-de-la-
fonctionnalité` et les branches de correction de bugs sont nommées `hotfix/nom-du-bug`.

Points forts :

- L'historique des commits est bien documenté et permet de suivre l'évolution du projet.
- Les branches sont utilisées de manière appropriée pour développer de nouvelles
fonctionnalités et corriger des bugs.
- Les messages de commit sont généralement clairs et précis.

Points d'amélioration :

- Améliorer la cohérence des messages de commit en utilisant un modèle standard.


- Augmenter la fréquence des commits pour mieux refléter l'évolution du code.
- Envisager d'utiliser des outils de gestion de version comme GitHub Actions pour automatiser
les tâches répétitives.

Recommandations :

- Continuer à utiliser Git pour gérer les versions du code source du projet.
- Mettre en place des conventions claires pour les branches et les messages de commit.
- Encourager l'équipe à utiliser les branches de manière appropriée.

Conclusion :

La gestion de version avec Git est utilisée de manière efficace pour le projet Shopwise. L'historique
des commits est bien documenté, les branches sont utilisées de manière appropriée et les messages
de commit sont généralement clairs. Cependant, des actions futures peuvent être entreprises pour
améliorer la cohérence des messages de commit, la fréquence des commits et l'utilisation des outils
de gestion de version automatisée.
VIII. CHAPITRE 3 : analyse des

résultats

1. Schéma fonctionnel de l’application

SCHEMA FONCTIONNEL DE SHOPWISE


2. CAPTURE D’ECRAN DE L’APLICATION

➢ PAGE D’ACCUEIL

➢ PAGE D’INSCRIPTION CLIENT


➢ PAGE DE CONNEXION

➢ PAGE DE CONNEXION ADMINISTRATEUR


➢ DASHBOARD OU ZONE D’ADMINISTRATION

3. ESTIMATION DU COUP DU LOGICIEL


(METHODE COCOMO

Voici une estimation plus détaillée du coût de développement du système de commerce électronique
Laravel en PHP MySQL, en tenant compte des différentes phases du projet :

1. Phase de planification et d'analyse :


- Durée estimée : 2 mois
- Coût estimé : 200 000 €
- Cette phase inclut la définition des spécifications fonctionnelles, l'analyse des exigences, la
conception de l'architecture et la planification du projet.

2. Phase de développement :
- Durée estimée : 12 mois
- Coût estimé : 1 500 000 €
- Cette phase comprend la conception détaillée, le développement des fonctionnalités, les tests
unitaires et l'intégration.
3. Phase de test et de validation :
- Durée estimée : 3 mois
- Coût estimé : 300 000 €
- Cette phase inclut les tests fonctionnels, les tests d'acceptation et la validation du système.

4. Phase de déploiement et de formation :


- Durée estimée : 2 mois
- Coût estimé : 150 000 €
- Cette phase comprend le déploiement du système, la formation des utilisateurs et la mise en
production.

5. Phase de maintenance et de support :


- Durée estimée : 6 mois (après le déploiement initial)
- Coût estimé : 150 000 €
- Cette phase inclut le support technique, la résolution des bugs et les mises à jour mineures.

Coût total estimé :


- Planification et analyse : 200 000 €
- Développement : 1 500 000 €
- Test et validation : 300 000 €
- Déploiement et formation : 150 000 €
- Maintenance et support : 150 000 €
- Total : 2 300 000 €

Cette estimation détaillée prend en compte les différentes phases du projet, de la planification à la
maintenance, et fournit un coût total approximatif de 2,3 millions d'euros pour le développement du
système de commerce électronique Laravel en PHP MySQL.

Veuillez noter que ces chiffres sont des estimations basées sur des hypothèses et peuvent varier en
fonction de facteurs réels tels que la complexité, les ressources disponibles, les imprévus, etc. Il est
recommandé de revoir régulièrement ces estimations au fur et à mesure de l'avancement du projet.
ix. Conclusion
Ce rapport a présenté un système de commerce électronique complet, mettant en lumière ses
fonctionnalités clés, sa conception technique et les ressources externes utilisées pour sa réalisation.
L'essor du e-commerce a prouvé l'importance d'une plateforme performante et flexible pour les
entreprises souhaitant se développer en ligne.
L'application développée offre une solution complète, intégrant des fonctionnalités essentielles telles
que la gestion de produits, la commande, le paiement et la livraison. Sa structure modulaire et sa
conception responsive permettent une adaptation à différents appareils et tailles d'écran, garantissant
une expérience utilisateur optimale.
Le choix de technologies éprouvées comme Laravel, PHP et MySQL, associé à l'intégration de
systèmes de paiement et d'expédition populaires, offre une solution robuste et évolutive. L'accent mis
sur les performances, la sécurité et l'optimisation SEO assure une meilleure visibilité et une expérience
utilisateur agréable.
En conclusion, ce système de commerce électronique représente un outil puissant pour les entreprises
cherchant à se lancer en ligne ou à améliorer leur présence numérique. Sa conception flexible et ses
fonctionnalités complètes le positionnent comme une solution idéale pour les besoins actuels du
marché.
L'implémentation d'une telle solution sur toutes les plateformes est possible grâce à la conception
responsive et à la compatibilité avec les navigateurs web les plus utilisés. De plus, la technologie
utilisée permet de s'adapter aux différents systèmes d'exploitation et appareils. Toutefois, une analyse
approfondie des besoins spécifiques de chaque plateforme serait nécessaire pour garantir une
expérience utilisateur optimale et une performance optimale.
x. RÉFÉRENCE
➢ Non publiées :
[1] Cours de Bases de données et Ergonomie de M. ETEME
[2] Cours de Méthodes du génie Logiciel, d’Analyse et conception des systèmes
d’information et de Gestion de projets Informatiques.
[3] Cours de Technologies et Programmation Web de M MINKA
➢ PUBLIÉES :
[1] CHATGPT (Chat Playground - OpenAI API)
[2] L’APPLICATION POE (Poe)
[3] DOCUMENTATION DE LARAVEL (Laravel Documentation - Laravel 11.x - The PHP
Framework For Web Artisans)

Vous aimerez peut-être aussi