Semaine 14 : Le PHP procédural
Programmation procédurale en PHP (5 jours, 35h)
La programmation procédurale est le paradigme de programmation le plus naturel pour un ordinateur. Dans ce module, vous apprendrez les bases du langage PHP et produirez vos premiers sites dynamiques. Vous découvrirez la syntaxe du PHP, la portée des variables et des fonctions, les tableaux et tableaux associatifs, les variables superglobales, ainsi que la gestion des sessions et des cookies. Vous apprendrez aussi à utiliser quelques API standards de PHP pour simplifier vos développements.
Semaine 15 : Le PHP orienté objets
Programmation orientée objets en PHP (5 jours, 35h)
La programmation orientée objets est un paradigme qui fait sens pour la manière de penser d’un être humain. Ce module vous permettra de maîtriser les concepts fondamentaux de l’orienté objet, en apprenant à travailler avec des classes, objets et l’instanciation en PHP. Vous étudierez également les diagrammes UML, les méthodes magiques, l’héritage, la surcharge de méthodes, les portées, les getters et setters, et les classes abstraites. Enfin, vous découvrirez le patron de conception architectural MVC, avec la conception d’un modèle, d’une vue et d’un contrôleur, ainsi que la réécriture d’URL et l’autoloading.
Semaine 16 : Le SGBD MySQL
Introduction aux bases de données MySQL (2 jours, 14h)
Dans ce module, vous découvrirez le SGBD MySQL, essentiel pour stocker les données de manière persistante. Vous apprendrez les concepts des bases de données relationnelles, comme la création de bases de données avec PhpMyAdmin, les types de données et la syntaxe SQL. Vous apprendrez aussi à concevoir des scripts SQL et à modéliser une base de données à l’aide des MCD, MLD et MPD.
Introduction à Laravel (3 jours, 21h)
Dans ce module, vous découvrirez Laravel, un framework PHP moderne et populaire pour le développement d’applications web. Vous apprendrez à comprendre l’architecture MVC (Modèle-Vue-Contrôleur) de Laravel, ainsi que ses composants principaux tels que les routes, les contrôleurs, les vues, et l’ORM Eloquent pour la gestion des bases de données. L’objectif est de vous initier à Laravel afin de vous permettre de développer des applications robustes, maintenables et évolutives tout en intégrant facilement MySQL pour la gestion des données.
Semaine 17 : MySQL avec PHP
Sécurité des bases de données (2 jours, 14h)
Ce module aborde les problématiques de sécurité des bases de données, notamment l’injection SQL et comment la prévenir avec des requêtes préparées. Vous étudierez les risques d’injection SQL, y compris les attaques simples et aveugles, et les solutions pour sécuriser les bases de données avec des modules d’authentification, ainsi que les mécanismes d’authentification et d’autorisation.
Le stockage en PHP (3 jours, 21h)
Dans ce module, vous apprendrez les différents mécanismes de stockage côté serveur, notamment la connexion à une base de données avec PDO et la réalisation de requêtes complexes. Vous explorerez également SQLite, ainsi que la lecture et l’écriture sur des fichiers. Vous découvrirez les différents formats de stockage utilisés et comment créer et interpréter des fichiers de configuration afin d’optimiser le stockage des données dans vos applications PHP.
Semaine 18 : L’administration système
Introduction à la cryptographie (2 jours, 14h)
Ce module propose une introduction pratique à la cryptographie. Vous apprendrez le chiffrement symétrique et asymétrique, l’échange de clés avec Diffie-Hellman, ainsi que les concepts de hashage, sommes de contrôle et signatures. Vous découvrirez également le protocole TLS 1.3, son handshake et les suites cryptographiques.
Configurer la stack LAMP (3 jours, 21h)
Dans ce module, vous apprendrez à configurer la stack LAMP (Linux, Apache2, MySQL, PHP) pour la production. Vous verrez comment installer et configurer Apache2, PHP et PHP-FPM, tester les performances avec l’utilitaire « ab » et sécuriser la configuration de PHP-FPM. De plus, vous apprendrez à installer et configurer le module php-mysql pour garantir une bonne interaction entre PHP et MySQL dans un environnement de production.
Semaine 19 : L’écosystème PHP
Écosystème PHP (5 jours, 35h)
PHP dispose d’un écosystème logiciel vaste et mature. Ce module vous initiera au gestionnaire de dépendances « composer« , qui permet de simplifier l’accès à cet écosystème. Vous apprendrez à gérer des archives PHP, à créer des archives PHAR et à utiliser les principales commandes de composer. Vous explorerez également PHPUnit pour l’écriture de tests, afin d’assurer la qualité et la stabilité de vos projets PHP.
Semaine 20 : Node.js
Introduction à Node.js (5 jours, 35h)
Node.js est une plateforme JavaScript permettant d’exécuter des applications côté serveur. Ce module vous permettra de comprendre la différence entre le JavaScript dans le navigateur et celui dans Node.js, ainsi que de vous familiariser avec son API. Vous apprendrez à écrire des scripts simples et à gérer des fonctions synchrones et asynchrones. Vous découvrirez aussi la création d’APIs REST avec Express.js, l’envoi de données en JSON, l’utilisation des middlewares, et la configuration du CORS pour sécuriser les communications.
Semaine 21 : MongoDB
Introduction à MongoDB (5 jours, 35h)
MongoDB est une base de données NoSQL, différente des bases relationnelles comme MySQL. Dans ce module, vous apprendrez à concevoir et à implémenter des bases de données avec MongoDB, à comprendre la syntaxe spécifique de MongoDB, et à installer et configurer cette base de données. Vous étudierez également les différences fondamentales entre les bases NoSQL et relationnelles, ainsi que le théorème CAP, qui définit les propriétés essentielles des systèmes distribués.
Semaine 22 : Docker
Introduction à la conteneurisation avec Docker (5 jours, 35h)
Docker est un service permettant de gérer des conteneurs, offrant un environnement isolé pour l’exécution de services comme PHP ou Node.js. Dans ce module, vous apprendrez à créer des conteneurs Docker à l’aide de Dockerfiles, à interagir entre différents conteneurs, et à automatiser leur gestion avec Docker Compose. Vous découvrirez également la gestion de la persistance des données et comment faire fonctionner plusieurs instances d’une application dans des environnements isolés.
Semaine 23 : L’architecture micro-service
Les architectures micro-services (3 jours, 21h)
L’architecture micro-services est une approche où une application est décomposée en services indépendants, chacun gérant une fonctionnalité spécifique. Ce module vous permettra de comprendre ce modèle architectural, d’apprendre à séparer les préoccupations au sein de votre application et à utiliser des API Gateway pour la gestion des communications entre services. Vous étudierez aussi les services stateless et stateful, et leur rôle dans le développement d’applications évolutives.
Server-side rendering & prerendering (2 jours, 14h)
Le rendu côté serveur (SSR) et le pré-rendu (prerendering) sont des techniques pour améliorer la performance des applications web. Vous apprendrez à générer du HTML côté serveur, à implémenter le SSR avec Express.js et à hydrater l’application client pour résoudre les problèmes de temps de rendu et de SEO.
Semaine 24 : L’authentification
Introduction à l’authentification (5 jours, 35h)
Dans ce module, vous étudierez les bases de l’authentification, de la délégation et du contrôle d’accès. Vous apprendrez à distinguer ces concepts et à les appliquer dans une architecture en micro-services. Vous découvrirez comment utiliser les tokens JWT pour l’authentification, et comment implémenter une politique de contrôle d’accès à l’aide de OAuth2 et OpenID Connect. Ce module vous fournira les connaissances nécessaires pour sécuriser vos applications en utilisant les meilleures pratiques de l’authentification moderne.
Semaine 25 : Droit de l’informatique et santé et sécurité au travail
Droit de l’informatique et santé sécurité au travail (5 jours, 35h)
Ce module vous initie aux bases du droit de l’informatique, de la protection des données personnelles, et du droit d’auteur. Vous apprendrez les différentes licences de logiciels, y compris les licences libres, ainsi que les responsabilités des hébergeurs de contenu selon le RGPD. Vous découvrirez aussi les enjeux liés à la santé et sécurité au travail, notamment les risques professionnels, la prévention des accidents, et la gestion du stress dans le milieu professionnel, avec un focus particulier sur le métier de développeur web.
Semaine 26 : Finalisation du mémoire, du projet et du support de la soutenance
Mémoire et projet (5 jours, 35h)
Cette dernière semaine est consacrée à la finalisation de votre mémoire et de votre projet. Vous aurez l’occasion de relire et de finaliser les documents de présentation, de vérifier la fonctionnalité de vos projets, et d’assurer la complétude de vos mémoires en préparation de la soutenance.