Skip to content

bienv-007/VALVE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Valve Electronique

Valve Electronique est une application web academique permettant de centraliser et de diffuser les informations importantes d'une institution universitaire. Elle met a la disposition des etudiants une interface publique pour consulter les communiques, les resultats et les horaires, ainsi qu'un espace d'administration pour publier et gerer ces contenus.

Objectif du projet

Le projet vise a remplacer ou completer la valve physique d'une institution par une plateforme numerique accessible depuis un navigateur. Les etudiants peuvent ainsi consulter rapidement les annonces officielles, telecharger les documents publies et rechercher les informations qui concernent leur faculte, promotion ou semaine academique.

Fonctionnalites principales

  • Consultation des communiques officiels publies par l'administration.
  • Consultation et telechargement des resultats par faculte et promotion.
  • Consultation et recherche des horaires par faculte et par semaine.
  • Telechargement de fichiers PDF associes aux publications.
  • Espace administrateur protege par authentification.
  • Ajout et suppression des communiques, resultats et horaires.
  • Changement du mot de passe administrateur.

Structure du projet

VALVE/
├── index.php                 # Page d'accueil publique
├── communiques.php           # Liste publique des communiques
├── resultats.php             # Liste et recherche des resultats
├── horaires.php              # Liste et recherche des horaires
├── connexion.php             # Configuration de la connexion PDO
├── valve_electronique.sql    # Dump SQL de la base de donnees
├── img/                      # Images utilisees par l'interface publique
└── admin/
    ├── index.php             # Connexion administrateur
    ├── dashboard.php         # Gestion des communiques
    ├── resultats.php         # Gestion des resultats
    ├── horaires.php          # Gestion des horaires
    ├── changermdp.php        # Changement du mot de passe admin
    ├── traitement*.php       # Traitement des formulaires d'ajout
    ├── mesFichiers/          # Fichiers PDF des communiques
    ├── resultats/            # Fichiers PDF des resultats
    └── horaires/             # Fichiers PDF des horaires

Technologies utilisees

  • PHP avec PDO pour l'acces a la base de donnees.
  • MySQL/MariaDB pour le stockage des donnees.
  • HTML5 et CSS3.
  • Tailwind CSS via CDN pour le style.
  • Flowbite via CDN pour certains composants d'interface.
  • Alpine.js via CDN dans l'espace administrateur.
  • Font Awesome via CDN pour les icones.

Prerequis si vous voulez testez chez vous

  • PHP 8.0 ou version compatible.
  • MySQL ou MariaDB.
  • Serveur local de type XAMPP, LAMPP, WAMP ou equivalent.
  • Navigateur web moderne.

Installation locale

  1. Copier le dossier du projet dans le repertoire web du serveur local.

    Exemple avec XAMPP/LAMPP :

    /opt/lampp/htdocs/VALVE
  2. Demarrer Apache et MySQL/MariaDB.

  3. Creer une base de donnees MySQL.

    Le dump SQL indique le nom valve_electronique, tandis que le fichier connexion.php utilise actuellement valve_bdd. Il faut donc harmoniser le nom de la base dans connexion.php avec celui cree dans MySQL.

  4. Importer le fichier SQL :

    mysql -u root -p valve_electronique < valve_electronique.sql

    Il est aussi possible d'importer valve_electronique.sql depuis phpMyAdmin.

  5. Configurer la connexion dans connexion.php :

    $connexion = new PDO(
        "mysql:dbname=nom_de_la_base;host=localhost",
        "utilisateur_mysql",
        "mot_de_passe_mysql"
    );
  6. Verifier que les dossiers d'upload existent et sont accessibles en ecriture :

    • admin/mesFichiers/
    • admin/resultats/
    • admin/horaires/
  7. Ouvrir l'application dans le navigateur :

    http://localhost/VALVE/
    

Acces administrateur

L'espace administrateur est accessible via :

http://localhost/VALVE/admin/

Le code d'authentification utilise une table nommee adminn avec les champs suivants :

  • id
  • nom_user
  • mot_de_passe

Si cette table n'existe pas apres l'import du dump SQL, elle doit etre creee avant de se connecter a l'espace administrateur.

Exemple de creation :

CREATE TABLE adminn (
  id INT NOT NULL AUTO_INCREMENT,
  nom_user VARCHAR(100) NOT NULL,
  mot_de_passe VARCHAR(255) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO adminn (nom_user, mot_de_passe)
VALUES ('admin', 'admin');

Pour un environnement reel, il est fortement recommande de remplacer ce mot de passe par un mot de passe fort et de mettre en place un hachage securise.

Base de donnees

Le fichier valve_electronique.sql contient les tables principales suivantes :

  • communiques : stocke les annonces, auteurs, dates, details et fichiers associes.
  • resultats : stocke les resultats par faculte, promotion, annee, date et fichier PDF.
  • horaires : stocke les horaires par faculte, semaine, date et fichier PDF.

Utilisation

Cote etudiant

Depuis l'interface publique, l'etudiant peut :

  • consulter les communiques ;
  • telecharger les fichiers PDF des communiques ;
  • rechercher des resultats par faculte ;
  • telecharger les fichiers PDF des resultats ;
  • rechercher les horaires par faculte et semaine.

Cote administrateur

Depuis le tableau de bord, l'administrateur peut :

  • publier un nouveau communique avec un fichier PDF ;
  • publier un resultat avec un fichier PDF ;
  • publier un horaire avec un fichier PDF ;
  • supprimer une publication ;
  • changer le mot de passe administrateur ;
  • se deconnecter de la session.

Securite et ameliorations recommandees

Avant un deploiement en production, il est recommande de :

  • utiliser des mots de passe haches avec password_hash() et password_verify() ;
  • ne pas conserver les identifiants de base de donnees directement dans le code source ;
  • valider strictement les fichiers envoyes par les utilisateurs ;
  • renommer les fichiers uploades pour eviter les conflits et les noms dangereux ;
  • echapper systematiquement les donnees affichees avec htmlspecialchars() ;
  • ajouter une protection CSRF aux formulaires administrateur ;
  • restreindre l'acces aux dossiers d'upload si necessaire ;
  • completer le dump SQL avec la table administrateur.

Auteur

Projet developpe dans un contexte academique pour faciliter la diffusion numerique des informations universitaires. Projet de fin d'annee de premiere licence

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors