DÉVELOPPEUR.SE BACK-END
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 05/01/2023. Dernière mise à jour le 20/02/2024.
Version du programme : 1
Programme de la formation
Vous rencontrerez toutes les technologies majeures qu'un développeur back-end devrait connaître. Vous comprendrez différents principes de conception de programmation et créerez des back-ends sécurisés avec Node/Express et PostgreSQL. Nous nous assurerons également de vous préparer aux fameux entretiens techniques que vous rencontrerez une fois que vous aurez commencé votre recherche d'emploi.
Objectifs de la formation
- Construire et déployer des back-ends Node/Express
- Concevoir et créer des bases de données PostgreSQL
- Utiliser les principes de conception et de développement de logiciels, tels que POO, KISS, YAGNI et DRY
- Concevoir et documenter des API avec les outils OpenAPI et Swagger
- Mettre en œuvre des pratiques de sécurité pour prévenir les attaques sur les applications logicielles
- Expliquer les techniques courantes de mise à l'échelle et de mise en cache des logiciels
- Expliquer les techniques et stratégies DevOps courantes
- Expliquer les concepts de base derrière la théorie des systèmes d'exploitation
- Implémenter des structures de données et des algorithmes communs en JavaScript
- Passer un entretien sur tableau blanc JavaScript
Profil des bénéficiaires
- En reconversion professionnelle
- Aux salariés ou étudiants
- Connaissance de base en algorithmie
- Pratique courante recommandée de l’ordinateur, des smartphones et tablettes tactiles ainsi que de leurs outils (outils des systèmes d’exploitation, bureautique et internet)
- Pratique de l’anglais à l’oral et à l’écrit (lire, comprendre des textes courts, poser des questions simples et exprimer ses opinions)
- Appétence pour les chiffres
Contenu de la formation
-
Introduction : bases du développement back-end
- Qu'est-ce qu'un backend ?
- JavaScript back-end avec Node.js
- Développement modulaire avec Node.js
- Projet Défi : Trouvez votre chapeau
- Révision : Bases du développement back-end
-
Créer un back-end avec Express.js
- Introduction : Créer un back-end avec Express.js
- Introduction à Express.js
- Learn Express : itinéraires
- Projet Challenge : API de devis
- Learn Express : Intergiciel
- Projet hors plateforme : Boss Machine
- Révision : Créer un back-end avec Express.js
- Authentification et autorisation de l'utilisateur
-
Introduction : Authentification et autorisation de l'utilisateur
- Authentification, autorisation et chiffrement
- Authentification de session dans Express.js
- Authentification par mot de passe
- Oauth 2.0
- Examen : Authentification et autorisation de l'utilisateur
-
Tests de back-end et de fonctionnalités
- Introduction : test du back-end et des fonctionnalités
- Test de fonctionnalités avec TDD
- Test de serveur avec TDD
- Révision : test du back-end et des fonctionnalités
-
Bases de la base de données
- Introduction : bases de la base de données
- Types de bases de données
- Travailler avec votre première base de données
- Utiliser PostgreSQL sur votre propre ordinateur
- Révision : Principes de base de la base de données
-
Travailler avec des bases de données
- Introduction : Travailler avec des bases de données
- Que puis-je faire avec une base de données ?
- Fonctions d'agrégation
- Tableaux multiples
- Projet hors plateforme : données de baseball
- Révision : Travailler avec des bases de données
-
Conception de bases de données relationnelles
- Introduction : Concevoir des bases de données relationnelles
- Comment puis-je créer et alimenter ma propre base de données ?
- Déclencheurs
- Création d'une base de données organisée
- Bilan : Concevoir des bases de données relationnelles
-
PostgreSQL avancé
- Introduction : PostgreSQL avancé
- Comment puis-je m'assurer que ma base de données reste intacte ?
- Comment puis-je m'assurer que ma base de données reste rapide ?
- Normaliser une base de données
- Maintenance de la base de données
- Révision : PostgreSQL avancé
-
Ajout d'une base de données PostgreSQL
- Introduction : Ajouter une base de données PostgreSQL
- PostgreSQL avec Node et Express
- SQL, générateurs de requêtes et ORM
- Révision : Ajout d'une base de données PostgreSQL
-
Développement d'API avec Swagger et OpenAPI
- Introduction : Développement d'API avec Swagger et OpenAPI
- Introduction au développement d'API
- Concevoir d'abord la conception de l'API
- Concevoir et documenter des API avec Swagger et OpenAPI
- Bilan : Développement d'API avec Swagger et OpenAPI
-
Projet de portefeuille : application de commerce électronique (API REST)
- Projet de groupe : Back-End
- Application de commerce électronique (API REST)
-
Connexion du front-end au back-end
- Introduction : connexion du front-end au back-end
- Connexion du front-end au back-end
- Comment structurer vos applications
- Révision : Connexion du front-end au back-end
-
Déploiement d'applications Web
- Introduction : déploiement d'applications Web
- Déploiement d'une application PERN avec Heroku
- Révision : Déploiement d'applications Web
-
Fondamentaux de la sécurité Web
- Introduction : Fondamentaux de la sécurité Web
- Sécurité Web
- Révision : Fondamentaux de la sécurité Web
-
Sécurité des données
- Introduction : Sécurité des données
- Sécurité de la couche de transport (TLS)
- Contrôle d'accès basé sur les rôles (RBAC)
- Authentification et autorisation dans Postgres
- Gestion des variables d'environnement, des clés API et des fichiers
- Projet hors plateforme : sécurisation des données scolaires
- Bilan : Sécurité des données
-
Attaques courantes sur les applications Web
- Introduction : Attaques courantes sur les applications Web
- Prévention des attaques de type Cross-Site Scripting (XSS)
- Prévenir les attaques de falsification de requête intersite (CSRF)
- Prévenir les attaques par injection SQL
- Codage défensif en Javascript
- Correction et réponse aux incidents
- Projet hors plateforme : ACME Bank
- Bilan : Attaques courantes contre les applications Web
-
Fondamentaux des systèmes d'exploitation
- Introduction : Principes de base des systèmes d'exploitation
- Bases du système d'exploitation
- Processus et threads
- Planification des processus
- Synchronisation + Interblocage
- Gestion de la mémoire
- Systèmes de fichiers
- Systèmes d'E/S
- Révision : principes fondamentaux des systèmes d'exploitation
-
Fondamentaux DevOps
- Introduction : Fondamentaux de DevOps
- DevOps : introduction et culture
- Infrastructure DevOps
- Santé du système
- Processus DevOps
- Révision : Fondamentaux de DevOps
-
Structures de données linéaires
- Introduction : structures de données linéaires
- Introduction aux structures de données
- Nœuds
- Listes à liaison unique
- Listes doublement chaînées
- Files d'attente
- Piles
- Révision : Structures de données linéaires
-
Structures de données complexes
- Introduction : structures de données complexes
- Cartes de hachage
- Des arbres
- Tas
- Graphiques
- Révision : Structures de données complexes
-
Algorithmes
- Introduction : Algorithmes
- Récursivité
- Notation asymptotique
- Tri à bulles
- Tri par fusion
- Tri rapide
- Bilan : Algorithmes
-
Algorithmes de recherche et de recherche de graphes
- Introduction : Algorithmes de recherche et de recherche de graphes
- Recherche binaire et arbres de recherche
- Traversées de graphes
- Révision : Algorithmes de recherche et de recherche de graphes
-
Compétences d'entrevue
- Introduction : techniques d'entrevue
- Entretiens techniques : tableau blanc
- Révision du code : techniques d'entrevue
- Pratique de l'algorithme JavaScript
- Entretien comportemental
- Bilan : Compétences d'entretien
- Feuilles de présence.
- Questions orales ou écrites (QCM).
- Mises en situation.
- Formulaires d'évaluation de la formation.
- Accueil des stagiaires dans une salle dédiée à la formation.
- Documents supports de formation en ligne.
- Exposés théoriques
- Etude de cas concrets
Qualité et satisfaction
Modalités de certification
- Présentation de mémoire devant un jury professionnel
- Développer le back-end d’une application web ou web mobile en intégrant les recommandations de sécurité Certification professionnelle (CCP) concourant à la certification Développeur Web et Web Mobile – Bac+2 (niv 5) Certification professionnelle enregistrée au RNCP - Code CPF : 242878