Reac Cda

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 54

REFERENTIEL EMPLOI ACTIVITES COMPETENCES

DU TITRE PROFESSIONNEL

Concepteur développeur d’applications

Niveau II

Site : http://travail-emploi.gouv.fr

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 1/54
SOMMAIRE

Pages

Présentation de l’évolution du Titre Professionnel .........................................................................5

Contexte de l’examen du Titre Professionnel ................................................................................5

Liste des activités..........................................................................................................................5

Vue synoptique de l’emploi-type ...................................................................................................6

Fiche emploi type ..........................................................................................................................7

Fiches activités types de l’emploi ..................................................................................................9

Fiches compétences professionnelles de l’emploi .......................................................................15

Fiche compétences transversales de l’emploi .............................................................................45

Glossaire technique ....................................................................................................................46

Glossaire du REAC .....................................................................................................................51

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 3/54
Introduction

Présentation de l’évolution du Titre Professionnel

La révision en 2018 du TP « Concepteur Développeur d’applications » présente la même configuration en


trois activités types que la version antérieure du titre (arrêté du 11/02/2013) : mais prend en compte les
évolutions des compétences demandées dans ces domaines et tient compte des nouveaux usages.

Contexte de l’examen du Titre Professionnel

L’emploi de concepteur développeur d’applications a été analysé à partir d'entretiens, de questionnaires


d’enquêtes et d'offres d’emploi. Les activités de cet emploi sont en évolution permanente.
Sans remettre en question les aspects traditionnels du métier et les techniques de base de la conception
et du développement d’applications, la cybersécurité, sécurité du numérique, est devenue stratégique.
L’utilisateur d’une application s'attend à ce qu’elle soit sans faille et ne compromette pas le Système
d’Information. Les principes de sécurisation doivent être appliqués tout au long du processus de
conception et de développement. Chacune des compétences du titre a été actualisée selon les
recommandations de l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI).
L’écoconception logicielle, ou conception responsable de services numériques, est une démarche non
répandue dans les entreprises mais est reconnue par la profession. Le Syntec numérique, le CIGREF et
l’APEC ont participé à des parutions sur ces sujets à partir de 2013. Une sensibilisation à la démarche a
été ajoutée à la compétence « Concevoir une application ».
Il existe de plus en plus d’objets connectés communiquant avec les applications, cela diversifie les sources
de données à récupérer et à traiter de façon sécurisée. Des connaissances à acquérir sur les objets
connectés ont été ajoutées au niveau des compétences « Développer une interface utilisateur de type
desktop » et « Développer la partie back-end d’une interface utilisateur web ».
De plus en plus de données non structurées et massives existent dans les systèmes d’informations et sont
stockées dans des bases de données non relationnelles. Le concepteur développeur doit être capable
d’accéder à ces données afin de les mettre à jour. Les compétences concernant l’accès et la création de
bases de données non relationnelles ont été actualisées tout en prenant en compte la non standardisation
de celles-ci au moment de la révision.
Le Cloud computing en tant que mode de distribution et outil est une architecture de plus en plus utilisée.
Les compétences « Collaborer à la gestion d’un projet informatique et à l’organisation de l’environnement
de développement » et « Construire une application organisée en couches » ont été actualisées.
La certification par bloc de compétence nécessite de traiter l’anglais technique dans chacun des blocs de
compétence. L’anglais technique est devenue une compétence transversale.

Liste des activités

Ancien TP : Concepteur développeur informatique


Activités :
- Développer des composants d'interface
- Développer la persistance des données
- Développer une application n-tiers

Nouveau TP : Concepteur développeur d’applications


Activités :
- Concevoir et développer des composants d'interface utilisateur en intégrant les
recommandations de sécurité
- Concevoir et développer la persistance des données en intégrant les recommandations de
sécurité
- Concevoir et développer une application multicouche répartie en intégrant les
recommandations de sécurité

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 5/54
Vue synoptique de l’emploi-type

N° Activités types N° Compétences professionnelles


Fiche Fiche
AT CP

1 Maquetter une application

2 Développer une interface utilisateur de type desktop

Concevoir et développer des composants d'interface


1 utilisateur en intégrant les recommandations de 3 Développer des composants d’accès aux données
sécurité
Développer la partie front-end d’une interface utilisateur
4
web

Développer la partie back-end d’une interface utilisateur


5
web

6 Concevoir une base de données

Concevoir et développer la persistance des données


2 7 Mettre en place une base de données
en intégrant les recommandations de sécurité

Développer des composants dans le langage d’une


8
base de données

Collaborer à la gestion d’un projet informatique et à


9
l’organisation de l’environnement de développement

10 Concevoir une application

11 Développer des composants métier

Concevoir et développer une application multicouche


3 12 Construire une application organisée en couches
répartie en intégrant les recommandations de sécurité

13 Développer une application mobile

Préparer et exécuter les plans de tests d’une


14
application

15 Préparer et exécuter le déploiement d’une application

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 6/54
FICHE EMPLOI TYPE

Concepteur développeur d’applications

Définition de l’emploi type et des conditions d’exercice

Le concepteur développeur d’applications conçoit et développe des services numériques à destination des
utilisateurs en respectant les normes et standards reconnus par la profession et en suivant l’état de l’art de
la sécurité informatique à toutes les étapes. La connaissance du métier du client pour lequel il réalise
l'application peut être demandée. Il prend en compte les contraintes économiques, en termes de coûts et
de délais, les exigences de sécurité propres à son domaine d’intervention. Il peut aussi être amené, à la
demande du client, à intégrer les principes liés à la conception responsable de services numériques.
Pour concevoir et développer les interfaces utilisateur de type desktop ou web, il élabore une maquette
avec les enchaînements d’écran, qu’il fait valider à l’utilisateur. Il code les formulaires de saisie et de
résultats, ainsi que les états, en programmant de manière sécurisée les événements utilisateur et en
accédant aux données stockées dans une base.
Pour concevoir et mettre en œuvre la persistance des données, il analyse un cahier des charges
fonctionnel ou une demande utilisateur afin de modéliser et créer une base de données de type relationnel
ou NoSQL (Not only SQL) ou d’adapter une base existante en l’optimisant ou en ajoutant des éléments et
en veillant à ne pas introduire de vulnérabilité dans le système d’informations.
Pour concevoir et développer une application multicouche répartie, il analyse la demande en s’appuyant
sur une démarche permettant de construire les services numériques en plusieurs couches correspondant
aux couches présentation, métier et persistance.

Il s'adapte en continu aux évolutions technologiques et réglementaires de la filière Etudes et


développement. Pour assurer cette veille, l'usage de la langue anglaise est souvent requis pour la lecture
et la compréhension de documentations techniques ainsi que pour assurer des échanges techniques au
moyen de textes courts avec des développeurs distants pouvant être de nationalités différentes.
Il agit avec autonomie et le cas échéant avec des responsabilités d’animation et de coordination, Ces
projets font suite à des demandes formulées directement par un client, par une maîtrise d’ouvrage ou par
l’intermédiaire d’un chef de projet.
Il peut travailler en tant que salarié d’une entreprise, pour un client de la société de services qui l'emploie,
ou en tant qu’indépendant directement pour un client. Ses activités diffèrent selon la taille et l'organisation
du projet.
Pour les projets de petite taille, il peut mener en autonomie la conception et le développement de
l'application. Dans le cas de moyens et de grands projets, il travaille soit au sein d'une équipe hiérarchisée
sous la responsabilité d'un chef de projet, soit en équipe pluridisciplinaire. Il applique et fait appliquer les
normes de qualité de son entreprise ou de son prestataire de services. Il applique les recommandations de
sécurité émises par l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI).
Il fait preuve de capacités relationnelles avec des interlocuteurs tels que la maîtrise d'ouvrage, les
utilisateurs, le chef de projet, l'architecte logiciel, les testeurs, le responsable de la sécurité des systèmes
d’information (RSSI) de son entreprise, de son client ou de son hébergeur, les Web designer (UI et UX),
les experts techniques et les autres développeurs, tout en conciliant des exigences contradictoires.
Assurant sa mission dans des entreprises et des contextes professionnels divers, il est mobile
géographiquement et s'adapte aux nouveaux environnements de travail.
Pour faciliter le travail en équipe, il peut être amené à utiliser des outils de travail collaboratif.

Secteurs d’activité et types d’emplois accessibles par le détenteur du titre

Les différents secteurs d’activités concernés sont principalement :


- Entreprise de Services Numériques (ESN ou ex SSII) réalisant des prestations de développement
d'applications, en régie ou au forfait
- Structure utilisatrice, de type entreprise du secteur privé ou public, possédant un service dédié aux
études et aux développements informatiques
- Activité d'informaticien d'études indépendant

Les types d’emplois accessibles sont les suivants :


SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 7/54
- Concepteur développeur, concepteur d'applications informatiques
- Développeur d'applications, développeur informatique
- Développeur web, développeur back-end
- Développeur d’applications mobiles, développeur web mobile
- Ingénieur d’études et développement

Réglementation d’activités (le cas échéant)

Néant

Equivalences avec d’autres certifications (le cas échéant)

Liste des activités types et des compétences professionnelles

1. Concevoir et développer des composants d'interface utilisateur en intégrant les recommandations de


sécurité
Maquetter une application
Développer une interface utilisateur de type desktop
Développer des composants d’accès aux données
Développer la partie front-end d’une interface utilisateur web
Développer la partie back-end d’une interface utilisateur web

2. Concevoir et développer la persistance des données en intégrant les recommandations de sécurité


Concevoir une base de données
Mettre en place une base de données
Développer des composants dans le langage d’une base de données

3. Concevoir et développer une application multicouche répartie en intégrant les recommandations de


sécurité
Collaborer à la gestion d’un projet informatique et à l’organisation de l’environnement de développement
Concevoir une application
Développer des composants métier
Construire une application organisée en couches
Développer une application mobile
Préparer et exécuter les plans de tests d’une application
Préparer et exécuter le déploiement d’une application

Compétences transversales de l’emploi (le cas échéant)

Utiliser l'anglais dans son activité professionnelle en conception et développement d'applications


Actualiser et partager ses compétences en conception et développement d'applications

Niveau et/ou domaine d’activité

Niveau II (Nomenclature de 1969)


Convention(s) : Sans objet
Code(s) NSF :
326t - Programmation, mise en place de logiciels

Fiche(s) Rome de rattachement

M1805 Études et développement informatique

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 8/54
FICHE ACTIVITE TYPE N° 1

Concevoir et développer des composants d'interface utilisateur en intégrant les


recommandations de sécurité

Définition, description de l’activité type et conditions d’exercice

Afin de satisfaire les besoins des utilisateurs du système d'information et en suivant dans toutes les étapes
l’état de l’art de la sécurité informatique, le concepteur développeur développe ou utilise des composants
logiciels d’interface permettant de saisir des données et de restituer des résultats de traitements logiciels,
puis à les intégrer. Dans toutes les étapes, il suit les recommandations de la sécurité informatique émises
par l'ANSSI.

À partir de données locales ou distantes, il développe de façon ergonomique les composants d’interface
utilisateur comportant des formulaires de saisie, des formulaires de résultats s’affichant à l’écran et des
états destinés à être imprimés.
Les productions attendues de la part du concepteur développeur sont le dossier de conception des
composants, le code source documenté, le dossier de tests unitaires, les composants opérationnels et le
schéma des données utilisées dans le cas où celui-ci n'est pas fourni.
Dans l'étape de conception, il conçoit les maquettes des écrans avec des libellés en langue française ou
anglaise et prévoit les enchaînements, en respectant les principes de sécurisation des interfaces
utilisateur. Il prend en compte la charte graphique et les règles d'accessibilité.
Dans l'étape de réalisation, il code avec un langage de programmation objet les interfaces utilisateur.
Il établit la connexion avec la base de données et formalise les requêtes d'extraction et de mise à jour en
s’efforçant de ne pas introduire de vulnérabilité dans le système d’information. Il effectue les tests unitaires
avec les outils appropriés, dans une double approche fonctionnelle et sécurité. Il fait valider l'application
par les utilisateurs.
Il rédige éventuellement le dossier de conception technique ainsi que la documentation utilisateur de
l'application.
Il installe ou publie l’application en prenant en compte la sécurité des accès.

Il utilise des outils de maquettage pour réaliser les maquettes d’écran en tenant compte de demandes
ergonomiques telles qu’une charte graphique. Il dispose d’environnement de développement intégré pour
coder. Pour les interfaces de type client lourd (desktop) utilisées dans une architecture client/serveur à
deux niveaux, il utilise un ou des langages de programmation orienté objet, qui peuvent différer selon les
projets, ainsi que des bibliothèques de composants graphiques et d’objets existants. Pour les interfaces de
type web, il utilise les langages de balise et de feuille de style ainsi que les langages de scripts client et
serveur et, éventuellement, les frameworks associés.
Pour manipuler les données, il utilise un langage de requête qui peut être spécifique au type de données
accédées.
Pour effectuer les tests unitaires, il peut s’aider d’outils de tests. Dans le cadre de projet à plusieurs
développeurs, il utilise des outils collaboratifs de partage de code.

Il peut jouer un rôle d’animateur dans les méthodologies de développement en approche de type Agile,
voire encadrer des développeurs juniors.
Il contribue au suivi du projet, participe aux réunions de projet et aux ateliers de présentations utilisateurs.
Dans le cadre d’un développement en approche de type Agile, l’activité trouve sa place lors de chaque
itération du processus de développement. L’utilisateur exprime ses besoins en début de chacune des
itérations du projet et valide les interfaces à la fin de chaque itération.
Dans le cycle de vie classique, cette activité se situe en fin du processus d'informatisation, après avoir
assuré la conception de l'application à réaliser. L’utilisateur exprime ses besoins en début de projet et
valide toutes les interfaces à la fin du projet.
Dans le cas de la maintenance logicielle, il analyse les problèmes détectés par le client ou ses demandes
de modifications contractualisées, afin de corriger les problèmes fonctionnels ou les vulnérabilités
constatés dans le logiciel. Il sollicite l’expertise de communautés de développeurs, de spécialistes sécurité
et d’éditeurs de logiciels afin de trouver des solutions aux problèmes techniques rencontrés. Il prend en
compte les enseignements tirés des incidents résolus.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 9/54
Il partage avec les autres développeurs du projet, éventuellement en anglais, les éléments techniques des
composants qu'il a réalisés.

Il a la responsabilité des composants qu'il réalise ou qu'il intègre, aussi bien au niveau de leur sûreté de
fonctionnement que de leur sécurité. Les spécifications de l'application sont obtenues soit à partir d'un
dossier de spécifications techniques formalisé, soit à partir d'un besoin exprimé par l'utilisateur.

L'activité nécessite une station assise prolongée et un travail de façon continue face à des écrans.

Réglementation d’activités (le cas échéant)

Liste des compétences professionnelles de l’activité type

Maquetter une application


Développer une interface utilisateur de type desktop
Développer des composants d’accès aux données
Développer la partie front-end d’une interface utilisateur web
Développer la partie back-end d’une interface utilisateur web

Compétences transversales de l’activité type (le cas échéant)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 10/54
FICHE ACTIVITE TYPE N° 2

Concevoir et développer la persistance des données en intégrant les


recommandations de sécurité

Définition, description de l’activité type et conditions d’exercice

Afin d’assurer le stockage et la gestion des données d’un système d’information, le concepteur
développeur modélise, crée ou adapte une base de données et rédige, le cas échéant, la documentation
technique associée. Il prend en compte les besoins de sécurité dans toutes les phases du développement.

Pour automatiser des processus dont les résultats sont destinés aux clients internes ou externes à
l’entreprise, le concepteur développeur stocke, durablement de grands volumes de données, ou
temporairement des données massives. Selon le cas, il les manipule et les exploite.

Dans le cas d'un Système de Gestion de Bases de Données (SGBD) Relationnel, il définit un schéma
strict.
Dans le cas d’un SGBD non relationnel, il peut définir un schéma flexible, dans lequel il n'est pas
nécessaire de définir chaque donnée pour chaque entité. Il peut être amené à modéliser, mais sans
respecter toutes les contraintes, puis à générer une base de données opérationnelle sans suivre toutes les
étapes induites par le modèle relationnel.

L’activité se situe dans toutes les étapes du processus de développement des applications stockant des
données.

Il utilise des bases de données relationnelles pour leurs propriétés garantissant l'exécution correcte de
toutes les transactions ou, en cas d'échec de celles-ci, le retour d'une base de données à son état
antérieur. Dans ce cas, il représente les informations sous forme structurées, décomposables en attributs
élémentaires et représentables sous forme de tableaux.

Il utilise des bases de données non relationnelles, appelées aussi NoSql, dans les cas de traitement des
données à l'échelle du Web ou dans le cas du Big Data, où les informations ne sont pas structurées, ne se
décomposent pas aisément en attributs élémentaires par le fait qu’elles sont complexes et variables. Il
utilise ce type de bases aussi dans le cas d’applications qui exigent des transactions à grande vitesse et
des taux de réponse rapides, ou bien qui soumettent les données à des analyses complexes en temps réel
ou quasi-réel. Il peut être amené à utiliser différents types de SGBD NoSQL. En effet, le NoSQL ne
constitue pas un type particulier de SGBD, mais une appellation qui regroupe des catégories différentes.

Il dispose d’une méthodologie et d’un outil de modélisation des données. Il prend connaissance des
spécificités du domaine d'application et, dans le cadre d'opérations de maintenance évolutive, il prend en
compte la base de données existante. Il connaît et applique les bonnes pratiques de sécurité, afin que la
base de données respecte les critères DICP : Disponibilité, Intégrité, Confidentialité et Preuve.
Les environnements de développement et de test sont prédéfinis. Le langage de programmation utilisé est
le langage de script du SGBD utilisé.

Il est à même d’adapter sa pratique dans le cas où l’application met en œuvre la persistance à l’aide
d’autres moyens qu’une base de données relationnelles, par exemple dans le cas de bases de données
NoSQL.

Il a la responsabilité des schémas et des composants qu'il réalise, ainsi que de l'intégrité du contenu de la
base de test.
Dans le cas de moyens et de grands projets, il travaille soit au sein d'une équipe hiérarchisée sous la
responsabilité d'un chef de projet, soit en équipe pluridisciplinaire.
Pour les projets de petite taille, il peut mener en autonomie la conception et le développement de la
persistance.

Il peut être amené à travailler avec un administrateur de bases de données pour mettre en place la
sécurité au niveau du SGBD.
SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 11/54
L’activité nécessite une station assise prolongée et un travail de façon continue face à des écrans.

Réglementation d’activités (le cas échéant)

Liste des compétences professionnelles de l’activité type

Concevoir une base de données


Mettre en place une base de données
Développer des composants dans le langage d’une base de données

Compétences transversales de l’activité type (le cas échéant)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 12/54
FICHE ACTIVITE TYPE N° 3

Concevoir et développer une application multicouche répartie en intégrant les


recommandations de sécurité

Définition, description de l’activité type et conditions d’exercice

À partir du cahier des charges de l’application, le concepteur développeur conçoit la solution puis
développe ou adapte des composants afin de construire une application sécurisée dans cette architecture.

L'activité consiste à automatiser des processus d'entreprise dans une architecture technique et applicative
multicouche répartie, à partir de composants assemblés ou indépendants fonctionnant sur des serveurs
distincts et coopérant au travers d’un réseau, en suivant l’état de l’art de la sécurité informatique à toutes
les étapes.

Les productions attendues sont la conception de la solution, incluant les cas d'utilisation et les diagrammes
de classes, ainsi que le développement de la solution sous la forme d’une architecture applicative
multicouche répartie s'appuyant sur les technologies objet à base de composants ou de microservice.
Le concepteur-développeur fournit les sources des composants réalisés, les jeux d'essai fonctionnels et
les jeux d'essai utilisés pour les tests d'intégration, l’application opérationnelle et éventuellement la
documentation associée. Il contribue à l’élaboration du scénario de déploiement.
Dans l'étape d'analyse, le concepteur-développeur recueille ou utilise le cahier des charges de l'application
pour établir les cas d'utilisation avec les scénarios, et les diagrammes de classes. En s’appuyant
éventuellement sur une analyse de risque de l’entreprise, il identifie les besoins de sécurité propres à
l’application. Si le client le demande, il prend en compte les principes liés à la l’écoconception de services
numériques.
Dans l'étape de conception technique, le concepteur-développeur définit l'architecture physique et
logicielle dans le respect des bonnes pratiques, il base ses choix de conception sur les patrons de
conception reconnus. Il formalise l’architecture à l’aide de diagrammes adaptés et reconnus par la
profession. Comme une bonne architecture est le cœur de la sécurité d’une application, il base ses choix
de conception sur des patrons de sécurité reconnus. Si le client le demande, il prend en compte les
principes liés à l’écoconception de services numériques appelée aussi conception responsable de services
numériques.
Il identifie les composants strictement nécessaires, définit leur implantation dans l'architecture choisie et
établit la documentation technique.
Dans l'étape de réalisation, le concepteur-développeur développe, intègre et teste les composants des
couches présentation, métier et persistance des données, en tenant compte de la conception établie, dans
le respect des bonnes pratiques et des règles du développement sécurisé. Les tests couvrent à la fois les
aspects fonctionnels, structurels et l’approche sécurité. Ils peuvent être complétés par une analyse
statique des composants.
Dans l'étape de déploiement, le concepteur développeur informatique participe à l'élaboration de la
stratégie de déploiement et de sécurité de l’application. Il déploie les composants assemblés ou
indépendants sur les serveurs de qualification de l’architecture prévue, en prenant en compte la sécurité
des accès.

Il dispose de la démarche à suivre, issue du plan qualité et d’un outil de modélisation, et éventuellement
d’une analyse de risque de l’entreprise.
Il utilise un outil collaboratif de gestion des itérations de développement et des versions, afin de faciliter le
développement parallèle des différents composants d’une même application au sein d’une équipe.

Il peut jouer un rôle d’animateur dans les méthodologies de développement en approche de type Agile,
voire encadrer des développeurs juniors.
Il contribue au suivi du projet, participe aux réunions de projet et aux ateliers de présentations utilisateurs.
Dans le cadre d’un développement en approche de type Agile, l’activité trouve sa place lors de chaque
itération du processus de développement. L’utilisateur exprime ses besoins en début de chacune des
itérations du projet et valide les interfaces à la fin de chaque itération.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 13/54
Dans le cycle de vie classique, cette activité se situe en fin du processus d'informatisation, après avoir
assuré la conception de l'application à réaliser. L’utilisateur exprime ses besoins en début de projet et
valide toutes les interfaces à la fin du projet.
Dans le cas de la maintenance logicielle, il analyse les problèmes détectés par le client ou ses demandes
de modifications contractualisées, afin de corriger les problèmes fonctionnels ou les vulnérabilités
constatés dans le logiciel. Il sollicite l’expertise de communautés de développeurs, de spécialistes sécurité
et d’éditeurs de logiciels afin de trouver des solutions aux problèmes techniques rencontrés. Il prend en
compte les enseignements tirés des incidents résolus.
Il partage avec les autres développeurs du projet, éventuellement en anglais, les éléments techniques des
composants qu'il a réalisés.

Il a la responsabilité de l’élaboration des différents schémas de conception, du développement des


composants qui en sont issus, et de leur intégration. Il tient compte des contraintes de sécurité telles que
la disponibilité, l’intégrité, la confidentialité et la preuve. Il a en charge la définition des environnements de
tests et de développement.

L’activité nécessite une station assise prolongée et un travail de façon continue face à des écrans.

Réglementation d’activités (le cas échéant)

Liste des compétences professionnelles de l’activité type

Collaborer à la gestion d’un projet informatique et à l’organisation de l’environnement de développement


Concevoir une application
Développer des composants métier
Construire une application organisée en couches
Développer une application mobile
Préparer et exécuter les plans de tests d’une application
Préparer et exécuter le déploiement d’une application

Compétences transversales de l’activité type (le cas échéant)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 14/54
FICHE COMPETENCE PROFESSIONNELLE N° 1

Maquetter une application

Description de la compétence – processus de mise en œuvre

À partir de cas d'utilisation ou de scénarios utilisateur, de la charte graphique et des exigences de sécurité
identifiées, concevoir la maquette des interfaces utilisateurs de l’application, avec du contenu en langue
française ou anglaise, y compris celles appropriées à l’équipement ciblé et en tenant compte de
l’expérience utilisateur et pour un équipement mobile des spécificités ergonomiques.
Formaliser les enchaînements des interfaces afin que l’utilisateur les valide ainsi que les maquettes.

Contexte(s) professionnel(s) de mise en œuvre

Le maquettage intervient en phase de conception avec une forte implication de l'utilisateur final, actuel ou
futur, et dans une démarche itérative centrée sur l'expérience utilisateur (approche Agile). Chaque itération
permet d'enrichir et de finaliser la maquette, afin que l’utilisateur valide l’interface graphique de l’application
et en retrouve les principales fonctionnalités tout au long du cycle de développement. Les itérations
peuvent donner lieu à des ateliers de présentation aux utilisateurs. Le maquettage intervient pour des
applications sur des supports et environnements multiples.

Critères de performance

La maquette prend en compte les spécificités fonctionnelles décrites dans les cas d'utilisation ou les
scénarios utilisateur
L'enchaînement des écrans est formalisé par un schéma
La maquette et l'enchaînement des écrans sont validés par l’utilisateur final
La maquette respecte la charte graphique de l’entreprise
La maquette est conforme à l'expérience utilisateur et à l’équipement ciblé
La maquette respecte les principes de sécurisation d’une interface utilisateur
La maquette prend en compte les exigences de sécurité spécifiques de l’application
La communication écrite en français ou en anglais est rédigée de façon adaptée à l’interlocuteur et sans
faute

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

S’assurer que les documents produits en français ou en anglais respectent les règles orthographiques et
grammaticales
Utiliser un outil de maquettage
Construire la maquette de l'application, l’enchaînement et la composition des écrans

Planifier et suivre les tâches de maquettage

Animer des réunions de travail avec les utilisateurs


Participer à des réunions de travail avec les utilisateurs, éventuellement en anglais
Rédiger des rapports d'activité et de reste à faire, éventuellement en anglais
Écouter, reformuler et faire la synthèse, éventuellement en anglais, des demandes des utilisateurs

Connaissance des règles orthographiques et grammaticales du français et de l’anglais


Connaissance d’une démarche de développement en approche de type Agile en termes de processus
itératif, d’acteurs et d’outils de formalisation
Connaissance du formalisme des cas d'utilisation et du diagramme d'état ou d’activité de la notation du
langage de modélisation unifié UML
Connaissance des règles ergonomiques issues de l'expérience utilisateur
Connaissance des composants d'interface graphique

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 15/54
Connaissance des bonnes pratiques de la qualité logicielle
Connaissance des réglementations en vigueur concernant la protection des données individuelles
Connaissance des principes de sécurisation d’une interface utilisateur (simplicité, minimalité des
affichages et des fonctionnalités)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 16/54
FICHE COMPETENCE PROFESSIONNELLE N° 2

Développer une interface utilisateur de type desktop

Description de la compétence – processus de mise en œuvre

À partir du dossier de conception technique contenant la maquette de l'interface utilisateur à développer et


à l'aide d'un environnement de développement intégré, éventuellement de langue anglaise, et d'un langage
orienté objet, coder, tester, documenter et installer les composants logiciels requis, formulaires et états,
afin d’assurer la collecte et la restitution des informations numériques relatives aux besoins du métier de
l'utilisateur.
Respecter les bonnes pratiques de la programmation orientée objet et les règles du développement
sécurisé.
Rechercher, éventuellement en langue anglaise, des solutions pertinentes pour résoudre des problèmes
techniques ou mettre en œuvre de nouvelles fonctionnalités.
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 s’effectue à partir d'un environnement de développement
intégré supportant un langage objet et mettant en œuvre un outil de design pour les formulaires, et pour
les états, un générateur d’états.

Critères de performance

L'interface est conforme à la maquette de l'application


Les bonnes pratiques de la programmation orientée objet sont respectées
Les programmes sont écrits dans un style défensif qui minimise les vulnérabilités
Un test unitaire est associé à chaque composant, avec une double approche fonctionnelle et sécurité
Le jeu d’essai fonctionnel est complet
Le code source est documenté ou auto-documenté
Le script d'installation est prévu
L’objet de la recherche est exprimé de manière précise en langue française ou anglaise
La documentation technique de l’environnement de développement, 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

Qualifier techniquement, valider la sécurité et utiliser un composant logiciel


Écrire un algorithme
Coder dans un langage objet
Sécuriser son code, en adoptant un style « défensif » (validation systématique des entrées…)
Utiliser les normes de codage du langage et auto-documenter le code au moyen du nommage
Gérer de façon complète les erreurs et les exceptions, pour éviter les vulnérabilités.
Utiliser les outils d'analyse statique (par exemple, ceux intégrés au compilateur) et dynamique (par
exemple débogueur) de code
Corriger les erreurs et remédier aux vulnérabilités détectées
Utiliser les bibliothèques de composants graphiques

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 17/54
Mettre en œuvre un outil de génération d'état
Réaliser un jeu de tests unitaires avec un outil de test (aspect fonctionnel et recherche de vulnérabilité)
Documenter le code
Utiliser un environnement de développement intégré y compris en anglais

Utiliser un outil collaboratif de partage de fichiers


Planifier et suivre les tâches de développement
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 du vocabulaire professionnel technique en français et en anglais


Connaissance d'un environnement de développement intégré
Connaissance des modèles de conception relatifs aux interfaces
Connaissance des concepts de la programmation objet
Connaissance des principes et des règles du développement sécurisé
Connaissance des spécificités des langages utilisés par rapport à la sécurité
Connaissance des attaques classiques (débordement de tampon…) et de leurs parades
Connaissance d’un système de gestion de versions
Connaissance des règles de base de la propriété intellectuelle et des différents types de licences
logicielles
Connaissance liée aux objets connectés (protocole de communication, …)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 18/54
FICHE COMPETENCE PROFESSIONNELLE N° 3

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 œuvre 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

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 19/54
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

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 20/54
FICHE COMPETENCE PROFESSIONNELLE N° 4

Développer la partie front-end d’une interface utilisateur web

Description de la compétence – processus de mise en œuvre

À partir du dossier de conception technique contenant la maquette de l'interface utilisateur à développer et


à l’aide des langages de développement web, créer les interfaces utilisateur web (pages web), puis coder,
tester et documenter les traitements côté client, afin d’obtenir un rendu visuel adapté à l’équipement
utilisateur et de fluidifier l’expérience utilisateur.
Prendre en compte les différents équipements et navigateurs ciblés.
Respecter les bonnes pratiques de développement web, d'accessibilité et les règles du développement
sécurisé.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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 quand l'ergonomie du site nécessite l'apport de
compétences en web design pour la mise en page des informations et/ou des objets graphiques et
multimédias. Le développement s’effectue à partir d'un environnement de développement en lien avec des
navigateurs.

Critères de performance

L'interface est conforme à la maquette de l'application et au dossier de conception technique


Les bonnes pratiques de développement web sont respectées
Les règles d'accessibilité sont respectées
Les pages web sont accessibles depuis un navigateur
Les pages web s’adaptent à la taille de l’écran et sont fluides
Le code source est documenté ou auto-documenté
Les tests garantissent que les pages web répondent aux fonctionnalités décrites dans le dossier de
conception technique
Les tests de sécurité suivent un plan reconnu par la profession
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

Coder les pages web statiques et adaptables avec un langage de balise et feuilles de style, en suivant les
principes de qualité et dans un style défensif en veillant à rendre l’application la plus résiliente possible
Utiliser un environnement de développement y compris en anglais
Publier l’interface web sur un serveur
Écrire un algorithme
Intégrer dans une page web des scripts événementiels avec un langage de script client, en suivant les
principes de sécurisation des clients web
Utiliser un framework adaptatif

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 21/54
Programmer avec un framework de script client
Fluidifier le site en utilisant des mécanismes asynchrones (de type AJAX, ...)
Documenter les scripts client
Réaliser un jeu de tests des scripts client
Tester la sécurité du site avec un guide de test reconnu

Planifier et suivre les tâches de développement


Rechercher une réponse pertinente à une difficulté technique
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


Connaissance du vocabulaire anglais professionnel associé au web
Connaissance de l'architecture du web et des standards de l’organisme de normalisation W3C
Connaissance des bonnes pratiques de qualité et d’écoconception web
Connaissance des langages du développement web, tels que langage de balise et feuilles de style
Connaissance d’un framework de présentation adaptatif
Connaissance des règles d’accessibilité des contenus web du type WCAG
Connaissance des modes de publication d'une application web
Connaissance des principes de base du référencement
Connaissance des normes ECMAScript et du DOM du W3C
Connaissance des langages et framework de script client
Connaissance des principales failles de sécurité des applications web (XSS, CSRF…) et de leurs parades
Connaissance des bonnes pratiques de sécurisation des clients web

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 22/54
FICHE COMPETENCE PROFESSIONNELLE N° 5

Développer la partie back-end d’une interface utilisateur web

Description de la compétence – processus de mise en œuvre

À partir du dossier de conception technique, et dans le respect des bonnes pratiques de développement et
de sécurisation d'application web, coder, tester et documenter les traitements côté serveur, afin d’assurer
la collecte et la restitution d’informations numériques.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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. Le développement d'une application web s’effectue à partir
d'un environnement de développement intégré supportant les différents langages serveur.

Critères de performance

Les bonnes pratiques de développement objet sont respectées


Les composants serveur contribuent à la sécurité de l’application
Le code source des composants est documenté ou auto-documenté
Les tests garantissent que les traitements serveurs répondent aux fonctionnalités décrites dans le dossier
de conception technique
Les tests de sécurité suivent un plan reconnu par la profession
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

Utiliser un outil collaboratif de partage de ressources


Utiliser un outil de virtualisation ou de conteneurisation
Écrire un algorithme
Développer dans un langage objet
Développer la partie dynamique de l'application avec des composants serveurs, dans un style défensif, et
éventuellement en asynchrone
Appeler des Web Services dans un composant serveur
Documenter les pages web
Sécuriser la liaison entre le client et le serveur web.
Gérer la sécurité de l’application (authentification, permissions…) dans la partie serveur
Utiliser des composants d’accès aux données
Réaliser un jeu de tests de l'application web en précisant les tests ou en appliquant une stratégie de tests
Prendre en compte les contraintes des applications multilingues
Tester la sécurité du site, avec un guide de test reconnu (par exemple, celui d’OWASP)
Publier l'application développée sur un serveur web

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 23/54
Planifier et suivre les tâches de développement
Faire effectuer un test d’intrusion
Prendre en compte un rapport de test d'intrusion et les corrections possibles pour traiter la vulnérabilité
Rechercher une réponse pertinente à une difficulté technique de développement
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 du vocabulaire anglais professionnel associé au web
Connaissance des principes de communication du web
Connaissance liée aux objets connectés (protocole de communication, …)
Connaissance des concepts de la programmation objet
Connaissance des bonnes pratiques de qualité et d’écoconception web
Connaissance des bases de la cryptographie et des mécanismes de sécurité du web
Connaissance du rôle de l’infrastructure et des protocoles réseau dans la sécurité d’une application web
Connaissance des langages du développement web coté serveur
Connaissance des principales failles de sécurité des applications web (XSS, CSRF) et de leurs parades
Connaissance des bonnes pratiques d’architecture : rôles du client et du serveur web dans la sécurité
(authentification et permissions, validations des entrées)
Connaissance des bonnes pratiques de sécurisation du développement web (scripts client et pages
serveur)
Connaissance des modes de publication d'une application web
Connaissance d’un outil de virtualisation ou de conteneurisation

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 24/54
FICHE COMPETENCE PROFESSIONNELLE N° 6

Concevoir une base de données

Description de la compétence – processus de mise en œuvre

À partir du cahier des charges relatif à une application informatique nécessitant une base de données
relationnelles, établir le schéma entité-association des données à informatiser, en respectant le formalisme
et les règles de nommage de l’entreprise, et définir le schéma physique de la base de données, afin de
permettre l’élaboration d’une base de données normalisée. Dans le cas d'une demande d'évolution
applicative et à partir d'une base de données existante, déduire le schéma entité-association des données
de la base à faire évoluer.

Contexte(s) professionnel(s) de mise en œuvre

Le schéma entité association des données est établi à l'aide d'un outil de conception de type atelier de
génie logiciel, éventuellement de langue anglaise. La maîtrise d'ouvrage doit valider le schéma entité-
association des données avant d'établir le schéma physique.

Critères de performance

Le schéma entité-association des données couvre les règles de gestion sur les données
Le schéma entité-association des données respecte le formalisme du modèle entité-association
Les règles de nommage sont conformes aux normes qualité de l'entreprise
Le schéma physique de la base de données est normalisé

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

S’assurer que les documents produits en français respectent les règles orthographiques et grammaticales
Recenser les informations du domaine étudié
Construire le schéma entité-association des données
Construire le schéma physique des données

Rédiger les comptes rendus de réunion, éventuellement en anglais


Planifier et suivre les tâches de conception de la base de données

Écouter, reformuler et faire la synthèse des demandes utilisateurs


Participer à une réunion de travail avec les utilisateurs y compris en anglais

Connaissance des règles orthographiques et grammaticales du français


Connaissance des concepts du modèle entité-association
Connaissance du modèle relationnel
Connaissance des règles de passage du modèle entité-association vers le modèle physique
Connaissance d'un outil de conception entité-association de type atelier de génie logiciel
Connaissance du vocabulaire anglais professionnel associé aux bases de données et aux techniques de
modélisation
Connaissance des réglementations en vigueur concernant la protection des données individuelles

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 25/54
FICHE COMPETENCE PROFESSIONNELLE N° 7

Mettre en place une base de données

Description de la compétence – processus de mise en œuvre

À partir d’un besoin utilisateur nécessitant le stockage de données, structurées ou non structurées, du
dossier de conception technique, des normes qualité de l'entreprise, organiser les données afin de
permettre l’élaboration d’une base de données. Écrire et exécuter le script de création de la base, insérer
les données de test, définir les droits d'utilisation, prévoir les procédures de sauvegarde et de restauration
de la base de données de test
Conformément à l’état de l’art de la sécurité et aux exigences de sécurité identifiées, exprimer le besoin de
sécurité du SGDB.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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

Les bases de données relationnelles sont utilisées dans les applications traditionnelles où les données
sont centralisées sur un serveur. Les données sont amenées à être souvent mises à jour.
Les bases de données non relationnelles sont utilisées dans les cas de traitement des données à l'échelle
du Web. Les données sont essentiellement lues, il y a peu de mises à jour.
Les besoins de sécurité du SGBD sont exprimés par le concepteur développeur et le paramétrage est
effectué par un administrateur de bases de données.

Critères de performance

La base de données relationnelles est conforme au schéma physique


Les règles de nommage sont conformes aux normes qualité de l'entreprise
L'intégrité des données est assurée
La base de données est disponible avec les droits d'accès prévus
Le niveau de confidentialité demandé est respecté
Les utilisateurs sont authentifiés et leurs actions peuvent être tracées
La base de données de test peut être restaurée en cas d'incident
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 trouver une solution à un problème technique ou à la mise en œuvre
d’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,...)
La communication écrite, en français ou en anglais, est rédigée de façon adaptée à l’interlocuteur et sans
faute
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

Mettre en œuvre les instructions de création, de modification et de suppression de base de données


Mettre en œuvre les instructions pour implémenter les contraintes et l'optimisation des accès
Exprimer les besoins de sécurité du SGDB, la gestion des comptes et de la politique de mots de passe
Écrire et exécuter un script de création de base de données à l'aide de l’environnement intégré de
développement

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 27/54
Générer un script de création de la base de données à l'aide de l'outil de modélisation
Élaborer des scripts d'alimentation de la base de test
Trouver le compromis optimal entre normalisation, performance et efficacité en vue de la connexion des
composants à la base
Mettre en œuvre les utilitaires de sauvegarde et restauration sur un serveur de bases de données
Organiser les données d’une base de données non relationnelles

Planifier et suivre les tâches de mise en place de la base de données

Connaissance du système de gestion de base de données relationnelles


Connaissance des formats de données (par exemple JSON, XML, ...)
Connaissance des avantages et inconvénients du relationnel et du non relationnel
Connaissance du langage de requête pour la base utilisée
Connaissance des différents types de codage des données
Connaissance des vulnérabilités et des attaques classiques sur les bases de données
Connaissance des bonnes pratiques de sécurisation : choix du mode d’authentification, gestion des
comptes, politique de mots de passe

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 28/54
FICHE COMPETENCE PROFESSIONNELLE N° 8

Développer des composants dans le langage d’une base de données

Description de la compétence – processus de mise en œuvre

À partir du dossier de spécifications fonctionnelles décrivant les traitements associés aux règles de gestion
d'une application informatique et en s'appuyant sur une base de données relationnelles, programmer et
tester les composants sous la forme de déclencheurs, de procédures stockées et de fonctions, afin
d'implémenter les traitements dans la base de données, en gérant les cas d’exception et les conflits
d’accès et en appliquant les principes du développement sécurisé.
Utiliser un environnement de développement et de test.

Contexte(s) professionnel(s) de mise en œuvre

La programmation est réalisée dans le langage du système de gestion de la base de données.

Critères de performance

Les traitements relatifs aux manipulations des données répondent aux fonctionnalités décrites dans le
dossier de spécifications
Les cas d'exception sont pris en compte
L'intégrité et la confidentialité des données sont maintenues
Les conflits d'accès aux données sont gérés
Toutes les entrées sont contrôlées et validées dans les composants serveurs
Un test unitaire est associé à chaque composant

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

Utiliser l'interface graphique en anglais de l’environnement de développement et de test associé au


système de gestion de la base de données
Programmer des fonctions, des procédures stockées et des déclencheurs (triggers) avec le langage du
système de gestion de base de données, dans un style défensif, en validant toutes les entrées.
Tester les composants à l’aide d’un environnement de développement intégré, avec une double approche
fonctionnelle et sécurité
Intégrer les traitements sur les données dans une transaction

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 professionnel technique en français et en anglais


Connaissance du modèle de données relationnel
Connaissance des bonnes pratiques du développement procédural
Connaissance du langage de requête structurée SQL
Connaissance du système de gestion de base de données relationnelles
Connaissance du langage de programmation du système de gestion de base de données
Connaissance des principes de fonctionnement des transactions, de leurs niveaux d’isolation et du
verrouillage des données
Connaissance des principales attaques sur les bases de données et de leurs parades côté serveur

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 29/54
FICHE COMPETENCE PROFESSIONNELLE N° 9

Collaborer à la gestion d’un projet informatique et à l’organisation de


l’environnement de développement

Description de la compétence – processus de mise en œuvre

À partir des objectifs du projet définis en terme de livrables et de la démarche projet, collaborer à la
planification et au suivi des ressources humaines et matérielles allouées au projet, en communiquant à
l’écrit ou à l’oral en français ou en anglais, mettre en œuvre les procédures qualité décrites dans le plan
qualité projet, définir l'environnement de développement et les outils collaboratifs du travail en équipe, afin
d'atteindre les objectifs du projet en termes de coût, de délai et de qualité.

Contexte(s) professionnel(s) de mise en œuvre

Cette compétence s'exerce au sein d'une équipe projet éventuellement sous la responsabilité d’un chef de
projet et dans un environnement de travail organisé selon la méthode choisie.
Le degré de responsabilité du concepteur développeur varie selon la taille et la complexité du projet.
L’organisation du travail dépend de la méthode de développement choisie, séquentielle ou itérative. Dans
un développement de type séquentiel, cette organisation est structurée de façon hiérarchique, tandis que
dans un développement itératif en approche de type Agile, l’organisation est structurée de façon plus
collaborative.
Selon les projets, la communication écrite et orale au sein des équipes de développement peut s’effectuer
en anglais.

Critères de performance

Le suivi des activités ou des tâches du projet est mis en œuvre en fonction de la démarche projet adoptée
Les procédures qualité décrites dans le plan qualité projet sont mises en œuvre
L'environnement de développement est défini
Les outils collaboratifs sont choisis
La communication écrite en français ou en anglais est rédigée de façon adaptée à l’interlocuteur et sans
faute
La communication technique orale, en français ou en anglais, est réalisée de façon adaptée à
l’interlocuteur et sans faute

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

S’assurer que les documents produits en français ou en anglais respectent les règles orthographiques et
grammaticales
Mettre en œuvre les procédures de la démarche qualité
Définir l’environnement de développement du projet
Définir un outil collaboratif de partage de ressources
Définir les outils du Cloud à utiliser au sein de l'équipe de projet
Participer à la planification et au suivi du projet au sein de l'équipe de projet
Sécuriser les échanges dans l’équipe de projet

Conduire de façon séquentielle un projet de conception et de développement


Coordonner de façon itérative et en mode collaboratif un projet de conception et de développement
Rédiger un compte rendu de réunion
Planifier et suivre les tâches de développement d'une application informatique

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 31/54
Rédiger des rapports d'activité et de reste à faire, éventuellement en anglais

Animer une réunion de travail au sein de l'équipe de projet

Connaissance des règles orthographiques et grammaticales du français et de l’anglais


Connaissance des différents types de démarches de conception de logiciel
Connaissance des outils de planification
Connaissance des méthodologies de découpage de projets en itérations, d’estimation de complexité et de
charge, de suivi en temps réel
Connaissance des différents types de Cloud, des outils associés et de leur utilité pour le développement
Connaissance des outils de virtualisation ou de conteneurisation
Connaissance des outils collaboratifs et de leurs vulnérabilités

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 32/54
FICHE COMPETENCE PROFESSIONNELLE N° 10

Concevoir une application

Description de la compétence – processus de mise en œuvre

À partir du cahier des charges de la maîtrise d’ouvrage, concevoir fonctionnellement et techniquement une
application informatique sécurisée en suivant une démarche de conception. Constituer le dossier de
conception, éventuellement en anglais, modélisant, avec des diagrammes, les cas d'utilisation, les classes
d'analyse et de conception, décrivant également l'architecture logicielle multicouche répartie en vue du
développement de l'application.
Respecter les bonnes pratiques et les règles du développement sécurisé et compléter ce dossier par la
description des exigences de sécurité de l’application.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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

La conception de l'application pour la partie fonctionnelle se réalise en relation directe avec le client pour
les petits projets, ou bien avec une maîtrise d'ouvrage pour les moyens et gros projets. Pour les projets
complexes, la conception de la partie technique se fait en relation avec un architecte logiciel. Pour une
application sensible, la conception se fait en relation avec un expert sécurité. La modélisation peut être
réalisée à l'aide d'un outil de conception et dans le cadre d'une démarche pilotée par les modèles.

Critères de performance

Les cas d’utilisation couvrent l'ensemble des exigences utilisateur exprimées dans le cahier des charges
Les besoins de sécurité de l’application sont identifiés
Les besoins d’écoconception de l’application sont identifiés
Les classes d’analyse et de conception sont définies
L’architecture technique est conforme aux bonnes pratiques d’une architecture répartie sécurisée
Le dossier de conception est structuré et documenté en conformité avec la démarche choisie
Le rôle de chaque couche dans la stratégie de sécurité est bien défini
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 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

Collecter les besoins des utilisateurs


Prendre en compte une analyse de risque
Analyser un cahier des charges en identifiant les limites du système, les acteurs et les messages
Identifier les besoins de sécurité de l’application
Traduire les besoins en diagrammes UML
Concevoir la solution à partir des diagrammes UML
Adapter l’architecture technique aux besoins des utilisateurs et aux besoins de sécurité
Utiliser les patrons de conception (design patterns) et les patrons de sécurité (security pattern)
Modéliser l’architecture du système, en respectant les principes et patrons de sécurité
Améliorer à fonctionnalités constantes la conception d’un code existant (refactoring)

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 33/54
Pratiquer la conception responsable, en minimisant l’impact de l’application sur la consommation
énergétique

Rédiger les comptes rendus de réunion, éventuellement en anglais


Rédiger un dossier de conception, éventuellement en anglais
Planifier les tâches de conception d'une application
Suivre l'avancement des tâches de conception
Établir des rapports d'activité et de reste à faire

Écouter, reformuler et synthétiser les demandes utilisateurs, éventuellement en anglais


Participer à une réunion de travail avec les utilisateurs, éventuellement en anglais

Connaissance des architectures logicielles multicouches réparties y compris avec des microservices
Connaissance du formalisme des diagrammes du langage de modélisation unifié UML
Connaissance du développement objet
Connaissance d'une démarche de développement logiciel pilotée par les modèles
Connaissance des outils principaux de conception et de réalisation du marché tels que logiciels et cadres
d’applications
Connaissance des principes de l’analyse de risque
Connaissance des principales vulnérabilités et attaques contre les architectures multicouches réparties
Connaissance des principes et des patrons de sécurité applicables à l’architecture multicouche répartie
Connaissance des principes de la conception responsable de services numériques

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 34/54
FICHE COMPETENCE PROFESSIONNELLE N° 11

Développer des composants métier

Description de la compétence – processus de mise en œuvre

À partir des diagrammes de classes et des diagrammes de composants du dossier de conception, coder et
tester les composants de la couche métier d'une application informatique dans une architecture
multicouche répartie conformément aux règles métier et avec les cas d’exception, dans le respect des
bonnes pratiques du développement objet et des principes du développement sécurisé.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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

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.

Critères de performance

Les bonnes pratiques de conception objet sont appliquées


Les composants métier sont écrits dans un style défensif et toutes les entrées sont validées
Les composants métier sont conformes aux diagrammes de classes et de composants
Les règles métier sont implémentées dans les classes métier avec les cas d'exception
Les tests unitaires des composants métier sont prévus (approche fonctionnelle, structurelle et sécurité)
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

Utiliser les fonctionnalités de génération de code de l’outil de modélisation UML


Coder des composants dans un langage objet, avec un style de programmation défensif
Valider la sécurité et utiliser des composants issus d'un cadre d’applications (framework) ou d'une
bibliothèque
Utiliser les moyens de gestion des identités et des certificats numériques
Utiliser un outil collaboratif de partage de ressources
Produire les tests unitaires, avec une double approche fonctionnelle et sécurité
Utiliser les outils d’analyses statiques (par exemple, ceux intégrés au compilateur) et dynamiques (par
exemple déboggeur) de code
Corriger les erreurs et remédier aux vulnérabilités détectées

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

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 35/54
Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles par
Internet

Documenter les composants

Connaissance du vocabulaire anglais professionnel associé au développement de composants métier


Connaissance des concepts et d'un langage de développement objet
Connaissance des principes et des règles du développement sécurisé
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 du rôle de la couche métier dans la sécurité d’une application multicouche répartie
Connaissance de techniques de communication applicative telles que les services Web
Connaissance des bases de la cryptographie
Connaissance des bonnes pratiques de conception et de sécurisation des composants dans une
architecture logicielle multicouche répartie

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 36/54
FICHE COMPETENCE PROFESSIONNELLE N° 12

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

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 37/54
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

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 38/54
FICHE COMPETENCE PROFESSIONNELLE N° 13

Développer une application mobile

Description de la compétence – processus de mise en œuvre

À partir du cahier des charges de l'application, des spécificités ergonomiques et fonctionnelles de


l’équipement mobile, et en suivant une démarche de développement en approche de type Agile, concevoir
la maquette graphique appropriée à l’équipement et en respectant l’expérience utilisateur. Coder,
documenter l'application mobile en respectant les contraintes de l'architecture du matériel cible et tester
l'application dans l'environnement du matériel cible afin de répondre au besoin fonctionnel de l’utilisateur,
en respectant à chaque étape l’état de l’art de la sécurité informatique.
Réaliser les développements à partir d'un environnement de développement intégré, éventuellement de
langue anglaise.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre
en œuvre 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

Le développement de l'application mobile se réalise en liaison étroite avec l’utilisateur et à l'aide d'un
environnement de développement.
Une application mobile est une application qui est téléchargée sur un store (magasin d’applications)
contrairement à une application web (webapp) qui est accessible depuis un navigateur.

Selon le besoin et le niveau de performance attendue, le concepteur-développeur peut développer une


application native c’est-à-dire dédiée au matériel cible et à son système d'exploitation. Pour la rendre
accessible, le concepteur-développeur doit la publier sur un store dédié au système d’exploitation mobile.
Il peut aussi développer une application mobile de type multi plateforme (cross-platform), c’est-à-dire mise
à disposition sur plusieurs systèmes d’exploitation. Le concepteur-développeur utilise alors un socle de
développement commun.
Les applications concernées s'adressent au grand public ou aux salariés d'entreprise et peuvent alimenter
des stores privés.

Critères de performance

Les fonctionnalités de l'application sont conformes au cahier des charges fonctionnel


L'ergonomie respecte l’expérience utilisateur du matériel cible mis en œuvre
Le code source des composants est documenté ou auto-documenté
L'application est testée sur les matériels cibles ou sur des émulateurs
L’application ne possède que les permissions exigées par ses fonctionnalités
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

Maquetter l'application mobile avec un outil : enchaînement et maquette des écrans associés
Adapter le développement de l'interface graphique aux spécificités de l’équipement mobile de façon
ergonomique

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 39/54
Mettre en œuvre l'environnement de développement de l’application mobile en tenant compte du système
d’exploitation cible
Coder dans le langage approprié les composants de l'application mobile, dans un style défensif
Mettre en œuvre les échanges de données entre l’équipement mobile et un serveur d'entreprise de façon
sécurisée
Réaliser un jeu de tests de l'application mobile en fonction des caractéristiques du matériel cible, avec une
double approche fonctionnelle et sécurité
Gérer la sécurité de l’application mobile en termes d’authentification, de chiffrement et de permissions
Gérer les performances de l’application mobile
Utiliser l'interface graphique, y compris en anglais, d'un environnement de développement d’applications
mobiles

Utiliser un outil collaboratif de partage de ressources


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

Écouter, reformuler et synthétiser les demandes utilisateurs


Participer à une réunion de travail avec les utilisateurs, éventuellement en anglais
Rédiger les comptes rendus de réunion, y compris en anglais

Connaissance d'une démarche de développement en approche de type Agile


Connaissance des normes réseaux liées au développement mobile
Connaissance des bases de la cryptographie
Connaissance des architectures d’application mobile : règles ergonomiques, contrôles graphiques et
évènements, cycle de vie, communication entre applications locale et distante, persistance, sécurité
Connaissance des formats normalisés d'échange de données
Connaissance de l'utilisation des services distants et des méthodes de sécurisation des échanges
Connaissance de l'environnement de développement approprié à l’équipement mobile
Connaissance des principes et des règles du développement sécurisé
Connaissance des vulnérabilités spécifiques au matériel mobile
Connaissance du vocabulaire anglais professionnel associé aux applications mobiles

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 40/54
FICHE COMPETENCE PROFESSIONNELLE N° 14

Préparer et exécuter les plans de tests d’une application

Description de la compétence – processus de mise en œuvre

À partir des scénarios des cas d'utilisation de l'application à tester, concevoir le plan de tests et créer
l'environnement adéquat, puis réaliser les tests fonctionnels et les rapprocher des résultats attendus, afin
de livrer une application répondant aux spécifications fonctionnelles et techniques. Rechercher les
vulnérabilités par des tests de sécurité appropriés. Dans le cas d'une application en évolution ou d’un
changement de version, identifier les cas de risques de régression et tester l'application à partir du plan de
tests approprié.

Contexte(s) professionnel(s) de mise en œuvre

Les tests fonctionnels se réalisent avec les utilisateurs de l'application. Les jeux d'essai sont mis en place
sur une base de données de test. Dans le cas d'une démarche de développement en approche de type
Agile, ces tests peuvent être intégrés au sein de la démarche de développement dite pilotée par les tests
(Test Driven Development). Certains tests de sécurité peuvent être confiés à des experts sécurité (test
d’intrusion).

Critères de performance

Le plan de tests couvre l'ensemble des fonctionnalités retenues pour l'informatisation


Un environnement de tests est créé
Les tests, fonctionnels, structurels et de sécurité, exécutés sont conformes au plan de tests définis
Les résultats obtenus sont cohérents avec les résultats attendus
Les tests de non régression sont définis et exécutés conformément au plan de tests définis

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

Préparer et exécuter un plan de test de sécurité, en s’appuyant sur un guide de test reconnu, par exemple
OWASP pour le web
Rechercher des failles de sécurité par des tests aléatoires (fuzzing)
Pratiquer une analyse statique de l’application
Exécuter les tests en manuel, ou en automatique dans le cadre d’un processus d’intégration continue
Analyser les résultats du test de charge et apporter les corrections
Analyser les résultats du test d’intrusion et apporter les corrections
Rédiger le dossier de compte rendu de tests

Faire effectuer un test de charge


Faire effectuer un test d’intrusion

Connaissance des vulnérabilités classiques, des failles de sécurité propres aux bases de données, aux
applications web multicouches réparties
Connaissance des différents types de tests fonctionnels, structurels, de non régression et de sécurité
Connaissance de la place et de l'impact des tests dans le cycle de vie du projet
Connaissance des outils de tests

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 41/54
FICHE COMPETENCE PROFESSIONNELLE N° 15

Préparer et exécuter le déploiement d’une application

Description de la compétence – processus de mise en œuvre

À partir de l’architecture de l’application répartie et éventuellement d’un processus d’intégration continue et


des différents composants assemblés ou indépendants, élaborer le diagramme de déploiement
correspondant. Déployer l’exécutable obtenu par assemblage des différents composants ou les
exécutables des composants indépendants, sur le ou les environnements de qualification, y compris dans
le Cloud, afin d'obtenir une application logicielle opérationnelle et signée selon les exigences de sécurité.

Contexte(s) professionnel(s) de mise en œuvre

La préparation et le déploiement d'une application logicielle répartie se réalise en fin de processus de


développement ou tout au long du processus avec un outil d’intégration continue. Dans le cas
d’architecture en microservice, les composants sont déployés indépendamment.
Le déploiement de l'application s'effectue sur un ou des environnements de qualification interne ou externe
en mode Web ou en mode Cloud.
Selon le contexte, la taille de la Direction des Systèmes d’information, le concepteur développeur est
amené à exécuter ou non le déploiement.

Critères de performance

Le déploiement est formalisé à partir d'un diagramme


Les composants assemblés ou indépendants sont déployés sur les environnements de qualification
L'application déployée fournit les services demandés
Le code de l’application est signé, tout ou partie, selon les exigences de sécurité

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

Réaliser un diagramme de déploiement


Déployer l’application ou le microservice
Prendre en compte les dépendances vis-à-vis des composants externes du composant à déployer
Prendre en compte les évolutions de versions de l’ensemble des composants externes
Gérer la sécurité de l’application en termes de signature numérique des exécutables, selon les exigences
de sécurité identifiées

Planifier et suivre les tâches de déploiement

Connaissance des bases de la cryptographie


Connaissance des concepts liés aux architectures réparties
Connaissance des différents types de serveurs
Connaissance des diagrammes UML concernant les composants et le déploiement
Connaissance du processus d’intégration continue
Connaissance d’un outil de signature de code
Connaissance des règles de mise en production associées à l’application

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 43/54
FICHE DES COMPETENCES TRANSVERSALES DE L’EMPLOI TYPE

Utiliser l'anglais dans son activité professionnelle en conception et


développement d'applications

Description de la compétence – processus de mise en œuvre

Dans le cadre de son activité professionnelle, pratiquer la langue anglaise afin d’exploiter des
documentations techniques, de rédiger des dossiers techniques, de communiquer par mail, au téléphone
ou lors de réunion.
Afin d'être opérationnel dans l'emploi, et par rapport au cadre européen commun de référence pour les
langues, utiliser l'anglais au niveau B1 en compréhension de l'écrit, au niveau A2 en compréhension de
l’oral et expression écrite et orale.

Critères de performance

La documentation technique en anglais est comprise (sans contre-sens, …)


La communication écrite en langue anglaise est rédigée de façon adaptée à l’interlocuteur et sans faute
nuisant à la fiabilité de l’échange
La communication technique orale en langue anglaise est réalisée de façon simple sur des sujets
professionnels, en face à face, au téléphone

Actualiser et partager ses compétences en conception et développement


d'applications

Description de la compétence – processus de mise en œuvre

À partir d'un besoin de compréhension ou de recherche d'information, se documenter et analyser les


informations sur les technologies informatiques récentes. Rechercher des solutions innovantes et
pertinentes pour la résolution de problèmes techniques dans le cadre du développement d’applications.
Partager ces connaissances et compétences à partir des communautés de développeurs accessibles par
internet.
Cette compétence s'exerce en permanence et de façon transversale à l’emploi et souvent en anglais.

Critères de performance

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
Le partage du résultat de recherche et de veille est effectué, oralement ou par écrit, avec ses pairs

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 45/54
Glossaire technique

Agile
Les méthodes de développement en approche agile visent la satisfaction réelle des
besoins d’informatisation du client. Elles l’impliquent pendant tout le développement et
permettent une grande réactivité à ses demandes.

AJAX
AJAX est l’acronyme d'Asynchronous Javascript and XML. Il permet de construire des
applications Web et des sites web dynamiques interactifs sur les postes clients en se
servant de différentes technologies : JavaScript, CSS, JSON, XML, DOM. La
combinaison de ces technologies permet d'améliorer la maniabilité et le confort
d'utilisation des applications internet riches (abréviation RIA : Rich Interface Application).

Application web
Une application web (aussi appelée web app de l’anglais) est une application
manipulable grâce à un navigateur web.

Big data
(Source Wikipédia du 04/01/2018)
Le big data, littéralement « grosses données », ou mégadonnées (recommandé), parfois
appelées données massives, désignent des ensembles de données devenus si
volumineux qu'ils dépassent les capacités humaines d'analyse et celles des outils
informatiques classiques de gestion de base de données.

Cloud computing
Le cloud computing, ou l’informatique en nuage, consiste à exploiter la puissance de
calcul ou de stockage de serveurs informatiques distants par l'intermédiaire d'un réseau,
généralement Internet. Les serveurs sont loués à la demande par tranche d'utilisation
selon des critères techniques.
Les principaux services disponibles en cloud computing sont le SaaS (Software as a
Service), le PaaS (Platform as a Service) et le IaaS (Infrastructure as a Service). En
fonction du service, les systèmes d'exploitation, les logiciels d'infrastructure et les
logiciels applicatifs seront de la responsabilité soit du fournisseur soit du client.

CMMI
Capability Maturity Model Integration. Référentiel de bonnes pratiques destiné à
appréhender, évaluer et améliorer les activités des entreprises d'ingénierie informatique.

Composant
(Source Wikipédia du 17/05/2016)
Un composant logiciel est un élément de base d'un système informatique plus complexe
dans lequel les éléments sont organisés entre eux, rendent un service prédéfini et sont
capables de communiquer entre eux ainsi qu’avec d'autres composants extérieurs. La
programmation orientée composant a pris de l'ampleur avec le développement objet.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 46/54
CSRF
(Source Wikipédia du 07/09/2017)
En sécurité informatique, le Cross-Site Request Forgery est un type de vulnérabilité des
services d'authentification web. L’objet de cette attaque est de transmettre à un
utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au
site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits.

Design Patterns
Appelés en français patrons de conception, ils permettent de formaliser des
organisations empiriques de classes d’objets destinés à élaborer des modes de
conceptions transposables d’une application à l’autre. L’intérêt des Design Patterns est
de pouvoir travailler sur les fonctionnalités d’une famille d’objets, éventuellement de
modifier ces fonctionnalités, sans avoir à revoir le code détaillé des classes.

DOM
Document Object Model. Interface de programmation normalisée par le W3C permettant
à des scripts d'examiner et de modifier le contenu du navigateur web. Les objets DOM
peuvent représenter une fenêtre, un document, une phrase, un style…

ECMAScript
ECMAScript est un ensemble de spécifications mises en œuvre dans différents
langages de script. Ces spécifications sont standardisées par l’organisation ECMA
International.

Entité association
Utilisé par exemple dans la méthode Merise, le modèle entité association donne une
représentation de haut niveau des données de l’entreprise, appelée « modèle
conceptuel ».

FAQ
Frequently Asked Questions. Liste des questions les plus posées par les utilisateurs
avec les réponses associées. Évite l’engorgement des sites d’appel.

Feuille de style
(Source Wikipédia du 31/12/2017)
Les feuilles de style en cascade, généralement appelées CSS de l'anglais Cascading
Style Sheets, forment un langage informatique qui décrit la présentation des documents
HTML et XML. Les standards définissant CSS sont publiés par le World Wide Web
Consortium (W3C).

Framework
Appelé en français cadre d’applications, c’est un ensemble de classes d’objet, utilisables
pour créer des applications informatiques. Le framework fournit au développeur des
objets d’interface (bouton, menu, fenêtres, boîtes de dialogue), des objets de service
(collections, conteneurs) et des objets de persistance (accès aux fichiers et aux bases
de données) prêts à l’emploi. Le développeur peut donc s’appuyer sur ces classes et se
concentrer sur les aspects métier de son application.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 47/54
HTTP
(Source Wikipédia du 19/12/2017)
HyperText Transfer Protocol, littéralement « protocole de transfert hypertexte » est un
protocole de communication client-serveur. Les clients HTTP les plus connus sont les
navigateurs Web permettant à un utilisateur d'accéder à un serveur contenant les
données.

JSON
(Source Wikipédia du 02/01/2018)
JavaScript Object Notation. Format de données textuelles dérivé de la notation des
objets du langage JavaScript. Il permet de représenter de l’information structurée
comme le permet XML par exemple. Un document JSON a pour fonction de représenter
de l'information accompagnée d'étiquettes permettant d'en interpréter les divers
éléments, sans aucune restriction sur le nombre de celles-ci.

Langage de balise
Les langages à base de balises servent surtout à structurer ou formater des documents.
HTML est un exemple de langage de balise, il permet de formater les pages web, par
exemple en soulignant certains mots.

Langage de script client et langage de script serveur


Un langage de script client fait en général référence à des programmes dans un
contexte web qui s'exécutent sur le navigateur web côté client, par opposition aux
langages de script serveur s'exécutant sur un serveur Web. Javascript est un exemple
de langage de script client. JSP et ASP.Net sont des exemples de langage de script
serveur.

Microservices
(Source Wikipédia du 20/07/2017)
Les microservices sont un style d'architecture logicielle à partir duquel un ensemble
complexe d'applications est décomposé en plusieurs processus indépendants et
faiblement couplés, souvent spécialisés dans une seule tâche. Les processus
indépendants communiquent les uns avec les autres en utilisant des interfaces de
programmation indépendantes des langages.

NoSQL
Acronyme de "Not only SQL", il désigne les bases de données de nouvelle génération
qui se démarquent des bases de données relationnelles et qui ne sont plus
interrogeables en SQL.

Objet
Le développement objet est basé sur l’identification, la modélisation, puis la
programmation de composants (classes). Considérés comme des boîtes noires, on ne
peut utiliser ces composants qu’à travers leur interface publique. Cette interface est
constituée de propriétés (caractéristique visible de l’objet), de méthodes (ce que l’on
peut demander de faire à un objet) et de messages émis par l’objet (auxquels on peut
réagir par l’exécution d’une procédure). Les concepts objet sont présents à tous les
niveaux des architectures des applications informatiques.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 48/54
OWASP
Open Web Application Security Project est une communauté en ligne travaillant sur la
sécurité des applications Web. Sa philosophie est d'être à la fois libre et ouverte à tous.
Elle a pour vocation de publier des recommandations de sécurisation Web et de
proposer aux internautes, administrateurs et entreprises des méthodes et outils de
référence permettant de contrôler le niveau de sécurisation de ses applications Web.

Page web dynamique et page web statique


(Source Wikipédia 31/01/2017)
Une page web dynamique est une page web générée à la demande, par opposition à
une page web statique. Le contenu d'une page web dynamique peut donc varier en
fonction d'informations (heure, nom de l'utilisateur, formulaire rempli par l'utilisateur, etc.)
qui ne sont connues qu'au moment de sa consultation. À l'inverse, le contenu d'une
page web statique est a priori identique à chaque consultation.

RGPD
(Source Wikipédia du 05/01/2018)
Le Règlement général sur la protection des données (RGPD) constitue le nouveau texte
de référence européen en matière de protection des données à caractère personnel. ll
renforce et unifie la protection des données pour les individus au sein de l'Union
Européenne.

Service Web
(Source Wikipédia du 03/04/2017)
Un service web est un protocole d'interface informatique de la famille des technologies
web permettant la communication et l'échange de données entre applications et
systèmes hétérogènes dans des environnements distribués.

SGBD
(Source Wikipédia du 11/11/2017)
Un Système de Gestion de Base de Données est un logiciel système destiné à stocker
et à partager des informations dans une base de données, en garantissant la qualité, la
pérennité et la confidentialité des informations, tout en cachant la complexité des
informations.

SQL
Structured Query Language. Langage de requêtes, basé sur l’algèbre relationnelle,
utilisé pour manipuler les données dans une base de données relationnelles.

Style défensif
Programmer dans un style défensif consiste à écrire le code de manière à anticiper les
risques d'erreur et les comportements inattendus, par exemple en contrôlant que les
entrées utilisateurs sont correctes. L'absence de cette anticipation peut mener à des
failles de sécurité telles que les débordements de tampon.

Test Driven development


(Source Wikipédia du 05/02/2017)
Le test driven development (TDD) ou en français « développement piloté par les tests »
est une technique de développement de logiciel qui préconise d'écrire les tests unitaires
avant d'écrire le code source d'un logiciel.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 49/54
Transaction SQL
Une transaction SQL correspond à un mécanisme permettant de s’assurer que
l’ensemble des différentes opérations composant la transaction sont toutes menées à
leur terme. Si l’une des opérations de la transaction se passe mal, la base de données
reviendra à son état antérieur.

Trigger
Appelés en français déclencheurs, les triggers sont des ordres de déclenchement
d'opérations consécutifs à un événement survenant sur une table. L’intérêt des triggers
est de pouvoir associer l’exécution d’une fonction en réponse à un événement, tel que la
création ou la suppression d’un item survenant dans une table d’une base de données
relationnelles. Ils sont utilisés pour assurer la cohérence des données dans la base, en
matérialisant des contraintes qui doivent porter sur plusieurs tables.

UML
Unified Modeling Language. Formalisme basé sur les concepts de développement objet,
qui permet de modéliser graphiquement une application informatique à toutes les étapes
de son développement.

W3C
World Wide Web Consortium. Le W3C est une organisation internationale dont les
membres, des éditeurs de logiciels, des constructeurs, des développeurs et des
utilisateurs, s’entendent pour faire la promotion de technologies destinées à tirer le
meilleur du Web. Les avis et recommandations du W3C tiennent souvent lieu de
normes.

WCAG
Web Content Accessibility Guidelines. Recueil de préconisations pour rendre le Web
accessible aux handicapés, aveugles, mal voyants, sourds, déficients cognitifs ou
moteurs.

XML
(Source Wikipédia du 08/12/2017)
L'eXtensible Markup Language est un métalangage informatique de balisage générique.
Cette syntaxe est dite « extensible » car elle permet de définir différents langages avec
chacun leur vocabulaire et leur grammaire.

XSS
(Source Wikipédia du 06/10/2017)
Le cross-site scripting est un type de faille de sécurité des sites web permettant
d'injecter du contenu dans une page, permettant ainsi de provoquer des actions sur les
navigateurs web visitant la page.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 50/54
Glossaire du REAC

Activité type
Une activité type est un bloc de compétences qui résulte de l’agrégation de tâches (ce
qu’il y a à faire dans l’emploi) dont les missions et finalités sont suffisamment proches
pour être regroupées. Elle renvoie au certificat de compétences professionnelles (CCP).

Activité type d'extension


Une activité type d’extension est un bloc de compétences qui résulte de l’agrégation de
tâches qui constituent un domaine d’action ou d’intervention élargi de l’emploi type. On
la rencontre seulement dans certaines déclinaisons de l’emploi type. Cette activité n’est
pas dans tous les TP. Quand elle est présente, elle est attachée à un ou des TP. Elle
renvoie au certificat complémentaire de spécialisation (CCS).

Compétence professionnelle
La compétence professionnelle se traduit par une capacité à combiner un ensemble de
savoirs, savoir faire, comportements, conduites, procédures, type de raisonnement, en
vue de réaliser une tâche ou une activité. Elle a toujours une finalité professionnelle. Le
résultat de sa mise en œuvre est évaluable.

Compétence transversale
La compétence transversale désigne une compétence générique commune aux
diverses situations professionnelles de l’emploi type. Parmi les compétences
transversales, on peut recenser les compétences correspondant :
 à des savoirs de base,
 à des attitudes comportementales et/ou organisationnelles.

Critère de performance
Un critère de performance sert à porter un jugement d’appréciation sur un objet en
termes de résultat(s) attendu(s) : il revêt des aspects qualitatifs et/ou quantitatifs.

Emploi type
L’emploi type est un modèle d’emploi représentatif d’un ensemble d’emplois réels
suffisamment proches, en termes de mission, de contenu et d’activités effectuées, pour
être regroupées : il s’agit donc d’une modélisation, résultante d’une agrégation critique
des emplois.

Référentiel d’Emploi, Activités et Compétences (REAC)


Le REAC est un document public à caractère règlementaire (visé par l’arrêté du titre
professionnel) qui s’applique aux titres professionnels du ministère chargé de l’emploi. Il
décrit les repères pour une représentation concrète du métier et des compétences qui
sont regroupées en activités dans un but de certification.

Savoir
Un savoir est une connaissance mobilisée dans la mise en œuvre de la compétence
professionnelle ainsi qu’un processus cognitif impliqué dans la mise en œuvre de ce
savoir.

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 51/54
Savoir-faire organisationnel
C’est un savoir et un savoir faire de l’organisation et du contexte impliqués dans la mise
en œuvre de l’activité professionnelle pour une ou plusieurs personnes.

Savoir-faire relationnel
C’est un savoir comportemental et relationnel qui identifie toutes les interactions
socioprofessionnelles réalisées dans la mise en œuvre de la compétence
professionnelle pour une personne. Il s’agit d’identifier si la relation s’exerce : à côté de
(sous la forme d’échange d’informations) ou en face de (sous la forme de négociation)
ou avec (sous la forme de travail en équipe ou en partenariat etc.).

Savoir-faire technique
Le savoir-faire technique est le savoir procéder, savoir opérer à mobiliser en utilisant
une technique dans la mise en œuvre de la compétence professionnelle ainsi que les
processus cognitifs impliqués dans la mise en œuvre de ce savoir-faire.

Titre professionnel
La certification professionnelle délivrée par le ministre chargé de l'emploi est appelée «
titre professionnel ». Ce titre atteste que son titulaire maîtrise les compétences,
aptitudes et connaissances permettant l'exercice d'activités professionnelles qualifiées.
(Article R338-1 et suivants du Code de l’Education).

SIGLE Type de document Code titre Millésime Date de Validation Date de mise à jour Page
CDA REAC TP-01281 03 03/05/2018 27/04/2018 52/54
Reproduction interdite
Article L 122-4 du code de la propriété intellectuelle
"Toute représentation ou reproduction intégrale ou partielle faite sans le consentement
de l'auteur ou de ses ayants droit ou ayants cause est illicite. Il en est de même pour
la traduction, l'adaptation ou la transformation, l'arrangement ou la reproduction par un
art ou un procédé quelconque."
Réalisé par l’AFPA pour le compte de l’Etat

Vous aimerez peut-être aussi