Contactez-moi
Réalisé en formation

JournaStage

JournaStage est une plateforme web en PHP destinée à faciliter la rédaction et le suivi des comptes rendus entre étudiants et enseignants. Elle offre une interface simple, moderne et sécurisée pour centraliser tout le processus.

PHP MySQL
Logo JournaStage

À propos du projet

JournaStage est une plateforme web développée en PHP avec une architecture MVC (Model-View-Controller) et une base de données MySQL. Elle a pour objectif de faciliter la rédaction, le suivi et la validation des comptes rendus entre les étudiants et les enseignants.

L’application offre aux étudiants la possibilité de :

  • Rédiger et déposer leur compte rendu directement en ligne.
  • Consulter les comptes rendus déjà créés.
  • Modifier ou supprimer un compte rendu existant.

Les enseignants disposent d’un espace de gestion dédié leur permettant de :

  • Consulter la liste des étudiants et leurs comptes rendus associés.
  • Visualiser uniquement les étudiants appartenant aux classes qu’ils encadrent.

La démo est accessible ici. Comptes de test pour la démo :

Étudiant :
- email : etudiant@gmail.com
- mot de passe : Password123=

Enseignant :
- email : prof@gmail.com
- mot de passe : Password123=



Schéma de la base de données


La base de données JournaStage s’appuie sur un modèle relationnel garantissant la cohérence des liens entre les utilisateurs, les comptes rendus, les classes et les établissements.

USER
- id_user (INT) PRIMARY KEY
- public_id (VARCHAR)
- last_name (VARCHAR)
- first_name (VARCHAR)
- email (VARCHAR)
- password (VARCHAR)
- temporary_password (TINYINT)
- birth_date (DATE)
- status (TINYINT)
- admin (BOOLEAN)
- student_class_id (INT) FK → CLASS.id_class

REPORT
- id_report (INT) PRIMARY KEY
- public_id (VARCHAR)
- title (VARCHAR)
- date (DATE)
- content (TEXT)
- student_id (INT) FK → USER.id_user

CLASS
- id_class (INT) PRIMARY KEY
- public_id (VARCHAR)
- name (VARCHAR)
- year_number (TINYINT)
- school_id (INT) FK → SCHOOL.id_school

SCHOOL
- id_school (INT) PRIMARY KEY
- public_id (VARCHAR)
- name (VARCHAR)
- city (VARCHAR)
- department_number (CHAR(3))

TEACH
- teacher_id (INT) FK → USER.id_user
- class_id (INT) FK → CLASS.id_class

SESSION
- id_session (INT) PRIMARY KEY
- user_id (INT) FK → USER.id_user
- session_token (VARCHAR)
- created_at (DATETIME)
- expires_at (DATETIME)

Caractéristiques principales :

  • Un utilisateur peut être étudiant ou enseignant.
  • Un étudiant appartient à une classe liée à un établissement.
  • Un enseignant peut être associé à plusieurs classes via la table TEACH.
  • Chaque étudiant peut créer plusieurs comptes rendus, consultables par ses enseignants.
  • La table SESSION gère la persistance des connexions utilisateurs (authentification sécurisée).

Technologies utilisées

PHP

PHP

MySQL

MySQL

Captures d'écran

Page de connexion

Page de connexion.

Page d'inscription

Page de demande de compte.

Mot de passe oublié

Page de récupération de mot de passe.

Formulaire de contact

Formulaire de contact.

Dashboard étudiant

Étudiant : tableau de bord.

Création d'un compte rendu

Étudiant : création d'un compte rendu.

Liste des comptes rendus

Étudiant : liste des comptes rendus.

Détail d'un rapport de stage

Étudiant : consultation, modification ou suppression d'un compte rendu.

Informations personnelles

Étudiant : informations personnelles.

Dashboard enseignant

Enseignant : tableau de bord.

Liste des classes et établissements

Enseignant : liste des classes et établissements associés.

Liste des étudiants

Enseignant : liste des étudiants d'une classe.

Liste des comptes rendus

Enseignant : liste des comptes rendus d'un étudiant.

Informations personnelles

Enseignant : informations personnelles.