295 : Réaliser le back-end pour des applications
Compétences
- Implémenter au moyen d’une technologie définie une interface back-end respectant des standards d’interfaces actuels
Objectifs opérationnels
- Mettre en place l’environnement de développement et d’exécution local de manière à pouvoir développer un projet défini.
- Implémenter et documenter, au moyen de la technologie définie, une interface back-end efficiente et structurée permettant de gérer (Create, Read, Update, Delete [CRUD]) une source de données existante en utilisant des standards d’interfaces actuels et en se conformant aux consignes applicables en l’espèce.
- Vérifier les résultats intermédiaires au regard des exigences (fonctionnel, non fonctionnel, sécurité) et procéder en continu à des corrections.
- Appliquer les conventions de code données et vérifier si celles-ci sont respectées en continu.
- Déposer les modifications et extensions de l’implémentation de façon claire et fiable dans un système de gestion des logiciels.
- Implémenter un mécanisme d’authentification actuel dans le back-end et protéger au moins un domaine du back-end contre des accès anonymes.
Liens domaine de compétence opérationnels
- g3: Evaluer et documenter la sécurité des applications et des interfaces
- g5: Implémenter les applications et les interfaces selon le concept en respectant les exigences de sécurité
- g6: Vérifier la qualité et la sécurité des applications et des interfaces
Domaine de compétence
| Domaine de compétence | Ingénierie d’applications / Ingénierie Web |
| Objet | Interface back-end (p. ex. Spring Boot ou Node.js). Documentation de l’interface back-end. Par exemple: gestion d’une liste de tâches |
| Attestation | |
| Prérequis | 162 : Analyser et modéliser des données |
| 164 : Créer des bases de données et y insérer des données | |
| 319 : Concevoir et implémenter des applications | |
| 320 : Programmer orienté objet | |
| Nombre de leçons | env. 40 |
| Reconnaissance | Certificat fédéral de capacité |
Connaissances opérationnelles nécessaires
| 1 | 1.1 | Connaître les composants à installer pour le développement (p. ex. les bibliothèques de logiciels nécessaires à cet effet). |
| 1.2 | Connaître des procédures d’accès aux instructions/guides d’installation correspondants. | |
| 2 | 2.1 | Connaître au moins un standard d’interface actuel (p. ex. OpenAPI GraphQL, Websockets) qui puisse être implémenté avec la technologie définie. |
| 2.2 | Connaître des techniques de programmation permettant l’implémentation du standard d’interface défini (p. ex. implémentation RESTful avec Spring Boot ou Node.js/Express). | |
| 2.3 | Connaître des possibilités d’implémentation pour communiquer avec la source de données définie selon CRUD (p. ex. MySQL pour créer, lire, actualiser ou effacer une entrée dans la source de données). | |
| 2.4 | Connaître des outils appropriés pour documenter des interfaces back-end standardisées (p. ex. outil Swagger). | |
| 3 | 3.1 | Connaître des possibilités côté serveur pour valider des données d’entrée. |
| 3.2 | Connaître les principales mesures de sécurité applicables à la manipulation des données d’entrée. | |
| 3.3 | Connaître des techniques de test en vue de vérifier si les exigences sont remplies (p. ex. tests automatisés ou manuels, logging, débogage). | |
| 4 | 4.1 | Connaître des techniques ou méthodes de configuration des outils/moyens correspondants afin que ceux-ci signalent en continu la violation des règles de codage. |
| 4.2 | Connaître au moins une procédure pour corriger les règles de codage non respectées. | |
| 5 | 5.1 | Connaître la manipulation fondamentale et le workflow d’un système de gestion de logiciels. |
| 6 | 6.1 | Connaître une norme d’authentification actuelle (p. ex. JWT) et son implémentation dans le back-end (p. ex. pour faire la distinction entre accès en lecture et accès en traitement). |