Web Client / Serveur
Durant ma deuxième année à l'IUT, j'ai réaliser une SAE dans le but d'approfondir notre compréhension des langages web (Client et Serveur).
Le but était de réaliser un site sécurisé pour une entreprise fictive, dans mon cas, un auto-école.
Par groupe de 2, nous avons réalisé une interface utilisateur, moniteur et admin.
Pour ce faire, nous avons utilisé les langages HTML, CSS et PHP
Tout le site devait pouvoir intéragir avec une BDD MySQL
Les intéraction étaient multiple, il fallait pouvoir créer son compte / s'identifier, puis selon les utilisateurs, avoir accès à différents privilèges sans en avoir trop.
Coté utilisateur : Pouvoir voir les différents moniteur et réserver des créneaux pour des cours de conduite.
Coté moniteur : Pouvoir créer / supprimer / modifier des créneaux libres et pouvoir interdire certains utilisateurs de réserver leur créneaux.
Coté admin : Pouvoir supprimer des créneaux / utilisateurs et pouvoir valider ou non la création d'un compte professeur
Ce projet m'a fait découvrir :
- La gestion de session / cookie
- La gestion d'une BDD et les différents intéractions entre les tables
- Les différentes pratiques coté serveur pour permettre d'avoir des vues différentes sur une même page
Mais aussi :
- Injections SQL (prepared statements pour les éviter)
- CSRF (Cross-Site Request Forgery)
- Mauvaise gestion des sessions PHP
J'ai appris à sécuriser mes applications avec des headers HTTP appropriés (CSP, HSTS, X-Frame-Options),
à valider les entrées utilisateur, et à implémenter des systèmes d'authentification avec salt.