Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| sio:bloc2:td7 [2024/07/02 01:18] – [Backend] jcheron | sio:bloc2:td7 [2024/07/02 15:54] (Version actuelle) – [Frontend Team :] jcheron | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| Cet exercice de synthèse consiste à développer une application Web permettant d' | Cet exercice de synthèse consiste à développer une application Web permettant d' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| Ligne 16: | Ligne 19: | ||
| ==== FrontEnd ==== | ==== FrontEnd ==== | ||
| Le Front sera développé en HTML/CSS, vanilla JS + Bootstrap pour la partie CSS | Le Front sera développé en HTML/CSS, vanilla JS + Bootstrap pour la partie CSS | ||
| + | |||
| + | L'API fetch sera utilisée pour les requêtes HTTP vers l'api backend. | ||
| ===== Fonctionnalités de l' | ===== Fonctionnalités de l' | ||
| Ligne 27: | Ligne 32: | ||
| ==== Gestion des événements : ==== | ==== Gestion des événements : ==== | ||
| * CRUD pour les événements (création, lecture, mise à jour, suppression) | * CRUD pour les événements (création, lecture, mise à jour, suppression) | ||
| + | |||
| + | |||
| + | ===== Organisation du travail en équipe ===== | ||
| + | |||
| + | ==== Backend Team : ==== | ||
| + | * Mise en place de l'API REST | ||
| + | * Création des routes et des contrôleurs | ||
| + | * Gestion de la base de données | ||
| + | |||
| + | === Injection de PDO === | ||
| + | |||
| + | <sxh php; | ||
| + | return function (ContainerBuilder $containerBuilder) { | ||
| + | $containerBuilder-> | ||
| + | LoggerInterface:: | ||
| + | $settings = $c-> | ||
| + | |||
| + | $loggerSettings = $settings-> | ||
| + | $logger = new Logger($loggerSettings[' | ||
| + | |||
| + | $processor = new UidProcessor(); | ||
| + | $logger-> | ||
| + | |||
| + | $handler = new StreamHandler($loggerSettings[' | ||
| + | $logger-> | ||
| + | |||
| + | return $logger; | ||
| + | }, | ||
| + | ' | ||
| + | $db = [ | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ]; | ||
| + | |||
| + | $connection = new PDO(" | ||
| + | $connection-> | ||
| + | $connection-> | ||
| + | |||
| + | return $connection; | ||
| + | }, | ||
| + | ]); | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | === Usage db === | ||
| + | |||
| + | <sxh php; | ||
| + | $app-> | ||
| + | $db = $this-> | ||
| + | $stmt = $db-> | ||
| + | $users = $stmt-> | ||
| + | $response-> | ||
| + | return $response-> | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ==== Frontend Team : ==== | ||
| + | * Création des formulaires et de l' | ||
| + | * Intégration avec l'API via Fetch API | ||
| + | * Gestion des interactions et des réponses des utilisateurs | ||
| + | |||
| + | <sxh js;> | ||
| + | const API_URL = ' | ||
| + | |||
| + | //Get request to the server using fetch | ||
| + | apiGet = async(resource) => { | ||
| + | const url = `${API_URL}${resource}`; | ||
| + | const response = await fetch(url); | ||
| + | return await response.json(); | ||
| + | }; | ||
| + | |||
| + | //Post request to the server using fetch | ||
| + | apiPost = async (resource, data) => { | ||
| + | const url = `${API_URL}${resource}`; | ||
| + | const response = await fetch(url, { | ||
| + | method: ' | ||
| + | headers: { | ||
| + | ' | ||
| + | }, | ||
| + | body: JSON.stringify(data) | ||
| + | }); | ||
| + | return await response.json(); | ||
| + | }; | ||
| + | </ | ||