## But de l'application :
* Permet la postulation en ligne d'apprentis
* Permet la saisis d'information
* Permet de joindre des fichiers
## Birds eyes
a faire.
## Structure
L'architecture logicielle utilisé dans ce projet est "REST"/"RESTful"
# Technologie utilisé
## API
**Vue.js :** un Framework JavaScript conçu pour développer des interfaces d’application web
SPA, c’est‐à‐dire à page unique.
**@vue/cli** : un outils en ligne de commande (CLI) qui permet la génération de projets Vue.js en suivant une structure de base.
**Vue Router** : Permet d'interpréter l'URL afin de générer les composants selon les routes et paramètre fournis
**Vuex** : c'est un module pour Vue.js qui permet de simplifier la structure de la dépendance des composants Vue.js entre peux.
**Vuetify** : c'est un framework de composants CSS écrit en Vue.js
**Axios** : c'est une librairie JavaScript qui permet d'effectuer des requêtes AJAX (XMLHttpRequest - XHR).Permet l’interaction client‐serveur sans rafraichissement de page.Utilisé dans le projet pour les requêtes vers l'API
**ESLint** : un linter JavaScript
## Authentification
On utilise **Tequila** qui est le service d'authentification web de l'EPFL.
### Token
**Firebase/php-jwt** : libraire qui permet de transmettre des informations de manière sécurisé et de faire office d'authentifcation du client lors des requêtes à l'API

## Serveur
**Node.js** sera utiliser dans le projet surtout pour gestionnaire de paquets : NPM
## Modèle-vue-contrôleur
### Composer
c'est un gestionnaire de paquet pour PHP. Utilisé dans ce projet afin d'installer le framework Lumen et ses dépendances
### Lumen
* Un modèle (Model) contient les données à afficher.
* Une vue (View) contient la présentation de l'interface graphique.
* Un contrôleur (Controller) contient la logique concernant les actions effectuées par l'utilisateur.
Ici nous utilison Lumen qui est un micro-Framework basé sur Laravel, qui n'utilise pas les éléments de la partie "view"
## Base de donnée

## API

# PROD
http://localhost:8180 : pour le formulaire d'application.
http://localhost:8080 : pour l'application de gestion.
http://localhost:8181 : pour l'API.
## Mise en place
J'ai modifier le fichier .env an ajoutant un groupe dans le quelle j'avais des droits :
```
TEQUILA_REQUIRE_PARAMS="groupe dans le quelle j'ai des droits"
```