Construire une application organisée en couches
Description de la compétence – processus de mise en œuvre
À partir du dossier de conception, de la stratégie de sécurité de l’application, et d’une architecture applicative multicouche répartie, coder et tester les composants des couches présentation et persistance, puis les intégrer avec les composants métiers développés par ailleurs, afin de construire une application informatique dans le respect de la charte graphique, des bonnes pratiques du développement objet et de l’état de l’art de la sécurité informatique.
Contexte(s) professionnel(s) de mise en œuvre
Le développement des composants s’effectue à partir d’un environnement de développement intégré, supportant un langage objet ainsi que les cadres d’applications (framework) et les bibliothèques associés à l’architecture choisie. Les tests d’intégration des composants s’effectuent dans une architecture de serveurs répartie et éventuellement dans un processus d’intégration continue.
Critères de performance
- Les bonnes pratiques de conception objet et de développement sécurisé sont appliquées.
- La répartition des composants de l’application est conforme à l’architecture multicouche répartie.
- L’interface est conforme à la charte graphique du cahier des charges.
- Les composants d’interface de la couche présentation répondent aux fonctionnalités décrites dans le dossier de conception.
- La correspondance entre objets métiers et objets relationnels est opérationnelle.
- Toutes les couches remplissent le rôle prévu dans la stratégie de sécurité de l’application.
Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs
- Développer des composants dans un langage objet, avec un style défensif.
- Utiliser des composants tiers et en vérifier l’efficience et la sécurité.
- Utiliser une technologie de services distants.
- Sécuriser chacune des couches logicielles et la communication entre les couches.
- Utiliser l’environnement de développement, y compris en anglais, et les outils associés pour organiser le développement.
- Utiliser un outil collaboratif de partage de ressources.
- Utiliser les outils du Cloud de type PAAS (Platform As A Service).
- Planifier et suivre les tâches de développement.
- Rechercher une réponse pertinente à une difficulté technique de développement ou une vulnérabilité.
- 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 du vocabulaire anglais professionnel associé au développement des composants de présentation et de persistance.
- Connaissance des concepts et d’un langage de développement objet.
- Connaissance des principes et des règles du développement sécurisé.
- Connaissance des bases de la cryptographie.
- Connaissance des différents types de Cloud et de leur utilité pour le développement.
- Connaissance du rôle de l’infrastructure et des protocoles réseau sur la sécurité d’une application multicouche répartie.
- Connaissance du formalisme des diagrammes du langage de modélisation unifié UML.
- Connaissance de l’architecture applicative multicouche répartie et des différents types de serveurs.
- Connaissance des architectures logicielles multicouches réparties.
- Connaissance des bonnes pratiques de sécurité dans une architecture logicielle multicouche répartie et du rôle de chaque couche dans la stratégie de sécurité.
- Connaissance des bonnes pratiques de conception de composants dans une architecture logicielle multicouche répartie.
- Connaissance de cadres d’applications (framework) ou de bibliothèques de composants de la couche présentation.
- Connaissance de cadres d’applications (framework) ou de bibliothèques de composants de la couche persistance de données.
- Connaissance des vulnérabilités spécifiques du cadre d’applications (framework) utilisé.
- Connaissance du processus et des outils d’intégration continue.