Logo entreprise

Finançable CPF
Graduate Développeur PHP/Symfony

Coût de la formation
3990.00€
Finançable CPF
Durée totale
Localisation
A distance 100% en ligne
Profils acceptés
Tout public
Certifications
Qualiopi

Connaissances nécessaires

Contactez un conseiller en formation pour étudier votre admissibilité.

Objectifs de la formation

Lancez-vous dans le monde du développement web et mobile !

Donnez vie à des sites internet optimisés et apprenez à utiliser PHP/Symfony pour vous faciliter la vie ! 

Cette formation vous permet d'acquérir toutes les compétences nécessaires pour devenir développeur full stack. Vous apprendrez donc à créer un site web à la fois côté front mais aussi côté back.

En plus de cela vous apprendrez à maîtriser PHP/Symfony et à créer des applications web optimisées.

Vous deviendrez alors un développeur full-stack spécialiste PHP/Symfony, une compétence très recherchée sur le marché du travail.

 

Programme et détails du déroulé de la formation

Les fondamentaux du développement (facultatif)

Écosystème et outils du développeur

  • L'histoire de l'informatique et d'Internet, culture générale numérique
  • Le fonctionnement d'Internet
  • Sensibilisation à la cybersécurité
  • Les droits d'auteur et licences libres
  • La sensibilisation à la RGPD
  • Repl.it
  • Github Student Developper Pack
  • La suite Jetbrains
  • VSCode
  • La préparation de l'environnement de travail localhost
  • Les lignes de commande linux
  • Jeux de logique
  • Assurer une veille technologique en développement  

Introduction à la programmation

  • Introduction à la programmation
  • Introduction aux variables
  • Les types et portées des variables
  • Les structures de contrôle
  • les opérateurs et opérateurs logiques
  • Les boucles
  • Les chaînes de caractères
  • La structure de données Tableau
  • La structure de données Liste
  • Le type de données Date
  • L'utilisation des fonctions
  • L'écriture des fonctions
  • Représentation graphique d'un algorithme : flowchart
  • L'écriture d'un algorithme en pseudo-code
  • Mon premier algo
  • La récursivité
  • Les Tris 1
  • Les Tris 2
  • La recherche  

Développer la partie front-end d’une application

Participer à des projets web

  • L'environnement du développeur web
  • Les modèles de gestion de projet
  • Les outils collaboratifs de partage de ressources
  • Le récit utilisateur (user story)
  • Bien rédiger ses user stories  

Réaliser une maquette avec Figma

  • Introduction aux concepts UX (versus UI)
  • Planifier et suivre les tâches du maquettage
  • Prendre en main Figma et son interface
  • Importer et exporter des fichiers sur Figma
  • Créer des composants sur Figma
  • Utiliser les composants animés sur Figma
  • Créer un design responsive sur Figma
  • Créer un prototype, le partager et l'exporter avec Figma
  • Prendre en compte l'accessibilité visuelle sur Figma
  • Collaborer avec Figma
  • Découvrir le Dev Mode de Figma  

Créer un site web avec HTML & CSS

  • Introduction au HTML
  • Syntaxe générale de HTML
  • L'organisation du texte
  • Un langage hypertexte
  • Le multimédia en HTML
  • Introduction au CSS
  • CSS3 : Le stylage du texte
  • La structuration logique en HTML5 et le modèle de boîtes en CSS3
  • Les sélecteurs CSS
  • La mise en page avec CSS
  • La création de tableaux
  • La création de formulaires
  • Layout avec CSS Grid
  • Les effets avancés de CSS
  • Le responsive design
  • Introduction à Bootstrap
  • Ouverture vers d'autres frameworks CSS
  • Le référencement des sites Web
  • Valider la qualité de son site
  • Déployer son site sur le web  

Créer un site web avec le CMS Wordpress

  • Installer et configurer WordPress sur son serveur : Hello world
  • L'administration de son site wordpress
  • Les paramètres d'un site Wordpress
  • Les solutions de paiement en ligne  

Débuter avec JavaScript

  • Introduction à javascript
  • Syntaxe et intégration de JS
  • Les variables en JS
  • Les opérateurs
  • Structures de contrôle en JS
  • Les boucles
  • Les fonctions en JS
  • Les types de données
  • L'objet JavaScript Number
  • Les objets JavaScript String et Array
  • Les objets JS
  • Les classes et l'instanciation d'objet
  • L'objet Date
  • Introduction au Document Object Model  

Programmer avec Javascript

  • JS Browser BOM (window - screen - Location - History, etc)
  • Fonction asynchrone et callback
  • Le format JSON et AJAX
  • Les promesses
  • Découverte des patrons de conception
  • JavaScript Events
  • Introduction et installation de TypeScript
  • Type de donnée avec TypesScript
  • Données avancée avec TypeScript
  • L'objet avec TypeScript
  • JavaScript Graphics
  • JavaScript Canvas
  • La Gestion d'erreur
  • Debug
  • Les bonnes pratiques de la programmation avec JS  

Utiliser Git et Github pour gérer son code source

  • Introduction à la ligne de commande
  • Introduction à Git et Github
  • Les bases
  • Les interactions avec le dépôt distant
  • Naviguer dans l'historique
  • La gestion des branches
  • Les branches avec Git - Rebaser
  • Les bonnes pratiques  

Déployer son application web

  • La mise en ligne d’applications web avec Heroku
  • Présentation et utilisation de Fly.io
  • Présentation et utilisation de planethoster  

Sécuriser ses applications web

  • Les principales failles de sécurité
  • Les guides de tests
  • Analyser la sécurité pour évaluer la vulnérabilité d'une application web
  • Sécuriser la publication d'une application web  

Gérer des conteneurs

  • L’architecture applicative de microservices
  • L'outil Docker : principes, objectifs et solutions
  • Le Dockerfile et ses instructions
  • Docker Compose : Introduction
  • Docker Compose : Étude de cas
  • L'automatisation de la création des containers avec un outil de type Docker
  • L'utilisation des conteneurs pour gérer les mises à jour applicatives  

Développer la partie back-end d’une application

Introduction aux bases de données

  • Présentation de la notion base de données
  • Installer un SGDB en ligne de commande
  • Créer une BDD et l'explorer
  • Introduction à la modélisation conceptuelle de données avec UML
  • Les diagrammes fonctionnels
  • Le diagramme de classe
  • Introduction au passage UML-Relationnel
  • Modèle relationnel Vs Objet
  • Introduction au SQL  

Développer des sites web dynamiques avec PHP

  • PHP et HTML (sorties)
  • Les types de données, les variables et les constantes
  • Les fonctions
  • Les tableaux en PHP
  • Les conditions
  • Les boucles
  • Créer ses propres fonctions
  • L'organisation des fichiers PHP
  • Les superglobales Get, Post et Files
  • Les superglobales Server, Env et Session
  • La sécurité
  • La manipulation des dates
  • La manipulation des fichiers en PHP
  • Les expressions régulières
  • Utiliser la documentation PHP et Standard de codage PHP
  • La programmation Orientée Objet : concepts de base
  • La programmation Orientée Objet : concepts avancés
  • La gestion des erreurs
  • La programmation Orientée Objet : Design Patterns
  • La programmation Orientée Objet : L’encapsulation et la visibilité
  • Le modèle MVC  

Créer et administrer une base de données en SQL

  • Création et alimentation de bases de données SQL
  • L'interrogation de bases de données SQL
  • Connexion à la base de données en PHP
  • PHP/PDO : accès en lecture/écriture
  • Les requêtes SQL
  • Les fonctions SQL
  • Les jointures SQL
  • Gérer les accès des utilisateurs au niveau PHP et BD
  • Découvrir un autre SGBDR : PostgreSQL
  • Introduction à MongoDB
  • Découverte d'un ORM PHP  

Créer une application web avec le framework Symfony

  • Présentation du framework Symfony
  • Les bases de Symfony
  • Le routing
  • Les contrôleurs
  • Le moteur de template Twig
  • Les entités
  • Manipuler ses entités avec Doctrine
  • Les formulaires en Symfony
  • Le Profiler
  • La validation en Symfony
  • La sécurité et la gestion des utilisateurs
  • Déployer son site Symfony en production
  • Le composant Mailer
  • L'Event Dispatcher
  • Les tests unitaires avec PHPUnit
  • Ouverture à un autre framework PHP : Laravel  

Sécuriser ses bases de données

  • Cadre légal et chiffrement des données
  • Failles liées à la BDD côté développement
  • Failles liées à la BDD côté administration
  • Les failles d'include et d'upload
  • Failles XSS
  • Attaque par brute force  

Sécuriser son infrastructure

  • Les normes et des standards relatifs aux échanges sécurisés
  • Les recommandations de configuration d’un système GNU/Linux de l’ANSSI
  • Les principes de base d'une gestion sécurisée des identités
  • Introduction à l'architecture TCP-IP
  • Les règles d'authentification
  • Introduction à OpenSSH
  • Les Niveaux de test
  • Le test fonctionnel
  • La mise en place des environnements de test
  • La mise en place des environnements de pré-production
  • L'utilisation d'un environnement de test et de pré-production
  • Le test des mises à jour de sécurité avant le déploiement
  • La mise à jour de la documentation technique après un test  

Préparer un environnement de test

  • Les méthodes Agile pour le développement logiciel
  • La démarche DevOps
  • Les bases d'un environnement de test
  • La mise en place de l'intégration continue (CI)
  • La mise en place de la livraison ou déploiement continu (CD)  

Aller plus loin avec Symfony

  • La bibliothèque Webpack Encore
  • Les fixtures
  • Les formulaires avancés
  • Les formulaires imbriqués
  • L'internationalisation
  • L'Upload avec Vich Uploader
  • La méthode Merise pour concevoir un modèle de données
  • L'ORM Doctrine : Le Query Builder avancé
  • L'ORM Doctrine : Le criteria system
  • Les tests fonctionnels avec WebTestCase et Panther
  • Les tests unitaires avec les mocks
  • Le Test Driven Development
  • Les services
  • L'Ajax avec Axios et Symfony
  • Le composant Httpclient pour communiquer avec une API externe
  • Les bonnes pratiques et le clean code avec S.O.L.I.D.  

Construire une API REST

  • Les API : présentation
  • La création d'une API REST : POST PUT/PATCH
  • L'installation d'API Platform et découverte du composant
  • La logique métier avec API Platform
  • L'authentification (JWT)  

Cette formation est finançable par le CPF

Le Compte Personnel de Formation (CPF) est un dispositif français permettant à chaque actif d'acquérir des droits à la formation tout au long de sa vie professionnelle. Ces droits, cumulés en euros, servent à financer des formations certifiantes pour développer ses compétences ou changer de métier.

Je souhaite financer la formation avec le CPF