recherche

Recherche

espace stagiaire

Espace stagiaire

Nous contacter
 

                  

Imprimer

Partager

Référence TP-CDA-V2021
Durée 462 heure (≈ 9 mois)
Tarif en présentiel Nous consulter
Tarif en distanciel Nous consulter

éligible au CPF

Qu'est-ce que le CPF ?

Tout salarié ou demandeur d’emploi, dès l’âge de 16 ans, peut utiliser un compte personnel de formation (CPF), tout au long de sa vie active, pour suivre une formation qualifiante, certifiante ou diplômante.

Votre compte est automatiquement crédité tous les ans et a pour vocation de contribuer au maintien de votre employabilité et à la sécurisation de votre parcours professionnel grâce à l’obtention d’une qualification ou d’une certification.

En savoir plus

Prochaines sessions

Chargement...

Aucune session n'est planifiée pour le moment. Vous pouvez toujours nous contacter pour une solution sur mesure.

Faire une demande

Oups ! Nous n'arrivons temporairement pas à vous afficher les sessions. Vous pouvez tout de même nous appeler ou laisser une demande d'inscription pour planifier une session (en présentiel ou à distance).

04 37 24 36 78

Sessions et inscription

Masquer les sessions

Me former au métier de , c'est :

Être capable de :

 

=====

Être capable de :

-----

  • 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é

=====

Pouvoir devenir :

-----

  • 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

=====

Le métier :

-----

Le/la Concepteur(trice) Développeur d'Applications prend en charge la conception et le développement d'applications informatiques.

Il Il (elle) agit avec autonomie et, le cas échéant, avec des responsabilités d’animation et de coordination dans le cadre de projets visant à automatiser un ou plusieurs processus de l’entreprise.
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, afin de réaliser de nouvelles applications ou la maintenance évolutive d’applications existantes. 

Il (elle) est en capacité de formaliser un besoin client en rédigeant un cahier des charges, celui-ci étant constitué des spécifications fonctionnelles ainsi que techniques. Selon le besoin, il (elle) peut aussi piloter une équipe constituée de différents profils techniques. En termes de réalisation, il est capable de développer une application (aussi bien le front que le back-end), qu’elle soit en desktop ou en web, de réaliser les tests fonctionnels et techniques (unitaires) puis de faire la mise en production.

=====

La formation :

-----

Ce titre professionnel est accessible par la capitalisation de trois certificats de compétences professionnelles (CCP) dont vous trouverez la description ci-dessous, conformément aux dispositions prévues dans l’arrêté du 22 décembre 2015 modifié, relatif aux conditions de délivrance du titre professionnel du Ministère du Travail.

=====

Modalités d'évaluation :

-----

Tests et entretien individuel

=====

Financements :

-----

Contrat de professionnalisation et contrat d'apprentissage

=====

Pouvoir devenir :

Laissez-nous vous présenter cette formation

Présentateur

Le métier

La formation

Modalités d'évaluation

Financements

J'obtiendrai :

La certification

=====

J'obtiendrai :

La certification

-----

Certification de niveau 6 (Bac+3)

=====

Les avantages du diplôme

-----

  • Diplôme d’Etat.
  • Formation professionnalisante, opérationnelle, appréciée par les entreprises.
  • Formation débouchant sur un fort taux d’employabilité.
  • Formation accessible par la VAE

=====

Pour candidater, je dois :

Avoir ce profil

-----

  • Toute personne souhaitant passer la certification de titre professionnel Concepteur Développeur d'Applications

=====

Répondre aux pré-réquis

-----

  • Bac+2
  • Niveau correct d’expression orale et écrite en français
  • Anglais (Niveau B1)
  • Bonne connaissance de Word / Excel / PowerPoint / Outlook

=====

M’inscrire à la réunion d’information :

-----

Aucune réunion d'information n'est actuellement programmée

=====

Les avantages du diplôme

Pour candidater, je dois :

Avoir ce profil :

Répondre aux pré-réquis :

M'inscrire à la réunion d'information :

Contenu du programme

COMPETENCE N° 1 : MAQUETTER UNE APPLICATION
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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)

COMPETENCE N° 2 : DÉVELOPPER UNE INTERFACE UTILISATEUR DE TYPE DESKTOP
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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, …)

COMPETENCE N° 3 : DÉVELOPPER DES COMPOSANTS D’ACCÈS AUX DONNÉES
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• Coder dans un langage objet, avec un style défensif
• Utiliser des bibliothèques d'objets existants
• Coder de façon sécurisée les accès aux données relationnelles ou non relationnelles en
consultation, en création, en mise à jour et en suppression
• Fonder la sécurité des composants d’accès sur l’authentification et la gestion de la sécurité du
SGDB Réaliser avec un outil de test un jeu de tests unitaires, d’un point de vue fonctionnel et
sécurité (recherche de vulnérabilité)
• Documenter les composants
• Utiliser un outil de virtualisation ou de conteneurisation
• Rechercher une réponse pertinente à une difficulté technique de développement ou une
vulnérabilité identifiée
• Rechercher des informations sur des sites Internet, des forums et des FAQ francophones ou
anglophones
• Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles
par Internet
• Connaissance d'un environnement de développement intégré
• Connaissance d’un langage de requête de type SQL
• Connaissance du vocabulaire technique associé aux bases de données en français et en anglais
• Connaissance des modèles de conception relatifs aux accès aux données relationnelles ou non
relationnelles
• Connaissance de la gestion de l'intégrité des données et du concept de transaction
• Connaissance du principe de connexion à une base de données à partir d'un logiciel d’interface
(middleware)
• Connaissance des principales attaques sur les bases de données, par exemple l'injection SQL, et
de leurs parades
• Connaissance des règles de sécurisation des composants d’accès aux données (vérification
systématique des entrées, utilisation de procédures stockées ou de requêtes paramétrées)
• Connaissance des mécanismes d’authentification et de gestion de la sécurité du SGBD
• Connaissance d’un outil de virtualisation ou de conteneurisation

COMPETENCE N° 4 : DÉVELOPPER LA PARTIE FRONT-END D’UNE INTERFACE UTILISATEUR WEB
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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

COMPETENCE N° 5 : DÉVELOPPER LA PARTIE BACK-END D’UNE INTERFACE UTILISATEUR WEB
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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

COMPETENCE N° 6 : CONCEVOIR UNE BASE DE DONNÉES
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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


COMPETENCE N° 7 : METTRE EN PLACE UNE BASE DE DONNÉES
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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


COMPETENCE N° 8 : DÉVELOPPER DES COMPOSANTS DANS LE LANGAGE D’UNE BASE DE DONNÉES
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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

COMPETENCE N° 9 : COLLABORER À LA GESTION D’UN PROJET INFORMATIQUE ET À L’ORGANISATION DE L’ENVIRONNEMENT DE DÉVELOPPEMENT
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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é.
• 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
• 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

COMPETENCE N° 10 : CONCEVOIR UNE APPLICATION
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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)
• 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


COMPETENCE N° 11 : DÉVELOPPER DES COMPOSANTS MÉTIER
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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


COMPETENCE N° 12 : CONSTRUIRE UNE APPLICATION ORGANISÉE EN COUCHES
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• Développer des composants dans un langage objet, avec un style défensif
• Utiliser des composants tiers et en vérifier l’efficience et la sécurité
• Utiliser une technologie de services distants
• Sécuriser chacune des couches logicielles et la communication entre les couches
• Utiliser l'environnement de développement, y compris en anglais, et les outils associés pour
organiser le développement
• Utiliser un outil collaboratif de partage de ressources
• Utiliser les outils du Cloud de type PAAS (Platform As A Service)
• Planifier et suivre les tâches de développement
• Rechercher une réponse pertinente à une difficulté technique de développement ou une
vulnérabilité
• Rechercher des informations sur des sites Internet, des forums et des FAQ francophones ou
anglophones
• Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles
par Internet
• Connaissance du vocabulaire anglais professionnel associé au développement des composants de
présentation et de persistance
• Connaissance des concepts et d'un langage de développement objet
• Connaissance des principes et des règles du développement sécurisé
• Connaissance des bases de la cryptographie
• Connaissance des différents types de Cloud et de leur utilité pour le développement
• Connaissance du rôle de l’infrastructure et des protocoles réseau sur la sécurité d’une application
multicouche répartie
• Connaissance du formalisme des diagrammes du langage de modélisation unifié UML
• Connaissance de l'architecture applicative multicouche répartie et des différents types de serveurs
• Connaissance des architectures logicielles multicouches réparties
• Connaissance des bonnes pratiques de sécurité dans une architecture logicielle multicouche
répartie et du rôle de chaque couche dans la stratégie de sécurité
• Connaissance des bonnes pratiques de conception de composants dans une architecture logicielle
multicouche répartie
• Connaissance de cadres d’applications (framework) ou de bibliothèques de composants de la
couche présentation
• Connaissance de cadres d’applications (framework) ou de bibliothèques de composants de la
couche persistance de données
• Connaissance des vulnérabilités spécifiques du cadre d’applications (framework) utilisé
• Connaissance du processus et des outils d’intégration continue

COMPETENCE N° 13 : DÉVELOPPER UNE APPLICATION MOBILE
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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.
• 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
• 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

COMPETENCE N° 14 : PRÉPARER ET EXÉCUTER LES PLANS DE TESTS D’UNE APPLICATION
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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é.
• 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

COMPETENCE N° 15 : PRÉPARER ET EXÉCUTER LES PLANS DE TESTS D’UNE APPLICATION OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
À 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é.
• 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

Télécharger en PDF

Plus d'information sur cette formation ?