Mediatekformation
Présentation
Contexte
MediaTek86, le réseau des médiathèques de la Vienne, a confié à l’ESN InfoTech Services 86, société de 32 collaborateurs experte en développement et déjà en charge de l’infogérance et du support du parc informatique des médiathèques, la conception et l’hébergement de plusieurs applications internes. Parmi celles-ci figure le site d’auto-formation mediatekformation.
Le site mediatekformation est une plateforme d’auto-formation en ligne destinée aux agents du réseau des médiathèques MediaTek86, proposant des outils pour développer leurs compétences.
Existant
Un premier développeur a livré une base applicative Symfony
qui affiche les playlists de formations côté front-office. Le code compile et le
site est accessible, mais :
- Le style et certaines pratiques de codage ne respectent pas les principes de qualité du code.
- Une colonne « nombre de formations » manque dans les pages playlists.
- Aucun back-office n’a encore été développé.
- Les tests automatisés, les documentations technique et utilisateur, les scripts de déploiement ainsi que la sauvegarde de la base de données n’ont pas encore été mis en place.
Demande (missions)
Corriger et faire évoluer une application web Symfony
exploitant une base de données relationnelle MySQL
et qui met à disposition des
vidéos d’auto-formation en ligne proposées par l’entreprise MediaTek86.
Le chef de projet nous confie la finalisation du site en quatre phases :
Nettoyage et ajout de fonctionnalité
Reprendre le code existant pour corriger les alertes SonarLint et ajouter une colonne « formations » triable dans les playlists.
Développement du back-office
Mettre en place une interface d’administration sécurisée (authentification) permettant de gérer les formations, les playlists et les catégories.
Tests et documentation
Rédiger et exécuter les tests unitaires, d’intégration et fonctionnels (incluant Selenium), puis produire la documentation technique et la documentation utilisateur.
Déploiement et CI/CD
Déployer le site et la documentation chez l’hébergeur, automatiser la sauvegarde quotidienne de la base de données, puis configurer un pipeline GitHub Actions pour le déploiement continu.
Plus d’informations sur les missions sont disponibles plus bas dans la partie ressources.
Liste des compétences couvertes
- B1.1 : Gérer le patrimoine informatique
- B1.2 : Répondre aux incidents et aux demandes d’assistance et d’évolution
- B1.3 : Développer la présence en ligne de l’organisation
- B1.4 : Travailler en mode projet
- B1.5 : Mettre à disposition des utilisateurs un service informatique
- B2.1 : Concevoir et développer une solution applicative
- Analyser un besoin exprimé et son contexte juridique
- Participer à la conception de l’architecture d’une solution applicative
- Modéliser une solution applicative
- Exploiter les ressources du cadre applicatif (framework)
- Identifier, développer, utiliser ou adapter des composants logiciels
- Exploiter les technologies Web pour mettre en œuvre les échanges entre applications, y compris de mobilité
- Utiliser des composants d’accès aux données
- Intégrer en continu les versions d’une solution applicative
- Réaliser les tests nécessaires à la validation ou à la mise en production d’éléments adaptés ou développés
- Rédiger des documentations technique et d’utilisation d’une solution applicative
- Exploiter les fonctionnalités d’un environnement de développement et de tests
- B2.2 : Assurer la maintenance corrective ou évolutive d’une solution applicative
- Recueillir, analyser et mettre à jour les informations sur une version d’une solution applicative
- Évaluer la qualité d’une solution applicative
- Analyser et corriger un dysfonctionnement
- Mettre à jour des documentations technique et d’utilisation d’une solution applicative
- Élaborer et réaliser les tests des éléments mis à jour
- B2.2 : Gérer les données
- Exploiter des données à l’aide d’un langage de requêtes
- Administrer et déployer une base de données