Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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.
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.
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.
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 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.
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.
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 :
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.
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.
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 :
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 :
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.
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.
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.
20 |
En utilisant cette fenêtre, il peut choisir l’agence qu’il veut explorer et appuyer sur valider pour
finaliser son choix
Son rôle est donc réduit à la gestion des utilisateurs de toutes les agences de la société.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Les outils de programmation utilisés lors de la réalisation de ce projet sont les suivants :
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 :
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 |