# A2 - Projet WEB

Dans le cadre de mes études en 2ème année de cycle préparatorie intégré (BAC+2), nous avons du réaliser un projet WEB en PHP répondant au besoin suivant:

> Le site va permettre d'informatiser l'aide à la recherche de stage en regroupant toutes les offres de stages. Il permettra entre autres d'enregistrer les données des entreprises ayant déjà pris un stagiaire, ou qui en recherchent un.  facilitera l'orientation des nouveaux étudiants dans leurs recherches de stages.
> Les offres de stages seront notamment enregistrées par compétences  trouver un stage en rapport avec son profil. 
fournir différentes interfaces à destination des différents profils d'utilisateurs  Les profils d'utilisateurs sont l'administrateur, le délégué, le pilote de promotion, l'étudiant.
> Plusieurs catégories de fonctionnalités devront être déployées sur la plateforme.  Les catégories de fonctionnalités attendues sont la gestion des rôles, la gestion des entreprises, la gestion des offres de stages et la gestion des candidatures.
> Selon le profil d'utilisateur, ce dernier pourra accéder à certains services et pas d'autres. 
> Seul, l'administrateur a accès à l'ensemble des fonctionnalités proposées par la plateforme.


## Table of contents

[[_TOC_]]

## Technologies utilisées

Pour ce projet, nous avons utilisé différentes technologies/outils :

- PHP
- MySQL Community Server
- Apache (XAMPP)
- jQuery
- FontAwesome
- PWA

## Rendu du site final

### Page de connexion

Ceci est la page de connexion sur laquelle nous arrivons dès la première connexion. Elle n'est pas affichée si votre session est toujours active.

![Page de connnexion image](.assets/images/connection_page.gif)

### Page d'accueil

Voilà la page d'accueil après une connexion réussie.

![Page d'accueil image](.assets/images/main_page.png)

### Page des offres de stages

Cette page affiche la liste de tous les stages disponibles avec un système de pagination.

![Page des offres de stages image](.assets/images/internship_offers.png)

Elle offre la possibilité d'appliquer un filtre pour une recherche de stage plus précise

![Page des offres de stages filtrée image](.assets/images/internship_offers_filtered.png)

### Page de gestions des entreprises

Cette page montre la liste de toutes les entreprises offrant des stages. Elle est reservée au tuteur et permet d'ajouter, modifier ou supprimer des entreprises.

![Page de gestions des entreprises image](.assets/images/companies_editing_menu.png)

### Page de profile

Cette page récapitule certaines informations sur l'utilisateur connecté et permet de modifier son mot de passe ainsi que de se déconnecter.

![Page de profile image](.assets/images/profile_infos.png)

## Infos à savoir

- Le site est optimisé **SEO**
- Le site dispose d'une **application PWA** qui affiche un manque de connexion internet lorsqu'il est hors connexion
- Le site est optimisé pour les petits écrans tels que les téléphones ou les tablettes.
- ! Le **modèle MCV** n'est pas correctement mis en place dans le projet ! Manque de temps pour la correction de ce point
- On peut remarquer que sur les 2 dernières captures d'écrans, le tuteur dispose de davantages d'accès en terme de gestions comparé à un accès étudiant (autres captures).