

<aside> 💡 Quelles ont été vos démarches, prises de décisions, degré d'implication et d'autonomie dans la SAE et/ou dans le stage/alternance ?
</aside>
<aside> 💡 Quelles ressources avez vous choisies et combinées pour réaliser vos tâches et résoudre les problèmes rencontrés dans cette SAé ou dans le stage**/alternance** ?
</aside>
<aside> 💡 En vous appuyant sur vos traces, justifiez la maitrise des apprentissages visés, ainsi que la prise en compte des composantes essentielles pour le développement de vos compétences.
</aside>
<aside> đź’ˇ
Quelles ressources vous manquent pour atteindre la compétence abordée par cette SAé ou ce stage**/alternance** ? Si c'était à refaire que changeriez-vous ?
</aside>
Dans le cadre des TP de la ressource R4.01, j'ai dû concevoir une application complexe structurée en trois modules Maven (user-model, user-spring-boot, user-webapp). Ma démarche a consisté à séparer strictement les responsabilités pour garantir la maintenabilité du code. Une décision majeure a été l'implémentation d'une architecture "API-First" : en utilisant SpringDoc/OpenAPI, j'ai rendu mon API auto-documentée, facilitant ainsi son intégration future. J'ai fait preuve d'autonomie lors de la phase de sécurisation, où j'ai décidé d'intégrer Spring Security et le hachage BCrypt pour garantir la protection des données sensibles, transformant ainsi un simple exercice de gestion de fichiers en une application logicielle aux standards professionnels.
Pour mener à bien ce projet, j'ai mobilisé et interconnecté un ensemble de ressources technologiques complémentaires. J'ai utilisé Maven pour orchestrer le cycle de vie du projet et gérer les dépendances entre les modules, tout en m'appuyant sur Spring Boot pour le déploiement rapide de services REST. Pour l'interface utilisateur, j'ai choisi le cadriciel ZK Framework qui m'a permis de créer une vue web riche tout en conservant une logique de développement Java. J'ai également combiné l'API Jakarta Validation pour assurer l'intégrité des données saisies avec SpringDoc OpenAPI pour générer une documentation Swagger automatique. Cette synergie entre outils de build, frameworks backend et bibliothèques de validation a été la clé pour résoudre les problèmes de cohérence des données et de communication entre les services.
La maîtrise des apprentissages est attestée par la production d'une API REST complète et auto-documentée, comme le montre l'intégration de Swagger qui facilite l'ergonomie et l'accessibilité technique pour d'autres développeurs. L'adoption de bonnes pratiques de conception est visible dans la séparation des responsabilités au sein du code et l'utilisation de l'injection de dépendances, évitant ainsi un code monolithique difficile à maintenir. Enfin, la qualité de l'application a été vérifiée par la mise en place de tests unitaires JUnit et de tests d'intégration Maven, garantissant que chaque module remplit ses exigences fonctionnelles avant d'être assemblé. Ces travaux prouvent ma capacité à gérer le cycle complet de développement, de la définition des modèles JSON à la sécurisation des accès API.