
Le projet MediatekFormations est une plateforme web ayant pour objectif de mettre à disposition des utilisateurs un ensemble de ressources pédagogiques, organisées sous forme de formations et de playlists. La version initiale du site permet principalement de consulter ces contenus via une interface utilisateur intuitive et accessible.
Dans le cadre de l'évolution du projet, mon rôle en tant que développeur consiste à concevoir et développer une interface d’administration (back office) réservée aux administrateurs du site. Cette section permettra de gérer dynamiquement le contenu proposé aux utilisateurs. Les principales fonctionnalités à mettre en place sont les suivantes :
-
Insertion, modification et suppression des éléments suivants :
-
Playlists
-
Formations
-
Catégories
-
En complément, un système d’authentification sécurisé sera développé afin de permettre uniquement aux administrateurs autorisés de se connecter et d'accéder à cette interface d'administration.
COMPETENCES
Séquence 5 du B2.1 (Symfony)
-
Mise en place de Symfony : Installation et configuration de l’environnement Symfony.
-
Création de routes et de contrôleurs : Définition des routes et développement de contrôleurs pour gérer les requêtes utilisateur.
-
Utilisation de Twig pour le templating : Création des vues avec Twig pour générer des pages HTML dynamiques.
-
Validation des formulaires : Implémentation et gestion de la validation des formulaires pour assurer l'intégrité des données saisies par les utilisateurs.
Séquence 5 du B2.2 (Symfony)
-
Gestion de la base de données avec Doctrine ORM : Configuration de Doctrine, création des entités, relations et migration de la base de données.
-
Opérations CRUD (Create, Read, Update, Delete) : Implémentation des opérations CRUD pour gérer les entités de la base de données.
-
Sécurité et authentification : Mise en place de l'authentification des utilisateurs en utilisant le composant de sécurité de Symfony.
-
Services et injection de dépendances : Création et utilisation de services Symfony pour découpler le code et favoriser la réutilisation.
Séquence 4 du B3.5 (Keycloak)
-
Intégration de Keycloak : Configuration de Keycloak pour la gestion des utilisateurs et des autorisations.
-
Authentification unique (SSO) : Mise en œuvre de l'authentification unique avec Keycloak pour simplifier l'expérience utilisateur.
-
Gestion des rôles et permissions : Définition des rôles et permissions au sein de Keycloak pour contrôler l'accès aux différentes parties du site.
-
Connexion de Symfony à Keycloak : Intégration de Symfony avec Keycloak pour gérer les sessions et les contrôles d'accès basés sur les rôles des utilisateurs.
Languages
-
PHP - Langage principal pour le développement back-end de l'application.
-
TWIG - Moteur de templates utilisé pour générer les pages HTML côté serveur.
-
HTML / CSS / JavaScript - Pour la structure, le style et l’interactivité des pages web.
-
SQL - Pour interagir avec la base de données (MySQL).
Applications
-
PHP - Langage principal utilisé pour développer l’API REST avec le framework Symfony.
-
SQL(PhpMyAdmin) - Pour la création, la manipulation et la gestion des bases de données relationnelles.
-
HTML / CSS / JavaScript - Utilisés pour les interfaces ou outils de test, si besoin.
Outils utilisés
-
Symfony - Framework PHP utilisé pour structurer l'application avec le modèle MVC.
-
IDE NetBeans
-
Développement des pages HTML et TWIG
-
Création des contrôleurs, entités et repositories en PHP
-
Organisation complète du projet Symfony
-
-
WampServer (Apache, MySQL, PHP) - Serveur local pour exécuter et tester l’application.
-
Git & GitHub - Versionnage et hébergement du code source.
-
Composer - Gestionnaire de dépendances PHP intégré avec Symfony.
-
Sonarlint - Analyse d'erreur de code
Documentation
-
la documentation du site est localiser sur le dossier mediatekformation_documentation du depot Github
MediatekFormations (Symfony)
CONTEXT
Consulter la description détaillée du contexte.
OBJECTIFS
Languages et Outils