Vous êtes sur la page 1sur 53

RAPPORT DE

STAGE DE FIN
Rédigé par Mohamed Taha JOUDARY
Encadré par Monsieur Khalid EZZOUINE
Effectué du 11 Mai au 12 Juin 2015

Remerciements et dédicaces
Je voudrais avant tout remercier la société Distral Maroc pour m’avoir donné l’opportunité de
passer ce stage. Je voudrais aussi remercier tous mes encadrants ainsi que le reste du
personnel, pour m’avoir accordé leur temps et pour les conseils qu’ils ont pu me prodiguer au
cours du mois.
Je voudrais dédier ce rapport à mon père et ma mère, qui m'ont comblé de leur soutien et
m'ont voué un amour inconditionnel. Vous êtes pour moi un exemple de courage et de sacrifice
continu.

2|
Sommaire
Remerciements et dédicaces.......................................................................................................................2
Introduction.................................................................................................................................................4
Présentation de Distral Maroc SA................................................................................................................5
Historique................................................................................................................................................7
Fiche technique.......................................................................................................................................7
Organigramme de l’agence......................................................................................................................9
Tour de la société......................................................................................................................................10
Service comptoir....................................................................................................................................11
Administration de ventes......................................................................................................................11
Gestion de stock....................................................................................................................................12
Service de livraison................................................................................................................................12
Gestion caisse........................................................................................................................................13
Comptabilité..........................................................................................................................................13
Service informatique.............................................................................................................................14
Réalisation de projets................................................................................................................................15
Projet n°1 : Site de partage de fichiers..................................................................................................15
Projet n°2 : Application de gestion de facturation.................................................................................44
Problèmes rencontrés...........................................................................................................................51
Conclusion.................................................................................................................................................52

3|
Introduction
Afin d'assurer une formation complète des futurs Techniciens en Développement des Systèmes
Informatiques, le BTS exige un stage obligatoire de fin de formation pour ses stagiaires au sien
d'une entreprise.

Ce stage permet d'acquérir une formation pratique complétant la connaissance théorique


autrement dit, il est le trait d'union entre la phase théorique et la phase pratique son but est de
comparer les méthodes et les techniques enseignées avec la pratique en vigueur de faciliter
notre intégration à la vie active et de nous préparer à exercicer des responsabilités
professionnelles.

Vu son importance, le stage demeure une étape par laquelle nous devons impérativement
passer pour avoir une vision claire et nette sur la pratique.

4|
Présentation de Distral Maroc SA
D i s t r a l M a r o c , entité spécialisée dans la distribution et la commercialisation des peintures
d’A k z o N o b e l C o a ti n g s (Astral, Sikkens, et Sadvel), Elle est le fruit d’un partenariat de 60
années entre A k z o N o b e l C o a ti n g s S .A et G re n s o n & Pe rf e tti n i S . A , dans le but de
rendre ses produits plus accessibles dans tout le territoire Marocain. Distral s’organise autour
d’une vision partagée par l’ensemble des collaborateurs sur une ambition commune avec la
volonté d’atteindre l’excellence.

Ayant comme ambition, de vouloir être l’entité la plus performante en termes de maîtrise
technique de création de valeur ; la plus appréciée des clients par la qualité de ses produits et
de ses services ; la plus attrayante et valorisante pour ses collaborateurs en favorisant la prise
de responsabilité, l’initiative, le travail en équipe, la culture de la performance et le
développement des compétences ; la plus engagée pour assurer la sécurité des personnes et le
respect de l’environnement. Et à travers cela, contribuer au développement économique et au
progrès social au Maroc.

En reconnaissance au savoir-faire acquis par D is t ra l M a ro c et l’évolution de son chiffre


d’affaires, A k z o N o b e l C o a ti n g s , lui confie progressivement la distribution de ses produits sur
les autres régions du Maroc. En mars 2010, D is t ra l M a ro c détient l’exclusivité de la
distribution des peintures Astral. Aujourd’hui, avec ses huit agences commerciales, elle est l’un
des premiers réseaux de distribution au Maroc et se place parmi les 300 plus grandes
entreprises en termes de chiffre d’affaires.

Par ailleurs, et dans le cadre de sa stratégie de développement, D ist ra l M a ro c , a signé des


conventions commerciales avec d’autres multinationales en vue de distribuer leurs produits :

 AkzoNobel Coatings : Astral – Sikkens – Dynacoat


 Saint-Gobain : Norton – Debray-Flexovit
 L’Outil Parfait : Outillage pour peinture bâtiment
 Graco : Outillage pour peinture carrosserie

D i s t r a l M a r o c dispose d’une capacité de stockage de 3000 tonnes, et d’une force de vente de


9 représentants, grâce à une organisation logistique lui permettant d’atteindre les localités les
5|
plus éloignées avec une flotte de 10 camions d’une capacité de livraison de 30000 tonnes par
an.

Elle dispose aussi d’un réseau de centres de formation qui perfectionne 300 peintres par an,
permettant à ces derniers de parfaire leur expérience professionnelle. Avec une gestion
informatique intégrée des huit agences permettant le traitement en temps réel des
commandes et une bonne maîtrise des flux.

Dans une optique d’améliorer, en continu, la qualité de ses prestations, D is t ra l M a ro c s’est


équipée d’un outil informatique performant lui assurant une gestion intégrée de son activité.
Ce nouveau progiciel (ERP), permet de verrouiller et de fluidifier tous les processus de gestions
commerciales et financières. Grâce à une structure architecturale centralisée, qui permet de
suivre en temps réel l’évolution du chiffre d’affaires et des indicateurs de performance au
niveau de toutes les agences.

Consciente de sa nouvelle dimension, et dans le but de répondre au besoin de ses 5,000 clients,
composés de particuliers, prescripteurs, promoteurs, entreprises, clients revendeurs, grandes
surfaces de bâtiment, grandes institutions, et autres, Distral Maroc bénéficie d’une organisation
commerciale très développée mettant tous les moyens nécessaires pour une bonne maîtrise de
son réseau de distribution.

En outre, à travers ses centres de formation de peintres, elle contribue au développement du


métier, à l’incitation et à l’encadrement de jeunes lauréats dans la création de leurs propres
entreprises.

D i s t r a l M a r o c , signataire de la charte de la responsabilité sociale et citoyenne de l’entreprise,


établie par la F é d é r a ti o n N a ti o n a l e d u B â ti m e n t et d e s T ra v a u x Pu b lic s (FNBTP),
contribue activement aux actions portées sur le développement durable. Dans ce cadre, un
budget annuel est alloué au financement de certaines initiatives conduites par des associations
caritatives. De ce fait, toutes les conventions de partenariat se font à partir de cette base afin
de distribuer des solutions novatrices issues de ressources durables évitant ainsi les effets
néfastes sur la santé de leurs utilisateurs.

6|
Partant de son dynamisme, son expérience et son savoir-faire, D ist ra l M a ro c , ne cesse de
fournir les efforts nécessaires pour se rapprocher davantage de ses clients et maintenir sa
position de leader.

Historique
 1997 : création de D i s t r a l M a ro c S A à Benimellal destinée à la zone de Benimellal
et régions : Azilal, Khouribga, khnifra, et Er-Rachidia, dispose d’un plateau bureaux
d’une superficie de 340 m² un plateau de stockage de 1000 m², et d’une force de
vente de trois vendeurs
 1999 : création de deux nouvelles agences :
- A Rabat : Transfère du siège à Rabat. Destinée à la zone de Rabat et régions :
Salé, Temara, Bouznika, Kenitra, Ben-Slimane, Khémisset, et Sidi-Kacem, avec
un plateau bureaux d’une de 500 m², un plateau de stockage de 1400 m²,
une capacité de stockage de 600 tonnes et une force de vente composée de
12 vendeurs.
- A Fès : destinée à la zone de Fès et les wilayas de Fès et de Meknès et les
provinces de Taza, Ifrane, Boulemane et Taounate avec un plateau de
bureaux d’une superficie de 300 m², un plateau de stockage de 1000 m², une
capacité de stockage de 1000 tonnes et une force de vente composée de 5
commerciaux.
 2000 : création du département qualité.
 2001 : aménagement d’un magasin stock à l’agence de rabat.
 2002 : création du département ressources humaines.
 2006 : création de deux nouvelles agences : Tanger et Nador.
 2007 : mise en place d’un système de gestion intégré, et augmentation du capital
social de 60.000.000 à 12.000.000 Dhs.

Fiche technique
Raison sociale Distral Maroc
Statut juridique Société Anonyme
Siège social Lotissement Industriel Vita n°2. Km 5,500 Avenue Hassan II
7|
- Ets GRENSON & PERFITINI SA.
Actionnariat - AKZO NOBEL COATINGS SA
- Autres
Registre de commerce N°50221
Identification Fiscale N°06140394
Patente 25500055
C.N.S.S N°2928903
Nombre d’employés 163

8|
Organigramme de l’agence

9|
Tour de la société
Dans mes deux premières semaines, il m’a été proposé de faire un tour de la société afin de
connaître les tâches qu’effectue chacun des services et savoir le cycle que faisait le client depuis
l’accueil à la livraison de sa marchandise.

Ceci m’aidera en premier lieu dans la conception de mon projet au sein de la société elle-même
et après dans ma vie professionnelle.

Mon planning était le suivant :

DATE ENCADRANT SERVICE


Du 11 au 13 Mai Saïd BENNOURI Comptoir
Du 14 au 16 Mai Youssef LAMINE Administration des ventes
Le 18-19 Mai Khalid MENNIR Gestion de stock
Le 20-21 Mai Mustapha ERRAMI Service livraison
Le 22 Mai Mohamed OUARAB Gestion caisse
Le 23 Mai Karim BENJELLOUN Comptabilité
Du 25 Mai au 12 Juin Khalid EZZOUINE Service informatique

10 |
Service comptoir
Dans ce service, j’étais encadré par Monsieur S a ïd BE N N O U RI . Il est chargé de saisir les
commandes des clients ou ceux des représentants de la société.

Il utilise l’application C E G ID pour la gestion des commandes, factures etc.

Il imprime une facture qui est donc prise vers la caisse pour qu’elle soit payée. Après que la
facture soit payée, un bon de commande est envoyé au gestionnaire de stock afin de choisir les
produit qui vont être livrés, et au cas où est demandé des peintures qui doivent être mélangée,
il effectue cette tâche dans les étapes suivantes :

- Insérer le pot de peinture dans la machine de dosage : Cette machine est reliée à un
ordinateur et contient des cartouches de couleurs différentes, similaire à une
imprimante.
- Choisir la référence de la couleur désirée : La facture contient la référence de la couleur
désirée. Mr Saïd s’occupe d’insérer cette référence dans une application dédiée ainsi
que la taille du pot. La machine donc commence à verser des couleurs à tour de rôle afin
de réaliser la couleur désirée.
- Insérer dans la machine de mélange : Après l’étape de dosage, le pot est inséré dans une
machine qui permet de mélanger le pot pour s’assurer de la consistance de la peinture

Dans ce service, j’ai été chargé de saisir quelques commandes ainsi qu’effectuer le dosage une
commande d’un certain client.

Administration de ventes
Dans ce service, j’ai été encadré par Monsieur Y o u ss e f L A M I N E . Il est le chef de vente au sein
de l’agence.

C’est le président de l’équipe, sa mission consiste en l’animation de l’équipe commerciale, la


veille à l’atteinte des objectifs de vente/achat et en la promotion des ventes pour un secteur
géographique.

Les tâches qu’accomplit ce dernier sont :

11 |
1. Valider les bons de commandes, les avoirs, les duplicata des factures et les réclamations
(produits défectueux, sur la livraison …)
2. Créer et entretenir les contacts commerciaux périodiques avec les clients et les
prescripteurs
3. Effectuer l’analyse des besoins des clients et prospects
4. Suivre l’exécution des commandes, leur facturation et les délais de la livraison
5. Analyser le degré de satisfaction de la clientèle

Gestion de stock
Dans ce service, j’ai été encadré par Monsieur K h a lid M E N N I R . Il est le gestionnaire de stock.
Il s’occupe de gérer les entrées et les sorties du stock.

Il reçoit les bons de commandes du comptoir et il le livre à l’un de ces assistants, ceux-ci font le
tour du stock afin de choisir les produits contenus dans le bon. Ensuite, Mr Khalid imprime un
bon de livraison qui contient les produits choisis et les produits manquants s’il y en a. Enfin,
l’assistant envoie la commande, son bon de commande et son bon de livraison à travers un
ascenseur pour qu’elle soit livrée au client.

Il est aussi chargé de commander les produits auprès du fournisseur A KZ O N O B E L . Il se base


dans cette tâche sur le taux de rotation des produits dans le stock en utilisant l’application
dédiée.

La tâche que j’ai effectuée dans ce service est d’aider les assistants à trouver les produits dans
le stock.

Service de livraison
Dans ce service, j’ai été encadré par Monsieur M u s t a p h a E RRA M I . Il est le livreur, c’est-à-
dire qu’il s’occupe de livrer les commandes qui viennent du stock à leurs clients respectifs.

A l’arrivée d’une commande, il se charge de vérifier la présence de tous les produits d’après le
bon de commande et le bon de livraison. L’un de ses assistants s’occupent après soit, livrer les
produits à l’accueil au cas d’un client passager, ou de charger celle-ci dans un camion.

12 |
Mr Mustapha est aussi charger de contrôler les produits venants du fournisseur, il s’assure qu’il
n’y a ni produits supplémentaires ni produits manquants et les envoie vers le stock à travers
l’ascenseur.

Mon rôle dans ce service consistait d’observer la démarche que suivait chaque personne.

Gestion caisse
Dans ce service, j’ai été encadré par Monsieur M o h a m e d O UA RA B . Il est caissier dans la
société. Il s’occupe de recevoir les payements des factures des clients.

Pour les représentants, il encaisse les chèques et les payements en liquide et s’assure que les
montants sont exacts. Ensuite, il s’occupe d’insérer les payements sur l’application.

A la fin de chaque journée, il effectue un compte rendu du jour de sa caisse qui sera livrée après
au service comptable.

Mon rôle consistait d’observer la méthode qu’il utilisait pour effectuer son travail ainsi que
résoudre ses problèmes.

Comptabilité
Dans ce service, j’ai été encadré par Monsieur K a rim BE N J E L L O U N . Il est le responsable du
service comptable et assume plusieurs responsabilités dont :

 Assurer la supervision des fonctions placées sous son autorité


 Développer les procédures comptables
 Tenir les livres comptables obligatoires
 Etablir le bilan, le compte des produits et des charges, les états de soldes et de
gestion, l’état des informations complémentaires et le tableau de financement
 Elaborer l’analyse financière
 Etablir les déclarations fiscales et sociales
 Superviser toute opération de rapprochement
 Approuver toutes les opérations de régularisation et réclamation des pièces
 Mettre à jour le plan comptable et approuver toute ouverture de nouveaux comptes

13 |
 Préparer les budgets de la fonction comptable et son suivi

Je me suis contenté dans ce service d’observer la méthode qu’il utilisait pour effectuer ses
tâches.

Service informatique
Après avoir passé mes deux premières semaines à comprendre le fonctionnement de la société,
j’ai dû passer au service informatique.

Encadré par Monsieur K h a l i d E Z Z O U I N E , j’ai pu voir comment opérait ce service ainsi que les
tâches qu’il effectuait.

Ce service effectuait les tâches suivantes :

- Maintenance du système informatique central


- Maintenance du matériel informatique de la société
- Créer des applications pour effectuer des tâches répétitives ou pour remédier à des
problèmes

14 |
Réalisation de projets
Afin que l’expérience de stage soit complète, il est obligatoire de réaliser un projet au sein de la
société qui sera ensuite implémenté et utilisé par ses employés.

J’ai eu la chance de pouvoir réaliser deux projets dans ma période de stage.

Projet n°1 : Site de partage de fichiers


Problématique
Au sein de la société, le partage de fichiers et documents n’est pas aussi facile que possible.
Afin d’envoyer un fichier d’un employé à un autre, on utilise un service email. Le problème dans
cette solution est la limite proposée de 25Mo en plus du temps que ça prend vu que le serveur
est distant.

Un autre inconvénient dans cette solution est qu’un fichier peut être envoyé à un groupe
d’employé en une seule fois, donc au cas où on voudrait envoyer ce même fichier une
deuxième fois, il faudrait le charger une seconde fois.

Solution
La solution proposée pour résoudre ces problèmes est de créer un site web qui permettra de
partager les fichiers au sein de la société.

Ce site web sera implémenté, non seulement dans l’agence de Rabat, mais dans toutes les
agences de D i s t r a l M a r o c .

Technologies utilisées
La création de ce site fera appel à l’usage de plusieurs langages de programmation ainsi que des
outils. Les langages utilisés sont :

- Merise : méthode de conception de bases de données


- HTML (HyperText Markup Language) : permettra de créer des pages web statiques
- PHP (Hypertext PreProcessor) : sera utilisé pour la programmation coté serveur
- CSS (Cascadic Style Sheets) : permettra de changer l’apparence du site

15 |
- Javascript: permettra d’animer la page et la dynamiser
- MySQL (My Structured Query Language) : langage de programmation et
questionnement de la base de données

Les outils qui seront utilisés pour la réalisation de ce projet sont les suivants :

- Notepad++ : éditeur de texte, utilisé vu sa gratuité, facilité d’utilisation et ses


fonctionnalités.
- AnalyseSI : application utilisée pour concevoir la base de données
- EasyPHP : ce logiciel comporte PHP, MySQL et Apache, outils nécessaire pour
l’hébergement local du serveur
- Google Chrome : navigateur utilisé pour la visualisation du projet ainsi que le débogage
- Metro Studio : application pour créer des icônes

Les librairies utilisées sont les suivantes :

- JQuery : librairie de programmation basée sur Javascript


- CuteFileBrowser* : librairie open-source permettant la navigation de fichiers et
dossiers de base
- Bootstrap* : apporte plusieurs fonctionnalités et objets comme la barre de
navigation, boutons, formulaires…
(*) Librairie modifiée fortement avant l’utilisation

Conception
La conception, étant l’étape la plus cruciale dans le cycle du développement d’une application,
a été faite pour être le plus simple possible tout en restant efficace.

Le schéma MCD final de la base de données est le suivant :

16 |
Notre base de données consistera de cinq tables :

- User (Utilisateur) : elle contiendra les informations sur les utilisateurs (nom, prénom,
pseudo, mot de passe…)
- Connections (Connexions) : à chaque connexion d’un utilisateur, un enregistrement est
créé contenant la date de cette connexion et la date de sa fin
- Actions : à l’effectuation de n’importe quelle action par un utilisateur, elle sera
enregistrée avec sa date
- Agency (Agence) : contient les agences de la société avec un identifiant unique à
chacune
- Creation (Création) : contient les dossiers et fichiers créés par les utilisateurs avec les
mots de passe des fichiers si protégés

17 |
Tour du site
Page d’identification
La première page que fréquente un utilisateur lors de l’ouverture du site est la page
d’identification. Elle permet de s’assurer que l’utilisateur est véritablement un employé de la
société ainsi que séparer les administrateurs des utilisateurs ordinaires.

Elle est conçue pour être le plus simple possible afin de faciliter l’identification de l’utilisateur.

A l’instant où l’utilisateur insère son login et mot de passe et appuie sur le bouton
« Connecter », le site se charge en toute sécurité de chercher la table « user » dans la base de
donnée pour valider si l’utilisateur existe vraiment et si son mot de passe et correct.

Au cas d’erreur, un message d’alerte est affiché pour que l’utilisateur vérifie ses informations et
réessaye.

18 |
Si les informations insérées par l’utilisateur sont vérifiées, des informations sur son compte sont
stockées sur la session et il est donc redirigé à la page d’accueil.

Au cas de l’oubli du mot de passe, l’utilisateur doit insérer son nom d’utilisateur et appuyer sur
« Mot de passe oublié ? ». Il recevra donc la liste des administrateurs globaux et ceux
appartenant à son agence. Du coup, il pourra contacter l’un de ces administrateurs afin qu’ils
remettent son mot de passe à zéro.

19 |
Page d’accueil
Cette page est la page la plus importante du site. Elle permet de partager, modifier, copie,
télécharger et supprimer les fichiers et dossiers sur le site web.

La page d’accueil diffère selon le type d’utilisateur (administrateur ou utilisateur normal), ses
privilèges (s’il a le droit de manipuler les données ou pas) et l’agence à laquelle il appartient.

Voici donc toutes les variantes de cette page :

Administrateur global
Cet administrateur n’appartient à aucune agence, dit administrateur global

Son rôle consiste en la gestion des utilisateurs de toutes les agences. Il peut créer, modifier,
supprimer des utilisateurs de toutes les agences de la société ainsi que la gestion des fichiers de
toutes les agences.

Il peut naviguer à le dossier de n’importes quelle agence en utilisant le bouton « Changer


d’agence »

20 |
En utilisant cette fenêtre, il peut choisir l’agence qu’il veut explorer et appuyer sur valider pour
finaliser son choix

Administrateur global sans le droit de partage


Similaire au type précédent, un administrateur global sans le droit de partage ne peut pas
ajouter, modifier ou supprimer les fichiers et les dossiers

Son rôle est donc réduit à la gestion des utilisateurs de toutes les agences de la société.

Administrateur avec le droit de partage (Agence n°1)


Cet utilisateur peut à la fois manipuler les dossiers et fichiers et aussi manipuler les utilisateurs
mais ces deux tâches ne peuvent se faire qu’aux fichiers, dossiers et utilisateurs de son agence.

La modification des fichiers et des dossiers n’est permise qu’à son propriétaire. C’est-à-dire
qu’un fichier créé par un utilisateur A ne peut être manipulé que par cet utilisateur. Ce concept
est expliqué dans la partie sécurité.

21 |
Administrateur sans droit de partage (Agence n°1)
Cet utilisateur est similaire au précédent mais sans le droit de manipulation de fichiers dossier.
Donc il ne peut que télécharger les fichiers.

Utilisateur ordinaire (Agence n°2)


Ce type d’utilisateur sera le plus commun. Il permet de naviguer à travers les fichiers et dossiers
de son agence et les manipuler.

Utilisateur ordinaire sans droit de partage (Agence n°2)


Ce dernier type étant le plus réduit, ne donne le droit qu’à télécharger les fichiers de son
agence.

22 |
23 |
Analyse de la page d’accueil

24 |
1/ Nom du dossier actuel
Puisque l’utilisateur appartient à l’agence n°1, il est placé par défaut dans le dossier « 1 ».
Cette partie sert aussi à visiter les dossiers parents lors la navigation des dossiers.

2/ Nouveau dossier
Ce lien permet de créer un nouveau dossier dans le répertoire actuel. Il n’est présenté qu’aux
utilisateurs ayant le droit de partage de fichiers.

A l’appui sur ce bouton, le site s’assure que l’utilisateur a le droit de créer un dossier sur le
répertoire actuel, c’est-à-dire que le dossier actuel doit soit appartenir à cet utilisateur ou
n’appartient à personne (Commun) par exemple, le répertoire racine. Au cas d’échec, un
message d’erreur est affiché.

Sinon, une fenêtre est affichée permettant à ce dernier d’insérer le nom du dossier désiré

L’utilisateur donc écrit le nom voulu et appuie sur le bouton « Créer ». Ensuite, le site s’assure
que le nom est valide, qu’il n’y a pas d’autre dossier avec le même nom… et au succès de ces
vérifications, le dossier est créé et inscrit sur la base de données comme étant une propriété de
l’utilisateur actuel.

Toute erreur lors de ces étapes est affichée en tant que message d’alerte.

25 |
3/ Charger un fichier
Ce lien permet de charger un fichier dans le répertoire actuel. Il est aussi est présenté aux
utilisateurs ayant le droit de partage de fichiers seulement.

A l’appui sur ce bouton, le site effectue les mêmes étapes de vérification que celles pour créer
un dossier.

Au succès de ces vérifications, une fenêtre est affichée permettant à ce dernier de choisir le
fichier à charger et donne l’option de choisir un mot de passe pour verrouiller le fichier si ce
dernier contient des informations sensibles au publique

L’utilisateur choisit le fichier à charger et choisit un mot de passe si nécessaire et appuie sur le
bouton « Charger ». Ensuite, le site s’assure qu’un fichier avec le même nom n’existe pas, et
après le chargement du fichier, ce dernier est inscrit sur la base de données comme étant une
propriété de l’utilisateur actuel avec le mot de passe choisi (si inséré).

Toute erreur lors de ces étapes est similairement affichée en tant que message d’alerte.

4/ Accueil
Ce lien permet à l’utilisateur de revenir à la page d’accueil

26 |
5/ Utilisateurs
Ce menu permet de gérer les utilisateurs. En effet, il n’est affiché qu’aux administrateurs. Il sera
expliqué en détails dans une autre partie.

6/ Profil
Ce lien affiche le nom de l’utilisateur utilisé et sert à naviguer à la page qui permet la
modification du mot de passe.

Il sera aussi expliqué dans une autre partie.

7/ Déconnexion
Ce lien permet de fermer la session actuelle. A l’appui sur ce bouton, l’utilisateur actuel est
déconnecté et redirigé vers la page d’identification.

8/ Recherche
Ce bouton permet la recherche de fichiers et dossiers dans le répertoire actuel. En appuyant sur
ce bouton, le champ de texte visible sur la prise d’écran est affiché et permet à l’utilisateur
d’insérer le nom du fichier ou dossier qu’il recherche.

Les résultats sont affichés au fur et à mesure que l’utilisateur tape le nom de la recherche.

9/ Dossier
Ceci est la représentation d’un dossier sur le site. Elle permet de voir le nom et le nombre
d’éléments du dossier.

Un simple clic sur le dossier permet de naviguer à ce dernier et d’afficher son contenu.

En posant le curseur sur un dossier, on peut voir la date de dernière modification du dossier.
Ceci permet aussi de voir les opérations qu’on peut effectuer sur ce même dossier.

10/ Opérations sur un dossier


Comme cité ci-dessus, on peut dévoiler les opérations sur un dossier en posant le curseur sur ce
dernier. Ces opérations ne sont visibles qu’aux utilisateurs ayant le droit de partage.

27 |
A/ Renommer
Comme implique le nom, cette opération permet de changer le nom d’un dossier. Elle n’est
accordée qu’au propriétaire du dossier.

Si l’utilisateur actuel est effectivement le propriétaire de ce dossier, une fenêtre est affichée
permettant de taper un nouveau nom à ce dernier.

B/ Copier/Couper
Ces deux fonctions permettent de copier ou déplacer un dossier vers un autre emplacement.
Elles ne sont possibles qu’à l’utilisateur propriétaire du dossier.

En appuyant sur l’une de ces fonctions et la vérification du propriétaire, deux commandes


s’affichent sur la barre de navigation

Ou

L’utilisateur donc peut naviguer naturellement dans les dossiers pour trouver la destination,
ensuite, appuyant sur le bouton orange, il peut copier ou déplacer le dossier vers le répertoire
actuel. A tout moment, il peut appuyer sur « Annuler » pour annuler l’opération.

C/ Supprimer
Comme implique le nom, cette fonction permet de supprimer le dossier et tout son contenu.

Seul le propriétaire du dossier peut le supprimer. En cliquant sur ce bouton, une confirmation
est affichée avant de supprimer le dossier, son contenu et tous les enregistrements dans la base
de données reliés à ces derniers.
28 |
11/ Fichier
Ceci est la représentation d’un fichier sur le site. Elle permet de voir l’icône, le nom et la taille
du fichier. L’icône change de couleur selon le type de fichier pour faciliter l’identification des
fichiers.

En posant le curseur sur un dossier, on peut voir la date de dernière modification du dossier.
Ceci permet aussi de voir les opérations qu’on peut effectuer sur ce même dossier.

Cliquer sur le fichier ouvre une fenêtre qui affiche ces mêmes informations ainsi que le nom du
propriétaire. Cette fenêtre permet aussi de verrouillez/déverrouiller le fichier (si l’utilisateur est
propriétaire) mais aussi de télécharger le fichier

Ou

L’image à gauche est d’un fichier appartenant à l’utilisateur actuel donc aucun mot de passe
n’est requis. La même chose s’applique si le fichier n’est pas verrouillé.

L’image à droite est d’un fichier verrouillé qui appartient à un utilisateur différent de
l’utilisateur actuel. Un mot de passe est donc demandé afin de débuter le téléchargement du
fichier.

12/ Opérations sur un fichier


Les opérations sur les fichiers agissent exactement comme celles d’un dossier (10).

29 |
Page « Ajouter un utilisateur »
Cette page n’étant accessible qu’aux administrateurs, permet la création de nouveaux
utilisateurs.

Effectuer cette tâche est très simple et facile : il suffit de remplir le formulaire avec les
informations du nouvel utilisateur (prénom, nom) ainsi qu’un nom d’utilisateur et le mot de
passe 2 fois afin de le vérifier. Ensuite viens l’étape de choisir le type d’utilisateur
(Administrateur ou utilisateur ordinaire) et de donner le droit de partage ou pas.

Enfin, il suffit d’appuyer sur « Ajouter » afin de valider les données et créer un utilisateur. Au
cas d’échec de validation, un message d’erreur est affiché pour guider l’administrateur à vérifier
les données fournies.

Administrateur global
Puisque l’administrateur global n’appartient à aucune agence, un nouveau champ est ajouté au
formulaire permettant de choisir l’agence à laquelle affecter le nouvel utilisateur

30 |
31 |
Page « Modifier un utilisateur »
Cette page est aussi réservée aux administrateurs. Elle permet de voir les informations sur les
utilisateurs, les modifier et même les supprimer.

Les utilisateurs sont listés sous forme d’un tableau permettant de voir les informations sur les
utilisateurs. La dernière colonne propose les opérations pouvant être effectuées sur un
utilisateur.

Un administrateur ordinaire ne peut voir, modifier et supprimer que les utilisateurs de sa


propre agence, tant qu’un administrateur global peut voir, modifier et supprimer les utilisateurs
de toutes les agences

Voir actions
Ce bouton permet d’afficher les actions faites par cet utilisateur. Il sera expliqué en détails dans
une autre partie.

Modifier
En cliquant sur le bouton modifier à côté d’un utilisateur, l’administrateur est redirigé vers un
formulaire pour modifier cet utilisateur
32 |
En utilisant ce formulaire, on peut donc modifier n’importe quelle information sur cet
utilisateur ou même changer son type ou son droit de partage.

Par contre, un administrateur ne peut pas modifier son type de compte ou son droit de partage

33 |
Aussi, si l’administrateur est de type global, le champ « Agence » est affiché pour permettre de
changer l’agence à laquelle appartient l’utilisateur en question

Supprimer
En cliquant sur le bouton supprimer, un message de confirmation apparaît pour confirmer la
suppression de l’utilisateur en question.

Il faut noter qu’un administrateur ne peut à tout prix supprimer son propre compte.

Page « Actions »
Comme mesure de sécurité, la page action a été créée pour surveiller les actions faites par
chaque utilisateur ou administrateur

34 |
Chaque administrateur peut voir les actions faites par les utilisateurs appartenant à la même
agence (sauf l’administrateur global qui peut voir les actions de tous les utilisateurs).

Les actions sont triées par utilisateur puis par date et sont affiché avec une description et une
icône spécifique au type de l’action.

Il existe 17 types d’actions qui peuvent être enregistrées pour des raisons de contrôle.

L’administrateur peut même utiliser le menu « Aller vers » pour naviguer directement aux
actions faites par un certain utilisateur.

Page « Profile »
Cette page apparaît chez tous les types d’utilisateurs. Elle permet à ces derniers de changer leur
propre mot de passe

35 |
Afin de changer le mot de passe, il suffit d’insérer le mot de passe actuel et puis un nouveau
mot de passe 2 fois et puis valider. Si tous ces champs sont validés, le mot de passe sera
changé, sinon, un message d’alerte sera affiché.

Fichier « scan.php »
Ce fichier se charge de lister les fichiers et dossiers propres à l’agence à laquelle appartient
l’utilisateur actuel.

Il est utilisé lors du chargement de la page d’accueil et retourne la liste des fichiers et dossiers
sous-forme JSON. L’usage de ce format assure la rapidité et la fiabilité de la liste.

Fichier « filesystem.php »
Ce fichier est le cœur des opérations sur les fichiers et dossiers. Il est responsable de la
manipulation des fichiers et dossiers en toute sécurité ainsi que la fourniture d’informations sur
ces derniers.

Les opérations que peut faire ce fichier sont :

- Créer, renommer, copier, déplacer ou supprimer un dossier


- Charger, renommer, copier, déplacer, verrouiller, déverrouiller ou supprimer un fichier

36 |
- Préciser si un utilisateur a le droit de faire une modification sur un fichier ou dossier
- Trouver des informations sur un fichier (date de modification, taille, propriétaire)

Fichier « download.php »
Ce fichier est le seul moyen d’accéder au contenu d’un fichier.

Il s’assure de l’identité de l’utilisateur et du mot de passe du fichier (si le fichier est verrouillé)
et ne déclenche le téléchargement du fichier qu’après avoir validé ces conditions.

L’utilisation de ce fichier est expliquée dans la partie sécurité.

37 |
Sécurité
Les données de ce site web sont très importants et quelque fois même confidentiels. Du coup, il
est nécessaire de s’assurer de la robustesse et la sécurité du système.

Voici les mesures de sécurité implémentées dans ce site :

Enregistrement des actions


Elle est une des fonctionnalités de sécurité les plus importantes du site.

Comme cité dans sa partie dédiée, elle consiste à enregistrer chaque action commise par un
utilisateur ou un administrateur. Un administrateur peut ensuite analyser les actions dans leur
page au cas de problème et savoir celui ou celle responsable.

Système de propriétaires
Le site dispose d’un système de propriétaires qui permet de gérer qui a le droit d’effectuer des
opérations sur les fichiers et dossiers.

Par exemple, un fichier partagé par l’utilisateur A ne peut pas être renommé par l’utilisateur B.

Ce système permet de limiter la modification des fichiers et dossiers.

Protection de fichiers par mot de passe


En addition au système de propriétaires, un utilisateur peut spécifier un mot de passe sur ses
fichiers afin de limiter l’accès à ce dernier encore plus.

Ceci peut s’appliquer au cas de fichiers sensibles. Le propriétaire de ce fichier pourra ensuite
donner le mot de passe d’accès aux utilisateurs concernés par email, téléphone, face à face ou
n’importes quel autre moyen.

Protection des fichiers de l’accès directe


Normalement, un utilisateur ordinaire peut accéder aux fichiers de n’importes quel dossier en
tapant son chemin sur la barre d’adresse du navigateur.

C’est pour cela qu’on a implémenté un système de protection de l’accès directe aux fichiers.
38 |
L’accès se fait donc à travers le fichier « download.php » qui ne laisse passer qu’après avoir
vérifié l’identité, mot de passe comme est précisé dans sa partie dédiée.

Contrôle d’accès aux pages


Les pages du site web ne doivent pas être accessibles à tout le monde, du coup et pour
protéger contre l’accès direct, chaque page contient une partie qui vérifie le type d’utilisateur
et n’affiche qu’un message d’alerte au cas d’accès interdit.

Voici le message d’interdiction au cas où un utilisateur non identifié essaye d’accéder à


n’importes quelle page d’autre que la page d’identification

39 |
Et voici le message d’interdiction au cas où un utilisateur normal essaye d’accéder à une page
d’administrateur

40 |
Protection contre l’exécution distante de fichiers
Normalement, un utilisateur pourra charger un fichier contenant du code vers le serveur et en
le téléchargeant, il pourra l’exécuter sans aucune limitation.

Pour conter ce problème, le serveur est forcé de lire les fichiers placés dans les dossiers des
agences en tant que fichiers téléchargeable, du coup, l’ouverture de n’importe quel fichier
entraîne son téléchargement au lien de sa lecture.

Protection contre l’injection


L’injection se fait quand un champ utilisé dans une requête contient des caractères interdits qui
permettent à un utilisateur malicieux de fermer la requête ordinaire et insérer une requête de
son choix.

La protection contre ce type d’attaque ce fait à travers la suppression de tout caractères


pouvant aider à l’injection.

41 |
Tests
La partie finale avant le déploiement du projet consiste à tester l’application excessivement afin
de trouver les failles et les erreurs à corriger.

J’ai conduit plusieurs tests sur l’application tout au long de la période de développement et
même après celle-ci. Ces tests variaient de tests de fonctionnalités, d’utilisabilité, de stress… et
j’ai pu à l’aide de ces tests localiser plusieurs problèmes et erreurs auxquels j’ai remédié.

42 |
Projet n°2 : Application de gestion de facturation
Problématique
La société dispose d’une application nommée C E G ID qui se charge de la gestion commerciale
de A à Z. L’application est très performante et efficace.

Le problème qui se pose est que l’application ne permet pas l’ajout de fonctionnalités, comme
elle ne permet pas la modification de fonctionnalités existantes.

Solution
La solution proposée pour remédier à ce problème est de créer une application dédiée. Puisque
l’application sera développée localement, le service informatique aura le droit de garder le
code source, d’où la maintenabilité et la flexibilité de cette nouvelle application.

Technologies utilisées
Le développement de cette application fera appel à l’utilisation d’un langage de programmation
ainsi que des outils et des librairies.

Le langage de programmation sélectionné pour le développement de cette application est C#


pour sa facilité d’utilisation et de maintenance. Quant à le langage de programmation de la
base de données, le choix était le langage SQL.

Les outils de programmation utilisés lors de la réalisation de ce projet sont les suivants :

- Microsoft Visual Studio : Environnement de développement intégré pour les


langages .NET (C#, VB, ASP)
- Microsoft Access : Logiciel de gestion de bases de données relationnelles, utilisant le
langage SQL

La seule librairie utilisée au cours du développement de cette application est DGVPrinter.

Conception
La conception de la base de données utilisée a été fournie par Mr Khalid EZZOUINE. Elle est la
suivante :
43 |
44 |
Tour de l’application
Vue d’insertion
La première fenêtre affichée lors du lancement de l’application permet de voir, insérer ou
modifier des écritures.

L’utilisateur peut d’abord ajouter un enregistrement en utilisant les champs placés en haut de
la fenêtre et en appuyant sur le bouton « Insérer ».

Ensuite, le tableau affiche tous les enregistrements déjà existants sur la base de données.
L’utilisateur peut donc choisir n’importes quel enregistrement pour effectuer une action sur cet
enregistrement.

Dès la sélection d’une écriture, l’application charge ses données vers les champs. L’utilisateur
pourra donc modifier ces informations et appuyer sur le bouton « Mettre à jour » pour
appliquer les changements.

Il peut aussi choisir des enregistrements du tableau et appuyer sur le bouton « Supprimer »
pour supprimer ces derniers de la base de données.

45 |
L’utilisateur a aussi la possibilité d’imprimer le contenu du tableau en appuyant sur le bouton
« Imprimer », une fenêtre s’affiche donc pour choisir les options d’impression

Cette fenêtre permet à l’utilisateur de choisir un titre, un sous-titre, une note de pied de page,
l’orientation de la page mais permet aussi de choisir les colonnes à imprimer.

En appuyant sur le bouton « Imprimer », une boîte s’affiche pour permettre le choix d’une
imprimante suivie d’un aperçu avant l’impression

46 |
Vue de recherche
Cette vue permet à l’utilisateur de choisir des critères de recherche pour trouver des
enregistrements sur la base de données

Pour chacun des champs client, libelle, référence et adresse de lettrage, l’utilisateur peut choisir
le type de filtre (Aucun, égal, contient ou pas égal) et le critère de recherche

Ensuite l’utilisateur peut cadrer les résultats de recherche entre deux dates, une rubrique ou
même l’état de lettrage (A lettrer, partiellement lettré ou lettré)

Après l’appui sur le bouton « Chercher », les résultats sont affichés sur le tableau
47 |
L’utilisateur donc a le droit de modifier, supprimer ou imprimer ces résultats.

Vue de lettrage
Cette fenêtre permet lettrer les factures

48 |
L’utilisateur peut choisir différentes options de filtrage pour trouver les factures qu’il veut
lettrer (Client, état de lettrage, date de début et date de fin).

Après l’affichage des écritures qu’il veut lettrer, il suffit de les sélectionner et utiliser le bouton
« Lettrer » ou la touche F8 pour effectuer le lettrage.

Les écritures sélectionnées recevront donc une référence de lettrage unique pour lier les
factures avec leurs payements.

49 |
Problèmes rencontrés
J’ai rencontré quelques difficultés lors de la réalisation de ce projet dont :

- L’utilisation d’un nouveau langage de programmation (JQuery)


- Difficulté de résolution de problèmes

Pour remédier à ces problèmes, j’ai dû :

- Apprendre à utiliser JQuery en utilisant des tutoriels sur Internet


- Explorer plusieurs méthodes de réflexion
- Apprendre à mieux chercher des solutions sur Internet
- Demander à mon encadrant et d’autres employés

50 |
Conclusion
En conclusion, l’expérience que j’ai vécue en effectuant ce stage m’a permis une expertise
collective et surtout l’apprentissage de nouvelles méthodes de travail. Techniquement, j’ai pu
mettre en pratique ce que j’ai appris au cours de ma formation en plus d’une maîtrise des outils
utilisés pour la réalisation.

Ainsi, il m’a donnée l’opportunité de m'adapter avec le personnel ainsi que rencontrer des gens
de différentes disciplines, et surtout de faire la différence entre la théorie et la réalité qui est le
monde d'emploi.

51 |
Table des matières
Remerciements et dédicaces.......................................................................................................................2
Introduction.................................................................................................................................................4
Présentation de Distral Maroc SA................................................................................................................5
Historique................................................................................................................................................7
Fiche technique.......................................................................................................................................7
Organigramme de l’agence......................................................................................................................9
Tour de la société......................................................................................................................................10
Service comptoir....................................................................................................................................11
Administration de ventes......................................................................................................................11
Gestion de stock....................................................................................................................................12
Service de livraison................................................................................................................................12
Gestion caisse........................................................................................................................................13
Comptabilité..........................................................................................................................................13
Service informatique.............................................................................................................................14
Réalisation de projets................................................................................................................................15
Projet n°1 : Site de partage de fichiers..................................................................................................15
Problématique...................................................................................................................................15
Solution.............................................................................................................................................15
Technologies utilisées........................................................................................................................15
Conception........................................................................................................................................16
Tour du site........................................................................................................................................19
Sécurité..............................................................................................................................................39
Tests..................................................................................................................................................43
Projet n°2 : Application de gestion de facturation.................................................................................44
Problématique...................................................................................................................................44
52 |
Solution.............................................................................................................................................44
Technologies utilisées........................................................................................................................44
Conception........................................................................................................................................44
Tour de l’application..........................................................................................................................46
Problèmes rencontrés...........................................................................................................................51
Conclusion.................................................................................................................................................52

53 |

Vous aimerez peut-être aussi