Objectifs de la formation
- Connaître l’environnement, les outils et les technologie web
- Maîtriser le langage PHP et SQL
- Penser et créer une base de données
- Créer des site web dynamiques
- Savoir développer en objet
- Savoir structurer, optimiser et communiquer avec une base de données
- Savoir s’appuyer sur une architecture MVC
- Savoir développer proprement en gardant en tête la performance de votre code
- Savoir développer de manière sécurisée
- Être autonome dans ses choix techniques et savoir les défendre
Accédez à notre communauté privée d'apprenants qui suivent actuellement un Parcours Pro. Vous pourrez ainsi poser vos questions librement aux mentors et échanger avec vos camarades de "classe" !
Avant de nous lancer dans le code et le monde du développement, il est primordial de bien comprendre comment fonctionne Internet et quelles sont les différentes technologies offertes pour mener à bien vos projets de création de sites web.
- La programmation c'est quoi ? Les métiers (différences intégrateur et développeur)
- Comment fonctionne un site Internet (serveur, base de données, poste client) ?
- L'hébergement web : serveur mutualisé, serveur dédié, cloud
- Les bases de données et les différents type de technos (SQL, Mysql, MongoDB, NoSQL...) API
- Accessibilité et W3C
- Le web responsif / Le web mobile
- Hybridation mobile / desktop
- Les langages HTML HTML5 CSS Javascript PHP MySQL Ruby / ROR Python Jquery NodeJS Angular Services Web Json
- Les frameworks (Symfony, CodeIgniter, Laravel, Bootstrap...), le modèle MVC
- Les méthodes AGILEs (Scrum, Kanban) UML & Merise
- Le versionning (GIT)
- Le refactoring
- Les tests unitaires
- Commenter son code
- IDE (PHPStorm, Netbeans, Brackets, Sublime Text...)
- Wysiwyg (Dreamweaver)
- Les variables
- Les conditions
- Les boucles
- Les fonctions
- La POO
Lancez-vous dans le vif du sujet avec un premier bloc de compétences fondamentales pour appréhender les grands principes du langage PHP. A la fin de ce module, vous aurez acquis de solides bases sur le langage de programmation !
Le propre d'un langage de programmation est de posséder des données variables. Nous allons apprendre ce qu'est une variable, comment on la déclare, comment on l'écrit et puis comment on s'en sert dans la pratique !
- Qu'est-ce que le PHP
- Écrire son premier code PHP
- La concaténation
- Les variables POST
- Les variables GET
- Les variables numériques
- Les instructions conditionnelles
- Exercice pratique
Nous irons plus loin dans nos connaissances des instructions conditionnelles, puisque nous verrons ensemble, de façons très détaillée, les ternaires ainsi que les switch. Le tout accompagné par de la pratique !
- Instructions conditionnelles : les ternaires
- Instructions conditionnelles : les Switch
- Exercice pratique
2 exercices pratiques : Création d'un programme PHP qui affiche la saison d'un mois sélectionné. Création d'un 1er site OnePage dynamique
Un bloc dédié intégralement à la notion de boucles en PHP. Nous apprendrons à quoi elles servent et comment on s'en sert dans la réalité de la programmation. Le bloc se terminera par un petit exercice pratique.
- Qu'est-ce qu'une boucle en programmation ?
- La Boucle FOR
- La Boucle WHILE
- Exercice pratique (et correction)
Dans ce bloc de compétences, nous allons nous intéresser aux super variables, c'est à dire les variables pouvant contenir plusieurs valeurs. C'est ce que nous appelons des variables de type array (tableaux). Grâce à ces variables, nous allons pouvoir conserver en mémoire plusieurs valeurs pour une seule variable.
- Comprendre les variables ARRAY
- Les Super globales
- La Boucle FOREACH
- La Boucle FOR
- Les variables associatives
Dans ce volet, nous allons apprendre et comprendre les fonctions PHP. Nous verrons comment écrire une fonction et comment l'appeler dans votre code.
- Présentation de la notion de Fonctions en PHP
- Savoir utiliser une fonction
- Appeler une fonction
- Apprendre à créer ses propres fonctions
- Fonction avec et sans paramètres
- Exercices de mise en pratique des connaissances
Dans ce module, nous allons mettre en pratique les connaissances développées jusqu'ici, pour créer un mini site Internet (composé d'un header, d'une navigation, d'un footer...)
Ce modules sera consacré à l'étude des sessions et des cookies en PHP. Nous terminerons comme notre habitude, avec un exercice de mise en pratique !
- Les sessions en PHP (mise en place d'une session, passage de variables, détruire une session).
- Les Cookies (stockage, affichage, sécurisation, suppression)
Arrivé à cette étape, vous êtes logiquement capable d'écrire un programme en PHP ! Nous allons terminer notre apprentissage des bases fondamentales du langage, en étudiant les DATES !
- La fonction TIME
- Afficher une date
- Afficher l'heure
- Manipuler les dates
- Bonus : coder un peu plus proprement (variables, commenter son code, indentation)
Le langage SQL sert à communiquer avec une base de données (MySQL par exemple). Il est donc important de vous initier à ce langage afin de créer des applications dynamiques et d'apprendre à manipuler des données au sein de vos programmes PHP.
Ce 1er module vous permettra de vous initier au SQL. Nous y aborderons les manipulations de base.
- Les fonctions d'agrégation
- Les fonctions mathématiques
- Les opérateurs de comparaison
- Les requêtes avancées
- Les requêtes imbriquées
- Exercice pratique et corrigé
Dans ce boc de compétences, nous allons voir ensemble tout ce qui concerne les jointures entre les tables. Nous commencerons par un rappel sur les bases de données relationnelles, puis nous étudierons de très prêt toutes les commandes de jointures SQL. Nous verrons entre autre, les jointures internes, les jointures externes ainsi que les auto-jointures.
- Bases de données relationnelles
- Jointure interne
- Jointure externe
- UNION
- COALESCE
- Jointure naturelle
- Auto-jointure
- Cross Join
Nous allons découvrir des fonctions SQL qui vous feront gagner du temps ainsi que de la lisibilité en simplifiant vos développements PHP. Nous allons voir des fonctions SQL qui vont nous permettre de manipuler des données stockées dans les tables d'une base de données.
- Connaître le nombre de caractères d'un enregistrement
- Remplacer une séquence de caractères par une autre
- Afficher une partie d'une séquence de caractère
- Inverser une chaîne de caractères
- Afficher les données en majuscule ou en minuscule
- Effacer les espaces d'une chaîne de caractères
Nous allons voir comment nous pouvons gérer la date et l'heure dans des requêtes SQL.
- Les différents types de champ DATE
- La fonction NOW()
- Interrogation d'un champ de type DATE
- Les fonctions CURRENT_DATE() et CURRENT_TIME()
- Les fonctions DAY(), MONTH() et YEAR()
- Les fonctions HOUR(), MINUTE() et SECOND()
- Formater une date en SQL
- Les fonctions DAYOF
- Définir une date de fin
- Soustraire une date
- Connaître le nombre de jours entre 2 dates
- Connaître le nombre d'heures entre 2 dates
- Convertir une date en timestamp UNIX
Grâce à ce module, nous reverrons quelques notions déjà acquises et vous serez en mesure de pouvoir aborder vous-même la conception de votre propre base de données et de mettre en relation l'ensemble de vos tables.
Dans votre future vie de développeur PHP, il vous arrivera très certainement de devoir ré-écrire une URL d'un site. Il est primordial de devoir maîtriser cette technique de référencement naturel, qui va faire appel à vos connaissances en SQL et PHP ! Il s'agit donc d'un excellent exercice pratique.
Nouveauté apparu avec PHP7, la classe PDO est un incontournable du développeur back-end PHP. Nous verrons dans ce module les différentes procédures de la classe PDO sur 4 requêtes SQL principales. Un gros exercice pratique sera au programme : la création d'un espace membre ! De plus, nous verrons comment utiliser PHP avec MySQL (CRUD, tables, bases de données).
- Initialisation de l'objet PDO
- Les requêtes SELECT
- Les requêtes INSERT
- Les requêtes UPDATE
- Les requêtes DELETE
- Méthode BindValue( )
Cet exercice reprend un ensemble de compétences acquises jusqu'ici. Vous apprendrez à créer un espace membre de A à Z. Cela vous permettra de mettre en application certaines notions, comme : la création d'un base de donnée MySQL avec PHPMyAdmin, la création de formulaires en PHP, la gestion des sessions...
- CRUD et la classe PDO
- Les tables avec PHP et MySQL
- Concevoir une base de données avec MySQL
Ce bloc de compétences est intégralement dédiée à la notion de programmation orientée objet, en PHP. Il s'agit d'un concept de programmation que vous retrouverez dans d'autres langages et qu'il est nécessaire de maîtriser.
- Qu'est-ce qu'un objet
- Qu'est-ce qu'une classe
- Créer sa première classe
- Les Attributs
- Le constructeur
- Les setters
- Les getters
- Encapsulation
- Getter et Setter
- Les méthodes d'objet
- Les familles de variables
- Les méthodes de classe
- Exercice de mise en pratique
- Les constantes
- Le constructeur
- Exercice de mise en pratique
L'héritage est une notion très importante de la POO. Nous allons la voir en long, en large et en travers !
- Comprendre l'héritage
- Mise en place
- Principes hierarchiques
- Surcharger une méthode
- Inclure une méthode dans une autre
- Augmentation du niveau hierarchique
- Exercices pratiques
- Notions avancées hierarchie
- Principes de l'abstraction
- Classes finale
- Méthode finale
- Include de classes
- Les traits (déclaration, ordre de priorité...)
- Exercice pratique
Voici un atelier pratique qui vous permettra de réviser toutes les notions de programmation orientée objets abordées jusqu'à présent !
- Propriétés non déclarées
- Gestion des exceptions
- Les namespaces en POO
- Autoloader avec les namespaces
Pour terminer ce gros bloc de compétences dédiée à la POO en PHP, nous allons réaliser 5 exercices qui mettront en pratique vos connaissances ! 5 énonces et leur correction vous attendent dans cet ultime chapitre
L'architecture MVC est aujourd'hui très utilisée par les développeurs PHP. Elle est au centre des frameworks PHP les plus utilisés comme Symfony ou encore Laravel. Vous devez absolument maîtriser le concept MVC en tant que dev back-edn moderne. Ce module vous permettra d'acquérir des bases solides vous permettant non seulement de pouvoir prendre la main rapidement sur n'importe quel framework PHP utilisant le MVC, mais également de créer le votre !
Nous allons nous concentrer sur la partie rooter ainsi que sur la partie controller du modèle MVC en Orienté Objet.
- Notions de base sur l'architecture MVC
- Le ROOTER
- Le Contrôleur
- Mise en place d'un autoload
- Déclarer des namespaces
- Instanciation dynamique
- Mise en place d'un switch
- Création d'une classe autoloader
- Réalisation d'un template
- Création d'une classe VUE
- Création d'une classe entité
- Création d'une classe manager
- Constantes de connexion
Nous allons nous intéresser au formulaire d'identification menant à une zone d'administration, qui nous permettra plus tard de gérer nos articles :
- créer de nouvelles méthodes permettant de gérer le formulaire, et mettre en place une session afin de sécuriser l'accès à ce back-office.
- modifier dynamiquement le contenu de la barre de navigation selon que l'on soit ou pas identifié.
- jQuery pour contrôler la présence d'informations saisies dans les champs de notre formulaire
- Create
- Read
- Update
- Delete
Dans ce dernier module, vous allez apprendre à utiliser les nouveautés de PHP 7, apprendre à coder plus proprement, découvrir des outils qui vous feront gagner du temps et enfin sécuriser vos applications PHP. Nous verrons enfin, comment créer une API en PHP !
- Type scalaire pour les paramètres de fonction
- Typage du retour des fonctions
- Le mode strict
- L'opérateur Null Coalescent
- L'opérateur Spaceship
- L'évolution de la gestion des erreurs
- L'opérateur Nullable
- Le type void
- La décomposition
- Visibilité des constantes de classe
- Des catch multitâches
- Le type object
- Un tableau pour les en têtes de nos mails
- Les virgules en fin d'appel de fonction
- 2 fonctions utiles sur les tableaux
- Structurer son code
- l'autoloading (PSR-4)
- Le Logging (PSR-3)
- Packages manager
- Vagrant
- Composer
- Node.JS
- Sass
- Installation de Composer sur Windows et OSX
- Initialisation de la gestion de dépendances
- Installation de dépendances trouvées sur Packagist
- Gestion des versions utilisées des dépendances
- Ajouter ses propres fichiers à l'autoloader
- Passage en revue des commandes importantes
- Utilisation de plusieurs packages pour comprendre le fonctionnement de Packagist
- Présentation des différentes failles de sécurité
- XSS (Cross-Site Scripting)
- CSRF (Cross-Site Request Forgery)
- Injections SQL
- LFI (Local File Inclusion)
- RFI (Remote File Inclusion)DT (Directory Traversal)
- Installation et configuration de Git
- Apprentissage des commandes UNIX de base
- Initialisation d'un dépôt Git sur un projet existant et sur un nouveau projet
- Apprentissage de l'utilisation des commits
- Ignorer un fichier avec Git en créant un fichier .gitignore
- Gestion des branches avec Git
- Utilisation de git flow pour gérer vos projets au quotidien
- Inscription sur Github
- Création d'un dépot sur Github
- Envoi des fichiers de votre dépôt local sur un dépôt distant Github
- Participation à un projet en créant des Issues ou des Pull Requests
- Création d'une organisation avec des équipes auxquelles nous affecterons des projets
- Utilisation des services de Github pour héberger vos sites persos (monsite.github.io) ou vos projets web
- Qu'est-ce qu’est une API REST ?
- Quel est son rôle et comment elle fonctionne ?
- Où se situe le développement Backend et où se situe le développement Frontend ?
- Fonctionnement complet du langage JSON.
- Création d'une API Rest
Vous aurez un projet personnel à préparer tout le long de votre formation en ligne. Ce dernier reprendra l'ensemble des connaissances acquises dans votre parcours Developpeur PHP (utilisation du PHP, création de bases de données SQL, Poo, MVC, propreté du code...). Le sujet devra être validé en amont par le mentor.
- Tout public
- Tout niveau
- Une bonne connexion internet pour permettre la lecture des vidéos
- Un ordinateur dont la configuration est suffisante pour travailler confortablement sur les logiciels étudiés
Les développeurs et développeuses Web sont très recherchés et le seront de plus en plus. Chacun son langage de prédilection et sa spécialité. Le/la développeur/se back-end peut aussi bien avoir un « simple » rôle de codeur qu’être décisionnaire pour les choix techniques. Il ou elle peut travailler en entreprise, en agence ou en freelance.
Le salaire moyen en début de carrière se situe vers 35 000€ bruts, et évolue en fonction de l’expérience et de l’évolution vers des postes de Lead Dev ou Dev Full Stack.
Les offres d’emploi sont variées et régulières.
La formation vous prépare au passage du bloc 2 du diplôme Développeur Web RNCP N°37805 déposé par Webecom, en date du 19/07/2023. Ce titre RNCP est accessible par bloc de compétences.
Durée de l’examen | 60 minutes |
---|---|
Modalités de passage | Examen en ligne par visioconférence. |
Date de passage | Les évaluations sont organisées chaque mois en ligne. Le dossier du candidat sera présenté au jury de certification, dans les 2 mois maximum, après l’épreuve d’évaluation. |
Résultats | Pour valider le bloc, les compétences requises doivent toutes être maîtrisées. |
Parchemin | Le certificat de complétion ou le parchemin de la certification seront édités et téléchargeables en ligne dans les 30 jours qui suivent la fin de la formation. |