Développer des composants d’accès aux données
Description de la compétence – processus de mise en œuvre
À partir du dossier de conception technique et d’une bibliothèque d’objets spécialisés dans l’accès aux données, coder, tester et documenter les composants d’accès aux données stockées dans une base de données afin d’opérer des sélections et des mises à jour de données nécessaires à une application informatique et de façon sécurisée.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre en oeuvre une nouvelle fonctionnalité ainsi que pour s’informer sur la sécurité informatique et les vulnérabilités connues.
Partager le résultat de sa veille avec ses pairs.
Contexte(s) professionnel(s) de mise en œuvre
Cette compétence s’exerce seul ou en équipe et concerne le développement de la partie persistance de l’application. Le développement des composants s’effectue à partir d’un environnement de développement intégré, supportant un langage objet en liaison avec une base de données relationnelles ou non relationnelles. L’accès aux données passe par l’utilisation d’un logiciel d’interface (middleware).
Les données peuvent être dans un contexte de base de données relationnelles ou non relationnelles.
Critères de performance
- Les traitements relatifs aux manipulations des données répondent aux fonctionnalités décrites dans le dossier de conception technique.
- Un test unitaire est associé à chaque composant, avec une double approche fonctionnelle et sécurité.
- Le code source des composants est documenté ou auto-documenté.
- Les composants d’accès à la base de données suivent les règles de sécurisation reconnues.
- La sécurité des composants d’accès se fonde sur les mécanismes de sécurité du SGBD.
- L’objet de la recherche est exprimé de manière précise en langue française ou anglaise.
- La démarche de recherche permet de résoudre un problème technique ou de mettre en œuvre une nouvelle fonctionnalité.
- La veille sur les vulnérabilités connues permet d’identifier et corriger des failles potentielles.
- La documentation technique liée aux technologies associées, en français ou en anglais, est comprise (sans contre-sens,…).
- Le partage du résultat de veille est effectué oralement ou par écrit avec ses pairs.
Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs
- Coder dans un langage objet, avec un style défensif.
- Utiliser des bibliothèques d’objets existants.
- Coder de façon sécurisée les accès aux données relationnelles ou non relationnelles en consultation, en création, en mise à jour et en suppression.
- Fonder la sécurité des composants d’accès sur l’authentification et la gestion de la sécurité du SGDB.
- Réaliser avec un outil de test un jeu de tests unitaires, d’un point de vue fonctionnel et sécurité (recherche de vulnérabilité).
- Documenter les composants.
- Utiliser un outil de virtualisation ou de conteneurisation.
- Rechercher une réponse pertinente à une difficulté technique de développement ou une vulnérabilité identifiée.
- Rechercher des informations sur des sites Internet, des forums et des FAQ francophones ou anglophones.
- Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles par Internet.
- Connaissance d’un environnement de développement intégré.
- Connaissance d’un langage de requête de type SQL.
- Connaissance du vocabulaire technique associé aux bases de données en français et en anglais.
- Connaissance des modèles de conception relatifs aux accès aux données relationnelles ou non relationnelles.
- Connaissance de la gestion de l’intégrité des données et du concept de transaction.
- Connaissance du principe de connexion à une base de données à partir d’un logiciel d’interface (middleware).
- Connaissance des principales attaques sur les bases de données, par exemple l’injection SQL, et de leurs parades.
- Connaissance des règles de sécurisation des composants d’accès aux données (vérification systématique des entrées, utilisation de procédures stockées ou de requêtes paramétrées).
- Connaissance des mécanismes d’authentification et de gestion de la sécurité du SGBD.
- Connaissance d’un outil de virtualisation ou de conteneurisation.