Dev Digital Web Full Stack v2!3!15!09!2022
Dev Digital Web Full Stack v2!3!15!09!2022
Dev Digital Web Full Stack v2!3!15!09!2022
Programme de formation
Version 2.3 15/09/2022
Ce document est la propriété de l’Office de la Formation Professionnelle et de la Promotion du Travail. Il ne peut être utilisé,
reproduit ou communiqué à des tiers sans l’autorisation préalable écrite de l’Office.
Équipe de production
Coordination
Conception et rédaction
Personnes ayant contribué à la conception et la rédaction de la partie tronc commun (1ère année)
Validation
Remerciements
La production du présent document a été possible grâce à la collaboration et à la participation de
nombreuses personnes, que ce soient des professionnels du métier ou des formateurs.
Il y a lieu de souligner la qualité des renseignements fournis par les personnes consultées à titre de
professionnels du domaine du Développement Digital et de remercier particulièrement celles qui ont
généreusement accepté de partager leur expérience à l’égard du métier de technicien spécialisé en
Développement Digital - Option Web Full Stack et celles qui ont participé à la validation de ce Projet de
formation.
Acronymes
RM Référentiel Métier
IA Intelligence Artificielle
PS Procédure Stockée
IAAS Infrastructure-as-a-Service
PAAS Platform-as-a-service
Le programme de formation est défini par compétences, formulé par objectifs et structuré en modules.
Il est conçu selon une approche globale qui tient compte à la fois de facteurs tels les besoins de
formation, la situation de travail, les finalités, les buts ainsi que les stratégies et les moyens pour
atteindre les objectifs.
Dans le programme de formation, on énonce et structure les compétences que le participant doit
acquérir pour obtenir son Diplôme de technicien spécialisé en Développement Digital - Option Web
Full Stack. Ce programme de formation doit servir de référence pour la planification de la formation et
de l’apprentissage ainsi que pour la préparation du matériel didactique et du matériel d’évaluation.
La durée du programme de formation, dans sa partie technique, est de 1530 heures ; de ce nombre,
960 heures sont consacrées à l’acquisition de compétences spécifiques et 570 heures à l’acquisition de
compétences transversales. Le programme de formation est divisé en 16 modules dont la durée varie
de 15 à 120 heures. Cette durée comprend le temps requis pour l’évaluation des apprentissages aux
fins de l’obtention de L´attestation de Poursuite de la Formation.
Par ailleurs, la durée totale, sur les 2 années de formation, de l’enseignement général s’élève à 555
heures. Cet enseignement se rapporte aux modules de l’arabe, du français, de l’anglais technique, de
la culture entrepreneuriale, des compétences comportementales et de la culture et techniques du
numérique.
NB : L’usage du masculin, dans le présent document, n’a pour but que d’alléger le texte pour en faciliter
la lecture.
Pour être admis au programme « Développement Digital - Option Web Full Stack », il suffit de satisfaire
aux conditions suivantes :
• Être titulaire du baccalauréat au moins ou équivalent, muni d’une copie conforme du relevé des notes ;
• Avoir au plus 30 ans, au 1er septembre de l’année scolaire en cours, justifié par un extrait d’acte de
naissance original ou une copie conforme de la Carte Nationale d’Identité ;
• Avoir au plus 33 ans, au 1er septembre de l’année scolaire en cours, pour les bénéficiaires du Système des
Passerelles ;
• Les candidats ayant un baccalauréat de branche scientifique ou technique industrielle.
Le concours, pour ceux qui sont admissibles, est composé d’une entrevue permettant de vérifier :
PREMIERE PARTIE
Le « Développement Digital - Option Web Full Stack» est exercé dans des entreprises du secteur digital
(ESN / SSII …). Toutefois, sa formation doit pouvoir l’amener à travailler dans d’autres secteurs
d’activités à savoir : l’administration, l’industrie ...
La maîtrise des tâches professionnelles liées au métier est quant à elle assurée par l’acquisition des
compétences managériales propres au métier. Ce sont celles qui concernent la gestion d’équipe, la
mise en œuvre de système de maintenance, la gestion des projets ainsi que la mise en œuvre des
actions d´améliorations continues.
1. Rendre la personne efficace dans l’exercice d’une profession ou d’un métier), soit :
• Lui permettre de jouer les rôles, d’exercer les fonctions et d’exécuter des tâches et
des activités associées à une profession ou un métier ;
• Lui permettre d’évoluer adéquatement dans un milieu de travail ;
Développement Digital - Option Web Full Stack - Version 2.3 ( 15/09/2022)
Ce document est la propriété de l’OFPPT. Il ne peut être utilisé, reproduit ou communiqué à des tiers sans l’autorisation
16/150
préalable écrite de l’Office.
Office de la Formation Professionnelle et de la Promotion du Travail
Le tableau est à trois entrées permettant de voir les liens qui unissent les éléments placés à l’horizontale
(compétences transversales) et ceux placés à la verticale (compétences spécifiques). Le symbole △
montre qu’il existe une relation entre une compétence spécifique et une étape du processus de travail.
Le symbole ○ marque quant à lui un rapport entre une compétence transversale et une compétence
spécifique. Des symboles noircis ●▲indiquent en plus que l’on tient compte de ces liens dans la
formulation d’objectifs visant l’acquisition des compétences spécifiques.
La logique qui a présidé à la conception de la matrice influe sur la séquence d’enseignement de ces
modules. De façon générale, on prend en considération une certaine progression dans la complexité
des apprentissages et le développement de l’autonomie du participant. De ce fait, les compétences
spécifiques sont présentées dans l’ordre à privilégier pour l’enseignement et servent de point de départ
pour l’agencement de l’ensemble des modules. Certains deviennent ainsi préalables à d’autres ou
doivent être vus en parallèle.
Développement Digital - Option Web Full Stack PROCESSUS COMPÉTENCES TRANSVERSALES TOTAUX
MATRICE DES OBJETS DE FORMATION (grandes étapes)
NOMBRE DE COMPÉTENCES
Assurer la maintenance
DUREE DE LA FORMATION
Contribuer à l’ analyse
systèmes d'information
COMPETENCES SPECIFIQUES
demandées
et sans bug
formation
statiques
au client
DUREE
N° NUMEROS 1 2 3 4 8 9 10
7
Durée h 15 120 120 110 45 60 100 570
5 Programmer en JavaScript 110 △ ▲ ▲ △ ○ ● ○ ● ○ ○ ○
6 Manipuler des bases de données 100 ▲ △ △ ○ ○ ○ ○ ○
7 Développer des sites web dynamiques 120 △ ▲ ▲ △ ○ ● ● ● ○ ○ ○
11 Gérer les données 100 △ ▲ △ ○ ● ○ ○ ○
12 Développer en front-end 100 △ ▲ ▲ △ ○ ● ○ ● ○ ○ ○
13 Développer en back-end 120 △ ▲ ▲ △ ○ ● ● ● ● ● ●
14 Créer une application Cloud native 90 △ ▲ ▲ △ ○ ● ● ● ○ ● ●
15 Réaliser un projet de synthèse 60 ▲ ▲ ▲ △ △ ○ ● ○ ● ○ ● ●
16 S’intégrer en milieu professionnel 160 △ △ △ △ △ ○ ● ○ ● ○ ● ○
NOMBRE DE COMPETENCES 9 16
DUREE DE LA FORMATION 960 1530
Révision et consolidation
Notions et exercices des connaissances et des
Phase 3 préparatoires à la tâche habiletés acquises
Evaluation
Réalisation d’une formative
Entraînement et Intégration
tâche simple
Tâche complexe
Évaluation de
Tâche globale
sanction
Phase 4 et 5
Réalisation
Récupération ou
autonome
enrichissement
Animation pédagogique
Le formateur doit :
• guider les apprentissages par un rappel des objectifs, par la détermination des phases
préalables et par la formulation d’indications sur les activités à réaliser ;
• créer un climat de confiance reposant sur le respect des personnes et de leur autonomie, ainsi
que sur la clarification des enjeux réels ;
• maintenir l’intérêt des participants tout au long de leur cheminement par des propositions
d’activités intéressantes et diversifiées, par un dosage judicieux du niveau de difficulté, par
l’utilisation d’approches à caractère pratique et par une ouverture aux préoccupations
personnelles des participants ;
• encadrer les activités d’apprentissage par l’implantation d’un système souple et efficace de
suivi des participants , par une assistance particulière aux participants en difficulté et par une
direction adéquate des participants vers des activités d’apprentissage, d’évaluation,
d’enseignement correctif et d’enrichissement ;
• fournir des explications claires et justes au groupe et à chaque participant.
Évaluation des compétences
Le formateur assure le suivi mentionné précédemment :
• en produisant et en utilisant des instruments d’évaluation formative afin de guider le
participant dans son cheminement et lui fournir des informations de façon continue sur l’état
de son cheminement;
• en administrant les épreuves aux fins de certification;
• en fournissant les résultats de l’évaluation de certification à la personne responsable dans le
centre de formation.
3 4
5 6
7 8
10 12 11 9
14 13 15
Glossaire
Programme de formation professionnelle
Un programme est un ensemble cohérent de compétences à acquérir, formulé en termes d’objectifs et
découpé en modules. Il décrit les apprentissages attendus du stagiaire en fonction d’une performance
déterminée. Ses objectifs et son contenu sont obligatoires.
Buts de la formation
Les buts de la formation sont les énoncés des intentions éducatives retenues pour le programme. Il
s’agit d’une adaptation des buts généraux de la formation professionnelle pour un programme de
formation donné.
Compétence
Une compétence est un pouvoir d’agir, de réussir et de progresser qui permet de réaliser
adéquatement des tâches ou des activités et qui se fonde sur un ensemble intégré de connaissances,
d’habiletés, d’attitudes et de comportements. Les compétences sont de deux types :
• Les compétences spécifiques qui portent sur des tâches types du métier ou de la fonction de
travail et qui rendent la personne apte à assurer avec efficacité la production d’un bien ou d’un
service.
• Les compétences transversales qui portent sur une activité de travail ou de vie professionnelle
qui déborde du champ spécifique des tâches du métier lui-même ; ces compétences peuvent
être transférables à plusieurs activités de travail.
Objectifs généraux
Les objectifs généraux servent à catégoriser les compétences à faire acquérir par le stagiaire. Ils servent
à orienter et à regrouper les objectifs opérationnels.
Objectifs opérationnels
L’objectif opérationnel est défini en fonction d’un comportement relativement fermé et décrit les
actions et les résultats attendus du stagiaire. Il comprend cinq composantes :
• Le comportement attendu qui présente la compétence.
• Les conditions d’évaluation qui renseignent sur les conditions qui prévalent au moment de
l’évaluation de sanction : contexte, matériel, etc.
• Les précisions sur le comportement attendu qui décrivent des éléments essentiels à la
compréhension de la compétence.
DEUXIEME PARTIE
- D’internet
- Du réseau professionnel
C. Identifier les compétences relatives aux options • Connaissance des compétences spécifiques
Suggestions Pédagogiques
Transversale
COMPÉTENCE SUGGÉRÉE
• Recueil sur les différents modes • À l’aide des supports pédagogiques mis à
d’évaluation durant le parcours de disposition durant la formation sur la
formation plateforme d’apprentissage
B.2 - Situer les compétences
• Visualisation sous forme de cartographie 30 %
• Investigations sur les secteurs d’activités
de la formation
des compétences de l’année 1
auprès de professionnels et entreprises
• Visualisation sous forme de cartographie
• Création d’un compte sur un réseau
des compétences de l’année de
professionnel
spécialisation
B.3 - Projeter sa formation
• Utilisation des réseaux professionnels
dans le milieu de travail
• Compréhension des marchés de l’emploi
(ouvert, cache)
• Perspectives professionnelles
Fiche prescrite
- D’environnement intégré de
développement IDE (VS Code, …)
alternatifs
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Modéliser un A.1 – Analyser un • Définition du problème (Contexte, • À l’aide des supports fournis par le 10 %
problème problème Entrées/Sorties, traitements) formateur (polycop, documents, cours)
B. Formuler un B.1 - Reconnaître la • Définition d’un algorithme • Exercice d’application sur les variables, 45 %
traitement structure d’un constantes, affectations
• Objets informatiques (variable, constante,
algorithme • Exercice d’application sur les entrées
type)
C. Programmer en C.1 - Transformer • Critères de choix d’un langage de • À l’aide des supports fournis par le 40 %
Python une suite d’étapes programmation formateur (polycop, documents, cours)
algorithmique en
• Bloc d’instruction • Travaux pratiques sur ordinateur sur la
une suite
traduction d’un algorithme en python
d’instructions • Conversion de l’algorithme en Python
C.2 - Manipuler les • Manipulation des fonctions/lambda • Exercices sur les structures de données
données
• Listes, tuples, dictionnaires, ensembles (set) • Apprentissage par projet
solution Python
• Création de fichiers d’installation de
solution Python
• Documentation du programme
Fiche prescrite
Suggestions Pédagogiques
• Projet de synthèse
- Types de données
- Visibilité
- Destructeurs
- Attributs de classe
• Instanciation
• Méthodes de classe
• Fonctions imbriquées
• Méthodes abstraites
C. Coder des C.1 – Coder une • Création d’un package • Seul ou en groupe 45%
solutions solution orientée • Codage d’une classe • Selon les instructions verbales ou écrites du
orientées objet objet • Intégration des concepts POO formateur
- Création/Déclenchement
- Analyse de la traçabilité
o Label
o Zone de saisie
o Case à cocher
o Bouton radio
o Listes
o Canvas
o Scale
o Frames
o PanedWindow
o Spinbox
o Alertes (MessageBox)
o Menus
• Manipulation des
méthodes/événements et options des
widgets
Fiche prescrite
• À l’aide :
- D’éditeur de texte
- Framework (Bootstrap 5)
A. Créer une page web en HTML • Manipulation adaptée des outils de création
d’une page web
• Connaissance juste des éléments de base d’une
page web
C. Mettre en forme une page web avec les • Bonne maîtrise du CSS pour la mise en forme
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
B. Implémenter une B.1 - Réaliser une page web • Fonctionnement d’une page web statique • Seul ou en groupe 20 %
page web statique statique • Réalisation d’un site web statique avec HTML5 • Cours et énoncés des travaux
pratiques fournis par le
B.2 - Intégrer des • Balise <form>
formateur
formulaires dans une page • Champs de saisie (Input, TextArea)
• Travaux pratiques sur la
web
• Balises de choix (RadioButton, CheckBox, Select, réalisation des pages web
C. Mettre en forme C.1 - Introduire le CSS • Présentation du CSS • Seul ou en groupe 30%
une page web avec • Codification des couleurs • Cours et énoncés des travaux
les feuilles de style • Unités de mesure pratiques fournis par le
CSS • Positions (center, left, right) formateur
• Fonts
• Travaux pratiques sur la
• Types d’intégration du CSS
réalisation d’un formulaire
• Sélecteurs simples (element, class, id)
avec HTML5
• Sélecteurs complexes
• Projet de synthèse
• Pseudo classes
- Mise en forme des pages
C.2 - Utiliser les propriétés • Typographie
avec CSS
CSS • Bordures et ombres
- Création des animations
• Marges et padding
avec CSS
• Images
• Couleurs de fond
• Backgroud
D. Maîtriser D.1 - Intégrer Bootstrap • Introduction au Bootstrap (versions, avantages, …) • Seul ou en groupe 25 %
Bootstrap • Système de Grid • Selon les instructions verbales
• Barres de progression
• Cartes (Cards)
E. Héberger un site E.1 – Déployer en intranet • Définition d’un réseau local • Seul ou en groupe 5%
Fiche prescrite
- Des librairies JS
- Bootstrap 5
méthodes
• Bonne manipulation des objets en Javascript
C. Manipuler les éléments d’une page avec • Bonne maitrise de l’interaction avec le DOM
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
B.2 – Maîtriser les • Structures alternatives • Travaux pratiques sur les fonctions
structures de contrôle • Exercices d’application sur la création de
• Structures itératives
tableaux et d’objets
B.3 - Utiliser des • Fonctions
fonctions • Projet de synthèse
• Expressions lambdas
- Etude du projet
• Gestion des exceptions
- Date
- Math
- RegEx
• Manipulation JSON
D. Gérer les D.1 – Comprendre la notion • Définition d’un évènement • Seul et/ou en groupe 10 %
événements d’événement pour gérer • Méthode addEventListener • Exercice d’application sur la création
utilisateur l’interactivité d’évènements
• MouseEvents
Fiche prescrite
• À l’aide :
- Editeur de texte
- Environnement de développement
(MySQL Workbench, AnalyseSI, Power
AMC, Mocodo…)
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A– Concevoir une A.1 - Analyser le cahier • Lecture d’un cahier des charges • Seul et/ou en groupe 40 %
base de données des charges • Description des limites du projet
• Exercices d’application sur la
• Analyse des données et des traitements de la
modélisation d’une base de
situation présentée
données
A.2 - Modéliser les données • Contraintes déduites des règles de gestion
• Projet de synthèse
• Dictionnaire de données
- Modèle MCD
• Construction du graphe de dépendances
fonctionnelles - Modèle MLD
B. Préparer B.1 - Exploiter un outil • Procédure d’installation d’un outil de modélisation • Seul et/ou en groupe 5%
l’environnement de modélisation • Utilisation de l’outil de modélisation • Exercices d’exploitation de l’outil
de modélisation
B.2 – Préparer le • Installation de Workbench
serveur MySQL • Exercices d’exploitation de
• Management des services MySQL
l’environnement
• Configuration des ports MySQL
C. Manipuler les C.1 - Créer une base de • Création d’une base de données • Seul et/ou en groupe 55%
données données • Choix de moteur
• Exercices d’application sur la
• Création des tables
création et la manipulation des
• Contraintes d’intégrité sur les tables (intégrité
bases de données
référentielle, contrainte de domaine CHECK)
• Exercices sur l’administration de la
• Manipulation d’objet table (DROP, ALTER)
base de données
• Création des colonnes
• Projet de synthèse
• Typage des colonnes
• Intégration des contraintes d’intégrité sur les - Générer la base de
colonnes (Primary key, Foreign key, not null, RegEx données sur la base du
P, …) MLD
• Sous requêtes
• Requêtes de l’union
• Jointures
- Equi-jointures,
- Jointures externes (right, left)
- Auto-jointures
Fiche prescrite
- Editeur de texte
- Du réseau professionnel
- VS Code
- XAMP
A. Introduire la notion client/serveur • Idée claire sur les types de serveurs web
• Bonne connaissance de l’architecture
client/serveur
• Maitrise de l’environnement de développement
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
B. Programmer en PHP B.1 – Maitriser le • Structure générale d’un script PHP • Seul et/ou en groupe 45%
langage PHP • Manipulation des
• Exercices d’application en PHP
Variables/constantes/Affectation
• Projet de synthèse
• Manipulation des types de données
• Instructions de sortie - Création des scripts
C. Manipuler les C.1 - Ecrire des scripts • Connexion à une base de données MYSQL • Seul et/ou en groupe 35%
données d’accès aux données avec PDO
• Exercices d’application en PHP et gestion
• Interrogation d’une base de données à
de base de données
travers un formulaire
• Projet de synthèse
• Récupération des résultats
• Manipulation des données CRUD - Création de la base de données
MySQL
C.2 – Sécuriser les • Utilisation des sessions et des cookies
- Connexion à la base de données
données • Sécurisation des données (cryptage,
injections SQL, …) - Gestion des données (CRUD)
D. Découvrir D.1 - Comprendre • Présentation de l’MVC (Modèles, Vues, • Seul et/ou en groupe 10%
l’architecture MVC l’organisation globale Contrôleurs)
• Exercices d’application
de l’architecture MVC • Intérêt du modèle MVC
- Architecture MVC
• Rôles de chacune des 3 entités du modèle
MVC - Web services
MVC
REST
Fiche prescrite
• À partir : informatique
B. Assurer la confidentialité des données • Idée claire sur les données privées
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
C. Protéger les D.1 - Sécuriser un • Gestion de la politique d’utilisation des mots • Seul 40 %
applications Web service de passe
• Quiz sur la protection des applications
• Gestion des rôles d’utilisateurs
Web
• Chiffrements symétriques et asymétrique
• Notion de private/public Key
C. Créer une maquette pour le développement web • Bonne compréhension des principes de la
conception de l'expérience et l’interface
utilisateur ;
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Modéliser un A.1- Appréhender le • Cycle de vie d’un projet (Définition, étapes...) • Seul ou en groupe 45%
projet web cycle de vie d’un • Analyse des besoins
• Selon les instructions verbales ou
projet web • Conception
écrites du formateur
• Développement
• À l’aide des supports fournis par le
• Tests et déploiement
formateur (polycop, documents, cours
• Maintenance et évolutivité
et un exemple de cahier des charges)
A.2- Modéliser les • Introduction au langage de modélisation UML
• Quiz
besoins client par un • Définition du diagramme des cas d’utilisation
diagramme de cas • Acteurs • MindMap
d’utilisation • Cas d’utilisation • Projet de synthèse
• Relation entre acteurs et cas d’utilisation : - Modélisation du projet en
- Relation d’association
- Relation de dépendance
- Associations reliant plusieurs classes
o Association n-aire
o Classe association
- Associations particulières
o Composition
o Agrégation
- Relation d’héritage
• Classes concrètes et abstraites
• Relation de réalisation et notion d'interfaces
- Message asynchrone
• Fragments d’interactions combinés :
- Fragment d’interaction avec l’opérateur
d’option « opt »
- Fragment d’interaction avec l’opérateur
d’alternative « alt »
- Fragment d’interaction avec l’opérateur de
boucle « loop »
- Fragment d’interaction avec l’opérateur
Parallèle « par »
- Fragment d’interaction avec l’opérateur
d’interruption « break »
- Fragment d’interaction avec l’opérateur
d’omission « ignore »
- Fragment d’interaction avec l’opérateur
d’affirmation « assert »
B. Représenter la vue B.1- Décrire les • Rôle du diagramme états-transitions • Seul ou en groupe 20%
dynamique d’un changements d’états • Etat
• Selon les instructions verbales ou
système d’objets à l’aide d’un • Evénement
écrites du formateur
diagramme d’état • Transition externe
• À l’aide des supports fournis par le
transition • Transition interne
formateur (polycop, documents, cours
• Action et activité
et un exemple de cahier des charges)
• Point de choix
• Quiz
• État composite
• État historique • MindMap
C. Créer une C.1- Comprendre les • Principes de l’UX Design : • Seul ou en groupe 25%
maquette pour le principes de la - Eléments de l'expérience utilisateur
• Selon les instructions verbales ou
développement web conception de (persona, usabilité, affordance…)
écrites du formateur
l'expérience et - Conception visuelle (choix des polices et
• À l’aide des supports fournis par le
l’interface utilisateur couleurs)
formateur (polycop, documents, cours
- Pratiques de prototypage
et un exemple de cahier des charges)
• Principes de l’UI Design :
- Critères ergonomiques du web • Quiz
avec Figma
D. Préparer D.1- Appréhender • Comparaison entre les différentes technologies • Seul ou en groupe 10%
l’environnement de l’environnement de web
• Selon les instructions verbales ou
développement web développement • Environnement de développement intégré (IDE)
écrites du formateur
web • Langages
• À l’aide des supports fournis par le
• Bibliothèques
formateur (polycop, documents, cours
• Serveurs de bases de données
et un exemple de cahier des charges)
• Serveurs web
• Quiz
D.2- Choisir les • Frameworks Frontend
• Frameworks Backend • MindMap
Frameworks de
développement • Projet de synthèse
web - Préparation de
l’environnement de
développement
- Proposition de la démarche de
la solution
• À l’aide :
projet de projet ;
• Différenciation claire des différentes méthodes
de gestion de projet ;
• Utilisation optimale d’un cahier des charges ;
• Préparation claire des différents paramètres
d’un projet.
projet Scrum ;
• Bonne maîtrise du processus de la méthode
Scrum ;
• Identification détaillée des rôles et
responsabilités d’un projet ;
• Bonne maîtrise des sprints et artéfacts scrum.
E. Mettre en œuvre les outils de la chaîne du • Identification claire du lien entre l’agilité et
DevOps DevOps ;
• Maîtrise de la méthodologie CALMS ;
• Bonne maîtrise de l’architecture de base d’un
pipeline CI/CD ;
• Utilisation judicieuse de Gitlab CI.
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Connaître les A.1- Découvrir les • Concepts de gestion de projet : • Seul ou en groupe 10%
B. Planifier un B.1- Analyser le • Compréhension des besoins client, • Seul ou en groupe 10%
- Proposition de la
démarche de la solution
C. Adopter C.1- Appréhender • Définition de la méthode Agile Scrum, • Seul ou en groupe 40%
la tâche,
▪ Complexité de la tâche, ordre de
priorité de la tâche, Détermination
des dépendances entre tâches,
▪ Estimation de la durée de réalisation
de la tâche en jour/homme,
▪ Détermination des dates début et
fin,
▪ Etat de la tâche (à faire, en cours,
terminé…).
• Manipulation du tableau de bord de sprint
- Consultation des tâches,
- Modification,
- Suppression.
• Utilisation de la feuille de route (roadmap) :
- Définition,
- Utilité pour avoir une vue d’ensemble,
- Consultation de la feuille de route,
• Génération des rapports Agile :
- Définition,
- Utilité,
- Types de rapports (sprint, graphique burndown,
burndown de version, graphique de vélocité),
- Génération de rapports.
D. Mettre en D.1- Manipuler les • Intérêt de la gestion de version, • Seul ou en groupe 20%
œuvre des outils outils de gestion de • Présentation des outils existants de gestion de
• Selon les instructions verbales
de gestion de versions versions,
ou écrites du formateur
versions et de (Git/Gitlab) • Présentation de Git,
• À l’aide des supports fournis
mesure de la • Présentation de Gitlab,
par le formateur (polycop,
qualité du code • Comparaison Git vs Gitlab,
documents, cours et un
• Création d’un compte Gitlab,
exemple de cahier des charges)
• Présentation des fonctionnalités de Gitlab :
- Gestion de profil, • Quiz
E. Mettre en E.1- Introduire la • Introduction aux concepts DevOps (définition, • Seul ou en groupe 20%
• À l’aide :
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A- Exploiter les A.1 –Maitriser le • Rappel sur le langage de manipulation des • Seul ou en groupe
fonctionnali langage de données (SQL), • Selon les instructions verbales ou
tés programmation • Présentation du langage de programmation écrites du formateur
avancées procédurale sous procédural de MySQL, • À l’aide des supports fournis par le
d’un SGBD MySQL
• Distinction des types des programmes MySQL : formateur (polycop, documents, cours
relationnel
- Procédures stockées, et un exemple de cahier des charges) 45%
- Fonctions, • Quiz
- Déclencheurs.
• MindMap
• Maitrise des instructions de bases :
• Projet de synthèse
- Structure d’un bloc d’instruction,
- Modélisation de la base de données
- Portée des objets,
- Syntaxe de PS et fonction,
- Appel de PS et fonction.
B- Exploiter les B.1- Découvrir les • Définition des bases de données NoSQL, • Seul ou en groupe
fonctionnalités des bases de données • Comparaison entre les bases de données • Selon les instructions verbales ou écrites
bases de données NoSQL traditionnelles et NoSQL, du formateur
NoSQL MongoDB
• Caractéristiques des bases de données NoSQL, • À l’aide des supports fournis par le
- Lancement du serveur.
- Enchâssement (embedding),
- Liaisons (Linking).
findOne(),Distinct())
- Requêtes simples,
- Requêtes d’agrégation,
- Requêtes de modifications.
• À l’aide :
- Git
A. Appréhender les fondamentaux du web front • Bonne connaissance des fondamentaux de base
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Appréhender A.1 – Introduire les • Rappels des fondamentaux des sites web • Seul ou en groupe 10%
les Concepts de base du web statiques
• Selon les instructions verbales ou écrites
fondamentaux front end • Différence entre front end et back end
du formateur
du web front • Présentation des Frameworks front end
• À l’aide des supports fournis par le
end A.2 – Appréhender les • Notion d’application web monopage SPA
formateur (polycop, documents, cours et
concepts de base d’une • Single Page Application (SPA) vs Multi-
un exemple de cahier des charges)
application web monopage Page Application (MPA)
• Quiz
(SPA) • Fonctionnement d’une application web
de type SPA • MindMap
B. Exploiter le B.1- S’initier aux principes • Présentation de React • Seul ou en groupe 45%
Framework React JS de React • Installation de l’environnement de
• Selon les instructions verbales ou écrites
développement React à l’aide de
du formateur
npm (installation de NodeJS, npm,…)
• À l’aide des supports fournis par le
• Intérêt du développement des
formateur (polycop, documents, cours et
composants avec React (Components)
un exemple de cahier des charges)
• Architecture d’une application React
• Quiz
B.2- Maîtriser les • Utilisation de CRA (Create React App) :
fonctionnalités de base de - Notion de CRA • MindMap
React - Installation de CRA • Projet de synthèse
- Lancement de CRA
- Préparation de l’environnement
- Prise en main de CRA
de développement React
• Création d’élément DOM à l’aide de JSX :
- Utilisation de React dans le
- Définition de JSX
développement des différentes
- DOM virtuel vs DOM réel
fonctionnalités du front end de
- Eléments en JSX
l’application (composants,
- Attributs en JSX
propriétés, événements, états,
- Expressions en JSX
feuilles de styles, assets,
- Imbrication d’éléments JSX
animations, …)
- Rendu JSX (ReactDOM.render())
C.Exploiter Redux C.1-.Appréhender les • Présentation de la bibliothèque Redux • Seul ou en groupe 45%
avec React JS concepts de bases de • Installation de l’API Redux
• Selon les instructions verbales ou écrites
Redux • Concepts de Redux :
- Store du formateur
- Reducers • À l’aide des supports fournis par le
- States formateur (polycop, documents, cours et
- Actions un exemple de cahier des charges)
• Fonctionnement d’une application Redux
• Quiz
• State React vs State Manager Redux
• MindMap
C.2- Manipuler les • Création d’une application Redux de
base : • Projet de synthèse
fonctionnalités importantes
de Redux - Création du State - Préparation de l’environnement
- Création du Reducer de développement Redux
- Création des actions - Utilisation de Redux dans le
- Création du Store développement des différentes
• Envoi des actions à partir du composant fonctionnalités
(useDispatch)
- Proposition de la démarche de la
• Utilisation du state dans un composant
solution
(useSelector)
• Liaison du store Redux au Provider
• Manipulation des states avec la librairie
Immer:
- Introduction à Immer
manuellement
- Intérêt de combineReducers
- Utilisation de combineReducers
• Débogage des changements d’état d’une
application en temps réel (devTools) :
- Intérêt de devTools
- Installation de devTools
(extension navigateur vs librairie
à installer)
- Utilisation de devTools dans
Redux
• Interaction avec les API Redux (status,
pending, resolved, rejected…)
• Optimisation de l’utilisation de Redux
avec Redux-Toolkit :
- Utilité de Redux-Toolkit
- Installation de Redux-Toolkit
- Utilisation des fonctions Toolkit
(configureStore, createAction,
createReducer)
- De logiciels à installer :
▪ Composer
▪ MongoDB
▪ Mysql
▪ postman
- Framework Laravel
- CMS Wordpress
D. Administrer un site à l’aide d’un CMS • Manipulation adaptée des éléments essentiels
d’un CMS ;
• Bonne utilisation d’un CMS dans la
personnalisation graphique d’un site ;
• Installation correcte des extensions et des
plugins ;
• Utilisation convenable des composants CMs.
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A.1 – Découvrir les • Présentation des Framewoks PHP (Laravel, • Seul ou en groupe 10%
A. Découvrir le
Framework PHP notions Symfony, Zend…)
• Selon les instructions verbales ou écrites
fondamentales des • Intérêt du Framework back end Laravel
Laravel du formateur
Frameworks PHP • Concepts Model View Controller (MVC) :
• À l’aide des supports fournis par le
- Architecture 3-tiers MVC
formateur (polycop, documents, cours et
- Motifs de conception (Design Patterns)
un exemple de cahier des charges)
• Présentation des API PHP
• Présentation des CMS PHP (Wordpress, • Quiz
Prestashop…) • MindMap
C. Approfondir la C.1 Gérer la sécurité • Bibliothèques d’authentification (JWT, • Seul ou en groupe 40%
programmation PASSPORT, Sanctum) • Selon les instructions verbales ou écrites
Laravel • Authentification du formateur
• Chiffrement
• À l’aide des supports fournis par le
• Autorisation
formateur (polycop, documents, cours et
• Hachage
un exemple de cahier des charges)
• Réinitialisation de mot de passe
• Quiz
• Vérification d’e-mail
• MindMap
C.2 Interagir avec la • Mise en route :
• Relations Eloquent :
- Définition
- Relations polymorphes
- Relations dynamiques
- Interrogation de relations
• Sérialisation
• Tests HTTP
• Tests Console
• Tests Navigateur
• Mocking
Développement Digital - Option Web Full Stack - Version 2.3 ( 15/09/2022)
Ce document est la propriété de l’OFPPT. Il ne peut être utilisé, reproduit ou communiqué à des tiers sans l’autorisation préalable écrite de l’Office.
124/150
Office de la Formation Professionnelle et de la Promotion du Travail
- De mises en situations écrites et orales • Manipulation basique des APIs REST en Node
js ;
- De consignes
• Bonne appréhension des microservices ;
- De spécifications fonctionnelles
• Manipulation correcte des conteneurs ;
- De spécifications techniques
• Création d’une application fonctionnelle en
- De cahier des charges
microservices ;
• À l’aide :
• Maîtrise du déploiement en Azure App Service ;
- D’un éditeur de texte (Visual Studio Code)
- De l’environnement : Node js
- Du framework : Express js
- Du SGBD : MongoDB
- De logiciels :
▪ Docker
▪ Postman
▪ RabbitMQ
▪ Azure cloud
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Introduire le cloud A.1 – Définir le cloud • Concept du cloud et ses avantages ; • Seul ou en groupe 10%
native • Exemple des fournisseurs cloud ;
• Selon les instructions verbales ou
• Différence entre cloud privé, public et
écrites du formateur
hybride ;
• À l’aide des supports fournis par le
• Services du cloud (IAAS, PAAS, SAAS).
formateur (polycop, documents, cours
A.2 – Définir l’approche • Définition ;
et un exemple de cahier des charges)
cloud native • Avantages ;
• Quiz
• Vue générale sur les caractéristiques du
cloud natif : • MindMap
- Automatisation des processus du
développement et de déploiement,
- microservices et conteneurs.
B. Créer des APIs REST B.1 Introduire Express • Rappel du concept des APIs REST ; • Seul ou en groupe 30%
simples en Node JS et et Node js • Rappel des méthodes du protocole http ;
• Selon les instructions verbales ou
Express Js • Définition de l’ecosystème Node JS ;
écrites du formateur
• Configuration de l’environnement de
• À l’aide des supports fournis par le
développement :
formateur (polycop, documents, cours
- Installation de Node.js
et un exemple de cahier des charges)
- Installation via npm de : Express et
Nodemon • Quiz
C. Créer une C.1- S’initier aux • Différence entre l’architecture • Seul ou en groupe 25%
application architectures monolithique et l’architecture des
• Selon les instructions verbales ou
microservices microservices microservices ;
écrites du formateur
• Concepts de base ;
D.2- Prendre en main • Installation de Docker Desktop ; • À l’aide des supports fournis par le
Docker • Terminologies Docker : images, Containers, formateur (polycop, documents, cours
Docker Hub ; et un exemple de cahier des charges)
• Création d’un Dockerfile pour une
• Quiz
application simple node js ;
• MindMap
• Introduction à Docker Compose ;
• Gestion de plusieurs images Docker avec • Projet de synthèse
E. Déployer une E.1- Introduire Azure • Définition de Azure Cloud ; • Seul ou en groupe 10%
application cloud Cloud • Composantes principales d’Azure : Régions,
• Selon les instructions verbales ou
native en Azure Cloud Ressources Azure, Zones de disponibilité ;
écrites du formateur
Groupes de ressources, Azure Resource
• À l’aide des supports fournis par le
Manager, Abonnements ;
formateur (polycop, documents, cours
• Exemples des services offerts par Azure ;
et un exemple de cahier des charges)
• Création d’un compte azure ;
E.2 Déployer en Azure • Création et envoi (push) d’une image Docker • Quiz
- Proposition de la démarche de la
solution
• À partir : techniques
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Appréhender A.1- Analyser la • Spécifications du cahier des charges • De préférence en groupe (binôme de 15%
un projet de demande des • Caractéristiques techniques de l’application stagiaires)
B. Concevoir B.1- Modéliser • Conception des diagrammes UML • De préférence en groupe (binôme de 30%
l’application l’application à l’aide • Conception d’interfaces utilisateurs stagiaires)
C. Réaliser C.1- Développer la • Conception des interfaces graphiques • De préférence en groupe (binôme de 40%
l’application partie front end • Exploitation des Frameworks étudiés stagiaires)
(Bootstrap, React-Redux….) • Etudes de cas proposées par le
• Tests et validation formateur, (le cas échéant, études de
• Documentation des instructions cas proposées par le stagiaire et
C.2- Développer la • Exploitation des Frameworks étudiés (Laravel…) validées par le formateur) permettant
partie back end • Création des composants de reproduire toutes les étapes d’un
D. Réaliser la veille D.1- Appréhender • Démonstration de l’utilité de recherche • De préférence en groupe (binôme de 15%
technologique l’utilité de la recherche d’information par des mises en situation stagiaires)
D.3- Consigner les • Constitution d’un dossier technique sur un sujet d'outils
• Respect de la hiérarchie
Suggestions Pédagogiques
COMPÉTENCE SUGGÉRÉE
A. Préparer son A.1- Décrire les • Esprit d’initiative • Activités et jeux de rôles permettant aux
stage en milieu de attitudes nécessaires à • Sens des responsabilités stagiaires d’acquérir :
travail la recherche dynamique • Attitude positive
- Prise de connaissance des
d’un lieu de stage • Esprit méthodique
informations et modalités
A.2- Exploiter les • Buts du stage : relatives aux stages
moyens de recherche - Observation de diverses facettes du
- Critères de sélection des
de stage métier
entreprises
- Réalisation d’activités
- Choix des entreprises
professionnelles
susceptibles de recevoir des
- Renforcement des habiletés
stagiaires
cognitives et perceptuelles
Développement Digital - Option Web Full Stack - Version 2.3 ( 15/09/2022)
Ce document est la propriété de l’OFPPT. Il ne peut être utilisé, reproduit ou communiqué à des tiers sans
143/150
l’autorisation préalable écrite de l’Office.
Office de la Formation Professionnelle et de la Promotion du Travail
• Contacts téléphoniques
• Messagerie électronique
• Plateformes de réseautage (LinkedIn…)
• Demandes d’entrevues
- À l’installation d’applications
- Au développement d’applications
- Aux divers paramétrages et
configurations
- À l’entretien d’un parc informatique
- Etc…
faisant état des compte rendu - Sur le contexte de travail - Rapport faisant état des
d’activités selon les - Sur les tâches observées