Webecom Formations développeur web | Formation développeur Web (Back-end)

Formation développeur Back-End Module 2 

La formation "Développeur back-end" est le module 2 intégré dans la formation développeur Web complète certifiante (bac+2).

Elle peut néanmoins être passée indépendamment

Télécharger le programme de la formation développeur bac end

Compétences traitées :Conceptualisation d'application Web, modélisation des données SQL (Bases de données), développer une application Web complète et des fonctionnalités en langage serveur, développer en utilisant le modèle objet/objet étendu- création d'API, Sécurité, gestion des données RGPD de l'application, architecture MVC, mise en prod, tests et recettage de l'application.

Durée: 432 heures.

Accessibilité: En présentiel ou à distance.

Prérequis : Utilisation de l'outil informatique, connaissances de base en HTML / CSS

Modalités d'accès : Formation continue ou VAE (modalités d'accès par la VAE). Ce module peut etre sélectionné comme option dans le parcours de formation ou comme module indépendant.

Lieu : 1 bd des états-unis - Saint-Etienne à côté de l'arrêt de tram de la Cité du Design.

Code NSF: 326t - Code ROME: M1805. - Date de publication au JO : 19-07-2023 - RNCP 37805

Financement Ce module est finançable via le CPF ou tout autre dispositif (Transition Pro, Région, Pôle Emploi) . 

Accessible aux personnes en situation de handicap : oui. Aménagement personnalisé possible (contacter le référent handicap au 06 27 85 21 09)

La formation développeur back-end débute par les toutes bases et est accessible aux débutants très motivés et curieux, car nous allons vous amener assez loin dans les compétences. Il faut impérativement connaître les bases du HTML et CSS pour suivre ce module. Elle est dédiée à l'apprentissage de la programmation / développement d'applications Web et de fonctionnalités spécifiques. Elle est précisément conçue pour les personnes souhaitant devenir se spécialiser dans le développement back-end. Il est néanmoins important d'avoir les bases en HTML/CSS pour construire les bases structurelles des applications à développer.

Au terme de la formation, vous serez capable de conceptualiser et développer des applications spécifiques complexes avec un langage serveur, tout en utilisant le paradigme objet avec ses héritages.

Ce qui vous permettra après la formation de postuler en qualité de developpeur back-end sur n'importe quel langage objet tel que Java, Python, C++...

Pour les plus courageux d'entre vous, voici une mise en situation pour mieux appréhender le métier de développeur back-end !

Formation développeur Web back-end, aperçu du champ d'action d'un développeur back-end :

Nous parlons de conceptualisation, de modélisation de données et de développement Web, mais que signifient donc concrètement les applications pratiques de ces termes un peu flou pour un néophyte?

Aujourd'hui nous entendons beaucoup dans les médias des termes comme "Numérisation des entreprises". ou "Processus d'automatisation des entreprises"  et nous utilisons régulièrement des applications Web comme Paypal, Facebook etc...Le développeur Web intervient directement dans le développement de ces projets.

Il est amené à concevoir, des applications et des fonctionnalités spécifiques, "Application métier" permettant aux entreprises d'automatiser, de simplifier et d'améliorer leur outils de production et améliorer ainsi leur compétitivité, chiffre d'affaire et dans l'ensemble, optimiser toute l'activité et la productivité de l'entreprise.

Cas simplifié et explicatif de développement d'une application Web:

Imaginons qu'une entreprise que nous allons nommer "Gruber-Eat" vous contacte pour vous demander de créer une application Web révolutionnaire et très simple qui devra "juste" permettre à des utilisateurs de commander des plats en ligne dans les restaurants locaux et de les livrer en quelques minutes. (c'est parfois ainsi que les entreprises vous expliquent initialement leur projet)

Bien évidemment, rien n'est simple, c'est la vision du donneur d'ordre, qui parfois, ne verra pas toute la complexité du projet, il va donc falloir comprendre toutes les fonctionnalités de l'application, des comportements de ces dernières et poser des questions au donneur d'ordre. Il faut essayer de s'immerger dans le métier/objectif de l'application pour encadrer tous les processus qui seront ammenés à interragir les uns avec les autres.

Comment fonctionne t'elle? Nous allons simplifier au maximum l'analyse des fonctionnalités pour plutôt comprendre la démarche dans son ensemble.

L'application devra comporter par exemple les fonctionnalités suivantes:

Une partie réservée à l'utilisateur qui permet::

  • De créer un compte récupérant vos données personnelles incluant, entre autre, votre nom, numéro de téléphone, adresse, numéro de carte bleue...
  • De pouvoir voir, ajouter, supprimer ou modifier des articles au panier.
  • Valider votre commande, lancer le processus de paiement, créer automatiquement une facture avec un bon de commande et affecter un état à la livraison (en préparation, en livraison ou livré).
  • Affecter la commande validée au livreur le plus proche qui reçoit toutes les données relatives au restaurant pour récupérer la commande et également vos coordonnées pour vous livrer.
  • Récupérer les données géographiques du livreur via son téléphone et son numéro et les afficher sur la carte pour que vous puissiez voir sa position et le contacter en cas de soucis.

Une autre partie sera plutôt réservée à la gestion de l'application qui devra permettre:

  • Ajouter, supprimer, modifier un restaurant qui sera affiché aux utilisateurs en fonction de leur situation géographique.
  • Que les restaurant puissent être évalués, puissent proposer des promotions.
  • Ajouter, supprimer, modifier des produits proposés par chaque restaurant qui comporterons eux mêmes plusieurs caractéristiques personnalisables (ex:coca sans glaçon, avec glaçon ect...)
  • Une fonctionnalité permettant de permuter automatiquement les restaurants en mode ouvert ou fermé en fonction de l'heure locale.
  • Un système de "tickets" qui permet de lister toutes les demandes d'assistance des utilisateurs qui rencontrent des problèmes de livraison en cours et d'ainsi pouvoir y répondre rapidement. 
  • Avoir la main sur les commandes en cours ou déjà effectuées pour traiter les tickets, les annulations ou différentes opérations.

Nous allons nous arrêter là, mais il y a encore énormément de fonctionnalités. Le client était parti pour nous demander une simple application pour commander et livrer des plats.

Comme vous pouvez l'imaginer, cela va demander beaucoup de travail en définitif. C'est avec le client que nous allons poser toutes les questions sur le mode de fonctionnement que devra comporter l'application et lister avec lui toutes les fonctionnalités et différents comportements de cette dernière. Exemple:

Proposer ma candidature en présentiel ou en distanciel

Vous au client: Une fois la commande effectuée et payée par l'utilisateur et transmise au livreur, comment souhaitez vous informer le restaurant de préparer la commande?

Le client: Hum.., je n'avais pas forcément pris de décision fixée sur cet aspect...

Vous: Nous pourrions envisager (si le budget le permet) de mettre en place une fonctionnalité qui transmet automatiquement l'odre d'imprimer dans le restaurant concerné via une ou plusieurs imprimantes des tickets récapitulatifs de la commande avec les plats commandés , les options de la commande et l'heure de cette dernière. Un ticket serait alors donné au livreur et l'autre servira à préparer la commande et sera stockée ensuite pour la comptabilité? 

Le client: Parfait, c'est une bonne idée, il faudrait également envoyer un SMS à l'utilisateur pour le prévenir que sa commande est en cours de livraison , c'est possible? 

Vous: Oui je peux regarder ça et je reviens vers vous avec une proposition.

Il faut donc comprendre et spécifier en détail toutes les fonctionnalités de l'application et les écrire dans un document appelé: Un cahier des fonctionnalités.

Ce cahier des fonctionnalités permettra ensuite de réaliser,schématiquement à la main ou avec un logiciel de schématisation, la manière dont vous allez construire les fonctionnalités; Vous allez également schématiser l'architecture des bases de données que vous allez devoir ensuite construire. Vous pourrez ensuite utiliser un langage de programmation comme le PHP par exemple pour le développement.

Les bases de données serviront à aller récupérer, modifier, écrire ou transmettre des informations dans une sorte de registre (base de données) qui servira à faire fonctionner une tâche particulière que vous allez développer. Un exemple simplifié pour avoir une idée:

Si nous souhaitons qu'un utilisateur puisse créer puis se connecter à son compte "Gruber-Eat" à l'aide d'un identifiant et d'un mot de passe:

Nous allons donc créer un formulaire en HTML de création de compte avec les champs que nous souhaitons utiliser (identifiants mot de passe, nom, prénom, mail, adresse)

Lorsque'un utilisateur va sur ce formulaire d'inscription pour créer son compte, nous allons récupérer ce qu'il a écrit dans chaque champ du formulaire et automatiquement créer dans la base de données un champ parent "nouvel utilisateur" avec à l'intérieur les champs: "identifiants" "mot de passe", "nom", "prénom", "mail", "adresse" avec comme valeur les informations saisies par l'utilisateur.

Lorsqu l'utilisateur aura créé son compte, il va vouloir se connecter dans le formulaire de connexion. il va donc rentrer son identifiant et son mot de passe, notre programme devra alors vérifier dans la base de données s'il existe un champ utilisateur avec l'identifiant et le mot de passe correspondant. Si c'est le cas, alors le programme valide la session de connexion et affiche le compte utilisateur et toutes les informations qui y sont liées qui seront importées depuis la base de données de cet utilisateur.

Autrement, si les informations ne correspondent pas, nous afficherons un message précisant que les identifiants ne sont pas valides.

C'est un exemple très simplifié des fonctionnalités les plus basiques et, au fil de la formation, vous serez amenés à aborder des problématiques plus complexes, à développer en utilisant le langage objet et ses héritages et donc, proposer des schémas de conceptualisation et des modélisations de données adaptés.

Bien évidemment, il va falloir penser que désormais, avec la législation liée au RGPD, il va aussi falloir identifier toutes les données récoltées par l'application sur les informations des utilisateurs.

Il faudra donc développer des fonctionnalités permettant à ces dernier de pouvoir, d'une part, connaître toutes les informations récupérées par l'application, mais également lui permettre de les modifier ou les supprimer (ex: informations stockées en base de données, cookies/IP de connexion...)

Il est primordial également de développer l'application en mettant en place les principes de sécurité nécessaires pour empêcher qu'un tiers ne puisse s'introduire dans les bases de données via une faille pour récupérer des informations sensible, mais également en faisant en sorte de protéger l'intégrité des url et en cryptant les informations sensibles enregistrées dans les bases de données.

Pour conclure, le développeur back-end devra maîtriser toute la partie Schématique et conceptuelle d'une application, et également, pouvoir ensuite utiliser un ou plusieurs langage de développement pour la concevoir. Le développemment Web, c'est résoudre des problématiques grâce au code. On passe parfois beaucoup de temps sur notre code qui ne fonctionne pas. Après de longues séances de tests et de débuggage et que tout fini par fonctionner, c'est du pur bonheur! 

C'est l'objectif de la formation développeur Web back-end. Vous allez apprendre à conceptualiser et à développer des applications et des fonctionnalités spécifiques. Apprendre à tester et debugger votre code. Vous allez bloquer sur des problématiques, vous arracher les cheveux, retester, redébugger et finalement y arriver. Les formateurs sont là pour vous accompagner et vous donner les bonnes méthodes de travail mais en aucun cas pour vous donner des solutions. Ils vous donneront des clefs pour vous débloquer par vous même. C'est ainsi qu'on progresse en développement. Les débuts sont frustrants mais au fur et à mesure des progressions on se rend compte qu'il n'y a pas de limites à ce que l'on peut construire avec du code !

Développeur Web, c'est un métier passionnant qui nous permet d'imaginer et de construire des systèmes fonctionnels pour les entreprises mais aussi des applications pour nous même et nous faciliter les tâches du quotidien.

formation développeur web élèves

Les modalités de validation du titre Développeur Web

Pour valider un bloc, l’évaluation des acquis doit être supérieure ou égale à 50 %.

Pour valider le titre développeur Web, Il faut obtenir une note supérieure ou égale à 50% . Le calcul de la moyenne des notes est pondéré de la manière suivante:

  • Contrôle continu: 30%
  • Stage évalué en entreprise: 20%
  • Examens évalués par les jurys: 50%

Le titre est obtenu en validant le tronc commun (bloc développeur front-end+ + bloc développeur back-end ) , un bloc optionnel au choix ainsi qu’une période de stage en entreprise de 245h minimum (Deux mois)

  • Développeur web option UX-UI designer : tronc commun + bloc 4 + stage
  • Développeur web option framework (front-end ou back-end) : tronc commun + bloc 3 + stage
  • Développeur web option DevOps : tronc commun + bloc 5 + stage

Le titre de Développeur Web peut être obtenu selon les modalités suivantes:

  1. Le candidat suit la formation complète: Il doit alors obtenir une note supérieure ou égale à 50% dans tous les blocs pour valider le titre, et 50% en moyenne globale (contrôle continu + stage + examen)
  2. Le candidat veut effectuer une validation des acquis d’expérience: Le candidat peut justifier de son expérience sur 1, 2 ou la totalité des blocs (Voir le processus d’accès par la V.A.E.)
  3. Le candidat souhaite valider un bloc uniquement: Chaque bloc peut être validé indépendamment des autres blocs. Néanmoins pour valider la certification dans son ensemble, le candidat devra valider le tronc commun , un bloc optionnel ainsi que d'effectuer une période de stage en entreprise
  4. Le candidat a validé un bloc reconnu équivalent sur une autre certification : Afin de faciliter les mobilités professionnelles, il est possible pour un candidat de valider la certification en ayant déjà acquis un bloc reconnu d'équivalent.

Le bloc est donc automatiquement validé et il ne devra passer que les blocs manquants via la formation continue ou en engageant une VAE s'il dispose de l'expérience professionnelle.