Skip to main content

3. Structure détaillée du système

Le

3.1. systèmeStructure seGénérale composedes Dossiers

cc/
│
├── includes/
│   ├── css/              → Fichiers CSS gérant la mise en forme (styles généraux, entête, impression, adaptation mobile)
│   ├── img/              → Images utilisées dans l'application (logos, icônes, etc.)
│   ├── classes/          → Ensemble des fichiers de plusieursclasses modules structurés pour séparer clairementregroupant la logique métier,métier
la   présentation│     ├── clOpe.php       → Gestion des opérations et l’accèstransactions auxsur données.les Voicicartes cadeaux
│   │     ├── clAdmin.php     → Interface d'administration (ex: gestion des droits)
│   │     ├── clLogin.php     → Processus et vérification de connexion utilisateur
│   │     ├── clDet.php       → Détail d'une analysecarte détailléecadeau, affichage de son historique et de ses informations
│   │     ├── clCompte.php    → Gestion de la structuremodification attenduedu mot de passe et du compte utilisateur
│   │     ├── clCc.php        → Affichage et gestion de la liste des cartes cadeaux avec leur solde
│   │     ├── clAjout.php     → Ajout d'opérations sur les cartes cadeaux (transactions de débit/crédit)
│   │     ├── clUsers.php     → Récupération et affichage des utilisateurs et de leurs droits
│   │     └── clRecherche.php → Recherche de cartes cadeaux par numéro ou autres critères
│   │     └── modules/
│   │            └── modDroits.php → Module de gestion des droits utilisateur et d'administration des permissions
│   ├── include.php       → Chargement centralisé des fichiers et initialisation des ressources communes
│   ├── conf.php          → Fichier de configuration (accès base de données, constantes, etc.)
│   ├── fonctions.php     → Ensemble des fonctions partagées utilisées dans l'application
│   └── sql.php           → Fonctions et définitions liées à l'exécution de requêtes SQL
│
├── index.php             → Point d'entrée principal ; gère l'affichage de la page d'accueil, les redirections et le routage selon les paramètres (affichage de la page principale ou du détail d'une carte)
├── login.php             → Formulaire et traitement de connexion (vérification des identifiants, établissement des sessions)
├── logout.php            → Fin de session (détruit la session et redirige vers la page d'accueil ou login)
├── process.php           → Traitement AJAX :

 met à jour l'état des opérations (modification du champ « checked » dans la base) └── print.php             → Vue dédiée à l'impression des informations d'une carte cadeau (mise en forme spécifique pour l'impression

3.2. 3.1.Rôle Backendet Fonctionnement Scriptsde FonctionnelsChaque Fichier

Fichiers Racine

index.php

• Initialisation de la session et inclusion du fichier central (includes/include.php).

Connexion à la Basebase de Donnéesdonnées :et vérification de la session utilisateur.

Un fichierSelon l’état de configurationla centraliséconnexion et des paramètres (par exemple la présence d’un message ou d’un identifiant de carte), affiche soit le détail d’une carte cadeau, soit la page principale via l’appel aux fonctions dédiées (ex. config.phppage(), details()).

définit

 • login.php

• Affiche un formulaire de connexion.

• Lors de la soumission du formulaire, vérifie les paramètresidentifiants (login et mot de passe) grâce à des requêtes préparées.

• En cas de succès, établit la session utilisateur (stockage des informations : id, login, nom, logo, droits) et redirige vers la page correspondante (ou demande de modification du mot de passe si nécessaire).

 • logout.php

• Détruit la session en cours et redirige vers la page d’accueil ou la page de connexion.

Gestion des Bons Cadeauxprocess.php :

Des scriptsReçoit dédiésvia auxAJAX opérationsles CRUD (Création, Lecture, Misemises à jour,jour Suppression) pour gérerconcernant l’état (checkbox) des bonsopérations.

cadeaux.

• Met à jour la base de données en exécutant une requête préparée pour modifier le champ checked d’une opération selon l’identifiant envoyé.

Logique Métierprint.php :

Des classesGénère etune vue d’impression pour une carte cadeau.

• Utilise des méthodesstyles dédiés (éventuellementfichiers organiséesCSS end’impression) namespacespour selonprésenter les informations de la normecarte PSR-4)(destinataire, quiacheteur, encapsulentmontant, lesmessage, règlesnuméro, de gestion, telles que la validation de l’usage d’un bon, la vérification des dates d’expiration ou le suivi historique des transactions.date).

Dossier 3.2. Module d’Authentification et de Gestion des Permissionsincludes/

Systèmeinclude.php

• Chargement central des fichiers de Loginconfiguration, Sécuriséfonctions et de connexions à la base (inclusion de conf.php, fonctions.php, sql.php, etc.).

• Sert de point d’initialisation pour que tous les scripts ultérieurs aient accès aux ressources communes.

 • conf.php

• Contient les constantes et paramètres de configuration (ex. accès à la base de données, noms de tables, etc.).

 • fonctions.php

• Recense l’ensemble des fonctions génériques utilisées dans l’application (ex. fonctions d’affichage, conversions de texte, gestion des logs, etc.).

 • sql.php

• Regroupe des fonctions et requêtes SQL standardisées ou la définition d’interfaces pour l’exécution des requêtes sur la base de données.

Sous-dossier css/

Contient plusieurs fichiers CSS :

 • style40.css

Définit les règles générales de style (typographie, mise en page, styles des formulaires et des éléments interactifs).

 • entete40.css

Styles spécifiques pour l’en-tête de l’application, incluant la mise en forme des logos, menus déroulants et éléments de navigation.

 • print40.css :et printview41.css

UnFeuilles de style dédiées à la mise en forme pour l’impression des informations sur une carte cadeau.

Sous-dossier img/

Contient toutes les ressources graphiques (logos, icônes, images de fond, etc.) utilisées par l’application.

Dossier classes/

Contient les fichiers de classes et modules qui gèrent la logique métier de l’application.

 • clOpe.php

• Contient un script JavaScript embarqué pour la mise à jour AJAX des cases à cocher dans la liste des opérations.

• Regroupe les fonctions SQL et PHP pour extraire :

• Le solde total des opérations.

• La liste des opérations associées aux cartes cadeaux.

• Gère l’affichage d’un tableau listant les transactions et propose des fonctionnalités de filtrage (via TableFilter et un script JavaScript de filtrage additionnel).

 • clAdmin.php

• Inclut le module de gestion des droits (login.modDroits.php).

gère

• Affiche l’identificationinterface d’administration et permet la gestion et la modification des droits des utilisateurs à l’aide de sessionstableaux sécurisées, avec des mécanismeset de hashage pour les mots de passe.formulaires.

Contrôle d’AccèsclLogin.php :

Avant chaque opération critique (consultation, modification du statut d’un bon), des vérifications sont effectuées pour s’assurer que l’utilisateur possède le niveau de permission requis (ex: rôle administrateur vs. caissier).

 3.3. Frontend – Interface Web

 Pages Principales :

Dashboard (index.php) : Vue d’ensemble affichant la liste des bons cadeaux avec des indicateurs clairs (actifs, utilisés, expirés).

DétailSimilaire d’unau Bon Cadeau (ex:fichier voucher_detail.login.php), :il Présentecontient l’historique,le lestraitement informationsde détailléesla connexion, la vérification des identifiants et les optionsl’établissement de modificationla poursession, chaqueavec bon.

redirection

vers Formulairesla depage Validation/Redemption (ex: update_voucher.php) : Permettent aux utilisateurs de changer l’état d’un bon après utilisation.correspondante.

NavigationclDet.php

• Gère l’affichage du détail d’une carte cadeau.

• Selon qu’un identifiant ou un numéro est fourni via GET/POST, il exécute des requêtes SQL pour :

• Obtenir les informations générales de la carte (numéro, dates, destinataire, message, etc.).

• Obtenir l’historique des opérations associées.

• Calcule le solde restant et Ergonomieaffiche :des informations complémentaires (expiration, durée restante, état de validité) sous forme de tableau.

L’interface doitIntègre êtreune intuitive,fonctionnalité d’impression en liant vers le module d’impression (print.php).

 • clCompte.php

• Gère la gestion du compte utilisateur, notamment la modification du mot de passe.

• Affiche un formulaire permettant de définir un nouveau mot de passe et effectue la mise à jour en base.

 • clCc.php

• Affiche la liste des cartes cadeaux et leurs soldes.

• Utilise un formulaire pour filtrer les cartes (par validité ou date) et met à jour la liste affichée.

• Gère les interactions avec la base de données pour récupérer la liste consolidée des cartes et leur solde.

 • clAjout.php

• Gère l’ajout d’opérations sur une carte cadeau.

• Vérifie le montant saisi et le solde de la carte, puis construit et exécute la requête SQL pour enregistrer la transaction (débit/crédit).

• En cas de transaction valide, redirige vers la page principale avec confirmation, sinon affiche un message d’erreur.

 • clUsers.php

• Contient les fonctions SQL pour récupérer la liste des utilisateurs.

• Permet la consultation des droits et des informations concernant chaque utilisateur.

• Sert de base pour l’affichage et la gestion des comptes utilisateurs.

 • clRecherche.php

• Affiche un formulaire pour rechercher une carte cadeau par numéro.

• Envoie le critère de recherche et exécute les requêtes SQL correspondantes.

• Affiche le résultat sous forme de tableau, en cas de correspondance unique ou multiple, et permet la navigation vers le détail de la carte.

 


 

Dossier modules/ (situé dans includes/classes/modules/)

 • modDroits.php

• Module dédié à la gestion des droits des utilisateurs.

• Exécute des requêtes SQL pour récupérer la liste des droits à partir de la table de droits.

• Affiche, dans un tableau, une ligne par utilisateur et une colonne par droit, avec des menuscases clairs,à cocher permettant de modifier les permissions.

• Gère la mise à jour des filtresdroits en traitant le formulaire soumis et en mettant à jour la table correspondante en base.

 


 

Dossier cc/tablefilter

• Contient un script JavaScript externe (volumineux) qui permet d’apporter des fonctionnalités avancées de filtrage et tri sur les tableaux affichés dans l’application.

• Ce script est utilisé dans plusieurs modules (ex. liste des cartes et liste des opérations) pour faciliter la recherche et l’analyse des données affichées.

 

3.3. Récapitulatif du Fonctionnement Global

 1. Initialisation et Navigation

• L’application démarre via index.php, qui vérifie la session et détermine la page à afficher selon les paramètres (liste des cartes, détails d’une carte, etc.).

• La connexion se fait via login.php, et la déconnexion via logout.php.

 2. Gestion des Opérations sur les Cartes Cadeaux

• Les opérations (transactions) sont gérées dans clOpe.php (affichage de l’historique, mise à jour AJAX des états) et dans clAjout.php (enregistrement de nouvelles opérations avec vérification du solde).

 3. Détails, Impression et Recherche

clDet.php affiche le détail complet d’une carte cadeau, y compris son historique et ses informations complémentaires.

print.php et les feuilles de styles associées offrent une version optimisée pour l’impression.

clRecherche.php permet de rechercher une carte cadeau par numéro de bon, date ou statut,d’autres critères et uned’afficher réactivitéles adaptée aux différents appareils utilisésrésultats en point de vente (ordinateur, tablette, etc.).liste.

4. Gestion dedes laComptes Baseet dedes DonnéesUtilisateurs

 clCompte.phpSchéma SQL :

Le fichier SQL joint (lgun6998_wp46273.sql) semble contenirgère la définitionmodification desdu tablesmot liéesde aux bons cadeaux, aux utilisateurspasse et aux logs de transactions.

 • Interconnexions :

Les clés primaires et étrangères sont utilisées pour établir les relationsmises entreà les différentes tables afin d’assurer l’intégrité des données.

 

cc/

├── includes/             
│   ├── css/                 
│   ├── img/           
│   ├── classes/             
│    │ ├── clOpe.php              #visualisation des opérations des cartes cadeaux     
│    │ ├── clAdmin.php           # administration          
│    │ ├── clLogin.php            # login        
│    │ ├── clDet                       # detail de la carte cadeau
│    │ ├── clCompte.php        # gestionjour du compte deutilisateur.

l'utilisateur


clUsers.php offre ├──une clCc.phpvue                # affichage desur la liste des cartesutilisateurs cadeaux
et leurs ├──paramètres.

clAjout.

 5. Administration des Droits

clAdmin.php intègre #le affichagemodule modDroits.php pour permettre l’administration des droits d’accès.

modDroits.php fournit une interface permettant d’attribuer ou modifier les droits pour chaque utilisateur via des cases à cocher.

 6. Ressources Graphiques et Interface

• Les feuilles de lastyles listecontenues dans includes/css et les images dans includes/img assurent une cohérence visuelle.

• Le script dans cc/tablefilter ajoute des cartesfonctionnalités cadeaux
│    │ ├──  clUsers.php           # gestion
│    │ ├── clrecherche.php    # rechercheavancées de lafiltrage carteet cadeau
tri sur └──les modulestableaux
affichés dans └── modDroits.php.php                
│   └── includes.php, conf.php, fonctions.php, sql.php
└── index.php, login.php, logout.php, process.php, print.php 
l’application.