Skip to content

METTETALE/Sanctions

Repository files navigation

Projet Sanctions - Vue Generale

Ce depot regroupe plusieurs livrables autour d'un meme domaine: la gestion des sanctions scolaires.

Il contient:

  • une application web PHP (MVC) pour la gestion quotidienne (utilisateurs, classes, eleves, professeurs, sanctions),
  • une API REST Node.js/Express connectee a MySQL,
  • un client CLI Node.js pour interagir avec l'API,
  • de la documentation projet (backlog, user stories, sprints, maquettes).

1) Organisation du depot

  • projet-gestion-des-sanctions-METTETALE
    • Application web PHP (interface utilisateur)
    • Base MySQL via Docker Compose
  • sanctions-api-rest-METTETALE
    • API REST Express + MySQL
    • Tests HTTP dans code/test
  • cli-api-rest-sanctions-METTETALE
    • Outil en ligne de commande (Commander.js)
    • Requete l'API REST (par defaut sur localhost:4500)

2) Prerequis

  • Docker + Docker Compose
  • Node.js 18+ (16+ peut fonctionner, mais 18+ recommande)
  • npm
  • PHP 8+ (pour lancer l'application web locale)
  • Un client HTTP (REST Client VS Code / Postman / Insomnia)

3) Demarrage rapide (ordre recommande)

Etape A - Lancer la base MySQL pour l'application web PHP

Depuis projet-gestion-des-sanctions-METTETALE:

docker compose up -d

Services exposes:

  • MySQL: localhost:3330
  • phpMyAdmin: http://localhost:8010

Identifiants DB par defaut (docker-compose de ce module):

  • base: db_sanctions
  • user: user
  • mot de passe: secret

Etape B - Lancer l'application web PHP

Depuis projet-gestion-des-sanctions-METTETALE/Code/public:

php -S localhost:8080

Acces web:

  • http://localhost:8080/index.php?action=index

La configuration DB PHP est definie dans:

  • projet-gestion-des-sanctions-METTETALE/Code/src/config/database.php

Etape C - Lancer l'API REST

  1. Creer le fichier .env dans sanctions-api-rest-METTETALE/code (exemple):
PORT=4500
MYSQL_ROOT_PASSWORD=root
DB_NAME=db_sanctions
DB_USER=user
DB_PASSWORD=password
DB_HOST=db
DB_PORT=3306
JWT_SECRET=change_me
  1. Lancer la base de l'API:
cd sanctions-api-rest-METTETALE/code
docker compose up -d
  1. Lancer l'API en local:
npm install
npm run dev

Base URL API:

  • http://localhost:4500/api

Endpoints principaux:

  • GET /api/eleves?nom=&prenom=
  • GET /api/eleves/:id/sanctions?from=&to=

Etape D - Utiliser le CLI

Depuis cli-api-rest-sanctions-METTETALE/code:

npm install
node index.js --help

Exemples:

node index.js eleves Dupont Marie
node index.js sanctions 6 -f 2025-01-01 -t 2025-12-31
node index.js login monuser monpassword

Le CLI cible l'API sur http://localhost:4500/api par defaut.

4) Detail des sous-projets

4.1 Application web PHP

Chemin: projet-gestion-des-sanctions-METTETALE

Fonctionnalites visibles dans le routing:

  • authentification: inscription, connexion, deconnexion
  • dashboard
  • gestion des classes
  • gestion des eleves
  • gestion des professeurs
  • gestion des sanctions

Point d'entree:

  • Code/public/index.php

Architecture:

  • Code/src/controllers (controleurs)
  • Code/src/repositories (acces donnees)
  • Code/src/Routing/Router.php (routage)
  • Code/src/Http (Request/Response)
  • Code/templates (vues)

4.2 API REST Node.js

Chemin: sanctions-api-rest-METTETALE

Stack:

  • Express 5
  • mysql2
  • dotenv
  • jsonwebtoken / bcryptjs

Scripts npm (dans code/package.json):

  • npm start
  • npm run dev

Tests manuels:

  • code/test/eleves.http
  • code/test/sanctions.http
  • code/test/login.http

4.3 CLI Node.js

Chemin: cli-api-rest-sanctions-METTETALE

Stack:

  • Commander.js

Commandes:

  • eleves [nom] [prenom]
  • sanctions <id>
  • login <username> <password>

5) Documentation

La documentation fonctionnelle et de suivi est principalement dans:

  • projet-gestion-des-sanctions-METTETALE/documentation
  • sanctions-api-rest-METTETALE/documentation
  • cli-api-rest-sanctions-METTETALE/README.md

Contenus disponibles:

  • backlog produit
  • user stories (sprints)
  • schema de base de donnees
  • notes JWT / API

6) Points d'attention

  • Le depot contient plusieurs bases/compose selon le module: verifier les ports avant lancement simultane.
  • L'application PHP et l'API REST n'utilisent pas exactement la meme configuration DB par defaut (ports/mots de passe differents selon les compose).
  • Le CLI depend d'une API active sur le port attendu.

7) Auteur

Projet realise dans le cadre du BTS SIO.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors