Vous êtes sur la page 1sur 71

Page |1

EPIGRAPHE
Page |2

DEDICCACE
Page |3

Remerciements
Page |4

LISTE DES ABREVIATIONS


Page |5

LISTE DES FIGURES


Page |6

LISTE DES TABLEAUX


Page |7

INTRODUCTION GENERALE

0.1 Présentation du sujet

Depuis quelques années maintenant, les outils informatiques font partie de


notre vie quotidienne et les nouvelles technologies de l’information et de la
communication sont de nos jours incontournable avec l’intégration de nouveaux outils
de travails dans les ménages, structure sanitaire, banque, école, pharmacie ; Cette
science domine dès lors notre monde et pénètre tous les secteurs de la vie de l’homme
car elles simplifient les équations difficiles, facilitent les opérations financières,
participent à l’éducation des enfants et l’envoies des données à distance en quelque
poussières de secondes .

Avec toutes ses disciplines variantes, l’informatique transforme et modélise


notre vie au point même de l’assujettir. Ainsi, en automatisant le traitement de
l’information cette science nous ouvre la porte d’une nouvelle ère où nous pouvons
observer la vitesse et la grande perfection technologie jamais connue dans le passé,
laquelle dite de pont.

Le passage du travail manuel à l’automatisation de données à révolutionner le


monde, changer le cours de l’histoire des hommes, créer l’emploi pour les uns et
envoyer les autres au chômage et à obliger le grand public d’acquérir un minimum de
connaissance en informatique et la maitrise de l’ordinateur, machine intelligente.

Cette machine intelligente, étant une synergie de deux entités : une partie
matérielle appelée « Hardware » comportant une plaquette électronique sur laquelle
sont soudés et/ou connectés l’ensemble des composants essentiels à son
fonctionnement et d’une partie logicielle appelée « Software » offrant à l’utilisateur un
espace de travail appeler interface homme machine car sans laquelle ce dernier serait
une âme sans vie.

Une première couche logicielle fut créée aux environs de 1960 pour assurer
la liaison entre les ressources matérielles, l’utilisateur et les applications, et permet de
dissocier les programmes (Software) et les matériels (Hardware) afin de simplifier la
gestion des ressources et offrir à l’utilisateur une interface homme-machine. Ces
applications (logiciel d’application à n’est pas confondre avec le logiciel de base) sont
des programmes écrit en langage machine, pas compréhensible par le commun des
mortels car il s’agit d’une suite de 0 et 1 adapté à l’ordinateur qui permettent
d’effectuer un certain nombre de tâches de façons rapide et précise.
Page |8

Passionné et motivé d’amener l’excellence parmi les nôtres, s’inscrit notre


volonté de vouloir équiper la sous division de TSHIKAPA 2 d’un système
informatique pour la gestion de paie du personnel.

0.2 CHOIX ET INTERET DU SUJET

Toute organisation est tenue de suivre le développement rapide du monde


de la technologie, et en profiter le plus possible afin d’assurer sa continuité et accroitre
sa compétitivité dans une époque où la concurrence ne cesse de s’accroitre.

Le choix de notre sujet est de mettre en place, à la sous-division de


TSHIKAPA 2, une application informatique visant la gestion de paie du personnel. La
mise en place de cette application va permettre à ce dernier d’informatiser les données
du personnel, actualiser les listings de paye à temps pour chaque trimestre et dénicher
toute tentative de détournement.

0.3 PROBLEMATIQUE

La problématique est une étape d’étude ou les chercheurs en définit l’objet


et le questionnement y relatif, c’est-à-dire, expose ses préoccupations, surtout celles
qui ont motivé son choix sur telle ou telle autre étude. Ici le chercheur s’efforce de
ressortir la question clé de l’étude à partir de laquelle sera fondée la nécessité
d’accorder à celui-ci une attention particulière sans laquelle l’étude ne peut avoir de
bonne issue 1

Pour notre étude, nous avons pu constater que l’ensemble des traitements
des informations tel que la paye du personnel se fait manuellement, ce qui engendre un
certain nombre de problème tels que la lenteur et le risque de perte d’informations
voire même une prise de décision non contrôlé par le gestionnaire.

C’est qui nous a conduits, à la question suivante :

 Comment informatiser la paye du personnel à la sous division de


TSHIKAPA 2 ?

0.4 HYPOTHESE

L’hypothèse est une proposition à partir de laquelle on raisonne pour


résoudre un problème, pour dénombrer un théorème. C’est une proposition résultant
d’une observation et que l’on soumet ou contrôle de l’expérience ou que l’on vérifie
par d’éducation2.
1
Sylvie NGALULA cité par KANIME KHOJI Rose : Développement d’une application informatique pour la gestion
du personnel dans une institution éducationnelle, TFC, ISC/T’pa 2017 -2018.
2
Dictionnaire illustré
Page |9

Et le professeur MUJABATA de renchérir : « l’hypothèse est


l’interprétation anticipée des phénomènes de la nature. Elle est une solution ou une
réponse anticipée. De ce fait, l’hypothèse est à la fois une création de l’esprit ou
invention et une conception provisoire jusqu’à ce qu’une vérification soigneuse avec
les faits lui enlève son caractère définitivement ou rang de vérité scientifique »
(MUJABATA in Claude BERNARD, 2021)

Vu l’importance du sujet choisi qui fait l’objet de notre étude, le champ


d’érudition de nos recherches se comparait au tour de la question posée dans la
problématique.

0.5 METHODES ET TEHNIQUES

0.5.1 METHODES

La méthode est une démarche rationnelle de l’esprit pour arriver à la


connaissance ou à la démonstration d’une vérité. C’est une manière ordonnée de mener
quelque chose, un ensemble ordonné de manière logique de principes, des règles,
d’étapes permettant de parvenir à un résultat3.

Selon Paul Robert « la méthode est une démarche, un ensemble des


démarches que l’esprit poursuit pour découvrir et démontrer une vérité dans la science.
C’est aussi un ordre suivi pour exécuter quelques ouvrages de l’esprit, l’arrangement
qui en résulte »

Ainsi dit, pour élaborer ce travail de fin de cycle, nous avons fait recours
aux méthodes suivantes :

1. La méthode structuro fonctionnelle : méthode est basé sur la notion


de structures et de fonctions son utilisation est utile pour permettre de connaitre la
structure et fonctionnement du temps d’étude.

2. La méthode analytique : elle nous a permis de faire les analyses sur le


fonctionnement de l’entité, en dégager les points faits et les faiblesses en vue
d’envisager une solution adoptée aux besoins.
3. La méthode historique : nous a permis de remonter dans le temps
pour saisir le passé de la sous division de TSHIKAPA 2 comme source d’information
en considérant l’expérience du passé comme moyen d’analyse.
4. La méthode Merise : qui signifie Méthode d’Etude et de Réalisation
informatique pour le système d’Entreprise, nous a permis de faire une étude
minutieuse du système existant, pour parvenir à mettre en place un autre.

3
La Rousse illustrée
P a g e | 10

0.5.2 TECHNIQUES
Une technique est définie comme étant un ensemble d’outils et d’instrument
utilisés par un chercheur pour aboutir à un but.

La technique doit avoir deux approches : celle de récolté des données et de


traitement des données.

 Pour la technique de récolté de données, nous avons utilisés la technique


documentaire
 Pour la technique de traitement des données, nous avons fait l’analyse du
contenu et l’interview de la structure à travers l’interprétation.

0.6 SUBDIVISION DU TRAVAIL

Hormis l’introduction générale et la conclusion générale le présent travail


est articulé en trois chapitres comprenant chacun une introduction partielle et une
conclusion partielle.

Les trois chapitres se présentent de la manière suivante :

CHAPITRE I : Balise Conceptuelle et Théorique

CHAPITRE II : Etude de l’existant

CHAPITRE III : Mise en place d’un système informatique pour la gestion de la


paie dans un bureau gestionnaire.
P a g e | 11

CHAPITRE I : BALISE CONCEPTUELLE ET THEORIQUE

I.0. INTRODUCTION

Les règlent scientifique nous obliquent à clarifier les termes usés dans ce
travail de fin de cycle dans le but de lever les équivoques que peuvent avoir les
concepts dont nous avons fait usage. C’est ainsi que dans ce chapitre nous sommes
appelés à définir tous les concepts relatifs au sujet sous examen et ensuite nous
parlerons de concepts y afférents.

I.1. DEFINITION DES CONCEPTS ET EXPRESSIONS DE BASE

I.1.1. Mise

La mise est l’action de mettre, fait d’être mis (dans une nouvelle position).
Exemple : la mise sur pied d’un programme, la mise en bouteilles d’un vin, la mise en
valeur d’une propriété4.

I. 1.2. Place

Endroit, lieu où doit se tenir quelqu’un, où doit se ranger, se trouver quelque


chose : Mettre chaque chose à sa place, Montrer leurs places aux acteurs5.

I.1.3. Mise en place

Action d’installer, placer. Action d’agencer, de mettre quelque chose à une


certaine place. Exemple : Compte tenu du climat de la région, il ne faut pas oublier de
prévoir la mise en place d’un système de climatisation dans vos plans architecturaux6.
Synonyme : Installer, fonder, fixer et scie

I.1.4. Système

Ensemble abstrait dont les éléments sont coordonnées par une loi une théorie.
Ensemble de pratiques organisée en fonction d’un but7.

Il existe différents types de systèmes, notamment les systèmes naturels, les


systèmes ouverts, le système fermés et le système informatique.

I.1.4.1. Système naturels


4
WWW.Wikipédia.com : mise définition.
5
WWW.Wikipédia.com : Place définition et exemple.
6
WWW.Wikipédia.com : Mise en place définition et exemple.
7
Dictionnaire le Robert.
P a g e | 12

Il s’agit de systèmes qui existent naturellement dans l’environnement, tels que


les écosystèmes, les systèmes météorologiques et le corps humain.

I.1.4.2. Système Ouvert et système fermé

Un système ouvert peut échanger à la fois de l’énergie et de la matière avec


son environnement. L’exemple de la cuisinière serait un système ouvert, car la chaleur
et la vapeur d’eau peuvent être perdues dans l’air. Un système fermé en revanche, ne
peut échanger que de l’énergie avec son environnement, pas de matière.

I.1.4.3. Système informatique

Un système informatique est un ensemble de moyens informatique et de


télécommunications, matériels et logiciels, ayant pour finalité de collecter, traiter,
stocker, acheminer et présenter des données. Les concepts de système informatique et
d’ordinateur ne doivent pas être confondus8.

Les systèmes informatiques sont des types de systèmes d’information, c’est è


dire, des systèmes organisés autour du traitement de données de différentes sortes.
Cependant, tous les systèmes d’information ne sont pas de systèmes informatiques.
Autrement dit, tous ne sont pas numériques, automatisés ou électronique.

Cela étant dit, un système informatique est un système automatisé de stockage,


de traitement et de récupération de données qui tire parti des outils informatiques et
électroniques pour effectuer une série complexe de processus et d’opérations9.

I.1.4.3.1. Fonctions d’un système informatisé

En résume un SI peut avoir quatre fonctions majeurs qui sont : collecter,


stocker, traiter et diffuser l’information. Les informations collectées peuvent provenir
de flux internes ou externes au SI de l’organisation et peuvent être stockées sous de
base de données ou de fichiers.

I.1.4.3.2. Composition des systèmes informatiques

On peut dire que chaque système informatique est constitué de trois


composantes, à savoir : le matériel, les logiciels et l’humain.

I.1.4.3.2.1. Matériel

8
Www.dudod.com
9
Www.cyberuniversity.com
P a g e | 13

Il s’agit de l’ensemble de l’environnement lié aux éléments matériels qui


participent au système (ordinateur, écran, modem, clavier, clé USB, etc.)

I.1.4.3.2.2. Logiciel

Il englobe chacun des éléments qui peuvent être classés dans l’environnement
liés aux programmes informatiques et applications. C’est la partie « Software » du
système qui fait référence aux informations et systèmes virtuels programmées,
numériques et intangibles.

I.1.4.3.2.3. Humain

La composante humaine (ressources humaines) est essentielle à tout système


informatique. Elle regroupe tous les utilisateurs qui interviennent, utilisent un
automate ou le programme.

I.1.4.3.3. Classification des systèmes informatiques10

Il existe six classes de systèmes informatiques selon le domaine dans lequel ils
sont utilisés.

I.1.4.3.3.1. Système d’aide à la décision

Un système informatique d’aide à la décision, également connu sous le nom


de « Décision support system » ou DSS pour son acronyme en anglais, est
essentiellement un système informatisé conçu dans le but d’être utilisé par les parties
prenantes d’une entreprise pour prendre une décision (résolution de problèmes et
schématisation des lignes directrices pour l’atteinte des objectifs).

I.1.4.3.3.2. Système de contrôle des processus métier

Un système de contrôle des processus métier, également appelé « BPM » de


l’anglais « Business Process Management », est un système chargé de surveiller,
contrôler et gérer en temps réel tout le processus d’industrialisation.

I.1.4.3.3.3. Système de gestion d’informations

Un système de gestion d’information, également connu en anglais sous le nom


de « Management Information System » ou « MIS », est un système capable de
collecter et de gérer des données à plusieurs niveaux. Ainsi, on peut avoir une image
plus claire au moment de la prise de décisions.

I.1.4.3.3.4. Système d’information exécutif

10
Www.cyberuniversity.com
P a g e | 14

Un système d’information exécutif ou « ELS » pour « Executive Information


system », est un système informatique capable de fournir un accès immédiat à
l’ensemble des informations produites par l’entreprise, à la fois des sources internes et
externes. Elles sont présentées dans divers formulaires selon la nécessité d’approfondir
ces informations, toujours dans un format facilement consultable et compréhensible en
un coup d’œil.

I.1.4.3.3.5. Système de traitement des transactions

Le système de traitement des transactions, de l’anglais « Transaction


Processing System » ou « TPS », est un système informatique d’entreprise destiné à
gérer tout ce qui concerne le niveau opérationnel de l’organisation. D’une manière
plus précise, c’est un système informatique qui stocke et traite toutes les transactions
effectuées au cours de la journée et qui sont nécessaire au fonctionnement de toute
l’organisation.

I.1.4.3.3.6. Système e collaboration commerciale

De l’anglais « Enterprise Resource Planning » (ERP), un système de


collaboration commerciale ou « Progiciel de gestion intégré » « PGI », est un système
informatique de gestion et de suivi des informations au sein d’une organisation.

Ce système fournit un support important à large éventail d’utilisateurs. Un PGI


permet à, tous les collaborateurs dans une entreprise de centraliser les processus, de la
gestion des ressources humaines à la comptabilité en passant par la relation client, la
logistique et la production. Une quantité importante de données en découle et requiert
une expertise afin d’y faire le tri et d’en tirer quelque chose à forte valeur ajoutée.

I.1.4. Informatique

L’informatique est le domaine d’activité scientifique, technique et industriel


du traitement automatique de l’information par des automates. Plus concrètement, ces
automates peuvent être des calculateurs, des systèmes embarqués, des ordinateurs, des
robots, etc.

I.1.4.1. Origine du mot Informatique

Le terme « Informatik » est créé en 1957 par un ingénieur allemand du nom


de Karl Steinbusch dans son essai intitulé «Informatik : Automatisés informations
verabeitung », pouvant être traduit en français par le titre « Informatique : traitement
automatique de l’information » En Mars 1962, le terme « Informatique », est utilisé
pour la première fois en France par Philippe Dreyfus, ancien directeur du Centre
National de Calcul Electronique de Bull (CNCEB), pour son entreprise « Société
P a g e | 15

d’Informatique Appliquée » (SIA). Ce néologisme est formé par la contraction de deux


mots : « Information et Automatique ».

I.1.4.2. Domaines d’application de l’informatique11

Ainsi, on distingue quatre grands domaines d’application de l’informatique à


savoir : l’informatique scientifique, l’informatique de gestion, l’informatique
industrielle et l’informatique technique.

I.1.4.2.1. Informatique scientifique

Elle consiste à aider les ingénieurs de conception dans les domaines de


l’ingénierie industrielle à concevoir et dimensionner des équipements à l’aide de
programmes de calcul : réacteurs nucléaires, avion automobiles.

I.1.4.2.2. Informatique de gestion

L’informatique de gestion est l’ensemble des connaissances, des technologies,


et des outils en rapport avec la gestion de données, c’est-à-dire la collecte la
vérification et l’organisation de grandes quantités d’informations.

L’informatique de gestion est le domaine de l’informatique se concentrant sur


la programmation de logiciels tournés vers la gestion : comptabilité, facturation,
finances, ressources humaines, gestion des stocks, logistique, gestion de la production,
suivi clients…

Elle se caractérise par la conception, le développement et la mise en œuvre


d’application informatique dédiées au management (gestion administrative,
commerciales, RH) de l’entreprise, au suivi des clients et aux relations avec les
fournisseurs (facturations, comptabilité).

I.1.4.2.3. Informatique industrielle

L’informatique industrielle couvre l’ensemble des techniques de conception


d’analyse et de programmation de système à base d’interfaçage de l’informatique avec
de l’électronique, électrotechnique, mécanique, robotique, etc., à vocation industrielle.

I.1.4.2.4. Informatique technique

Le programme d’études Techniques de l’informatique vise à former des


techniciennes ou techniciens en informatique qui exercerons leur profession dans les
domaines du développement d’application et de l’administration des réseaux
informatiques.

11
Www.wikipédia.com : domaines d’application de l’informatique.
P a g e | 16

Le technicien informatique s’occupe de l’installation et du branchement des


différents périphériques qui constituent un réseau informatique. Il est habilité à définir
les composants de ce réseau et à les lier l’un à l’autre.

I.1.4.3. Différentes branches de l’informatique12

Les cinq grandes disciplines de l’informatique sont les suivantes :

 Sciences informatiques :
 Génie informatique
 Système d’information
 Technologie de l’information
 Génie logiciel

I.1.5. Gestion13

Gestion vient du nom latin « gestio » : action de gérer, exécution, issu du


verbe gérer : exécuter, accomplir ; au départ pour le compte d'autrui, d'où le gérant
d'affaires qui est un mandataire. Cette référence à la notion d'exécution et l'expression
"compte de gestion" montrent que la gestion s'applique a priori à l'activité courante et à
un horizon décisionnel relativement court. Cependant, le mot a pris un sens plus
ambitieux en devenant carrément le synonyme des termes d'administration, de
management, de gouvernement, de direction. Il leur est même préféré puisque l'on
parle d'études de gestion, de faculté de gestion, de professeurs de sciences de gestion,
etc.

D’une manière générale, la gestion peut être définie comme la manière


d’organiser et de conduire une activité, un groupe ou une entité quelconque. Une
seconde définition plus rationnelle et applicable à l’entreprise, considère la gestion
comme étant un processus spécifique qui consiste en activités de planification,
d’organisation, de direction et de contrôle dans le but d’atteindre des objectifs déjà
définis, et ceci grâce à l’emploi d’êtres humains et à la mise en œuvre d’autres
ressources.

12
Www.orientatation.ch
13
Www.pieven.com
P a g e | 17

Figure 1.1 Définition de la gestion

I.1.5.1. Nature de la gestion : science ou art ?

I.1.5.1.1. Gestion en tant que science

La gestion est une science dans la mesure où elle présente et utilise des
concepts biens définis et des théories développées à partir d’hypothèses, d’expériences
et d’analyses.

I.1.5.1.2 Gestion en tant qu’art

Pour réussir dans son métier, un gestionnaire doit utiliser son expérience, ses
connaissances, ses observations personnelles et ses intuitions, donc il est considéré
comme un artiste lorsqu’il utilise efficacement ses aptitudes personnelles et ses
qualités humaines dans la gestion des ressources de l’entreprise. En résumé on peut
dire que la gestion présente l’aspect art et l’aspect science au même temps, puisque les
deux se complètent.

I.1.5.2. Le processus de gestion

L’entreprise dispose de ressources qui sont principalement : Les matières


premières, le matériel, les moyens humains et financiers… Le gestionnaire doit faire
les différentes prévisions pour les différentes utilisations de ces ressources, c’est ce
qu’on appelle la planification, il doit distribuer les tâches, ce qui correspond à
l’organisation, assurer le suivi via la direction et s’assurer de la bonne application des
directives à l’aide du contrôle.

I.1.5.2.1. Planification
P a g e | 18

La planification est le processus par lequel un gestionnaire décide des objectifs


et choisit les personnes qui vont contribuer à leur atteinte, elle permet :

 L’étude des forces et des faiblesses de l’entreprise.


 Déterminer les chances de succès et les risques d’échec en tenant compte de
l’environnement externe de l’entreprise (environnement économique, social,
technologique, éthique et légal).
 Déterminer les moyens nécessaires pour atteindre les objectifs fixés.

I.1.5.2.2. L’organisation

L’organisation consiste à assigner une tâche à chaque membre afin qu’il


contribue à la réalisation des plans d’action. Elle consiste aussi à former des équipes et
de coordonner les tâches et les activités au niveau de ces équipes, et enfin créer les
liens organisationnels nécessaires afin d’atteindre les objectifs déjà fixés.

I.1.5.2.3. La direction

Dans l’exercice de cette fonction le dirigeant communique avec tous ceux qui
participent à l’atteinte des objectifs visés. Un dirigeant est appelé principalement à :

 Diriger, motiver et encourager ses subordonnés.


 Les entraîner, les guider, et même les pénaliser si c’est nécessaire.

I.1.5.2.4. Le contrôle

Il s’agit d’évaluer le rendement des activités à tous les niveaux de


l’organisation et, au besoin, à procéder aux corrections nécessaires pour atteindre les
objectifs et parvenir à la réalisation des plans élaborés antérieurement.

I.1.5.2. Modes de gestion

De manière générale, tout organisation dispose où comprend quatre modes de


gestions que nous citons :

1. Gestion de ressources humaines ;


2. Gestion des ressources matérielles ou flux réels ;
3. Gestion des ressources financières ou flux financiers ;
4. Gestion temporelle.

I.1.5.2.1. Gestion des resources humaines


P a g e | 19

La gestion des ressources humaines ou GRH (parfois appellee gestion du


capital humain) est l'ensemble des pratiques mises en oeuvres pour administrer,
mobiliser et développer les ressources humaines impliquées dans l'activité d'une
organisation.

Ces ressources humaines sont l'ensemble des salariés de tous status (ouvriers,
employés, cadres) faisant partie de l'organisation, mais aussi et de plu sen plus liés à
elle par des rapports de sujétion (ainsi, les prestataires extérieurs, ou sous traitants,
sont considérés comme faisant partie de fait du périmètre des ressources humaines de
l'entreprise).

Dans un premier temps, cette fonction est entendue dans une perspective
opérationnelle. Il s'agit d'administrer un personnel qui peut être numériquement
important et réparti en différents niveaux de hiérarchie ou de qualification : gestion des
carrières, gestion préviosionnelle des emplois et des compétences, recrutement,
formation).

Dans un second temps, la fonction acquiert une dimension plus fonctionnelle.


Il s'agitl s'agit d'améiorer la communication transversale entre services et processus, et
de mettre en oeuvre un développement des salariés à l'intérieur de l'entreprise (gestion
de la paie, droit du travail, contrat de travail, etc...)

I.1.5.2.2. Gestion des ressources matérielles

La gestion des ressources matérielles a pour but d'optimiser le rendement sur


le capital que l'entreprise doit investir dans la possession et ou l'utilisation des
ressources matérielles nécessaires au développement de ses activités clés et à la
construction d'une proposition de valeur adéquate pour ses clients cibles.

I.1.5.2.3. Gestion des ressources financières

La gestion financière, comme nous pouvons la nommées est l'ensemble des


actes des gestions qui a pour objet de gérer les différentes étapes de la mise en place
des décisions financières de l'entité.

Cette gestion arrive quand il y a les mouvements financiers c'est à dire de


l'argent ou de la monnaie. C'est aussi qu'elle est aussi appelée gestion des flux
financière

I.1.5.2.4. Gestion temporelle

La gestion du temps fait référence à la notion d'éfficacité qui exige l'utilisation


du temps d'une façon rationnelle et productive dans à complaire les activistes précisés
durant une période donnée, d’où cette phrase anglaise, « The time money ».
P a g e | 20

I.1.6. Paie14

La paie est le terme qui correspond à la somme d’argent versée à une personne
physique en échange d’un travail effectué. La paie fait objet d’un calcul inscrit sur un
bulletin de paie informatisé, il est personnel et doit être conservé à vie.

La paie est une donnée du contrat de travail qui peut être négociée avec le
représentant de l’entreprise ou le responsable des ressources humaines en fonction du
travail à fournir et de l’expérience professionnelle. La négociation se fait au moment
de l’embauche ou au moment de l’entretien d’évaluation annuel. Le bulletin de paie
doit être remis au salarié de manière régulière (généralement tous les mois) au moment
du versement de la paie.

I.1.6. Bureau

Le bureau peut être définit comme lieu de travail des employés d’une
administration ou d’une entreprise, lieu où sont centralisés les services administratifs
et commerciaux d’une entreprise.

I.1.7. Gestionnaire15

Un gestionnaire est une personne morale qui a la responsabilité de la gestion


d’une affaire, d’un service d’une administration. Personne qui assure la gestion
l’administration des affaires publiques, mais qui ne participe pas à la prise de décision
politique.

I.1.8. Bureau gestion16

Un bureau gestionnaire est toute structure du Ministère de l’Enseignement


Primaire, Secondaire et Professionnel ou d’une Association enseignante, du niveau
national, provincial ou local qui assure directement ou indirectement la gestion
administrative, pédagogique, financière et patrimoniale des écoles publiques et privées
agréées.

En d’autres termes, un bureau gestionnaire est un bureau administratif dont le


personnel est pris en charge par le Trésor Public (mécanisés payés) et dont l’existence
est justifiée par un acte règlementaire régulièrement notifié.

14
Www.studocu.com
15
Www.wikipédia.com : gestionnaire/définition

16
Etude sur l'efficacité des Bureaux Gestionnaires ACCELERE !2
P a g e | 21

I .2. DEFINITION DES CONCEPTS ET CONNEXES


I.2.1. Langage de programmation

En effet, on appelle langage de programmation, en informatique, un ensemble


de signes (ou symbole) et de règles utilisés pour programmer les ordinateurs. La notion
de règle est liée à la syntaxe, alors que les symboles constituent l’alphabet du langage.

I.2.2.1. Langages interprétés17

Un langage interprété requiert un interpréteur et cette traduction à la volée est


la cause première de la lenteur des langages dits interprétés. Dans ces langages, le
code source (celui que vous écrivez) est interprété par un logiciel qu’on appelle
interpréteur. Celui-ci va utiliser le code source et les données d’entrée pour calculer les
données de sortie. Exemple : Java, Python, Lisp, Forth, perl et autres.
Données d’entées

Code source Interpréteur

Donnée de sortie

Figure I.3. Présentation du langage interprété.

L’interprétation du code source est un processus « pas à pas » : l’interpréteur


va exécuter les lignes du code une par une, en décidant à chaque étape ce qu’il va faire
ensuite.

I.2.2.2. Langages compilés18

Dans ce langage, le code source (celui que vous écrivez) est tout d’abord
compilé, par un logiciel qu’on appelle compilateur, en un code binaire qu’un humain
ne peut pas lire mais qu’il est trop facile à lire pour un ordinateur. C’est alors le
système d’exploitation qui va utiliser le code binaire et les données pour calculer les
données de sorties.

Exemple : Visual basic, C, C++, Pascal, Ada et autres

17
www.google.com: programmation-langage compilé
18
www.google.com: programmation-langage interprété.
P a g e | 22

Code source

Compilateur
Données d’entrée

Code binaire Système d’exolitation

Données de sortie

Figure I.4. Présentation du langage compilé

Cette figure illustre qu’un programme compilé n’est pas directement


exécutable par le système d’exploitation.

I.3. CONCLUSION PARTIELLE

Nous voici à la fin de ce premier chapitre, qui plante les décors d’une belle
aventure scientifique en définissant les concepts et expressions de base et connexes lié
au sujet qui fait l’objet de notre étude.

Cette façon de procéder témoigne la volonté de se soumettre aux exigences de


la science pour qu’après nous, tous ceux qui nous lirons dans l’objectif de savoir
comment l’on a mené ce travail qui marque la fin de notre cycle de graduat ou soit
dans le but d’apprendre de nous arquèrent la connaissance pour cultiver leur esprit.
P a g e | 23

CHAP II ETUDE DE L’EXISTANT

II.0. INTRODUCTION

Pour arriver à la réalisation de ce dit travail scientifique, étude s’est effectuée


dans le bureau de la sous-division provinciale de l’ESPT de Tshikapa II qui posent son
siège administratif sise du n°……de l’avenue kapata dans la commune de Dibumba II
quartier ……….

II.1 CONTEXT HISTORIQUE

La sous-division de l’EPST Tshikapa II est issue de la scission de sous-


division de Tshikapa, elle a été créée par un arrêté ministériel n°
MINEPS-INC/CABMIN/0220/2016 du 30/06/2016, scission de la sous-division
Tshikapa dans la province du Kasaï

Cette institution gérait les établissements de trois (3) communes de la ville de


Tshikapa dont la commune de Dibumba I, Dibumba II, et la commune de Kanzala.
Elle a connu une scission par l’arrêté ministériel n°
MINESPT/CABMIN-ETAT/JB/0009/H/2020 du 13/01/2020 et elle a donnée
naissance à la sous-division de Kanzala d’où elle gère aujourd’hui les établissements
de deux (2) communes restante parmi les trois ciblés dès la création dont la commune
de Dibumba I, et Dibumba II.

A son sein elle a au totale 423 établissements qui se subdivisent de la manière


comme suite dont 29 écoles maternelles, 222 écoles primaires, et en fin 172
établissements scolaires. Depuis qu’elle est neutre a connue deux dirigeants à s’avoir :

De 2016-2022 par monsieur le sous-proved Michel KIMWAMWA-


KASSONGHO

De 2022 à nos jours par monsieur le sous-proved Benjamin KONGO-


BUSHABU en fonction.

II.2 SITUATION GEOGRAPHIQUE

Ses limites géographiques se déclinent comme suite :

- A l’Est : par sa voisine TSHIKAPA 1 qu’elle sont séparée par la rivière Kasaï ;
- A l’Ouest : elle fait limite avec la Sous-Division de Katanga ;
- Au Sud : par la rivière Tshikapa et sa voisine Kanzala et ;
- Au Nord : par la Sous-Division Provinciale de Katanga.
P a g e | 24

II.3. MISSIONS ET OBJECTIFS

La Sous-Division est une entité de l’enseignement primaire, secondaire et


technique, en sigle ‘’EPST’’ servant de remplir une double mission parmi lesquelles :

a) MISSION PEDAGOGIQUE
- Veiller à respect du calendrier scolaire,
- Veiller à l’exécution et en respect des normes pédagogiques édictées par la
hiérarchie ;
- Exploiter les différents rapports des établissements scolaires ;
- Exploiter les rapports des inspecteurs itinérants et des conseillers
d’enseignement ;
- Assurer l’organisation du test national de fin d’études primaires (TENAFEP).
b) MISSION DE LA BONNE GOUVERNANCE
- S’assurer de l’existence effective et du fonctionnement des organes de gestion
des établissements que le conseil de gestion scolaire, le comité des parents et
des élèves (COGE, COPA, et COEL),
- S’occuper de la participation effective de COPA et COGE à la gestion
pédagogique, administrative, financière et patrimoine des établissements ;
- S’occupe la gestion et la maitrise des mouvements du personnel (assis et
débout) ;
- Assurer le paiement des salaires du personnel ;
- Veiller au respect de l’application des normes de construction des
établissements d’enseignement et à leur maintenance ; et enfin
- Assure la gestion administrative tant financière du bureau de la Sous-Division.

II.4. ORGANISATION ET FONCTIONNEMENT DES SERVICES

S’il faut bien voir, parler de l’organisation se visualiser la situation structurelle


de l’entité en générale, toucher dans tous les coins et recoins et paramètres de la Sous-
Division.

II.4.1. ORGANISATION DE LA SOUS-DIVISION DE TSHIKAPA II

La Sous-Division Provinciale de l’EPST Tshikapa II à son sein encadre au


maximum neufs (9) structures ou cellules qui sont :

II.4.2. FONCTIONNEMENT

La Sous-Division Provinciale de l’enseignement primaire, secondaire et


technique de Tshikapa II fonctionne avec neufs cellules au total parmi les neuf
P a g e | 25

structures chacune d’elle joue son rôle dans son bureau telle qu’elle est indiquée.
Lorsqu’il y a visite, les visiteurs passe au préalable par la réception il fasse la
présentation avec le motif de la visité, à son tour il va diriger le visiteur vers la porte de
secrétariat, le secrétaire doit l’accueillir et il doit se réagir par rapport au motif de
visité, ensuite il vous donne l’accès de voir n’importe quel bureau que vous avez
besoin.

II.5. ANALYSE DE POSTE DE TRAVAIL

II.5.1. ANALYSE DES DOCUMENTS

Les documents qui sont utilisées au sein du bureau de Secrétariat sont


lesquelles :

- Registre des lettres reçues ;


- Registre des lettres expédiées ;
- Cahier des invitations reçues
- Cahier des invitations expédiées ;
- Cahier d’enregistrement des communiqués ;
- Cahier d’enregistrement ou d’accusé de réception des lettres des transmissions
de rapport annuel et trimestriel ;

1) Registre des lettres reçues :

C’est un document destiné enregistrer les différents documents, lettres venant


dans le différent service de l’Etat entre autre Coordination Provinciale et Sous-
Provinciale, Etablissement scolaire, Conseillerie, ANR, Parquet, etc…

2) Registre des lettres expédiées :

Un document qu’on enregistre toute les lettres sortantes du bureau pour


atteindre le destinateur en cas de difficulté dans le milieu respectif surtout dans
le secteur d’enseignement, même dans les divergences services ou domaine de
l’Etat Congolais.

1. Cahier des invitations reçues :

C’est aussi un document qui sert à enregistrer les différentes invitations


provenant de nos partenaires éducatifs ou dans d’autres services de l’Etat
Congolais dans toute les domaines tel que nous l’indiquons par tous là. C’est-à-
dire les établissements scolaires, les conseilleries provinciale tant sous-
provinciale, le DINACOPE, le DIPROCOPE, les Division Provinciale, etc…

2. Cahier des invitations expédiées


P a g e | 26

C’est toujours un document tenu lors d’une invitation qui arrive au sein du
bureau pour l’enregistrement des numéros des invitations, au référant article,
date d’expédition, service émetteur, motif, destinataire, observation, date de
réponse, etc…

3. Cahier d’enregistrement de communication

Est un cahier destiner à enregistrer le numéro et le motif de tous les


communiqués du bureau. Il est arrivé que les activités du bureau ne marchent
pas bien ou les activités des établissements scolaires qui n’évoluent pas bien, le
gestionnaire doit lancer un communiqué qui indique la date et le jour prévue
pour prendre part à une réunion de qualité pour améliorer la faille de toute les
activités qui ne marche pas dans un bureau ou dans un établissement scolaire.

4. Cahier de transmission des lettres, rapport annuel et trimestriel :

C’est un cahier ou document qui est pour objectif de mettre en place un


enregistrement des rapports qui quitte au différent poste de travail,
établissement scolaire, coordination provinciale et sous-provinciale. Pour de
raison suivante :

- Connaitre du début à la fin toute les activités qui marche de pair avec les
instructions de la hiérarchie aux différents gestions ;
- Elaborer un rapport à la fin du chaque période des examens et chaque fin du
trimestre pour s’assurer bel et bien la fonctionnalités d’une école.
P a g e | 27

CHAPITRE III MISE EN PLACE D’UN SYSTEME INFORMATIQUE POUR LA


GESTION DE PAIE DANS UN BUREAU GESTIONNAIRE

III.1. INTRODUCTION

Dans ce chapitre nous allons montrer comment on a procédé étape par étape
pour mener à fond le sujet qui fait l’objet de notre étude. Un cahier de charge a été
initialement défini (les besoins de l’employé), la modélisation a été faite sur JMerise
pour alléger la tâche d’avoir un MLD écrite à la main et les lignes de code ont été
écrites en PHP et JavaScript.
5.

III.1. CHOIX DES OUTILS DE DEVELOPPEMENT

 Outil de modélisation : MERISE


 Plateforme : WampServeur version 3.2.6 X64bits
 Serveur d’application : PHP version 7.4.46
 Serveur de base de données : MySql version 5.7.36
 Serveur Web : Apache version 2.4.51
 Editeur de code : Visual studio code et MySQL WOrkbench
 Langage de programmation : PHP et JavaScript
 Langage de balisage : HTML
 Langage de style : CSS

III.2. SUBVISION DU CHAPITRE

Pour raison de lisibilité et d’organisation, nous avons optés de subdivisé le


présent chapitre en deux (2) grandes parties comprenant chacune plusieurs sections.
P a g e | 28

PREMIERE PARTIE : CONCEPTION DE LA BASE DE DONNEES


De modèle aux bases de données
P a g e | 29

SECTION I

ETAPE CONCEPTUELLE

Cette étape répond essentiellement à la question quoi ? c’est-à-dire que doit-on


introduire à la base de données ? Elle consiste à concevoir un système de données
composées des objets du domaine de l’étude.

Il est question de définir toute sémantique utilisée dans le secteur intéressant


notre application, soit les objets manipulés et relations existants entre ces objets.

La modélisation est l’activité qui consiste à produire un modèle. Un modèle


est ce qui sert ou doit servir d’objet d’imitation pour faire ou reproduire quelque chose.
On s’intéresse ici à la modélisation des données. Un modèle des données est une
représentation de l’ensemble des données. Cette représentation prend en compte un
outil de représentation (un langage) et un niveau de précision (des contraintes
méthodologiques). Il existe plusieurs modèles de représentation des données :
hiérarchique, relationnel, entité association, objet, ensembliste, etc. Les deux modèles
dominant actuellement sont : le modèle relationnel : MR (qui correspond aux SGBD-
R) et le modèle entité-association : MEA (qui est indépendant du type de SGBD
utilisé). Ces deux modèles correspondent à 2 langages différents. Les schémas entité-
relation et les diagrammes de classe UML peuvent être utilisés comme autres langages
à peu près équivalents au MEA. La méthode MERISE, utilisée quasi-exclusivement en
France, distingue entre 3 types de modèles selon des critères méthodologiques : le
modèle conceptuel des données : MCD, le modèle logique des données : MLD et le
modèle physique des données : MPD. L’usage tend à rendre équivalents MCD et
MEA, MLD et MR, MPD et SQL. Le MCD est du niveau de l’analyse fonctionnelle et
est adapté à la maîtrise d’ouvrage (MOA). Le MLD est du niveau de l’analyse
organique et est adapté à la maîtrise d’œuvre (MOE).
P a g e | 30

III.2.1 NIVEAUX D’ANALYSE POUR LA CONSTRUCTION D’UNE BASE DE


DONNEES

La figure 1.2 Schématise la construction d’une base des données.

Monde réel

1. Analyse

Spécification de la
BD Schéma externe

2. Modélisation 6. Vues

Schéma conceptuel Schéma Logique

3. Traduction

BD
Schéma relationnel Physique

Figure III.1. Construction d’une base de données

III.2.2 ETAPE DE CONCEPTION DE BASE DE DONNEES

On peut décomposer le processus de conception d’une base de données en


plusieurs étapes :

1. L’analyse du système du monde réel à modéliser ;


2. La mise en forme du modèle pour l’intégrer dans un SGBD ;
3. La création effective dans le SGBD des structures et leur remplissage.

III.2.3 LES DONNEES

LE MODELE CONCEPTUEL DES DONNES (MCD)

Cette modélisation s’appuie sur l’ensemble des données manipulées par


l’organisation étudiée et sur les règles de gestion, les données étant la représentation
des propriétés définissant des rapports entre ces propriétés. Le modèle conceptuel de
données écrit la sémantique c’est-à-dire le sens attaché et à vers rapport, et non
utilisation qui peut en être fait. Ces ensembles des propriétés décelées dépendent
P a g e | 31

directement les uns des autres constitueront des objets conceptuels reflet d’objet de
l’entreprise.

III.2.3.1 RECENSEMMENT DES OBJETS

III.2.3.1.1 DEFINITION DE CONCEPTS

Un objet : un objet est toute entité abstraite ou concrète ayant une existence autonome
c’est –à-dire existence propre et présentant un intérêt certain dans un domaine de
question considérée19.

Une propriété : est définie comme étant la plus petite partie logique d’information
manipulée par l’entreprise ayant un sens en elle-même20

Un identifiant : identifiant est une propriété qui permet de distinguer sans ambigüité
l’occurrence d’un objet 21

Une relation (association) : relation ou association est le lien qui existe entre deux
objets ou plusieurs

Ainsi pour recenser les objets, nous avons suivi la démarche proposée par D. DIONSI
qui consiste à :

- Etablir une liste des données à partir des documents du bureau


gestionnaire ;
- Classer ces données par ordre alphabétique ;
- Procéder à l’épuration des polysémies, des synonymes et des redondances ;
- Et rattacher à ces objets les propriétés en dépendance fonctionnelle de leur
identifiant.

Pour notre application (Système informatique), nous avons recensé les objets suivants :

o Administrateur (Gestionnaire)
o Personnel
o Opérateur de saisie1
o Opérateur de saisie2
o Caissière
o Listing
o Compte
o Payement

19
D.DIONSI, L’essentiel sur Merise, Ed. EYLOLLES, 1995, P50
20
(),( 24) D.DIONSI, L’essentiel sur Merise, Ed. EYLOLLES, 1995, P50
21
P a g e | 32

III.2.3.1.2 DESCRIPTION SEMANTIQUE DES OBJETS


Objet Code Nombre Libellé objet Code propriété Long Nature Id Degré de
objet d’occurrence ueur confidentialité
Gestionnaire GE 1 L’administrateur -Matricule 10 N # 1
de l’application -Nom_admin 20 AN
-Mdp 10 AN
Personnel PE 100 Les bénéficiaires -Id_pers 5 N # 1
des salaires -Matricule 10 AN
-Nom 20 AN
-Prénom 20 AN
-Sexe 1 AN
-Photo 15 N
-Phone_number 10 AN
-Date_naiss 10 AN
-Lieu_naiss 10 AN
-Fonction 5 AN
-Grade 10 AN
-Date_eng 10 AN
Opérateur de OPS 1 Agent habilité de -Matricule 10 N # 1
saisie1 numériser les -Nom_ops 20 AN
données -Mdp 10 AN
Opérateur de OPS 1 Agent habilité de -Matricule 10 N # 1
saisie2 numériser les -Nom_ops 20 AN
données -Mdp 10 AN
Caissière CS 3 Agent payeur -Matricule 10 N # 1
-Nom_caissière 20 AN
-Mdp 10 AN
Compte Co 1 Emplacement où -Num_compte 10 N # 1
est logé l’argent à -Nom_compte 15 N
payer aux agents -Type_compte 10 AN
-Crédit 10 N
Listing Li 1 Liste des agents -Trimestre 10 N # 1
devant percevoir -Mois 10 AN
le salaire -Matricule 10 N
-Nom 20 AN
-Prénom 20 AN
-Sexe 1 N
-Photo 150 AN
-Fonction 10 AN
-Grade 5 N
-Montant 10 N

Payement Pa 300 Table comportant -Num_payement 10 N # 1


les noms des -Num_list 10 N
agents déjà payé -Matricule 10 N
pour éviter la -Nom 20 AN
fraude. -Montant 10 N
-Matricule_caissiere 10 AN
-Date_payement
Tableau III.1. DESCRIPTION SEMANTIQUE DES OBJETS

III.2.3.2 RECENSEMENT ET DESCRIPTION DES RELATIONS


P a g e | 33

III.2.3.2.1 DEFINITION DES CONCEPTS

- Dimension d’une relation : est le nombre d’objets ou d’objets ou entités


types participant à cette relation type. Nous distinguons de relation du type :
BINAIRE, TERTIAIRE, M-AIRE
- Occurrence d’une relation : est le nombre d’objet type participant dans cette
relation pour leur occurrence.

III.2.3.2.2 DESCRIPTION DES RELATIONS

N° Relation Propriété en Dimension Objets Objets Longueur Nature


code sources cibles
1 Engager -Num_Eng 2 Gestionnaire Personnels 10 AN
-Date_Eng
-Matricule
-Nom
-Prenom
-Sexe
-Phone_number
-Date_naiss
-Lieu_naiss
-Grade
-Fonction
2 Créditer -Num_com 2 Gestionnaire Compte 10 AN
-Nom_com
-Type_com
3 Instruire -Num_Eng 2 Gestionnaire OPS1 10 AN
-DateEng
4 Inscrire -Id 2 OPS1 Personnel 10 AN
-Num_Eng
-Matricule
-Nom
-Prenom
-Sexe
-Phone_number
-Date_naiss
-Lieu_naiss
-Grade
-Fonction
-Photo
5 Permettre - 2 Gestionnaire OPS2 10 AN
6 Dresser -Trimestre 2 OPS2 Personnels 10 AN
-Mois
-Id
-Num_Eng
-Matricule
-Nom
-Prenom
P a g e | 34

-Sexe
-Phone_number
-Date_naiss
-Lieu_naiss
-Grade
-Fonction
7 Autoriser - 2 Gestionnaire Caissière 10 AN
8 Utiliser 2 Caissière Listing 10 AN
-
9 Payer - 2 Caissière Personnel 10 AN
10 Valider - 2 Caissière Payement 10 AN
11 Percevoir - 2 Personnel Payement 10 AN
12 Consulter - 2 Gestionnaire Payement 10 AN
Tableau III.2. Description des relations
III.2.3.3 ETUDE DE CONTRAINTE D’INTEDRITE FONCTIONNELLE (C.I.F)

Il y a plusieurs contraintes notamment, les contraintes extra, … mais pour ce


qui concerne notre travail nous allons utiliser les contraintes intra relation c’est-à-dire
celles existant entre un ou plusieurs entités.

III.2.3.3.1 Définition

Une contrainte est une obligation à laquelle on ne peut échapper. Sachant qu’il
y a plusieurs catégories de contraintes intra qui est la contrainte intra relation.

III.2.3.3.2 Contrainte de cardinalité

La cardinalité est définie comme étant le nombre d’élément qui appartient à un


ensemble. La contrainte de cardinalité représente pour chaque compte objet relation les
membres minimum et maximum d’occurrence d’objet. Elles mesurent lorsque l’on
parcourt l’ensemble des occurrences impliquées dans le couple.

Elles sont notées :

- (0,1) : représente qu’une occurrence de l’objet peut exister sans pour


autant participer à la relation donc 0 et ne participe jamais plus d’une
foi.22
- (0, n) : la plus ouverte, cette cardinalité implique qu’une occurrence de
l’objet peut exister sans pour autant impliquer à la relation (0) et peut
participer sans limitation (n).
- (1,1) : elle implique qu’une occurrence de l’objet participe au moins et
au plus une fois à la relation.

22
D.DIONSI, op. cit, P74
P a g e | 35

- (1, n) : elle implique qu’une occurrence de l’objet participe au moins


une fois à la relation (1) et peut participer sans limitation.

III.2.3.4 DEPENDANCE FONCTIONNELLE (D.F) OU CONTRAINTE


D’INTEGRITE FONCTIONNELLE (C.I.F)

La dépendance fonctionnelle (D.F) ou contrainte d’intégrité fonctionnelle


(CIF) est définie sur une relation représentant le fait que l’un des objets de la relation
identifiée sans aucun doute par la connaissance d’un ou plusieurs autres.
P a g e | 36

MCD

Figure III.2 Présentation du modèle conceptuel de données


P a g e | 37

Règle de passage MCD - MLD

Règle numéro 1 :

a) Une entité du MCD devient une relation, c’est à dire une table. Dans un SGBD
(Système de Gestion de base de données) de type relationnel, une table est une
structure tabulaire dont chaque ligne correspond aux données d'un objet enregistré
(d'où le terme enregistrement) et où chaque colonne correspond à une propriété de cet
objet. Une table contiendra donc un ensemble d’enregistrements. Une ligne correspond
à un enregistrement. Une colonne correspond à un champ. La valeur prise par un
champ pour un enregistrement donné est située à l’intersection ligne-colonne
correspondant à enregistrement-champ. Il n’y a pas de limite théorique au nombre
d’enregistrements que peut contenir une table. Par contre, la limite est liée à l’espace
de stockage.

b) Son identifiant devient la clé primaire de la relation. La clé primaire permet


d’identifier de façon unique un enregistrement dans la table. Les valeurs de la clé
primaire sont donc uniques. Les valeurs de la clé primaire sont obligatoirement non
nulles. Dans la plupart des SGBDR (Système de Gestion de Base de Données
Relationnelle), le fait de définir une clé primaire donne lieu automatiquement à la
création d’un index. Un index est un fichier interne au SGBD. L’utilisateur standard
n’a pas besoin d’y accéder. L’index a pour but d’accélérer les traitements de
recherche, de tri, de filtre et notamment sur les tables avec de nombreux
enregistrements. La contrepartie est que l’index nécessite de l’espace mémoire et
surtout, les temps d’insertion, de suppression d’enregistrements sont plus importants
car il faut mettre à jour à la fois la table et l’index.

c) Les autres propriétés deviennent les attributs de la relation.

Compte
Compte (Num_compte, Nom_compte, Type_compte, Crédit)
Num_compte Num_compte : clé primaire de la table Caissière
Nom_Compt
e
Type_compte
Crédit
Figure III.3. Présentation d’une entité

Num_compte Nom_compte Type_compte Crédit


120.546.120 Du bois 00243 81 307 4222 1450222 $
552.632.102 Martine 00243 081 18 4222 4589625 $
452.482.852 Triomphe 00243 82 28 74 222 2013655 $
P a g e | 38

Règle numéro 2 :

Une association de type 1 : N (c’est à dire qui a les cardinalités maximales


positionnées à « 1 » d’une côté de l’association et à « n » de l’autre côté) se traduit par
la création d’une clé étrangère dans la relation correspondante à l’entité côté « 1 ».
Cette clé étrangère référence la clé primaire de la relation correspondant à l’autre
entité.

GESTIONNA Caissière Gestionnanire (Matricule_admin, Nom_admin,


IRE Phone, Mdp) Matricule : clé primaire de la
0, 1 1, n Matricule_ table gestionnaire.
Matricule_ad Autoriser cais Caissière (Matricule_cais, Nom_cais, Phone,
min Nom_cais Mdp) Matricule : clé primaire de la table
Nom_admin Phone gestionnaire
Phone Mdp
Figure III.4. Présentation d’une association du type 1 : N

Table caissière

Matricule_cais Nom_caissière Phone Mdp


2/745.0012 R MWILA 00243 81 307 4222 1520fela001
2/745.410 E YAMBA 00243 81 221 458 José1520rk
2/745.254 H KONKOLO 00243 81 632 456 45Vie00125

Table gestionnaire

Matricule_admin Nom_caissière Phone Mdp


2/745.587 L FELA 00243 99 926 2884 1520fela001

Règle numéro 3 :

Une association de type N : N (c’est à dire qui a les cardinalités maximales


positionnées à « N » des 2 côtés de l’association) se traduit par la création d’une table
dont la clé primaire est composée des clés étrangères référençant les relations
correspondant aux entités liées par l’association. Les éventuelles propriétés de
l’association deviennent des attributs de la relation.
P a g e | 39

PERSONNE
L Caissière Personnel (Id, Matricule, Num_Eng, Date_Eng, Nom, Prénom, Sexe, Photo,
Phone, Date_naiss, Lieu_naiss, Grade, Fonction
1,n 1,n
Id Matricule ) Matricule : clé primaire de la table Personnel.
Matricule Payer Nom_caissi
Num_Eng ère Caissière (Matricule, Nom_caissière, Phone, Mdp) Matricule : clé
Date_Eng Phone primaire de la table gestionnaire
Nom Mdp
Prénom
Sexe PAYER (#Matricule, # Matricule_cais)
Photo # Matricule, # Matricule_cais : clé primaire composée de la table PAYER
Phone # Matricule : clé étrangère qui référence Matricule de la table PERSONNEL # #Matricule_cais : clé étrangère qui
Date_naiss référence Matricule_cais de la table caissière.
Lieu_naiss
Grade
Fonction
Figure III.5. Présentation d’une entité du type N : N

Table Personnel

Id Matricule Num_enr Date_enr Nom Prénom Sex Photo Phone Date_nais Lieu_naiss Grade Fonction
e s
1 7/140.201R 001 14/08/2020 LULUA Jean M - 081025 05/08/1991 Kananga - -
2 7/140.002E 002 15/08/2020 MBIYE Laurent M - 081456 02/06/1993 Boma - -
Y
3 7/140.056H 003 15/08/2020 YAMBA Prince M - 01205 08/08/1991 Tshikapa - -

Table caissière

Matricule_cais Nom_caissière Phone Mdp


2/745.0012 R MWILA 00243 81 307 4222 1520fela001
P a g e | 40

2/745.410 E YAMBA 00243 81 221 458 José1520rk


2/745.254 H KONKOLO 00243 81 632 456 45Vie00125
Cas particuliers : associations 1,1 : On entend par association 1,1 une association dont les cardinalités maximales sont à 1 de chaque
côté.
Il faut évaluer l’importance de la cardinalité minimale à 0 (zéro de chaque côté).
Si le pourcentage du gestionnaire qui instruit est peu important, on traitera le 0
GESTIONNA
OPS1 comme un 1 en plaçant une clé étrangère dans la table « ops1 ».
IRE
0,1 0,1
Matricule_ops Si le pourcentage de ops1 sans gestionnaire est peu important, on traitera le 0
Matricule_ad Instruire Nom_ops
min comme un 1 en plaçant une clé étrangère dans la table « gestionnaire ». Si le
Phone
Nom_admin Mdp pourcentage du gestionnaire qui instruit est important et que le pourcentage de
Phone ops1 sans gestionnaire est important, on traitera l’association comme si les
cardinalités maximales étaient à N de chaque côté. Dans ce cas, on obtient une
Figure III.6. Présentation d’une entité du type 1 : 1
table supplémentaire mais qui contiendra peu d’enregistrements.
Passage au MLD :
- L’entité mère se transforme en table
- Les entités filles se transforment en table
- L’identifiant de l’entité mère devient la clé primaire de la
table qui correspond à l’entité mère et aux tables qui
correspondent aux entités filles
- Les propriétés des entités se transforment en attributs des
tables
- Les clés primaires des « tables filles » sont aussi des clés
étrangères qui référencent la clé primaire de la « table
mère »
- Un champ est ajouté dans la « table mère » pour
permettre de typer les occurrences, c'est-à-dire
d’identifier quelle est la « table fille » concernée.
P a g e | 41

MLD

Figure III.7 Présentation du MLD


P a g e | 42

SECTION II

ETAPE ORGANISSATIONNELLE

Cette étape est la deuxième étape de conception de notre base de données, car
elle est considérée comme image de réalité. Toute réalité complète doit être
représentée pour être comprise.

Elle permet de définir la présentation dans l’organisation est les modalités aux
données ainsi que la répartition et les modalités d’exécution des traitements décrits
dans les opérations de gestions en tenant compte de considérations d’organisation en
particulier, les parcours des informations, le rôle des acteurs, les niveaux décisions et
les habitants23.

Et a pour but la description du fonctionnement du système d’information

III.2.4. ORGANISATION A METTRE EN PLACE

A ce niveau, nous allons procéder à la définition de l’organisation et des


modalités d’accès dans les opérations de gestion. Ainsi donc, nous allons répondre aux
questions suivantes :

a. Qui ? : pour déterminer celui qui exécute les tâches.

- Si le travail est exécuté par l’homme : tâche est « manuelle »,


- Si le travail est exécuté par la machine : tâche est « informatique »,
- Si le travail est exécuté par l’homme et la machine : tâche est « interactive »
(c’est-à-dire « réelle » ou « conventionnelle »).24

b. Quand ? : cette question détermine la périodicité ou déroulement du travail, et si le


travail se déroule :

- Chaque jour : tâche « journalière » ;


- Chaque semaine : tâche « Hebdomadaire » ;
- Certains jours : tâche « apériodique ».

c. Où ? : ici, il faut définir le poste du travail ou la station où s’effectuera le travail.

C’est alors que nous aboutirons aux modèles organisationnel de données (MOD) à
partir du MCD, ce qui nous amène à définir deux niveaux du MOD :

- MOD global dérivé du MCD


- MOD local dérivé du MOD global.
23
Georghes Panet et R. LETOUCHE, Merise 2 modèle avancé, ed. Org, Paris 1994, p159
24
https://www.innivons.net
P a g e | 43

III.2.4.1. PASSAGE DU MCD AU MOD

Le MOD est tournés vers la gestion des droits des utilisateurs sur une base de
données. C’est une reprise directe du MCD correspondant, au sein duquel on précise
les droits d’un profil d’utilisateurs (i.e. un acteur, un poste de travail, ces mêmes
acteurs internes que l’on retrouve dans le modèle de flux (MF) et le modèle
organisationnel des traitements (MOT et MOTA)). On rédige un MOD par acteur
interne. Les droits sont précisés : - soit à côté de chaque entité et association ; - soit en
lieu et place des propriétés (resp. Propriétés portées) des entités (resp. Association).

En BTS CGO, on retrouve également les appellations : modèle de(s) vues et


modèle CIMS. Notez que, lorsqu’un programmeur parle de vue, il ne parle absolument
pas de MOD… Il parlera en règle général de vue au sens de l’architecture MVC (hors
programme). Cette terminologie n’est donc ni générique ni appropriée, mais à retenir.

On distingue les droits suivants : - Création (Create) : droit d’effectuer une


requête de type INSERT, sous-entendu création d’un enregistrement (d’un « tuple ») ;
- Interrogation (Read) : droit d’effectuer une requête de type SELECT, sous-entendu
droit de lecture, de récupération d’enregistrements ; - Modification (Update) : droit
d’effectuer une requête de type UPDATE, sous-entendu droit de modifier un
enregistrement ; - Suppression (Delete) : droit d’effectuer une requête de type
DELETE, sous-entendu droit de supprimer un enregistrement.

Ce passage consistera donc à supprimer dans le MCD des objet set des
relations qui ne seront pas mémorisé informatiquement, dans le cas contraire c’est-à-
dire, qu’il y a rien à supprimer, alors notre MCD est égal au MOD global. Pour notre
application nous avons pu constater qu’il n’y a pas d’objets ni de relations à
supprimer, ce qui nous amène à dire que notre MCD = MOD global. Ainsi donc, nous
avons dégager deux différents MOD locaux à savoir :

- MOD local ENREGISTREMENT


- MOD local PAYEMENT
P a g e | 44

III.2.4.1.1 MOD local ENREGISTREMENT

Gestionnaire Personnel
1,1 1, n
N=1 Engager N = 100
T = 55 T = 326

1, n
1 ,1
OPS1
1, n 1, n
Instruire Inscrire
N=1
T = 55

Figure III.8. Présentation du MOD d’enregistrement


P a g e | 45

III.2.4.1.2 MOD local de PAYEMENT DANS LA BDD

Compte
Créditer N=1
T = 55
Valider
Autoriser

Gestionnaire Caissière Payement


1,1
N=1 Autoriser N=3 N = 300
T = 55 T = 55 T = 100

1 ,1 1, n
Personnel Utiliser
1,n

Percevo
Permettre N = 100 Payer

ir
T = 326

Listing
OPS2
N=1
N=1 Déclarer T = 311
T = 55

Dresser

Figure III.9. Présentation du MOD de payement


III.2.4.2 QUANTIFICATION DES PROPRIETES

Dans cette étape, il s’agira pour nous en tant que concepteur d’un nouveau
système d’exprimer la taille de données du personnel enregistré dans la BDD en terme
de nombre de caractères, l’estimation de cette taille doit se garder sur le format
apparent de représentation que l’utilisateur lui indique.
P a g e | 46

III.2.4.2.1 CALCUL DE TAILLE DES OCCURRENCES DES OBJETS

PERSONNEL
GESTIONNAIRE OPS1 OPS2
-Id …………………….5
-Matricule# ……..10 -Matricule# ……..10 -Matricule# ……..10
-Matricule …......10
-Nom_Admin …..20 -Nom_OPS ………20 -Nom_OPS ………20
-Phone …………….15 -Num_Eng ……5
-Phone …………….15 -Phone …………….15
-Mdp ……………….10 -Date_Eng …...10
-Mdp ……………….10 -Mdp ……………….10
-Matricule# ……...10
TAILLE ………….55 -Nom ……………..…20
TAILLE ………….55 TAILLE ………….55
-Prénom………….…20
-Sexe ………..………..1
Caissière -Photo …………….150 Compte
-Phone …………..…15 Listing
-Matricule# ……..10 -Date_naiss ………20 -Num_compte# ……..10
-Nom_caissière...20 -Lieu_naiss .………20 -Trimestre……….…….5
-Nom_Compte ……...20
-Phone …………….15 -Grade ……..………20 -Mois ………..……....10
-Type_compte..….….10
-Mdp ……………….10 -Fonction …………20 -Num_list# .........10
-Crédit …………………..15
-Id ………………….…….5
TAILLE ………….55 TAILLE ………….326 -Num_Eng …….10
TAILLE ………….55
-Matricule……...10
-Nom………..…20
Payement -Prénom….….…20
-Sexe…..………..1
-Num_paie………………..…….10 -Photo .……….150
-Num_list…..……………..…....10 -Grade ………...20
-Num_list# ......................10 -Fonction ……...20
-Matricule……………...10 -Montant ………10
-Nom………..…………20
-Montant.……………...20 TAILLE …….311
-matricule_caissier……10
-Date_paie……..10

TAILLE ………….100

Figure III.10. TAILLE DES OCCURRENCES DES OBJETS

III.2.4.2.2 CALCUL DE VOLUME DES FICHIERS

Il nous permet d’estimer le volume de notre BDD. Ce calcul est réalisable à


partir de la formule suivante :

VOL.FICH = N.T

Avec N : nombre d’effectif

T : taille du fichier
P a g e | 47

Ainsi donc, ce volume de la BDD est obtenu par la sommation des volumes de
tous les fichiers qui ont constitués notre BDD.

VOL.BDD = ∑ VOL.FICH

III.2.4.2.3 LES VOLUMES DES FICHIERS (OBJETS)

Nous tenons à signaler que notre MOD global a des relations du type autre que père et
fils. Ces relations plus loin deviendrons des tables (fichiers). Nous devons
obligatoirement calculer leurs volumes pour estimer la taille de notre BDD.

Objet EFFECTIF TAILLE VOLUME(N.T)


D’OCCURRENCES
GESTIONNAIRE 1 55 55 caractères
COMPTE 1 50 50 Caractère
OPS1 1 55 55 caractères
OPS2 1 55 55 caractères
PERSONNEL 100 326 32600 caractères
CAISSIERE 3 346 1036 caractères
LISTING 1 40 40 caractères
PAYEMENT 300 100 300000 caractères
Tableau III.3. Volumes des fichiers

Nous avons 6 relations qui sont du type père et fils qui deviendront de fichiers. Le
volume est obtenu de la manière que les autres fichiers de la base de données. Mais
pour trouver l’effectif (N) de la relation, nous allons l’obtenir à partir de la formule
suivante : N = Ni.m

Avec Ni : effectif de l’objet déclenchant l’action dans la relation,

M : Sa cardinalité moyenne qui est calculée à partir de m = Cm(d’objet).N


(nombre d’objet)

III.2.4.2.4 LES VOLUMES DES FICHIERS (RELATIONS)

FICHIERS effectif de Cardinalité Effectif de Taille (T) Volume du


l’objet moyenne de la relation fichier
déclenchant la relation N = Ni*m (relation)
l’action (m) VOL = N.T
dans la (en
relation (Ni) caractère)
Vérifier 100 0,80 80 7 560
Engager 100 0,80 80 11 880
Instruire 1 0,25 10 7 70
Inscrire 100 0,25 10 5 50
P a g e | 48

Permettre 1
Enregistre 300
Dresser 3
Utiliser 3
Payer 300
Valider 300
Percevoir 100
Consulter 30

Tableau III.4. Volumes des fichiers (relations)

Ainsi donc, le volume de notre base de données sera :

VOL.BDD = 560+880 +70 +50

VOL.BDD = 10560

Le résultat obtenu sera multiplié par un coefficient (α) entre 1 à 3. Pour trouver le
volume total de notre BDD nous allons prendre le coefficient 3

Donc VOL TOT BDD = VOL.BDD.α

VOL TOT BDD = 40680 Caractères

VOL TOT BDD = 40680/1024 kilo octets

VOL TOT BDD = 4.5703 Kilo octets

VOL TOT BDD = 4.5703/1024 Mégaoctets


P a g e | 49

SECTION III

ETAPE D’EXECUTION

Cette étape est la dernière étape de conception de notre base de données, et


elle consiste à exposer de manière claire les scripts qui nous ont permis à créer la base
de données.

III.2.5. Les scripts

III.2.5.1. Script SQL pour la création de la BDD

-- phpMyAdmin SQL Dump


-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- Hôte : 127.0.0.1:3306
-- Généré le : ven. 15 sep. 2023 à 18 :33
-- Version du serveur : 5.7.36
-- Version de PHP : 7.4.26

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO" ;


START TRANSACTION ;
SET time_zone = "+00 :00";

create database paie_agents

III.2.5.2 Script SQL pour la création du table Admni_connect

DROP TABLE IF EXISTS `gestionnaire ;


CREATE TABLE IF NOT EXISTS `gestionnaire` (
`matricule` int(10) NOT NULL,
`nom_admin` varchar(20) NOT NULL,
`phone` varchar(15) NOT NULL,
`mdp` varchar(10) NOT NULL,
PRIMARY KEY (`matricule`),
UNIQUE KEY `phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

III.2.5.3 Script SQL pour la création de la table OPS1

DROP TABLE IF EXISTS `OPS1` ;


CREATE TABLE IF NOT EXISTS `OPS1` (
`matricule` int(10) NOT NULL,
P a g e | 50

`nom_ops` varchar(20) NOT NULL,


`phone` varchar(15) NOT NULL,
`mdp` varchar(10) NOT NULL,
PRIMARY KEY (`matricule`),
UNIQUE KEY `phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

III.2.5.4 Script SQL pour la création de la table OPS2

DROP TABLE IF EXISTS `OPS2`;


CREATE TABLE IF NOT EXISTS `OPS2` (
`matricule` int(10) NOT NULL,
`nom_ops` varchar(20) NOT NULL,
`phone` varchar(15) NOT NULL,
`mdp` varchar(10) NOT NULL,
PRIMARY KEY (`matricule`),
KEY `phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

III.2.5.5 Script SQL pour la création de la table Personnel

DROP TABLE IF EXISTS `personnel`;


CREATE TABLE IF NOT EXISTS `personnel` (
`id_personnel` int(5) NOT NULL AUTO_INCREMENT,
`matricule` int(10) NOT NULL,
`num_enregistrement` int(11) NOT NULL,
`date_enregistrement` date NOT NULL,
`nom` varchar(20) NOT NULL,
`prenom` varchar(20) NOT NULL,
`sexe` varchar(1) NOT NULL,
`photo` varchar(150) NOT NULL,
`phone` varchar(15) NOT NULL,
`date_naissance` date NOT NULL,
`lieu_naissance` varchar(15) NOT NULL,
`grade` varchar(5) NOT NULL,
`fonction` varchar(10) NOT NULL,
PRIMARY KEY (`matricule`),
UNIQUE KEY `num_enregistrement` (`num_enregistrement`),
UNIQUE KEY `phone` (`phone`),
KEY `id_personnel` (`id_personnel`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
COMMIT;
P a g e | 51

III.2.5.6 Script SQL pour la création de la table listing

DROP TABLE IF EXISTS `listing`;


CREATE TABLE IF NOT EXISTS `listing` (
`trimestre` int(11) NOT NULL,
`mois` varchar(10) NOT NULL,
`num_listing` int(10) NOT NULL,
`id_personnel` int(11) NOT NULL,
`num_enregistrement` int(10) NOT NULL,
`matricule` int(10) NOT NULL,
`nom` varchar(20) NOT NULL,
`prenom` varchar(20) NOT NULL,
`sexe` varchar(1) NOT NULL,
`photo` varchar(150) NOT NULL,
`grade` varchar(5) NOT NULL,
`fonction` varchar(10) NOT NULL,
`montant` varchar(15) NOT NULL,
PRIMARY KEY (`num_listing`),
UNIQUE KEY `id_personnel` (`id_personnel`),
UNIQUE KEY `num_enregistrement` (`num_enregistrement`),
UNIQUE KEY `matricule` (`matricule`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
COMMIT;

III.2.5.7 Script SQL pour la création de la caissière

DROP TABLE IF EXISTS `caissiere`;


CREATE TABLE IF NOT EXISTS `caissiere` (
`matricule` int(10) NOT NULL,
`nom_caissiere` varchar(20) NOT NULL,
`phone` varchar(15) NOT NULL,
`mdp` varchar(10) NOT NULL,
PRIMARY KEY (`matricule`),
KEY `phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

III.2.5.8 Script SQL pour la création du payement

DROP TABLE IF EXISTS `payement`;


CREATE TABLE IF NOT EXISTS `payement` (
`num_paie` int(11) NOT NULL,
`num_listing` int(11) NOT NULL,
`matricule` int(11) NOT NULL,
`nom` int(11) NOT NULL,
`matricule_caissiere` int(11) NOT NULL,
`montant` int(15) NOT NULL,
P a g e | 52

`date_paie` date NOT NULL,


PRIMARY KEY (`num_paie`),
KEY `num_listing` (`num_listing`),
KEY `matricule` (`matricule`),
KEY `matricule_caissiere` (`matricule_caissiere`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
P a g e | 53

DEUXIEME PARTIE : CONCEPTION DE L’APPLICATION


P a g e | 54

III.2.6 CHOIX DU LANGAGE DE PROGRAMMATION

Pour une bonne manipulation de la base de données, nous avons fait recours à
un langage de programmation orienté objet qui est le PHP.

PHP

III.2.6.1 Script pour la connexion à la BDD

<?PHP
Try{
//session_start();
$connexion = new
PDO('mysql:host=127.0.0.1;charset=utf8;dbname=paie_personnels','root','152020p
rince_yamba');
}catch (PDOException $ex){
die ('Echec de connexion :' . $ex->getMessage());}
?>
Pour éviter qu’un utilisateur mal intentionné puisse avoir accès aux données,
on a créé un fichier de sécurité et de déconnexion pour le rediriger à la page login en
déclarant la session Start (). Une session en PHP correspond à une façon de stocker des
données différentes pour chaque utilisateur en utilisant un identifiant de session
unique. Les identifiants de session vont généralement être envoyés au navigateur via
des cookies de session et vont être utilisés pour récupérer les données existantes de la
session.
Un des grands intérêts des sessions est qu’on va pouvoir conserver des
informations pour un utilisateur lorsqu’il navigue d’une page à une autre. De plus, les
informations de session ne vont cette fois-ci pas être stockées sur les ordinateurs de
vos visiteurs à la différence des cookies mais plutôt côté serveur ce qui fait que les
sessions vont pouvoir être beaucoup plus sûres que les cookies.
Notez toutefois que le but des sessions n’est pas de conserver des informations
indéfiniment mais simplement durant une « session ». Une session démarre dès que la
fonction session Start () est appelée et se termine en général dès que la fenêtre
courante du navigateur est fermée (à moins qu’on appelle une fonction pour terminer
la session de manière anticipée ou qu’un cookie de session avec une durée de vie plus
longues ait été défini).
Pour pouvoir utiliser les variables de session, il va avant tout falloir qu’une
session soit démarrée à un moment ou à un autre. Pour démarrer une session en PHP,
on va utiliser la fonction session Start (). Cette fonction va se charger de vérifier si une
session a déjà été démarrée en recherchant la présence d’un identifiant de session et, si
ce n’est pas le cas, va démarrer une nouvelle session et générer un identifiant de
session unique pour un utilisateur.
Il va falloir appeler session Start () avant toute autre opération dans nos pages,
c’est-à-dire au début de celles-ci.
Par ailleurs, notez qu’il va falloir appeler session Start () dans chaque page où
on souhaite pouvoir accéder aux variables de session. En pratique, on créera
P a g e | 55

généralement une page header.php qui va contenir notre fonction session Start () et
qu’on va inclure à l’aide de include ou require dans les pages voulues d’un site.

Lorsqu’une session est démarrée, c’est-à-dire lorsqu’un utilisateur qui ne possède pas
encore d’identifiant de session demande à accéder à une page contenant session Start
(), cette fonction va générer un identifiant de session unique qui va généralement être
envoyé au navigateur sous forme de cookie sous le nom PHPSESSID.

Pour être tout à fait précis, le PHP supporte deux méthodes pour garder la trace des
sessions : via des cookies ou via l’URL. Si les cookies sont activés, le PHP va préférer
leur utilisation. C’est le comportement recommandé. Dans le cas contraire, les
informations de session vont être passées via l’URL.

<?php
// page SecurityAction.php
session_start();
if(!isset($_SESSION['auth'])){
header ('Location: login.php');}
?>

<?php
// page LoginOutAction.php
session_start();
$_SESSION = [];
session_destroy ();
header('Location: ../../login.php' )
?>

III.2.6.2 Script PHP et HTML pour la page index

La page index est la première page qui s’ouvre lorsque sur un navigateur web
l’adresse de notre application est saisie. Pour styliser cette page on n’a pas utilisé notre
propre CSS mais on a fait appeler à bootstrap.
Bootstrap est une collection d’outils utiles à la création du design (graphisme,
animation et interaction avec la page dans le navigateur, etc.) de sites et d’application
web. C’est un ensemble qui contient des codes HTML et CSS, des formulaires,
boutons, outils de navigation et autres élements interactifs, ainsi que des extensions
javascript en option. C’est l’un des projets les plus populaires sur la plate-forme de
gestion de développement GitHub.

<link rel="stylesheet" href="css/bootstrap.Css">


P a g e | 56

<?php
session_start();
if(isset($_POST['validate'])){
if(!empty($_POST['nom_admin']) AND !empty($_POST['password'])){
$admin_par_defaut = "Admin";
$password_par_defaut = "Admin";
$admin_saisi = htmlspecialchars($_POST['nom_admin']);
$password_saisi = htmlspecialchars($_POST['password']);
if($admin_saisi == $admin_par_defaut AND
$password_saisi == $password_par_defaut){
$_SESSION['auth'] = $password_saisi;
Header ('Location : Accueil.php');
}else{
$errorMsg ="Vous n'êtes pas l'administrateur...!";
}
}else{
$errorMsg ="Veuillez compléter tous les champs...";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/bootstrap.Css">
<title>Authentification_admin</title>
</head>
<body>

<?php
Include ('Includes/Navbar.php')
?>
<main class="container mt-4 md-5 align="center">
<div align="center">
<div class="col-md-12">
<br>
<h1 > Authentification de Admin </h1>
<P class="btn btn-secondary">
Bureau gestionnaire de TSHIKAPA </P>
<br>
<?php
if(isset($errorMsg)){
echo '<p>'.$errorMsg. '</p>';
}
?>
P a g e | 57

<div class="col-md-6">
<div class="btn btn-secondary" </div>
<br><br>
<form method="POST" action="" >
<div class="form-group">
<label for="nom_admin">Nom_admin</label>
<input type="text" name="nom_admin"class="form-control" autocomplete="Off">
</div>
<br>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password"class="form-control">
</div>
<br>
<input type="submit" class="btn btn-danger"name="validate" >
</form>
</div>
</div>
</div>
</main>
</body>
</html>

Figure III.11. Page d’authentification Admin

III.2.6.3 Script pour la page accueil

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
P a g e | 58

<link rel="stylesheet" href="Fichier_accueil/Accueil.css">


<title>Accueil</title>
</head>
<body>
<header>
<a href="#" class="logo"><span>Bureau</span>gestion</a>
<div class="menutoggle" onclick="toggleMenu();">
</div>
<ul class="navbar">
<li><a href="login.php"> Login</a></li>
<li><a href="personnel.php"> personnels</a></li>
<li><a href=listing.PHP>CreateAgents</a></li>
<li><a href=signup.PHP>Create_listing</a></li>
<li><a href=signup.PHP>Paie</a></li>
<li><a href="#contact"onclick="toggleMenu();">contact</a></li>
<a href="Apropos_moi.php" class="btn-reserve" >A pros du
developpeur</a>
</ul>
</header>
<section class="baniere" id="baniere">
<div class="contenu">
<h2>Que voulez vous faire?</h2>
<p> Vous devez authentifier sur le site</p>
<div class="phone">
<a href="login.php" class="btn1">Compte Admin</a>
<a href="" class="btn2">Compte agents</a>
<a href="#" class="btn1">Compte agents</a>
</div>
</div>
</section>
<br><br><br><br>
<section class="contact" id="contact">
<div class="tita">
<h2 class="titre"><span>C</span>ontact</h2>
<p class="titre-blanc">Laissez moi un message </p>
</div>
<div class="contact-fond">
<h3>Envoyez un message</h3>
<div class="input-boite">
<input type="text" placeholder="matricule" name="">
</div>
<div class="input-boite">
<textarea name="msg" id="" cols="30" rows="10"
placeholder="Message"></textarea>
</div class="input-boite">
<div class="input-boite">
<input type="submit" value="Envoyez" name="validate">
P a g e | 59

</div>
</div>
</section>
<div class="copy">
<p>copy 2022 <a href="#">fela-christian</a></p>
</div>
</body>
</html>

Figure III.12. Page d’accueil

III.2.6.4 Script HTML pour créer le formulaire d’insertion d’un nouvel agent

<?php
Require('Actions/admin/SignupAction.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- <meta http-equiv="X-UA-Comatible" content="ie=egde"> --->
<title></title>
<link rel="stylesheet" href="Style1.css">
</head>
<body>
<br> <br>
<?php
if(isset($errorMsg)){
echo '<p>'.$errorMsg. '</p>';
}
P a g e | 60

?>
<div class="wraper">
<section class="form signup">
<header> Creation_agents </header>
<form action="" method="POST">
<?php
if(isset($errorMsg)){
echo '<p>'.$errorMsg. '</p>';
}
?>
<div class="error-txt"></div>
<div class="name-details">
<div class="field input">
<label for="">Num_matricule</label>
<input type="text" name="matricule" placeholder ="Enter name "required>
</div>
<div class="field input">
<label for="">Nom</label>
<input type="text" name="nom" placeholder ="Enter num signup "required>
</div>
<div class="field input">
<label for="">Prenom</label>
<input type="text" name="prenom" placeholder ="Enter date dignup"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Sexe</label>
<input type="text" name="sexe" placeholder ="Enter name"required>
</div>
<div class="field input">
<label for="">Photo</label>
<input type="file" name="photo" placeholder ="choissez une image"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Phone_number</label>
<input type="text" name="phone" placeholder ="Numéro de téléphone"required>
</div>
<div class="field input">
<label for=""> Date_naissance </label><input
type="date" name="date_naissaince" placeholder ="Date de naissance"required>
</div>
<div class="field input">
<label for=""> Lieu_naissance </label>
P a g e | 61

<input type="text" name="lieu_naissance" placeholder ="Lieu de


naissance"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Grade</label>
<input type="text" name="grade" placeholder ="Grade"required>
</div>
<div class="field input">
<label for=""> Fonction </label>
<input type="text" name="fonction" placeholder ="Fonction"required>
</div>
<div class="field input">
<label for=""> Num_engagement </label>
<input type="text" name="num_eng" placeholder ="Numéro
d'enregistrement"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Date_engagement</label>
<input type="date" name="date_eng" placeholder ="Date d'engagement"required>
</div>
</div>
<div class="field">
<div class="botton">
<input type="Submit" value="Continue to chat" name="validate">
</div>
</div>
</form>
<div class="link">Already signed up? <a href="#">Login now</a></div>
</div>
</section>
</div>
</body>
</html>
III.2.6.5 Script PHP pour Insérer un nouvel agent

<?php
session_start();
Require('Actions/Database.php');
//validation du formulaire
if(isset($_POST['validate'])){
// Vérifier si l'user a completer tous les champs
if(!empty($_POST['matricule'])
AND !empty($_POST['nom'])
P a g e | 62

AND !empty($_POST['prenom'])
AND !empty($_POST['sexe'])
AND !empty($_POST['photo'])
AND !empty($_POST['phone'])
AND !empty($_POST['date_naissance'])
AND !empty($_POST['lieu_naissance'])
);
// Les données de l'utilisateur
$user_matricule = htmlspecialchars($_POST['matricule']);
$user_nom = htmlspecialchars($_POST['nom']);
$user_prenom = htmlspecialchars($_POST['prenom']);
$user_sexe = htmlspecialchars($_POST['sexe']);
$user_photo = htmlspecialchars($_POST['photo']);
$user_phone = htmlspecialchars($_POST['phone']);
$user_date_naissance = htmlspecialchars($_POST['date_naissance']);
$user_lieu_naissance = htmlspecialchars($_POST['lieu_naissance']);
$grade = htmlspecialchars($_POST['grade']);
$fonction = htmlspecialchars($_POST['fonction']);
$num_eng = htmlspecialchars($_POST['num_eng']);
$date_eng = htmlspecialchars($_POST['date_eng']);
// Vérifie si l'user existe déjà dans le site
$checkIfUserAlreadyExists = $connexion->prepare('SELECT matricule FROM
personnel WHERE matricule = ?');
$checkIfUserAlreadyExists->execute(array($user_matricule));
if($checkIfUserAlreadyExists->rowCount()== 0){
//Insérer l'utilisateur ds la bd
$insertUserOnWebSite = $connexion->prepare('INSERT INTO
`personnel` (`matricule`, `nom`, `prenom`, `sexe`, `photo`, `phone`,
`date_naissance`, `lieu_naissance`, `grade`, `fonction`, `num_eng`,
`date_eng`)VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$insertUserOnWebSite->execute(array(
$user_matricule,$user_nom,$user_prenom,$user_sexe,$user_photo,$user_phone,
$user_date_naissance,$user_lieu_naissance,$grade,$fonction,$num_eng,
$date_eng));
// Récupérer les infos de user
$getInfoOfThisUserReq = $connexion->prepare('SELECT * FROM
personnel WHERE nom= ? AND prenom= ? AND ');
$getInfoOfThisUserReq>execute(array($user_matricule,$user_nom,
$user_prenom,$user_sexe,$user_photo,$user_phone,$user_date_naissance,
$user_lieu_naissance,$grade,$fonction,$num_eng,$date_eng));
$userInfos = $getInfoOfThisUserReq->fetch();
//Authentification de user sur le site et récupérer ses données
dans des variables globales sessions
$_SESSION ['auth'] = true;
$_SESSION ['id'] = $usersInfos['id'];
$_SESSION ['matricule'] = $usersInfos['matricule'];
$_SESSION ['nom'] = $usersInfos['prenom];
P a g e | 63

//Rédiriger user vers la page d'accueil


Header ('Location:Index.php ');
}else{
$errorMsg = "L'utilisateur existe déjà sur le site";
}
}
if (!$_SESSION['auth']){
header('location: login.php');
}
?>
III.2.6.6 Script CSS pour styliser la page d’insertion dans BDD

Nb : Cette même page CSS sera appeler pour styler la page listing car elles
utiliser les mêmes attributs HTML
@import url('https://fonts.googleapis.com/css2?family=poppins:wght@200');

*{margin: 0;padding: 0; box-sizing: border-box;text-decoration: none;font-


family: 'poppins', sans-serif;}
body{
display: flex; align-items: center; justify-content: center;
min-width: 100vh;background: #f7f7f7;background-color: yellowgreen;
border: 15px solid;box-shadow: 0 0 50px rgba(0,0,0,0.4);
border-radius: 6px;}
.wraper{
background: #fff;border-radius: 16px;
box-shadow: 0 0 128px 0 rgba(0,0,0,0.3),
0 32px 64px -48px rgba (0,0,0,0.5);
padding: 30px 30px;}
/* Signup form css code */
.form{
padding: 20px 10px;}
header{
font-size: 25px;font-weight: 600;padding-bottom: 10px;
border-bottom: 1px solid #f7f7f7;}
.form form{
margin: 20px 10px;}
.form form .error-txt{
color: #f7f7f7;background: green;padding : 8px 11px;text-align: center;
border-radius: 5px;margin-bottom: 10px;display: none;}
.form form .name-details{
display: flex;}
form .name-details .field:first-child{
margin-right: 10px;}
form .name-details .field:last-child{
margin-left: 10px;}
.form form .field{
P a g e | 64

display: flex;flex-direction: column;margin-bottom: 10px;position:


relative;}
.form form .field label{
margin-bottom: 10px;}
.form form .field .input{
outline: none;}
.form form .input input{
height: 40px;width: 100%;font-size: 16px;padding: 2px 5px;border: 1px
solid #ccc;border-radius: 5px 4px 3px 2px;}
.image{
font-size: 15px;}
.field .botton input{
margin-top: 13px;height: 30px;border: none;font-size: 17px;
font-weight: 400;background: #333;color: #fff;border-radius: 5px;
cursor: pointer;width: 100%;}
.link{
text-align: center;margin: 10px 0;font-size: 15px;background: green;
border-radius: 10px 7px 4px 7px;}
.link a{
color: #333;}
.link a:hover{
text-decoration: underline;}
.form form .field i{
position: absolute;right: 10px;color: #ccc;top: 60%;
transform: translate(-50%);cursor: pointer;}
.form form .field i.active::before{
color: #333;content: "\f070";}

Figure III.13. Formulaire d’insertion_agents

III.2.6.7 Script HTML pour créer le formulaire listing

<?php
P a g e | 65

Require('Actions/admin/listingAction.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- <meta http-equiv="X-UA-Comatible" content="ie=egde"> --->
<title></title>
<link rel="stylesheet" href="Style1.css">
</head>
<body>
<br> <br>
<?php
if(isset($errorMsg)){
echo '<p>'.$errorMsg. '</p>';
}
?>
<div class="wraper">
<section class="form signup">
<header> Creation_agents </header>
<form action="" method="POST">
<?php
if(isset($errorMsg)){
echo '<p>'.$errorMsg. '</p>';
}
?>
<div class="error-txt"></div>
<div class="name-details">
<div class="field input">
<label for="">trimestre</label>
<input type="text" name="trimestre" placeholder ="Enter trimestre "required>
</div>
<div class="field input">
<label for="">mois</label>
<input type="text" name="mois" placeholder ="Enter moth "required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Num_matricule</label>
<input type="text" name="matricule" placeholder ="Enter name "required>
</div>
<div class="field input">
<label for="">Nom</label>
<input type="text" name="nom" placeholder ="Enter num signup "required>
</div>
P a g e | 66

<div class="field input">


<label for="">Prenom</label>
<input type="text" name="prenom" placeholder ="Enter date dignup"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Sexe</label>
<input type="text" name="sexe" placeholder ="Enter name"required>
</div>
<div class="field input">
<label for="">Photo</label>
<input type="file" name="photo" placeholder ="choissez une image"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for=""> Date_naissance </label>
<input type="date" name="date_naissaince" placeholder ="Date de
naissance"required>
</div>
<div class="field input">
<label for=""> Lieu_naissance </label>
<input type="text" name="lieu_naissance" placeholder ="Lieu de
naissance"required>
</div>
</div>
<div class="name-details">
<div class="field input">
<label for="">Grade</label>
<input type="text" name="grade" placeholder ="Grade"required>
</div>
<div class="field input">
<label for=""> Fonction </label>
<input type="text" name="fonction" placeholder ="Fonction"required>
</div>
<div class="field input">
<label for=""> credit </label>
<input type="text" name="credit" placeholder ="Numéro
d'enregistrement"required>
</div>
</div>
<div class="field">
<div class="botton">
<input type="Submit" value="Continue to chat" name="validate">
</div>
</div>
P a g e | 67

</form>
<div class="link">Already signed up? <a href="#">Login now</a></div>
</div>
</section>
</div>
</body>
</html>
III.2.6.8 Script PHP pour créer le listing dans la BDD

<?php
session_start();
Require('Actions/Database.php');
//validation du formulaire
if(isset($_POST['validate'])){
// Vérifier si l'user a completer tous les champs
if(!empty($_POST['matricule'])
AND !empty($_POST['nom'])
AND !empty($_POST['prenom'])
AND !empty($_POST['sexe'])
AND !empty($_POST['photo'])
AND !empty($_POST['phone'])
AND !empty($_POST['date_naissance'])
AND !empty($_POST['lieu_naissance'])
);
// Les données de l'utilisateur
$user_matricule = htmlspecialchars($_POST['matricule']);
$user_nom = htmlspecialchars($_POST['nom']);
$user_prenom = htmlspecialchars($_POST['prenom']);
$user_sexe = htmlspecialchars($_POST['sexe']);
$user_photo = htmlspecialchars($_POST['photo']);
$user_phone = htmlspecialchars($_POST['phone']);
$user_date_naissance = htmlspecialchars($_POST['date_naissance']);
$user_lieu_naissance = htmlspecialchars($_POST['lieu_naissance']);
$grade = htmlspecialchars($_POST['grade']);
$fonction = htmlspecialchars($_POST['fonction']);
$num_eng = htmlspecialchars($_POST['num_eng']);
$date_eng = htmlspecialchars($_POST['date_eng']);
// Vérifie si l'user existe déjà dans le site
$checkIfUserAlreadyExists = $connexion->prepare('SELECT matricule FROM
personnel WHERE matricule = ?');
$checkIfUserAlreadyExists->execute(array($user_matricule));
if($checkIfUserAlreadyExists->rowCount()== 0){
//Insérer l'utilisateur ds la bd
$insertUserOnWebSite = $connexion->prepare('INSERT INTO
`personnel` (`matricule`, `nom`, `prenom`, `sexe`, `photo`, `phone`,
`date_naissance`, `lieu_naissance`, `grade`, `fonction`, `num_eng`,
`date_eng`)VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');$insertUserOnWebSite -
P a g e | 68

>execute(array($user_matricule,$user_nom,$user_prenom,$user_sexe,$user_photo,
$user_phone,$user_date_naissance,$user_lieu_naissance,$grade,$fonction,
$num_eng,$date_eng));
// Récupérer les infos de user
$getInfoOfThisUserReq = $connexion->prepare('SELECT * FROM
personnel WHERE nom= ? AND prenom= ? AND ');
$getInfoOfThisUserReq->execute(array($user_matricule,$user_nom,
$user_prenom,$user_sexe,$user_photo,
$user_phone,$user_date_naissance,$user_lieu_naissance,$grade,$fonction,
$num_eng,$date_eng));
$userInfos = $getInfoOfThisUserReq->fetch();
//Authentification de user sur le site et récupérer ses données
dans des variables globales sessions
$_SESSION ['auth'] = true;
$_SESSION ['id'] = $usersInfos['id'];
$_SESSION ['matricule'] = $usersInfos['matricule'];
$_SESSION ['nom'] = $usersInfos['prenom];
//Rédiriger user vers la page d'accueil
Header ('Location:Index.php ');
}else{
$errorMsg = "L'utilisateur existe déjà sur le site";
}
}
if (!$_SESSION['auth']){
header('location: login.php');
}
?>

Figure III.114. Formulaire d’insertion data listing

Conclusion partielle

Dans ce chapitre, nous avons pris notre temps pour essayer d’exposer
quelques fichiers qui participent au fonctionnement de notre application.
P a g e | 69

CONCLUSION GENERALE

Dans ce travail, nous avons examiné le système actuel de payement des


agents à là sous division de TSHIKAPA et nous sommes parvenus à conclure
qu’en plein 21e siècle et dans une grande ville le système archaïque du temps
moderne de MABOKO Banque n’a plus sa valeur utile puisse les outils
informatiques sont à la portée de tous.

Dans le premier chapitre, nous avons pris le soin de définir les concepts
de base pour avoir une étude claire du travail qui nous attendait et dans le
second chapitre, nous sommes descendus au site de la sous division pour
récolter les données, poser de questions d’enquêtes dans le but d’avoir de data
fiable.

Dans le troisième chapitre, nous avons commencé à travailler sur la


construction de la base de données car sans elle tout système informatique
devient un corps sans âme. Pour la construire, nous avons fait appel à la
méthode MERISE (Méthode d’étude et de réalisation informatique pour les
systèmes d’entreprise).

Le choix du SGBD est tombé sur MySQL car ce dernier …

Etant une œuvre humaine, nous en sommes conscient et persuader que le


présent travail ne peut échapper aux imperfections qui doivent être objet d’une
correction, Sur ce, nous restons ouverts à toute bonne remarque et suggestion de
la part de tous, merci.
P a g e | 70

BIBLIOGRAPHIE
P a g e | 71

TABLE DE MATIERE

Vous aimerez peut-être aussi