SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Didier Sampaolo – @dsampaolo - Meetup AFUP - 12 octobre 2017
Découvrons Laravel !
Didier Sampaolo
@dsampaolo
https://soumettre.fr/
J ‘étais oppressé…
Chez Soumettre.fr nous AIMONS Laravel
Plus qu’un Framework,
une toolbox
Kick-of
● Laravel Valet
● Laravel Homestead
● LaraDock
(byebye EasyPHP / Wamp / Mamp)
● Via composer :
composer install laravel/laravel
Artisan
Le majordome du dev Laravel
● php artisan list
● php artisan route:list
● php artisan cache:clear
Exemples de quelques générateurs :
● php artisan make:model User
-rmc pour avoir une migration et un controller resfull
● php artisan make:job mySuperJob
● php artisan make:command mySupercommand
Créé une nouvelle commande Artisan
Models : factories & seeders
php artisan make:auth
i18n
Models
Views
● Templates Blade
Définition d’un layout Utilisation d’un layout
Quality Assurance
Quality Assurance
● Phpunit : incontournable
● Laravel Dusk : « browser tests »
Déploiement
Provisionning server / Déploiement
● Laravel Forge : configuration et maintenance de serveur
(puppet/chef, fabric...)
● Laravel Envoyer : mises en prod version SaaS
(capistrano)
Let the magic happen
Cycle de vie – étendu – d’une requête Ajax
● L’utilisateur clique sur un bouton
● VueJS envoie une requête Ajax
Qui sera traitée par un Controller
● Qui ajoute un Job sur une Queue
Gérée par Redis, Beanstalkd, memcached...
● Le job sera relayé à un worker
Via Laravel Horizon
● Qui peut déclencher des Events
Qui sont automatiquement broadcastés
● Laravel Echo reçoit les Events en broadcast
Pusher.com, socket.io
● ...qui change le state de la page, ce qui met à jour le DOM
via VueJS
Cycle de vie – étendu – d’un cronjob
● Via cron, le Scheduler déclenche une Commande
● Cette Commande ajoute un Job sur la Queue
● Horizon assigne un Worker à ce job
● Le job lit un fichier CSV sur Amazon S3, update la DB
● L’update du Model déclenche un event « UserUpdated »
● Qui contient un Mailable
● Une fois le Job fini, il déclenche une Notification
Ressources
● Doc et Formation pour bien démarrer :
● https://laravel.com/ Le site officiel
● https://laracasts.com/ Netflix pour ta carrière
● https://larachat.slack.com/ Communauté très active
● A voir aussi :
● Laravel Cashier : paiements et/ou abonnements (Stripe)
● Laravel Scout : recherche full-text basée sur Algolia
● Laravel Spark : boilerplate pour services avec abonnements
● Laravel Horizon : gestion des Queues
● Laravel Socialite : auth via réseaux sociaux
● Laravel Passport : oAuth2 in a breeze ;)
● … et Lumen : Laravel vers micro-framework, orienté API restfull
Services non-Laravel, mais sympas quand même
● Mailtrap.io : boîtes email virtuelles
● MJML : framework CSS pour faire de l’emailing responsive
● Blackfire.io : Performance testing avancé pour PHP
● Pusher.com : un socket.io en SaaS
● VueJS : Framework JS plutôt complet et très facile à prendre en mains
Didier Sampaolo

Contenu connexe

Tendances

Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorArthurMaroulier
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs13p
 
Angular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindAngular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindPhilippe Didiergeorges
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)SOAT
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyXavier Leune
 
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...Publicis Sapient Engineering
 
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval Romain Sauger
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Ori Pekelman
 
Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Arnaud Weil
 
What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015Wisembly
 
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot..."What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...TheFamily
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! Erwann Robin
 
Debian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupDebian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupJean Baptiste Favre
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGWilliam Marques
 
Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurMicrosoft
 

Tendances (20)

Service Workers
Service WorkersService Workers
Service Workers
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme Meteor
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
Angular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindAngular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium Versusmind
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfony
 
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...
XebiCon'17 : Comment recréer AWS dans votre Data Center - Pablo Lopez et Aur...
 
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval
Préprocesseurs CSS et remote editing : Quelles solutions ? - Human talks Laval
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
 
Upload - Download
Upload - DownloadUpload - Download
Upload - Download
 
Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.
 
What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015
 
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot..."What we've learnt from Ember.js developing our new product" by Guillaume Pot...
"What we've learnt from Ember.js developing our new product" by Guillaume Pot...
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native !
 
Debian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupDebian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetup
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
 
Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futur
 

Similaire à Meetup laravel

laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdfHeartKing10
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Luc Juggery
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...sametmax
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FRNuxeo
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysChristophe Villeneuve
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
 
Consul, un vrai couteau suisse
Consul, un vrai couteau suisseConsul, un vrai couteau suisse
Consul, un vrai couteau suisseXavierPestel
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Guillaume Sautereau
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.pptadiouf2
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 

Similaire à Meetup laravel (20)

laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDays
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
 
Consul, un vrai couteau suisse
Consul, un vrai couteau suisseConsul, un vrai couteau suisse
Consul, un vrai couteau suisse
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQL
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 

Meetup laravel

  • 1. Didier Sampaolo – @dsampaolo - Meetup AFUP - 12 octobre 2017 Découvrons Laravel !
  • 4. Chez Soumettre.fr nous AIMONS Laravel
  • 7. ● Laravel Valet ● Laravel Homestead ● LaraDock (byebye EasyPHP / Wamp / Mamp)
  • 8. ● Via composer : composer install laravel/laravel
  • 10. Le majordome du dev Laravel ● php artisan list ● php artisan route:list ● php artisan cache:clear Exemples de quelques générateurs : ● php artisan make:model User -rmc pour avoir une migration et un controller resfull ● php artisan make:job mySuperJob ● php artisan make:command mySupercommand Créé une nouvelle commande Artisan
  • 11.
  • 14. i18n
  • 16.
  • 17. Views
  • 18. ● Templates Blade Définition d’un layout Utilisation d’un layout
  • 20. Quality Assurance ● Phpunit : incontournable ● Laravel Dusk : « browser tests »
  • 22. Provisionning server / Déploiement ● Laravel Forge : configuration et maintenance de serveur (puppet/chef, fabric...) ● Laravel Envoyer : mises en prod version SaaS (capistrano)
  • 23. Let the magic happen
  • 24. Cycle de vie – étendu – d’une requête Ajax ● L’utilisateur clique sur un bouton ● VueJS envoie une requête Ajax Qui sera traitée par un Controller ● Qui ajoute un Job sur une Queue Gérée par Redis, Beanstalkd, memcached... ● Le job sera relayé à un worker Via Laravel Horizon ● Qui peut déclencher des Events Qui sont automatiquement broadcastés ● Laravel Echo reçoit les Events en broadcast Pusher.com, socket.io ● ...qui change le state de la page, ce qui met à jour le DOM via VueJS
  • 25. Cycle de vie – étendu – d’un cronjob ● Via cron, le Scheduler déclenche une Commande ● Cette Commande ajoute un Job sur la Queue ● Horizon assigne un Worker à ce job ● Le job lit un fichier CSV sur Amazon S3, update la DB ● L’update du Model déclenche un event « UserUpdated » ● Qui contient un Mailable ● Une fois le Job fini, il déclenche une Notification
  • 26. Ressources ● Doc et Formation pour bien démarrer : ● https://laravel.com/ Le site officiel ● https://laracasts.com/ Netflix pour ta carrière ● https://larachat.slack.com/ Communauté très active ● A voir aussi : ● Laravel Cashier : paiements et/ou abonnements (Stripe) ● Laravel Scout : recherche full-text basée sur Algolia ● Laravel Spark : boilerplate pour services avec abonnements ● Laravel Horizon : gestion des Queues ● Laravel Socialite : auth via réseaux sociaux ● Laravel Passport : oAuth2 in a breeze ;) ● … et Lumen : Laravel vers micro-framework, orienté API restfull
  • 27. Services non-Laravel, mais sympas quand même ● Mailtrap.io : boîtes email virtuelles ● MJML : framework CSS pour faire de l’emailing responsive ● Blackfire.io : Performance testing avancé pour PHP ● Pusher.com : un socket.io en SaaS ● VueJS : Framework JS plutôt complet et très facile à prendre en mains