Développer les 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.
Rechercher, éventuellement en langue anglaise, des solutions innovantes et pertinentes pour la résolution de problèmes techniques et de nouveaux usages, notamment d’accès aux données non relationnelles.
Pratiquer une veille technologique sur la sécurité informatique et les vulnérabilités connues.
Partager le résultat de sa recherche ou 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 documentation technique liée aux technologies associées, en français ou en anglais, est comprise (sans contre-sens, …).
- 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.
- 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
- S’assurer que les contributions et publications diffusées respectent les règles orthographiques et grammaticales.
- Coder des composants dans un langage objet, avec un style de programmation défensif.
- Utiliser des bibliothèques d’objets existants.
- Coder de façon sécurisée les accès aux données 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 un jeu de tests unitaires avec un outil de test d’un point de vue fonctionnel et recherche de vulnérabilité.
- Corriger les erreurs et remédier aux vulnérabilités détectées
Documenter les composants. - Utiliser un outil de gestion de versions de code source.
- Utiliser un outil collaboratif de partage de fichiers.
- 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 et anglophones.
- Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles par Internet.
- Connaissance des règles orthographiques et grammaticales.
- Connaissance du vocabulaire professionnel technique en français et en anglais.
- Connaissance d’un environnement de développement intégré.
- Connaissance des opérations standards permettant la gestion d’une collection d’éléments.
- Connaissance du langage de requête de type SQL.
- Connaissance des modèles de conception relatifs aux accès aux données.
- 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 (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.