Décrochez votre certification professionnelle en maîtrisant le développement backend avec notre parcours de formation Développeur Back End d’applications Web. Vous apprendrez à créer des applications web dynamiques et performantes, à manipuler des bases de données SQL, à développer en PHP orienté objet et à utiliser des frameworks modernes comme Symfony. Grâce à un enseignement complet et structuré, vous acquerrez les compétences nécessaires pour concevoir, développer et déployer des applications web de qualité professionnelle. Rejoignez-nous pour booster votre carrière dans le développement web !
Date de mise à jour : 17/05/2024
Ce parcours certifiant offre une formation complète en développement backend, permettant de maîtriser PHP, les bases de données SQL, la programmation orientée objet et Symfony. Les avantages incluent l’acquisition de compétences professionnelles, la préparation à la certification, des opportunités d’emploi dans le développement web et une progression de carrière assurée dans le domaine.
Vous retrouverez toutes nos formations en développement web directement sur cette page.
Présentation du langage PHP
Présentation des environnements de travail disponibles pour travailler en local sur PC comme sur MAC
Les premiers pas et les premières fonctions PHP comme echo. Intégrer le l’html dans du PHP afin de servir une page HTML au client.
Déclaration et utilisation des variables en PHP. Présentation des principaux types de variables, string, integer, array, boolean, etc.
Les conditions en php comme les conditions if ou encore switch et les différents opérateurs
Opérateurs arithmétiques : Ces opérateurs permettent de faire des calculs
Opérateurs d’affectation : Le but de ces opérateurs est de pouvoir affecter et/ou modifier des valeurs de variables.
Opérateurs de comparaison : Comme l’indique le nom, ces opérateurs permettent de comparer de valeurs de variables. Ils sont utilisés sans des conditions.
Opérateurs logiques : Ces opérateurs permette de rendre les conditions plus opérationnelles, notamment en permettant de spécifier plusieurs conditions au sein d’un condition if.
Opérateurs d’incrémentation et de décrémentation : Ils permettent tout simplement d’ajouter ou de soustraire 1 à la valeur d’une variable.
Opérateur de concaténation : Cet opérateur permet d’additionner des chaînes de caractères entre elles ou bien encore avec la valeur de variables.
Les tableaux sont comme dans beaucoup de langages un élément essentiel de la programmation en permettant de stocker et de structurer des données qui pourront ensuite être manipulées et parcourues avec des boucles notamment.
Autre incontournable de la programmation, les boucles permettent d’automatiser des tâches dans le code et d’opérations de manière itérative. On note les boucles for, foreach, while, do while.
La manipulation de chaînes de caractère est importante, que ce soit pour harmoniser des données dans une table ou dans un affichage dans une page web, comme par exemple s’assurer que les noms de famille sont en majuscule ou bien encore que tous les prénoms sont bien en minuscule en commençant par une majuscule.
Les dates et leurs manipulations ne sont pas forcément des choses aisées, notamment de par le fait que les dates doivent être stockées au format US et, dans notre cas, affichées au format FR. Il est donc important de savoir les manipuler afin de les conformer aux attentes du projet.
Encore un incontournable de la programmation, les fonctions permettent de rationaliser et de structurer le code en définissant des morceaux de code qui peuvent être appelés à loisir, diminuant ainsi le nombre de lignes de nos scripts
Lorsque qu’on parle de PHP, on ne peut faire l’impasse de SQL qui est un langage de requêtes sur les bases de données, qui, pleinement intégré à Php permet de mettre en place des pages web dynamiques.
PhpMyAdmin est une interface graphique permettant de vérifier et d’opérer des opérations sur les données des tables dans les bases de données.
PhpMyAdmin de par son interface graphique permet de s’initier à l’écriture des différentes requêtes SQL, parmi lesquelles, CREATE DATABASE, qui permet de créer une base de données dans un serveur Mysql ou encore MariaBD par exemple.
Créer une base de données est une chose, il faut ensuite la peupler avec des tables qui vont contenir les données de l’application ou du site Web. On peut utiliser directement l’interface graphique de PhpMyAdmin
Utiliser l’interface graphique de PhpMyAdmin pour s’exercer avec les requêtes SQL relatives aux bases de données
Utiliser l’interface graphique de PhpMyAdmin pour s’exercer avec les requêtes SQL relatives aux tables.
Le CRUD représente les 4 opérations primaires que l’on peut faire sur des données, la première d’entre elles, Create permet d’ajouter des données dans une table.
La seconde opération qui peut être effectuée sur des données dans une table est la lecture de ces dernières dans le but de pouvoir les afficher dans une page web
Cette opération consiste en la mise à jour de données dans une table, comme par exemple la disponibilité d’un article ou la mise à jour d’un prix d’un produit dans un site marchand.
Dernière opération pouvant être effectuée sur des données dans une table, DELETE permet de supprimer physiquement des données. Il existe néanmoins un concept de suppression logique passant non pas par une opération delete mais par une opération de mise à jour update.
Le langage SQL est également doté de nombreuses fonctions permettant de traiter des données avant de les obtenir dans php. Il existe deux types de fonction, les fonctions d’agrégation et les fonctions scalaires.
Afin d’organiser et de structurer les données d’un site web ou d’une application, il est possible de procéder à la mise en relation de tables entre elles. On parle alors de jointures de tables, de clés primaires et de clés étrangères.
Lorsqu’on sait écrire des requêtes SQL afin de manipuler les données d’une base de données et de ses tables, on peut utiliser php pour générer des pages web dynamique, il faut alors se connecter à la base de données avec laquelle on souhaite travailler.
Il existe deux manières de s’interfacer avec une base de données et de travailler avec le contenu de tables avec Php, MySqli et PDO. Chacune de ces manières comporte ses avantages. Nous aborderons tout d’abord MySqli
Entrée en course de l’html dans la gestion dynamique d’un site web. Les formulaires sont un éléments important de la mise en place d’un backend en permettant de mettre en place des interfaces disponibles aux administrateurs du site afin d’opérer deux (ou trois) des opérations du CRUD, avec la mise en place de formulaires d’ajout (Create) , de modification (Update), voire, de suppression (Delete).
Traiter le contenu des formulaires HTML se fait par le langage php et ses superglobales. Ces dernières sont utilisées pour récupérer le contenu d’un formulaire et pouvoir mettre en place les requêtes SQL permettant les transactions avec la base de données.
Un site web et basé sur un principe de changement et de chargement de page. On utilise les sessions afin de pouvoir passer des informations d’une page à une autre, comme par exemple, mettre en place des messages de confirmation
En programmation orientée objet, on travaille avec un concept de « patron » de classe que l’on peut ensuite instancier afin d’obtenir des objets (programmatiques) qui auront à effectuer certaines tâches dans le cadre du bon fonctionnement du site web.
Les variables en programmation sont nommées propriétés, au sein d’une classe, pour une meilleure gestion du code, elles peuvent se voir doter des termes public, private ou encore protected afin de définir la visibilité des propriétés d’un objet par les autres objets. Des propriétés dont la visibilité serait masquée par le terme private peut néanmoins être exposée en lecture et/ou écriture à l’aide de méthodes spécifiques, les getters/setters
Dans un objet, les fonctions sont appelées méthodes, elles constituent les savoir-faire d’un objet. Comme dans du code procédural, les fonctions d’un objet (méthodes) peuvent être appelées lorsqu’on en a besoin.
Différence entre les propriétés et méthodes d’instances d’objets et de classes (static).
Le namespace sert à sécuriser le code en faisant en sorte qu’une classe d’objet dont le nom de classe pourrait être déclaré plusieurs fois dans l’application soit sécurisé par le namespace qui représente une sorte de dossier virtuel
En programmation orientée objet, on importe des classes dans des classes afin de bénéficier de leur savoir faires (méthodes) afin de les utiliser. Cette importation nécessite des lignes de déclaration à l’aide de l’instruction « use ». C’est que l’autoloader de classe entre en jeu en permettant aux classes d’être chargées automatiquement lors de leur utilisation.
Créer des classes mères pour permettre à des classes filles de pouvoir hériter de propriétés ou de méthodes.
Les dépendances en php résident en des « packages » installables à l’aide de Composer. On trouve différentes dépendances comme par exemple des packages pour générer des fichiers Word ou encore Excel. Les dépendances sont listées sur le site pckagist.org.
Avant de produire, il faut rédiger un cahier des charges contenant notamment un MCD (Modèle Conceptuel de Données) qui est une modélisation « théorique » de ce que sera la base de données, ses tables et les relations qui vont pouvoir exister entre elles.
LE MVC (Modèle Vue Contrôlleur) est un patron de conception (design pattern) courant. On le retrouve dans de nombreux framework comme Symfony par exemple. Nous allons mettre ici en place un MVC simple en PHP POO.
Nous avons évoqué dans le module de Php avancé Mysqli pour exécuter des requêtes SQL avec Php. Il existe également PDO qui fonctionne, au contraire de MySqli, uniquement en mode orienté objet. PDO propose un mode de requêtes préparées qui sont plus sécurisées que les requêtes MySqli. Nous allons en pratiquer quelques-unes.
Prise en main des requêtes préparées en PDO. Le Create.
Prise en main des requêtes préparées en PDO. Le Read.
Prise en main des requêtes préparées en PDO. Le Update.
Prise en main des requêtes préparées en PDO. Le Delete.
Utiliser le modèle plutôt que le contrôleur pour les transactions avec la base de données pour mieux répondre au design pattern MVC
Une des étapes du développement réside dans l’amélioration, l’optimisation et la refactorisation du code.
En tenant compte des points 3.9 à 3.14, mise en place du CRUD de l’entité Exemplaire
Mise en place de l’entité User, prise en charge et hashage de password en Bcrypt. Mise en place de rôles pour les utilisateurs.
Mise en place de routes sécurisés grâce aux rôles ajoutés en 3.16
Mise en place d’un formulaire de connexion. Mémorisation de l’utilisateur en session et utilisation d’un cookie pour mettre en place un « remember me »
Utilisation du routeur pour gérer des routes autres que des routes d’admin.
Mise en place en frontend de la possibilité de gérer les emprunts.
Présentation du framework Php Symfony.
Installation de la CLI de Symfony et création d’un projet à l’aide de lignes de commandes dans le terminal (de Visual Studio ou autre)
Présentation du concept d’architecture MVC (Modèle, Vue, Contrôleur) et de sa représentation dans l’arborescence d’un projet Symfony
Présentation du MakerBundle et de ses principales commandes accessibles depuis le terminal pour nous accompagner dans la création des fichiers de classe des différents objets utiles au bon fonctionnement du site web.
Mise en place d’un premier Contrôleur dans un projet Symfony et configuration des routes au sein du fichier de classe.
Présentation de Twig, les vues dans Symfony et mise en place d’une première vue pour un page d’accueil (Front) d’un site web. Présentation de la syntaxe Twig. Présentation de la notion d’extends et des includes pour rationaliser les vues
Présentation de Doctrine, l’ORM utilisé par Symfony afin de faire des requêtes en mode objet sur la base de données.
Les entités accompagnées des repository correspondent aux modèles dans le Design Pattern MVC. Création d’entités et de relation dans le projet à l’aide du MakerBundle
Création de l’entité spécifique User et sérialisation
Très utiles pendant le développement, les fixtures permettent d’obtenir des jeux de données de test afin de valider que les CRUD du backend sont correctement mis en place.
Utilisation de AdminKit pour mettre rapidement en place les vues d’un backend dans un projet Symfony
Mettre en place aisément un CRUD avec le MakerBundle et la commande make :crud
Les formulaires dans Symfony sont une part importante du framework
Suite de la configuration des formulaires dans les fichiers type.
Sécurisation des formulaires côté client ou côté serveur avec les contraintes.
Mise en place d’un premier contrôleur pour le backend et mise en place de routes pour la même méthode.
Créer rapidement un formulaire de login et un formulaire d’inscription avec les commandes make :auth et make :registration-form du maker bundle.
Sécurisation des routes avec les rôles des utilisateurs et le fichier security.yaml
Mise en place de bootstrap et des éléments communs aux pages dans la base.html.twig
Amélioration du backend pour mettre en place une page produit dans le frontend
Mise en place d’une page listant les produits présents dans la base de données
Accéder au détail d’un produit. Utilisation des routes dynamique pour récupérer des informations comme un id de produit
Finalisation de l’inscription. Mise en place de l’envoi de mail et réception de mail en mode développement avec mailtrap
Gérer les connexions et la diffusion de messages internes à l’application (flashMessage)
Permettre à l’utilisateur connecté de modifier ses informations de profil sur une route sécurisée.
Mise en place d’un petit moteur de recherche simple pour la recherche de produits avec des requêtes personnalisées dans les Repository
Mise en ligne et installation sur un serveur de production avec SSH et Git.
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 requises. Cette formation est destinée au candidats les plus curieux et motivés.
Un entretien individuel est effectué suite à chaque demande de candidature pour valider ces prérequis et évaluer le degré de motivation des candidats.
Suite à l’entretien individuel, si ce dernier est concluant, des tests d’aptitudes sont effectués basés sur de la logique, logique avancée, problèmes mathématiques et bases de l’Anglais.
Une personne est désignée en qualité de référent pour les publics en situation de handicap, un aménagement spécifique des matériels est possible au cas par cas.
L’aboutissement logique de cette formation est le passage de la certification bloc n°2 RNCP37805BC02 intitulé «Développement back end d’applications Web» issu de la certification RNCP37805 Développeur WEB de notre partenaire WEBECOM. Retrouvez plus d’information sur la fiche RNCP de la certification grâce à ce lien : https://www.francecompetences.fr/recherche/rncp/37805/
En suivant cette formation, vous vous engagez à passer l’examen de cette certification. Il devra être passé après la formation et après vos révisions personnelles.
Dans le cadre de cette certification professionnelle inscrite au RNCP il vous sera demandé de fournir les données suivantes :
– Prénom, nom, email, langue, genre, date naissance (JJ/MM/AAAA), lieu naissance (code postal), nom naissance, prénom 2, prénom 3, numéro dossier CPF, url linkedin, code postal, ville, société
Ces informations sont collectées afin d’éditer le parchemin de certification, d’alimenter le passeport de compétences, et pour répondre à l’obligation de l’évaluation de l’impact économique et social de la certification professionnelle
Modalités de Passage du bloc de la certification
L’évaluation est composée d’une note de contrôle continu et d’une mise en situation professionnelle sous forme d’étude de cas.
1. Contrôle continu
Des évaluations formatives à visée pédagogique sont réalisées par les formateurs.
Elles sont effectuées tout au long de la formation via des exercices pratiques réalisés en autonomie par les candidats.
A L’issue du parcours de formation, le responsable de la formation renseigne pour chaque bloc de compétence une appréciation ainsi qu’un niveau d’acquisition du bloc de compétence
sur une échelle de 0 à 5.
2. Mise en situation professionnelle sur la base d’une étude de cas
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.
• Éléments fournis :
Cahier des fonctionnalitésUn accès au serveurUn accès à une base de données
• Éléments attendus :
Les schémas conceptuels et physiques du modèle de donnéesLes schémas fonctionnels de l’applicationLa base de données de l’applicationL’application fonctionnelle déployée sur le serveur
L’examen se déroule sur la plateforme de Skills4all.
3. Modalités de validation d’un bloc
La note globale d’un bloc est pondérée de la manière suivante :
– Mise en situation: 5/8
– Contrôle continue : 3/8
Inscription à l’examen
Il n’est pas nécessaire de vous inscrire à l’examen. Il est accessible dans le cours à la section “Examen de validation du bloc de compétences”.
Délais pour passage de l’examen
Le passage de l’examen est compris dans le temps de votre formation. Il devra être passé à la date de fin de formation.
Correction de votre examen et jury de certification
Après avoir soumis vos réponses, elles seront évaluées par un correcteur.
La note obtenue vous sera communiquée au bout de 3 semaines maximum après la date de fin de la formation.
Votre résultat à cet examen est soumis à un jury de certification organisé par l’organisme certificateur.
Obtention de l’attestation de validation du bloc de compétences
L’obtention officielle de la certification vous sera notifiée par le jury de certification après l’évaluation.
L’émission de votre attestation de validation du bloc de compétences correspondant à l’examen est déclenchée suite à la décision du jury de certification. Les délais peuvent aller jusqu’à plus de 2 mois après la fin de formation à 4 mois en fonction de la tenue des jurys de certification (uniquement 4 jurys de certification par an).
L’objectif de cette formation est de vous permettre de préparer le passage de certification bloc n°2 RNCP37805BC02 intitulé «Développement back end d’applications Web» issu de la certification RNCP37805 Développeur WEB de notre partenaire WEBECOM. Cette certification a été publiée le 19-07-2023.
A li’ssue de cette formation vous serez en mesure de :
Maîtriser les bases de PHP:
Gérer les bases de données avec PHP:
Adopter la Programmation Orientée Objet (POO) en PHP:
Utiliser le framework Symfony:
Les compétences professionnelles visées par cette formation sont :
Formation en digital-learning, 100% en ligne, formée de vidéos, de quiz, de lectures et contenus complémentaires, d’un forum et selon les cas, de webinaires.
– conformément aux CGU du CPF (https://www.
– conformément aux CGU du CPF, vous serez présenté automatiquement à la fin de la période de formation au certificateur français inscrit au CPF. La planification de l’examen sera réalisée avec le certificateur français directement.
– si votre formation comprend une ou plusieurs certifications internationales, vous devrez nous en passer commande au maximum 1 mois après la date de fin de votre formation. Cette demande se fait par mail à l’adresse contact@skills4all.com. Si cette date est dépassée, il ne sera plus possible de passer commande de(s) la certification(s) internationale(s).
– nous vous encourageons à lire attentivement nos conditions d’usage de notre plateforme disponibles ici (https://lms.skills4all.com/
Skills4All est un certificateur et organisme de formation en digital learning, qui vous prépare aux certifications les plus reconnues sur le marché : PMI, AXELOS, IASSC, DevOps Institute, PEOPLECERT, GASQ, CFTL, BESTCERTIFS, dans les domaines de la cybersécurité, de l’IT, la data, l’IA, l’agilité, Scrum, Prince2, Lean Six Sigma, Gestion de projet et bien plus encore.
Avec nous, c’est quand vous voulez, où vous voulez, 24/7/365, à votre rythme.
Nous proposons des formations certifiantes, éligibles au CPF et reconnues dans le monde entier.
Skills4All est accrédité par le COFRAC (Comité Français d’Accréditation) en tant que certificateur dans le domaine de la sécurité de l’information : nos certifications sont les meilleures du marché et répondent à la norme ISO 17024, la plus exigeante aujourd’hui. Obtenir une certification Skills4All ou BestCertifs aujourd’hui c’est le gage d’une reconnaissance forte du marché qui valorisera vos compétences.
Votre conseiller Pôle Emploi a besoin d’être convaincu que votre formation va contribuer fortement à votre projet de retour à l’emploi.
Une lettre de motivation est difficile à rédiger seul, c’est pourquoi Skills4All vous propose de la rédiger pour vous.
N’hésitez pas à nous contacter pour toutes questions ou suggestions, ou pour plus d’informations et conseils.
Cette formation offre aux participants une maîtrise complète du développement back end d’applications Web. Les bénéfices incluent l’acquisition de compétences techniques essentielles en PHP, MySQL et Symfony, la transition vers la programmation orientée objet pour une meilleure organisation du code, et une utilisation avancée du framework Symfony pour un développement plus rapide et professionnel.
Présentation du langage PHP
Présentation des environnements de travail disponibles pour travailler en local sur PC comme sur MAC
Les premiers pas et les premières fonctions PHP comme echo. Intégrer le l’html dans du PHP afin de servir une page HTML au client.
Déclaration et utilisation des variables en PHP. Présentation des principaux types de variables, string, integer, array, boolean, etc.
Les conditions en php comme les conditions if ou encore switch et les différents opérateurs
Opérateurs arithmétiques : Ces opérateurs permettent de faire des calculs
Opérateurs d’affectation : Le but de ces opérateurs est de pouvoir affecter et/ou modifier des valeurs de variables.
Opérateurs de comparaison : Comme l’indique le nom, ces opérateurs permettent de comparer de valeurs de variables. Ils sont utilisés sans des conditions.
Opérateurs logiques : Ces opérateurs permette de rendre les conditions plus opérationnelles, notamment en permettant de spécifier plusieurs conditions au sein d’un condition if.
Opérateurs d’incrémentation et de décrémentation : Ils permettent tout simplement d’ajouter ou de soustraire 1 à la valeur d’une variable.
Opérateur de concaténation : Cet opérateur permet d’additionner des chaînes de caractères entre elles ou bien encore avec la valeur de variables.
Les tableaux sont comme dans beaucoup de langages un élément essentiel de la programmation en permettant de stocker et de structurer des données qui pourront ensuite être manipulées et parcourues avec des boucles notamment.
Autre incontournable de la programmation, les boucles permettent d’automatiser des tâches dans le code et d’opérations de manière itérative. On note les boucles for, foreach, while, do while.
La manipulation de chaînes de caractère est importante, que ce soit pour harmoniser des données dans une table ou dans un affichage dans une page web, comme par exemple s’assurer que les noms de famille sont en majuscule ou bien encore que tous les prénoms sont bien en minuscule en commençant par une majuscule.
Les dates et leurs manipulations ne sont pas forcément des choses aisées, notamment de par le fait que les dates doivent être stockées au format US et, dans notre cas, affichées au format FR. Il est donc important de savoir les manipuler afin de les conformer aux attentes du projet.
Encore un incontournable de la programmation, les fonctions permettent de rationaliser et de structurer le code en définissant des morceaux de code qui peuvent être appelés à loisir, diminuant ainsi le nombre de lignes de nos scripts
Lorsque qu’on parle de PHP, on ne peut faire l’impasse de SQL qui est un langage de requêtes sur les bases de données, qui, pleinement intégré à Php permet de mettre en place des pages web dynamiques.
PhpMyAdmin est une interface graphique permettant de vérifier et d’opérer des opérations sur les données des tables dans les bases de données.
PhpMyAdmin de par son interface graphique permet de s’initier à l’écriture des différentes requêtes SQL, parmi lesquelles, CREATE DATABASE, qui permet de créer une base de données dans un serveur Mysql ou encore MariaBD par exemple.
Créer une base de données est une chose, il faut ensuite la peupler avec des tables qui vont contenir les données de l’application ou du site Web. On peut utiliser directement l’interface graphique de PhpMyAdmin
Utiliser l’interface graphique de PhpMyAdmin pour s’exercer avec les requêtes SQL relatives aux bases de données
Utiliser l’interface graphique de PhpMyAdmin pour s’exercer avec les requêtes SQL relatives aux tables.
Le CRUD représente les 4 opérations primaires que l’on peut faire sur des données, la première d’entre elles, Create permet d’ajouter des données dans une table.
La seconde opération qui peut être effectuée sur des données dans une table est la lecture de ces dernières dans le but de pouvoir les afficher dans une page web
Cette opération consiste en la mise à jour de données dans une table, comme par exemple la disponibilité d’un article ou la mise à jour d’un prix d’un produit dans un site marchand.
Dernière opération pouvant être effectuée sur des données dans une table, DELETE permet de supprimer physiquement des données. Il existe néanmoins un concept de suppression logique passant non pas par une opération delete mais par une opération de mise à jour update.
Le langage SQL est également doté de nombreuses fonctions permettant de traiter des données avant de les obtenir dans php. Il existe deux types de fonction, les fonctions d’agrégation et les fonctions scalaires.
Afin d’organiser et de structurer les données d’un site web ou d’une application, il est possible de procéder à la mise en relation de tables entre elles. On parle alors de jointures de tables, de clés primaires et de clés étrangères.
Lorsqu’on sait écrire des requêtes SQL afin de manipuler les données d’une base de données et de ses tables, on peut utiliser php pour générer des pages web dynamique, il faut alors se connecter à la base de données avec laquelle on souhaite travailler.
Il existe deux manières de s’interfacer avec une base de données et de travailler avec le contenu de tables avec Php, MySqli et PDO. Chacune de ces manières comporte ses avantages. Nous aborderons tout d’abord MySqli
Entrée en course de l’html dans la gestion dynamique d’un site web. Les formulaires sont un éléments important de la mise en place d’un backend en permettant de mettre en place des interfaces disponibles aux administrateurs du site afin d’opérer deux (ou trois) des opérations du CRUD, avec la mise en place de formulaires d’ajout (Create) , de modification (Update), voire, de suppression (Delete).
Traiter le contenu des formulaires HTML se fait par le langage php et ses superglobales. Ces dernières sont utilisées pour récupérer le contenu d’un formulaire et pouvoir mettre en place les requêtes SQL permettant les transactions avec la base de données.
Un site web et basé sur un principe de changement et de chargement de page. On utilise les sessions afin de pouvoir passer des informations d’une page à une autre, comme par exemple, mettre en place des messages de confirmation
En programmation orientée objet, on travaille avec un concept de « patron » de classe que l’on peut ensuite instancier afin d’obtenir des objets (programmatiques) qui auront à effectuer certaines tâches dans le cadre du bon fonctionnement du site web.
Les variables en programmation sont nommées propriétés, au sein d’une classe, pour une meilleure gestion du code, elles peuvent se voir doter des termes public, private ou encore protected afin de définir la visibilité des propriétés d’un objet par les autres objets. Des propriétés dont la visibilité serait masquée par le terme private peut néanmoins être exposée en lecture et/ou écriture à l’aide de méthodes spécifiques, les getters/setters
Dans un objet, les fonctions sont appelées méthodes, elles constituent les savoir-faire d’un objet. Comme dans du code procédural, les fonctions d’un objet (méthodes) peuvent être appelées lorsqu’on en a besoin.
Différence entre les propriétés et méthodes d’instances d’objets et de classes (static).
Le namespace sert à sécuriser le code en faisant en sorte qu’une classe d’objet dont le nom de classe pourrait être déclaré plusieurs fois dans l’application soit sécurisé par le namespace qui représente une sorte de dossier virtuel
En programmation orientée objet, on importe des classes dans des classes afin de bénéficier de leur savoir faires (méthodes) afin de les utiliser. Cette importation nécessite des lignes de déclaration à l’aide de l’instruction « use ». C’est que l’autoloader de classe entre en jeu en permettant aux classes d’être chargées automatiquement lors de leur utilisation.
Créer des classes mères pour permettre à des classes filles de pouvoir hériter de propriétés ou de méthodes.
Les dépendances en php résident en des « packages » installables à l’aide de Composer. On trouve différentes dépendances comme par exemple des packages pour générer des fichiers Word ou encore Excel. Les dépendances sont listées sur le site pckagist.org.
Avant de produire, il faut rédiger un cahier des charges contenant notamment un MCD (Modèle Conceptuel de Données) qui est une modélisation « théorique » de ce que sera la base de données, ses tables et les relations qui vont pouvoir exister entre elles.
LE MVC (Modèle Vue Contrôlleur) est un patron de conception (design pattern) courant. On le retrouve dans de nombreux framework comme Symfony par exemple. Nous allons mettre ici en place un MVC simple en PHP POO.
Nous avons évoqué dans le module de Php avancé Mysqli pour exécuter des requêtes SQL avec Php. Il existe également PDO qui fonctionne, au contraire de MySqli, uniquement en mode orienté objet. PDO propose un mode de requêtes préparées qui sont plus sécurisées que les requêtes MySqli. Nous allons en pratiquer quelques-unes.
Prise en main des requêtes préparées en PDO. Le Create.
Prise en main des requêtes préparées en PDO. Le Read.
Prise en main des requêtes préparées en PDO. Le Update.
Prise en main des requêtes préparées en PDO. Le Delete.
Utiliser le modèle plutôt que le contrôleur pour les transactions avec la base de données pour mieux répondre au design pattern MVC
Une des étapes du développement réside dans l’amélioration, l’optimisation et la refactorisation du code.
En tenant compte des points 3.9 à 3.14, mise en place du CRUD de l’entité Exemplaire
Mise en place de l’entité User, prise en charge et hashage de password en Bcrypt. Mise en place de rôles pour les utilisateurs.
Mise en place de routes sécurisés grâce aux rôles ajoutés en 3.16
Mise en place d’un formulaire de connexion. Mémorisation de l’utilisateur en session et utilisation d’un cookie pour mettre en place un « remember me »
Utilisation du routeur pour gérer des routes autres que des routes d’admin.
Mise en place en frontend de la possibilité de gérer les emprunts.
Présentation du framework Php Symfony.
Installation de la CLI de Symfony et création d’un projet à l’aide de lignes de commandes dans le terminal (de Visual Studio ou autre)
Présentation du concept d’architecture MVC (Modèle, Vue, Contrôleur) et de sa représentation dans l’arborescence d’un projet Symfony
Présentation du MakerBundle et de ses principales commandes accessibles depuis le terminal pour nous accompagner dans la création des fichiers de classe des différents objets utiles au bon fonctionnement du site web.
Mise en place d’un premier Contrôleur dans un projet Symfony et configuration des routes au sein du fichier de classe.
Présentation de Twig, les vues dans Symfony et mise en place d’une première vue pour un page d’accueil (Front) d’un site web. Présentation de la syntaxe Twig. Présentation de la notion d’extends et des includes pour rationaliser les vues
Présentation de Doctrine, l’ORM utilisé par Symfony afin de faire des requêtes en mode objet sur la base de données.
Les entités accompagnées des repository correspondent aux modèles dans le Design Pattern MVC. Création d’entités et de relation dans le projet à l’aide du MakerBundle
Création de l’entité spécifique User et sérialisation
Très utiles pendant le développement, les fixtures permettent d’obtenir des jeux de données de test afin de valider que les CRUD du backend sont correctement mis en place.
Utilisation de AdminKit pour mettre rapidement en place les vues d’un backend dans un projet Symfony
Mettre en place aisément un CRUD avec le MakerBundle et la commande make :crud
Les formulaires dans Symfony sont une part importante du framework
Suite de la configuration des formulaires dans les fichiers type.
Sécurisation des formulaires côté client ou côté serveur avec les contraintes.
Mise en place d’un premier contrôleur pour le backend et mise en place de routes pour la même méthode.
Créer rapidement un formulaire de login et un formulaire d’inscription avec les commandes make :auth et make :registration-form du maker bundle.
Sécurisation des routes avec les rôles des utilisateurs et le fichier security.yaml
Mise en place de bootstrap et des éléments communs aux pages dans la base.html.twig
Amélioration du backend pour mettre en place une page produit dans le frontend
Mise en place d’une page listant les produits présents dans la base de données
Accéder au détail d’un produit. Utilisation des routes dynamique pour récupérer des informations comme un id de produit
Finalisation de l’inscription. Mise en place de l’envoi de mail et réception de mail en mode développement avec mailtrap
Gérer les connexions et la diffusion de messages internes à l’application (flashMessage)
Permettre à l’utilisateur connecté de modifier ses informations de profil sur une route sécurisée.
Mise en place d’un petit moteur de recherche simple pour la recherche de produits avec des requêtes personnalisées dans les Repository
Mise en ligne et installation sur un serveur de production avec SSH et Git.
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 requises. Cette formation est destinée au candidats les plus curieux et motivés.
Un entretien individuel est effectué suite à chaque demande de candidature pour valider ces prérequis et évaluer le degré de motivation des candidats.
Suite à l’entretien individuel, si ce dernier est concluant, des tests d’aptitudes sont effectués basés sur de la logique, logique avancée, problèmes mathématiques et bases de l’Anglais.
Une personne est désignée en qualité de référent pour les publics en situation de handicap, un aménagement spécifique des matériels est possible au cas par cas.
L’aboutissement logique de cette formation est le passage de la certification bloc n°2 RNCP37805BC02 intitulé «Développement back end d’applications Web» issu de la certification RNCP37805 Développeur WEB de notre partenaire WEBECOM. Retrouvez plus d’information sur la fiche RNCP de la certification grâce à ce lien : https://www.francecompetences.fr/recherche/rncp/37805/
En suivant cette formation, vous vous engagez à passer l’examen de cette certification. Il devra être passé après la formation et après vos révisions personnelles.
Dans le cadre de cette certification professionnelle inscrite au RNCP il vous sera demandé de fournir les données suivantes :
– Prénom, nom, email, langue, genre, date naissance (JJ/MM/AAAA), lieu naissance (code postal), nom naissance, prénom 2, prénom 3, numéro dossier CPF, url linkedin, code postal, ville, société
Ces informations sont collectées afin d’éditer le parchemin de certification, d’alimenter le passeport de compétences, et pour répondre à l’obligation de l’évaluation de l’impact économique et social de la certification professionnelle
Modalités de Passage du bloc de la certification
L’évaluation est composée d’une note de contrôle continu et d’une mise en situation professionnelle sous forme d’étude de cas.
1. Contrôle continu
Des évaluations formatives à visée pédagogique sont réalisées par les formateurs.
Elles sont effectuées tout au long de la formation via des exercices pratiques réalisés en autonomie par les candidats.
A L’issue du parcours de formation, le responsable de la formation renseigne pour chaque bloc de compétence une appréciation ainsi qu’un niveau d’acquisition du bloc de compétence
sur une échelle de 0 à 5.
2. Mise en situation professionnelle sur la base d’une étude de cas
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.
• Éléments fournis :
Cahier des fonctionnalitésUn accès au serveurUn accès à une base de données
• Éléments attendus :
Les schémas conceptuels et physiques du modèle de donnéesLes schémas fonctionnels de l’applicationLa base de données de l’applicationL’application fonctionnelle déployée sur le serveur
L’examen se déroule sur la plateforme de Skills4all.
3. Modalités de validation d’un bloc
La note globale d’un bloc est pondérée de la manière suivante :
– Mise en situation: 5/8
– Contrôle continue : 3/8
Inscription à l’examen
Il n’est pas nécessaire de vous inscrire à l’examen. Il est accessible dans le cours à la section “Examen de validation du bloc de compétences”.
Délais pour passage de l’examen
Le passage de l’examen est compris dans le temps de votre formation. Il devra être passé à la date de fin de formation.
Correction de votre examen et jury de certification
Après avoir soumis vos réponses, elles seront évaluées par un correcteur.
La note obtenue vous sera communiquée au bout de 3 semaines maximum après la date de fin de la formation.
Votre résultat à cet examen est soumis à un jury de certification organisé par l’organisme certificateur.
Obtention de l’attestation de validation du bloc de compétences
L’obtention officielle de la certification vous sera notifiée par le jury de certification après l’évaluation.
L’émission de votre attestation de validation du bloc de compétences correspondant à l’examen est déclenchée suite à la décision du jury de certification. Les délais peuvent aller jusqu’à plus de 2 mois après la fin de formation à 4 mois en fonction de la tenue des jurys de certification (uniquement 4 jurys de certification par an).
L’objectif de cette formation est de vous permettre de préparer le passage de certification bloc n°2 RNCP37805BC02 intitulé «Développement back end d’applications Web» issu de la certification RNCP37805 Développeur WEB de notre partenaire WEBECOM. Cette certification a été publiée le 19-07-2023.
A li’ssue de cette formation vous serez en mesure de :
Maîtriser les bases de PHP:
Gérer les bases de données avec PHP:
Adopter la Programmation Orientée Objet (POO) en PHP:
Utiliser le framework Symfony:
Les compétences professionnelles visées par cette formation sont :
Formation en digital-learning, 100% en ligne, formée de vidéos, de quiz, de lectures et contenus complémentaires, d’un forum et selon les cas, de webinaires.
– conformément aux CGU du CPF (https://www.
– conformément aux CGU du CPF, vous serez présenté automatiquement à la fin de la période de formation au certificateur français inscrit au CPF. La planification de l’examen sera réalisée avec le certificateur français directement.
– si votre formation comprend une ou plusieurs certifications internationales, vous devrez nous en passer commande au maximum 1 mois après la date de fin de votre formation. Cette demande se fait par mail à l’adresse contact@skills4all.com. Si cette date est dépassée, il ne sera plus possible de passer commande de(s) la certification(s) internationale(s).
– nous vous encourageons à lire attentivement nos conditions d’usage de notre plateforme disponibles ici (https://lms.skills4all.com/
Skills4All est un certificateur et organisme de formation en digital learning, qui vous prépare aux certifications les plus reconnues sur le marché : PMI, AXELOS, IASSC, DevOps Institute, PEOPLECERT, GASQ, CFTL, BESTCERTIFS, dans les domaines de la cybersécurité, de l’IT, la data, l’IA, l’agilité, Scrum, Prince2, Lean Six Sigma, Gestion de projet et bien plus encore.
Avec nous, c’est quand vous voulez, où vous voulez, 24/7/365, à votre rythme.
Nous proposons des formations certifiantes, éligibles au CPF et reconnues dans le monde entier.
Skills4All est accrédité par le COFRAC (Comité Français d’Accréditation) en tant que certificateur dans le domaine de la sécurité de l’information : nos certifications sont les meilleures du marché et répondent à la norme ISO 17024, la plus exigeante aujourd’hui. Obtenir une certification Skills4All ou BestCertifs aujourd’hui c’est le gage d’une reconnaissance forte du marché qui valorisera vos compétences.
Financement CPF
(Mon Compte Formation)
Financement Personnel
(Stripe, Alma, Paypal)
Par votre entreprise
(Devis personnalisé)
Financement Public
(France Travail)
Virement Bancaire
(Bridge)
Financement CPF
(Mon Compte Formation)
LES AVANTAGES
Financement Personnel
(Stripe, Alma, Paypal)
Par votre entreprise
(Devis personnalisé)
LES AVANTAGES
Financement Public
(France Travail)
LES AVANTAGES
Virement Bancaire
(Bridge)
LES AVANTAGES
Sécurité Optimale : Profitez d’une sécurité renforcée pour chaque transaction, minimisant les risques de fraude.
Exécution Rapide : Bénéficiez d’une vitesse de traitement accélérée, permettant un accès plus rapide aux formations.
Accessibilité Globale : Utilisez une méthode de paiement universelle, indépendante des limitations des cartes de crédit.
Moins de Frais : Réduisez les coûts supplémentaires souvent associés aux paiements par carte.
Engagement Personnel : Démontrez votre engagement et votre sérieux en choisissant une méthode de paiement réfléchie et sécurisée.
LES AVANTAGES
LES AVANTAGES
LES AVANTAGES
LES AVANTAGES
Sécurité Optimale : Profitez d’une sécurité renforcée pour chaque transaction, minimisant les risques de fraude.
Exécution Rapide : Bénéficiez d’une vitesse de traitement accélérée, permettant un accès plus rapide aux formations.
Accessibilité Globale : Utilisez une méthode de paiement universelle, indépendante des limitations des cartes de crédit.
Moins de Frais : Réduisez les coûts supplémentaires souvent associés aux paiements par carte.
Engagement Personnel : Démontrez votre engagement et votre sérieux en choisissant une méthode de paiement réfléchie et sécurisée.
Organisme de formation enregistré sous le numéro 1178 8340 078 auprès du préfet de Région Ile-de-France. Cet enregistrement ne vaut pas agrément de l’Etat.
– Notre numéro Datadock est le 0034895 – Skills4All est partenaire PeopleCert® n°3605
– Skills4All est Accredited Partner n°3605 pour le DevOps Institute
– Skills4all est partenaire WILEY pour Everything DiSC® n°330556
– Skills4All est Accredited Partner IASSC® n°01-1159 – IASSC is a registered trademark of International Association for Six Sigma Certification.
– IASSC® Accreditation does not constitute its’ approval or recognition of our own lean six sigma certification program. The only method to earn an IASSC certification is to successfully sit for and pass an official IASSC Certification exam. We provide access to IASSC Certification exams for no additional cost
– The Swirl logo™ is a trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.
– ITIL®, PRINCE2®, MSP®, PRINCE2 Agile® are registered trade marks of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.
– PMBOK, PMI, PMP, PgMP, CAPM, PMI-SP, PMI-RMP, and PMI-ACP are registered marks of the Project Management Institute, Inc.
– PMI Registered Education Provider logo is a registered mark of the Project Management Institute, Inc.
– The PMI logo is a registered trade mark of Project Management Institute, Inc.
– Skills4All warrants that it will, at all times, act in an honest, ethical and professional manner both in its dealing with PMI® and with the general public
– La désignation du DPO pour Skills4All porte le numéro DPO-71270 auprès de la CNIL
– Skills4All est partenaire avec CFTL – Comité Français des Tests Logiciels
– EXIN Accredited organisation et Accredited Training Organization
– Skills4All est adhérent aux Acteurs de la Compétence sous le numéro 22312 – IBAN: FR76 1670 6000 6353 9373 9838 / Code SWIFT: AGRIFRPP867
Soyez rappelé dans les 5 min par un consultant en orientation