Développeur Web

Certification RNCP37805
Formacodes 31010 | Architecture web 31036 | Administration base de données 31090 | Programmation web 31098 | Programmation orientée objet
Nomenclature Europe Niveau 5
Les métiers associés à la certification RNCP37805 : Études et développement informatique

Codes NSF 326t | Programmation, mise en place de logiciels
Voies d'accès : Formation initiale Contrat d'apprentissage Formation continue Contrat de professionnalisation Candidature individuelle VAE

Prérequis : Les critères d'acceptation ne prennent pas en compte le niveau scolaire mais, plutôt, la curiosité, la motivation, le projet professionnel, la rigueur et la logique ainsi que l'attrait auprès des nouvelles technologies. Les bases de l'anglais sont requise

Certificateurs :
Certificateur SIRET
WEBECOM 82774341000025


Activités visées :
Activité 1 : Traduction de la maquette en code interprétable par les différents navigateurs.
* Intégration Web * Responsive design * Normes et accessibilité * Standardisation du code * Référencement naturel Activité 2 : Développement de fonctionnalités front end (navigateur) * Interactions et animations JavaScript * Validation de données * Fonctionnalités asynchrones * Implémentation de librairies Activité 3 : Data : analyse, modélisation, et traitement des données.
* Modélisation des données * Construction de bases de données * Exploitation des bases de données * Cadre légal et protection des données Activité 4 : Développement de fonctionnalités back end (serveur) * Conceptualisation d’applications * Programmation côté serveur * Programmation orientée objet * Architecture M-V-C * Sécurité * Travail en équipe et versionning Activité 5 : Développement d’applications à l’aide de frameworks (Framework front-end ou framework back-end) * Appropriation d’un nouveau cadre de travail * Configuration d’un framework et installation de dépendances * Développement et mise en production Activité 6 : Réalisation des maquettes d’interface (site web/ applications) * Analyse d’une demande client * Schématisation de l’interface utilisateur * Conception graphique * Prototypage multi support Activité 7 : Automatisation les différentes étapes tout au long cycle de vie d’une application.
* Identification des processus à automatiser * Programmation de scripts d’automatisation * Conteneurisation de processus et de services.
* Orchestration

Capacités attestées :
* Utiliser les langages de balisage html et css (avec et sans framework) pour intégrer les maquettes graphiques en utilisant un éditeur de code.
* Produire l’encodage en tenant compte des différentes contraintes imposées par les différentes résolutions d’écrans et les navigateurs afin d’obtenir un affichage optimisé pour smartphones, tablettes et desktop.
* Considérer la diversité des publics, notamment en situation de handicap, afin d’améliorer l’expérience utilisateur, en mobilisant les différentes normes d’accessibilité. (Ex: RGAA)
* Travailler sur une logique d’intégration réutilisable, organisée et synthétique, à des fins de lisibilité et de performances, en utilisant un système de “classes” génériques et fonctionnelles.
* Travailler le référencement naturel d’un site internet tout au long de sa construction pour optimiser son positionnement en appliquant les recommandations pour les différents moteurs de recherche.(hiérarchisation des contenus, sémantique, poids des pages…)
* Enrichir l’interface de l’application ou du site internet en utilisant le langage JavaScript afin d’apporter à la partie front end de l'interactivité et des animations.
* Valider les saisies utilisateurs dans les formulaires afin de vérifier l'échange de données entre l’utilisateur et le serveur à l'aide de méthodes de validation adaptées. (ex : expressions régulières)
* Développer des fonctionnalités mettant en jeu des requêtes asynchrones avec le serveur afin d’apporter de la fluidité et de l'interactivité sans rechargement de page en utilisant des API.
* Optimiser les temps de développement en utilisant des ressources externes (librairies JavaScript) pour résoudre des problématiques de développement complexes.
* Synthétiser les données utiles à l'application en analysant le cahier des charges afin de formaliser le modèle de données
* Construire la base de données à l'aide d’un outil d’administration de base de données, afin de permettre la bonne circulation des données nécessaires au fonctionnement de l’application.
* Interroger la base de données par l'intermédiaire d’un langage de requêtes (SQL) pour permettre la manipulation et l’exploitation des données par l’application.
* Respecter le cadre légal en utilisant les normes imposées par le règlement général sur la protection des données (RGPD) afin de garantir l'intégrité des utilisateurs et la protection des données
* Conceptualiser l’application, formaliser son schéma fonctionnel, à partir du cahier des charges fourni et des échanges avec le client, afin d’optimiser la charge serveur et les temps de réponse.
* Développer une application en utilisant un langage de programmation adapté afin d’en construire l’architecture et les fonctionnalités côté serveur.
* Développer une application en utilisant la programmation orientée objet et les héritages afin de produire un code réutilisable et structuré
* Développer une application à l'aide d’une architecture Modèle-Vue-Contrôleur (MVC) afin d’assurer un code facile à maintenir et évolutif.
* Identifier un utilisateur et délimiter ses champs d’action dans le but de sécuriser l’application par l’attribution de rôles spécifiques.
* Travailler en équipe en utilisant des outils de collaboration et de gestion des versions afin de construire une application efficacement au sein d’une équipe de développeurs en entreprise.
* Préparer l’ application pour la livraison en s’assurant de sa conformité à la demande du client et son bon fonctionnement.
* Confronter ses connaissances en développement avec la documentation d’un framework dans le but de s’approprier l’architecture et les fonctionnalités d’un nouveau cadre de travail.
* Configurer le framework en utilisant un gestionnaire de dépendances afin de préparer l’environnement de développement de l’application.
* Développer une application évolutive avec un framework afin de disposer d’un environnement de développement standardisé pour l’ensemble du projet.
* Comprendre une problématique client et son cahier des charges au moyen d’une grille d’analyse dans le but de concevoir des interfaces adaptées à l'identité du client et de la cible.
* Préparer la maquette et ses différents composants au moyen d’un schéma (Wireframe) regroupant tous les éléments et leurs positionnement , afin de proposer une expérience utilisateur simple, intuitive, et facilement accessible.
* Concevoir des maquettes en utilisant un logiciel professionnel de création graphique afin de présenter au client un prototype d’interface pour son application ou site internet.
* Faire évoluer le contenu des maquettes afin de l’adapter aux différents périphériques et résolutions en construisant un prototype pour smartphone, tablette et desktop.
* Identifier les points d’automatisation possibles en collaborant avec les développeurs durant les phases du cycle de vie du projet afin de faciliter le développement, le déploiement et l’exploitation de l’application.
* Programmer les actions en utilisant un langage de script afin de construire le processus d'automatisation.
* Créer un environnement de développement indépendant à l’aide d’un système d'exploitation pour conteneur dans une machine virtuelle. (exemple : Docker) afin de s'affranchir des contraintes d’infrastructure.
* Assurer un déploiement continu de l’application en utilisant une plateforme qui permet d’automatiser et de tester le déploiement et la mise à jour. (exemple : Github Action)

Secteurs d'activité :
Le métier de développeur web est identifié dans le Référentiel interministériel des métiers et compétences des Systèmes d’Information et de Communication (SIC) de 2019 (page 10) ainsi que l'Observatoire des Métiers du Numérique, de l’Ingénierie, du Conseil et de l'Événement Le développeur Web conceptualise et réalise des sites internet ou des applications web répondant aux exigences du cahier des charges d’un client . Ses principales missions sont : * le réalisation de l’analyse technique et de l’analyse de la demande client (sous la responsabilité d’un chef de projet) * La conceptualisation et le développement des applications * Les tests fonctionnels et corrections des erreurs * Le déploiement et la mise en ligne du projet * La maintenance corrective et évolutive des applications A l’image du secteur du numérique auquel il appartient, le métier de développeur web est en constante évolution. Il doit actualiser ses connaissances au gré des innovations technologiques , et suivre les tendances des langages informatiques les plus courants et les plus demandés. (veilles technologiques) Le métier de développeur web s’exerce dans différents types de structures aussi bien dans les domaines de la communication que dans le développement de solutions métiers : * Agences web spécialisées dans la communication et le déploiement de sites Internet vitrines et E-commerce. * Les entreprises de Services du Numérique (ESN) : sociétés de services spécialisées en génie informatique, qui ont des missions de conception de solutions spécifiques et d’applications parmi d’autres activités. * Et plus généralement toute entreprise présentant un besoin de numérisation des processus ,souhaitant gagner en productivité, automatiser leurs différentes tâches et faciliter/accélérer leur déploiement sur plusieurs territoires. Ces évolutions passent par le développement d’outils d’automatisation très spécifiques non limités par à la mise en place de sites internet et d'applications mobiles mais surtout par la construction spécifique d’outils et de fonctionnalités inhérentes à leur métier. * Les travailleurs indépendants (freelance) Ce statut répond à une demande croissante des entreprises hors domaine d’activité, d’intervention de prestataires externes pour la réalisation de missions ponctuelles. Ces dernières sollicitent des plateformes dédiées de mise en relation avec des entrepreneurs individuels. Ces plateformes sont dites “de recrutement inversé”, en effet , ce sont les entreprises qui viennent contacter les professionnels en freelance dont le profil correspond à leurs besoins. (Exemple: malt.fr, codeur.com, talent.io…)

Types d'emplois accessibles :
Le niveau d’expertise du développeur Web a une importance dans ses missions et projets. Son expertise sur les différentes technologies, langages, est un élément variable qui le dirige vers des missions clients spécifiques , des postes spécialisés dans son domaine comme des missions plus globales en tant que DevOps. Dans les petites et moyennes entreprises, selon son profil et ses compétences, il peut également être l'UI / UX Designer de la solution. On peut alors distinguer 2 grands domaines : * Développeur front - end : Il combine technologie et design afin de créer des sites ou applications web ergonomiques et accessibles. Il assure la mise en œuvre des éléments visuels et interactifs d’un site ou d’une application web quel que soit le support (smartphones, tablettes, ordinateurs de bureau), il réalise le codage des fonctionnalités exécutables dans le navigateur web de l’utilisateur ( côté client). * Développeur back end : Il conçoit tous les éléments techniques nécessaires au fonctionnement d’un site ou d’une application. Il se charge de la structure et de l’organisation des données, de la sécurité, ainsi que du codage des fonctionnalités exécutables sur un serveur (côté serveur) en mobilisant des langages de programmation serveur comme PHP, Ruby, Java, Javascript (NodeJs). Le développeur full stack , quant à lui, regroupe les compétences du développeur Front-End et celles du développeur Back-End. Face à la diversité des technologies employées dans chacun de ses domaines et à l'utilisation croissante de systèmes permettant d’uniformiser le cadre de travail (frameworks), la nomenclature des postes en entreprise évolue dans le sens de la spécialisation sur différentes technologies. On retrouvera par exemple des postes dont l’intitulé se compose du terme “développeur" suivi du langage mis en œuvre : développeur PHP, développeur Javascript, développeur Ruby … Ou encore suivi du nom du frameworks utilisé : développeur Symfony, développeur Laravel , développeur Angular, développeur React Emploi type : Développeur Web La certification professionnelle de WEBECOM « Développeur Web » vise essentiellement les 3 métiers précédemment décrits : * Développeur Front End, * Développeur Back End, * Développeur Full Stack (qui regroupe les compétences du Front et du Back End) A la croisée de ces trois métiers, un emploi-type se dessine : celui de Développeur Web. Cet Emploi-Type se structure autour de 9 grands domaines de compétences (des « macro-compétences » comme les nomme l’OPIIEC) : Le développeur web œuvre au développement d’une solution numérique (site web, application web , application métier) et combine pour cela un certain nombre de compétences que l’on peut regrouper en 9 grands domaines : 1. Phase de conceptualisation et d’analyse de la problématique client 2. Préparation de l’architecture et mise en place de l’environnement de développement 3. Production du code “from-scratch” ou l’aide d’un framework 4. Sécurisation de l’application 5. Phase de tests, correction de bugs et recettage 6. Prise en compte des contraintes réglementaires liées a la protection des données (RGPD) 7. Faciliter l’accès à la solution numérique aux personnes en situation de handicap en respectant les normes d’accessibilité du W3C, RGAA et WCAG 8. Le déploiement et la gestion des livrables 9. La maintenance de la solution déployée. Tout en mettant en œuvre une démarche agile et innovante.

Objectif contexte :
En 2021 le recrutement sur des postes de développeur web a augmenté de 41.5% ; 93% des personnes recrutées sur des profils “juniors” entre 0 et 2 ans d’expérience, et pour ? par des PME. En 2022 on assiste à une augmentation significative (entre 35% et 50

Statistiques : :
Année Certifiés Certifiés VAE Taux d'insertion global à 6 mois Taux d'insertion métier à 2 ans
2021 9 0 100 83
2020 25 0 75 79

Bloc de compétences

RNCP37805BC02 : Développement back end d’applications Web
Compétences :
Synthétiser les données utiles à l'application en analysant le cahier des charges afin de formaliser le modèle de données Construire la base de données à l'aide d’un outil d’administration de base de données, afin de permettre la bonne circulation des données nécessaires au fonctionnement de l’application. Interroger la base de données par l'intermédiaire d’un langage de requêtes (SQL) pour permettre la manipulation et l’exploitation des données par l’application. Respecter le cadre légal en utilisant les normes imposées par le règlement général sur la protection des données (RGPD) afin de garantir l'intégrité des utilisateurs et la protection des données Conceptualiser l’application, formaliser son schéma fonctionnel, à partir du cahier des charges fourni et des échanges avec le client, afin d’optimiser la charge serveur et les temps de réponse. Développer une application en utilisant un langage de programmation adapté afin d’en construire l’architecture et les fonctionnalités côté serveur. Développer une application en utilisant la programmation orientée objet et les héritages afin de produire un code réutilisable et structuré Développer une application à l'aide d’une architecture Modèle-Vue-Contrôleur (MVC) afin d’assurer un code facile à maintenir et évolutif. Identifier un utilisateur et délimiter ses champs d’action dans le but de sécuriser l’application par l’attribution de rôles spécifiques. Travailler en équipe en utilisant des outils de collaboration et de gestion des versions afin de construire une application efficacement au sein d’une équipe de développeurs en entreprise. Préparer l’ application pour la livraison en s’assurant de sa conformité à la demande du client et son bon fonctionnement.
Modalités d'évaluation :
Mise en situation professionnelle, projet : Le candidat conceptualise et développe from scratch (Depuis une page blanche sans code préconstruit) l’application web spécifique demandée et sa base de données, à l'aide d’un langage de programmation serveur. L’application est développée en paradigme objet, incluant l'héritage et en utilisant une architecture MVC. L’application est déployée sur le serveur mis à disposition. Le candidat présente son travail aux jurys. Il argumente son modèle de données et ses schémas conceptuels. Le candidat doit être en mesure de modifier son code en direct selon les demandes imprévues des membres du jury. Eléments fournis : * cahier des fonctionnalités * un accès au serveur * un accès à une base de données Éléments demandés : * Les schémas conceptuels et physiques du modèle de données * Les schémas fonctionnels de l’application * La base de donnée de l’application * L’application fonctionnelle déployée sur le serveur
RNCP37805BC05 : Utilisation de la méthodologie DevOps pour automatiser, conteneuriser et déployer une application en continu (option 3)
Compétences :
Identifier les points d’automatisation possibles en collaborant avec les développeurs durant les phases du cycle de vie du projet afin de faciliter le développement, le déploiement et l’exploitation de l’application. Programmer les actions en utilisant un langage de script afin de construire le processus d'automatisation. Créer un environnement de développement indépendant à l’aide d’un système d'exploitation pour conteneur dans une machine virtuelle. (exemple : Docker) afin de s'affranchir des contraintes d’infrastructure. Assurer un déploiement continu de l’application en utilisant une plateforme qui permet d’automatiser et de tester le déploiement et la mise à jour. (exemple : Github Action)
Modalités d'évaluation :
Mise en situation professionnelle : le candidat reçoit le code source d’une application déjà développée. Il en audite le code afin d’en dégager les adaptations en termes d’architecture et de sécurité nécessaires. Il en identifie les points automatisables et en construit des processus d’automatisation aussi bien du côté du développement que du déploiement. Il crée l’environnement conteneurisé nécessaire au fonctionnement de l’application, construit les images avec les services nécessaires, empile les différents services afin d’obtenir une stack fonctionnelle. La stack est testée puis déployée sur un serveur. Le candidat présente auprès du jury le déploiement de l’application et explique les procédés qu’il a mis en place pour automatiser, sécuriser et déployer la stack de l’application demandée. Eléments fournis : * Un sujet d’exercice sous forme de demande client * une ou plusieurs applications selon la demande du client * un accès à un serveur hôte Eléments demandés : * l’application automatisée, conteneurisée et déployée. * tous supports permettant d’appuyer l’argumentation
RNCP37805BC03 : Développement avancé : Comprendre et utiliser une architecture de type framework (option 1)
Compétences :
Confronter ses connaissances en développement avec la documentation d’un framework dans le but de s’approprier l’architecture et les fonctionnalités d’un nouveau cadre de travail. Configurer le framework en utilisant un gestionnaire de dépendances afin de préparer l’environnement de développement de l’application. Développer une application évolutive avec un framework afin de disposer d’un environnement de développement standardisé pour l’ensemble du projet.
Modalités d'évaluation :
Mise en situation professionnelle, projet : Le candidat conceptualise une application dotée de fonctionnalités avancées à partir d’un cahier des charges et un cahier des fonctionnalités fournis. Il construit son environnement de développement en installant un framework et les dépendances inhérentes aux fonctionnalités demandées. Le candidat développe l'intégralité de l’application avancée demandée dans l’environnement du framework. Lors de la soutenance auprès du jury de professionnels, le candidat présente son application fonctionnelle et déployée sur un serveur. Il argumente le fonctionnement global du framework, ses spécificités et son architecture, les choix des dépendances installées, et sa démarche pour solutionner les problématiques rencontrées. Le jury demande au candidat des modifications ou ajouts de code pour solutionner une problématique inattendue dans l’instant. Eléments fournis : * Un cahier des charges * Un cahier des fonctionnalités * Un accès au serveur, une base de données ou API Eléments demandés : * Tous documents appuyant la conceptualisation et l’argumentation * l’application livrée fonctionnelle
RNCP37805BC04 : Design d’interfaces utilisateur (option 2)
Compétences :
Comprendre une problématique client et son cahier des charges au moyen d’une grille d’analyse dans le but de concevoir des interfaces adaptées à l'identité du client et de la cible. Préparer la maquette et ses différents composants au moyen d’un schéma (Wireframe) regroupant tous les éléments et leurs positionnement , afin de proposer une expérience utilisateur simple, intuitive, et facilement accessible. Concevoir des maquettes en utilisant un logiciel professionnel de création graphique afin de présenter au client un prototype d’interface pour son application ou site internet. Faire évoluer le contenu des maquettes afin de l’adapter aux différents périphériques et résolutions en construisant un prototype pour smartphone, tablette et desktop.
Modalités d'évaluation :
Mise en situation professionnelle, projet : Le candidat réalise en autonomie les maquettes d’interfaces de site web ou d’application, adaptées aux différents périphériques en suivant et analysant le cahier des charges fourni. Durant cette période, le candidat doit être force de proposition auprès du client représenté par la personne supervisant l’examen. Le candidat présente ensuite à l’oral les maquettes aux jurys et argumente ses choix graphiques, ainsi que sa réflexion en termes d’interface / expérience utilisateur. Documents attendus : * maquettes * Liste des propositions validées par le client. * tous supports permettant d’appuyer l’argumentation * Sources d’inspiration, * Analyse de la concurrence * Schéma de conception (wireframe) * Fichier validant les choix colorimétriques, typographiques …(Brand Board) * Prototypage des différentes interactions des éléments interactifs * Export des éléments graphiques optimisés en vue de l’intégration (assets)
RNCP37805BC01 : Développement Front End de sites et applications web.
Compétences :
Utiliser les langages de balisage html et css (avec et sans framework) pour intégrer les maquettes graphiques en utilisant un éditeur de code. Produire l’encodage en tenant compte des différentes contraintes imposées par les différentes résolutions d’écrans et les navigateurs afin d’obtenir un affichage optimisé pour smartphones, tablettes et desktop. Considérer la diversité des publics, notamment en situation de handicap, afin d’améliorer l’expérience utilisateur, en mobilisant les différentes normes d’accessibilité. (Ex: RGAA) Travailler sur une logique d’intégration réutilisable, organisée et synthétique, à des fins de lisibilité et de performances, en utilisant un système de “classes” génériques et fonctionnelles. Travailler le référencement naturel d’un site internet tout au long de sa construction pour optimiser son positionnement en appliquant les recommandations pour les différents moteurs de recherche.(hiérarchisation des contenus, sémantique, poids des pages…) Enrichir l’interface de l’application ou du site internet en utilisant le langage JavaScript afin d’apporter à la partie front end de l'interactivité et des animations. Valider les saisies utilisateurs dans les formulaires afin de vérifier l'échange de données entre l’utilisateur et le serveur à l'aide de méthodes de validation adaptées. (ex : expressions régulières) Développer des fonctionnalités mettant en jeu des requêtes asynchrones avec le serveur afin d’apporter de la fluidité et de l'interactivité sans rechargement de page en utilisant des API. Optimiser les temps de développement en utilisant des ressources externes (librairies JavaScript) pour résoudre des problématiques de développement complexes.
Modalités d'évaluation :
Mise en situation professionnelle, projet : Le candidat réalise l’intégration complète du site internet ou de l’application en utilisant les dernières versions des langages de balisage HTML et CSS. Il développe en utilisant le JavaScript les animations et différentes interactions utilisateur demandées dans le cahier des charges. Il réalise le déploiement du site internet ou de l’application sur le serveur. Le candidat présente le résultat de son travail, le code source et argumente son travail effectué concernant le référencement naturel et le respect des normes d’accessibilité (Critères RGAA) auprès des jurys de professionnels. Éléments fournis : * Les maquettes à intégrer * Le cahier des charges * Les éléments graphiques non optimisés à intégrer * un espace sur le serveur pour le déploiement. Éléments attendus : * Déploiement complet et fonctionnel du site internet ou de l’application sur le serveur.
Equivalences :
Partenaires actifs :
Partenaire SIRET Habilitation
ALPHA TECH 88137643800019 HABILITATION_ORGA_FORM
BIOGESOFT 84270171600040 HABILITATION_ORGA_FORM
BLENT.AI 84505338800029 HABILITATION_ORGA_FORM
ECOLE EUROPEENNE DU NUMERIQUE 95379036700015 HABILITATION_ORGA_FORM
ELORRI 83944819800029 HABILITATION_ORGA_FORM
ETC ACADEMY 88537174000014 HABILITATION_ORGA_FORM
FORMATECH PLUS 80438251300013 HABILITATION_ORGA_FORM
FRANCK DUBOIS 50979817900024 HABILITATION_ORGA_FORM
IQ FACTORY 83467346900021 HABILITATION_ORGA_FORM
JUNIA XP 89085431800015 HABILITATION_ORGA_FORM
LA MANU 75243460500032 HABILITATION_ORGA_FORM
LA MANU 75243460500081 HABILITATION_ORGA_FORM
LA MANU 75243460500099 HABILITATION_ORGA_FORM
LA MANU 75243460500107 HABILITATION_ORGA_FORM
LA PASSERELLE 85227823300014 HABILITATION_ORGA_FORM
LA PASSERELLE PARIS 85227823300055 HABILITATION_ORGA_FORM
LE REACTEUR 82277112700039 HABILITATION_ORGA_FORM
M2I 33354415300344 HABILITATION_ORGA_FORM
MGK LEARNING 90162662200012 HABILITATION_ORGA_FORM
MONSIEUR YVON HUYNH 51077652900040 HABILITATION_ORGA_FORM
NEXARISE SKILLS 90340967000010 HABILITATION_ORGA_FORM
NGN FORMATION PRODUCTION 88915372200018 HABILITATION_ORGA_FORM
SALMA BOT 53042719400028 HABILITATION_ORGA_FORM
SCRIBTEL FORMATION 39336786700024 HABILITATION_ORGA_FORM
SKILLS4ALL 82815451800025 HABILITATION_ORGA_FORM
STARTWORKUP 83923484600021 HABILITATION_ORGA_FORM
THE HACKING PROJECT 83038992000026 HABILITATION_ORGA_FORM
WEECAST 51750217500048 HABILITATION_ORGA_FORM

Select your color
Light/dark Layout