SlideShare a Scribd company logo
1 of 154
Download to read offline
Développer sous Sylius en 40
minutes chrono
Maxime Huran
Lead Developer chez Monsieur Biz
@maximehuran
• L'infra
!
• L'installa-on
"
• Les fixtures
#
• Les plugins
$
• Les resources Sylius et leur ges-on en admin
• Les State Machines
&
• Le retour des fixtures
'
L'infra
Le binaire Symfony
Coucou Jolicode ❤ : h-ps://jolicode.com/blog/mon-serveur-local-avec-le-binaire-symfony
Composer
symfony composer create-project sylius/sylius-standard sylius
Docker
• La base de données
• Mailcatcher
• Node (pour le thème)
• C'est tout pour le moment
!
L'installa)on
Docker
Serveur Symfony
~/.symfony/proxy.json
Un peu de configura.on
Composer
composer install
Et aller se faire un
☕
Installer Sylius
• sylius:install:database
• sylius:fixtures:load
• sylius:theme:assets:install
Builder le thème
• yarn install
• yarn run gulp ou yarn build
Makefiles
Globalement au setup on u.lise
• make project.infra.update
• make project.install
Au quo&dien
• make up
• make down
En ac&on !
Le résultat
Les fixtures
Le Fixture Bundle
• Suites : collec-on de fixtures
• Fixtures : nos en-tés
• Listeners : exécuter du code à certains moment du chargement
des fixtures
La doc : h)ps://docs.sylius.com/en/1.4/componentsandbundles/bundles/SyliusFixturesBundle/index.html
Créer sa suite de fixtures
imports:
- { resource: "fixtures.yaml" }
apps/sylius/src/Resources/config/app/config.yaml
sylius_fixtures:
suites:
monsieurgeek:
listeners: ~
fixtures: ~
apps/sylius/src/Resources/config/app/fixtures.yaml
La langue et la devise
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
locale: ~
currency:
options:
currencies: ['EUR']
Les zones
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
geographical:
options:
countries:
- "FR"
zones:
FR:
name: "France"
countries:
- "FR"
Le channel
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
channel:
options:
custom:
monsieurgeek:
name: "Monsieur Geek"
code: "monsieurgeek"
locales:
- "%locale%"
currencies:
- "EUR"
enabled: true
hostname: "monsieurgeek.wip"
default_locale: "%locale%"
account_verification_required: false
Le mode de paiment
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
payment_method:
options:
custom:
bank_transfer:
code: "bank_transfer"
name: "Virement"
description: "Paiement par virement bancaire"
instructions: "Envoyez votre virement sous 6 jours : FR7630004000031234567890143"
channels:
- "monsieurgeek"
enabled: true
Le groupe de client
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
customer_group:
options:
custom:
retail:
code: "retail"
name: "Retail"
Les clients
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
shop_user:
name: "shop_user"
options:
random: 20
custom:
-
email: "mah@mbiz.io"
first_name: "John"
last_name: "Doe"
password: "Qwerty123"
Les user admin
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
admin_user:
name: "admin_user"
options:
custom:
-
email: "sylius@example.com"
username: "sylius"
password: "sylius"
enabled: true
locale_code: "%locale%"
first_name: "John"
last_name: "Doe"
-
email: "api@example.com"
username: "api"
password: "sylius-api"
enabled: true
locale_code: "%locale%"
first_name: "Luke"
last_name: "Brushwood"
api: true
Les taxons
sylius_fixtures:
suites:
monsieurgeek:
[...]
fixtures:
taxon:
options:
custom:
category:
name: 'Monsieur Geek'
code: 'category'
children:
nes:
name: 'Jeux NES'
code: 'jeux-nes'
slug: 'jeux-nes'
snes:
name: 'Jeux Super NES'
code: 'jeux-snes'
slug: 'jeux-snes'
nintendo_sixty_fouuuuur:
name: 'Jeux Nintendo 64'
code: 'jeux-n64'
slug: 'jeux-n64'
game_cube:
name: 'Jeux Game Cube'
code: 'jeux-game-cube'
slug: 'jeux-game-cube'
wii:
name: 'Jeux Wii'
code: 'jeux-wii'
slug: 'jeux-wii'
etc...
Créer une fixture
services:
sylius.fixture.nintendo_product:
class: AppFixtureNintendoProductFixture
arguments:
- "@sylius.fixture.product"
tags: ['sylius_fixtures.fixture']
apps/sylius/src/Resources/config/services.yaml
apps/sylius/src/Resources/config/app/fixtures.yaml
apps/sylius/src/Fixture/NintendoProductFixture.php
apps/sylius/src/Fixture/NintendoProductFixture.php
apps/sylius/src/Fixture/NintendoProductFixture.php
Lancer nos fixtures
ou make sylius.fixtures.load
Des filtres !
L'u$lité des plugins
• Ne pas réinventer la roue
• Réu2liser ses devs sur d'autres projets
• Plugin !== Bundle
Mise à jour de l'infra
Docker compose
services:
[...]
elasticsearch:
build:
context: ./elasticsearch/
args:
USER_UID: ${USER_UID}
volumes:
- esdata:/usr/share/elasticsearch/data:rw
environment:
- "xpack.security.enabled=false"
ports:
- "9200:9200"
- "9300:9300"
elasticsearch-hq:
image: elastichq/elasticsearch-hq
ports:
- "5000:5000"
environment:
- HQ_DEFAULT_URL=http://elasticsearch:9200
links:
- elasticsearch
Installa'on du plugin BitBag Elas'cSearch
composer require bitbag/elasticsearch-plugin
Configura)on du plugin
RTFM
h"ps://github.com/BitBagCommerce/SyliusElas9csearchPlugin/blob/master/README.md
Mise à jour du makefile
Des plugins intéressants
Fini la rigolade !
Passons aux choses sérieuses !
Et ceux qui se sont endormi, réveillez-vous
!
Crea%on d'une en%té
<?php
namespace AppEntityCustomer;
use [...]
use SyliusComponentCoreModelCustomer as BaseCustomer;
/**
* @Entity
* @Table(name="sylius_customer")
*/
class Customer extends BaseCustomer
{
}
apps/sylius/src/Entity/Customer/Customer.php
<?php
namespace AppEntityEditor;
use [...]
/**
* @ORMEntity
* @ORMTable(name="app_editor")
* @package AppBundleEntity
*/
class Editor implements ResourceInterface
{
/**
* @ORMId
* @ORMGeneratedValue
* @ORMColumn(type="integer")
*/
private $id;
/**
* @ORMColumn(type="string", length=255)
*/
private $name;
/**
* @ORMColumn(type="string", length=255)
*/
private $code;
/**
* @ORMColumn(type="string", length=255)
*/
private $email;
apps/sylius/src/Entity/Editor/Editor.php
Déclara'on d'une ressource Sylius
sylius_resource:
resources:
app.editor:
driver: doctrine/orm
classes:
model: AppEntityEditorEditor
form: AppFormTypeEditorType
apps/sylius/src/Resources/config/resources.yaml
<?php
namespace AppFormType;
use [...]
final class EditorType extends AbstractResourceType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class)
->add('email', TextType::class)
->addEventSubscriber(new AddCodeFormSubscriber())
;
}
}
apps/sylius/src/Form/Type/EditorType.php
Afficher les CRUD en admin ?
SyliusGridBundle !
app_admin:
resource: 'routing/admin.yaml'
prefix: /admin
apps/sylius/src/Resources/config/routes.yaml
app_admin_editor:
resource: 'admin/editor.yaml'
apps/sylius/src/Resources/config/routing/admin.yaml
app_admin_editor:
resource: |
alias: app.editor
section: admin
templates: SyliusAdminBundle:Crud
redirect: update
grid: app_admin_editor
vars:
all:
subheader: app.ui.editor
index:
icon: 'file image outline'
type: sylius.resource
apps/sylius/src/Resources/config/routing/admin/editor.yaml
[...]
sylius_grid:
grids:
app_admin_editor:
driver:
name: doctrine/orm
options:
class: AppEntityEditorEditor
fields:
name:
type: string
label: sylius.ui.name
code:
type: string
label: sylius.ui.code
actions:
main:
create:
type: create
item:
update:
type: update
delete:
type: delete
apps/sylius/config/packages/_sylius.yaml
URL = /admin/editors/
Y accéder depuis l'admin ?
services:
[...]
app.listener.admin.menu_builder:
class: AppMenuAdminMenuListener
tags:
- { name: kernel.event_listener, event: sylius.menu.admin.main, method: addAdminMenuItems }
apps/sylius/src/Resources/config/services.yaml
<?php
namespace AppMenu;
use SyliusBundleUiBundleMenuEventMenuBuilderEvent;
final class AdminMenuListener
{
public function addAdminMenuItems(MenuBuilderEvent $event): void
{
$menu = $event->getMenu();
$newSubmenu = $menu
->addChild('monsieur-geek')
->setLabel('app.ui.monsieur_geek')
;
$newSubmenu
->addChild('editors', ['route' => 'app_admin_editor_index'])
->setLabelAttribute('icon', 'id badge')
->setLabel('app.ui.editors')
;
}
}
apps/sylius/src/Menu/AdminMenuListener.php
Les traduc+ons
Mais ça vous savez sûrement faire !
app:
ui:
new_editor: 'Création d''un éditeur'
edit_editor: 'Modification d''un éditeur'
monsieur_geek: 'Monsieur Geek'
editors: 'Éditeurs'
editor: 'Éditeur'
apps/sylius/translations/messages.fr.yml
Aller plus loin :
Rendre le champ code non éditable
dispo sur le repository Github
Rela%on avec une en%té
Modifica(on de l'en(té Editor
Créa%on d'une Form Extension
services:
[...]
app.form.extension.type.product:
class: AppFormExtensionProductTypeExtension
arguments:
- "%sylius.model.product.class%"
- "%sylius.form.type.product.validation_groups%"
- "@sylius.product_variant_resolver.default"
- "@sylius.factory.product_attribute_value"
- "@sylius.translation_locale_provider"
tags:
- { name: form.type_extension, extended_type: SyliusBundleProductBundleFormTypeProductType }
apps/sylius/src/Resources/config/services.yaml
<?php
namespace AppFormExtension;
use [...]
class ProductTypeExtension extends AbstractResourceType implements FormTypeExtensionInterface
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('editor', EntityType::class, [
'class' => Editor::class,
'choice_label' => 'name',
'choice_value' => 'code',
'label' => 'app.ui.editor',
'required' => false,
]);
}
public function getExtendedType(): string
{
return ProductType::class;
}
}
apps/sylius/src/Form/Extension/ProductTypeExtension.php
Affichage dans la page admin produit
Aller plus loin :
Ajouter le champ sans surcharger le template avec un événement !
dispo sur le repository Github
State machine
Déclara'on de notre state machine
winzou_state_machine:
app_editor:
class: "%app.model.editor.class%"
property_path: status
graph: app_editor
state_machine_class: "%sylius.state_machine.class%"
states:
new: ~
approved: ~
transitions:
approve:
from: ['new'] # Can be many
to: 'approved' # Always one of course
apps/sylius/src/Resources/config/app/config.yaml
Changeons notre en,té (encore)
Affichons le dans la grid
Mais pas dans le form car non éditable
Créa%on de la route
app_admin_editor_approve:
path: admin/editor/{id}/approve
methods: ['PUT']
defaults:
_controller: app.controller.editor:applyStateMachineTransitionAction
_sylius:
state_machine:
graph: app_editor
transition: approve
redirect: referer
apps/sylius/src/Resources/config/routing/admin/editor.yaml
Appliquons ce-e transi1on !
Ajouter un callback dans une transi2on
Le code complet pour l'envoi de mail sur le dépôt Github
Le retour de la fixture
Ajout de la fixture sur notre en0té
services:
[...]
AppFixtureFactoryEditorExampleFactory:
arguments:
- '@app.factory.editor'
AppFixtureEditorFixture:
arguments:
- '@app.manager.editor'
- '@AppFixtureFactoryEditorExampleFactory'
tags:
- { name: sylius_fixtures.fixture }
apps/sylius/src/Resources/config/services.yaml
<?php
namespace AppFixture;
use [...]
final class EditorFixture extends AbstractResourceFixture
{
public function getName(): string
{
return 'editor';
}
protected function configureResourceNode(ArrayNodeDefinition $resourceNode): void
{
$resourceNode
->children()
->scalarNode('name')->cannotBeEmpty()->end()
->scalarNode('email')->cannotBeEmpty()->end()
->scalarNode('code')->cannotBeEmpty()->end()
;
}
}
apps/sylius/src/Fixture/EditorFixture.php
final class EditorExampleFactory extends AbstractExampleFactory
{
protected function configureOptions(OptionsResolver $resolver): void
{
$resolver
->setDefault('name', function(Options $options): string {
return $this->faker->company;
})
->setDefault('code', function(Options $options): string {
return $this->faker->uuid;
})
->setDefault('email', function(Options $options): string {
return $this->faker->email;
})
;
}
[...]
}
public function create(array $options = [])
{
$options = $this->optionResolver->resolve($options);
/** @var EditorInterface $editor */
$editor = $this->factory->createNew();
$editor->setCode($options['code']);
$editor->setName($options['name']);
$editor->setEmail($options['email']);
return $editor;
}
Ges$on des State Machine dans une fixture
Ce que l'on a appris
!
• L'infra et l'installa.on
• SyliusFixtureBundle
• Créer un en.té et u.liser le
SyliusGridBundle
• Personnalisa.on de l'admin (Menu et
formulaire)
• State Machine
• Créer une fixture pour son en.té
h"ps://github.com/monsieurbiz/sylius-
Les slides seront également mis à votre disposi3on
!
Ce n'est qu'une mise en bouche !
Merci !
Vos ques(ons
Sylius 1.5 est sor/ ce midi
!

More Related Content

What's hot

The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS FrameworkOdoo
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Amazon Web Services Korea
 
Attacking thru HTTP Host header
Attacking thru HTTP Host headerAttacking thru HTTP Host header
Attacking thru HTTP Host headerSergey Belov
 
Incident Response on AWS - A Practical Look.pdf
Incident Response on AWS - A Practical Look.pdfIncident Response on AWS - A Practical Look.pdf
Incident Response on AWS - A Practical Look.pdfAmazon Web Services
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Eunchong Yu
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsk88hudson
 
DIY guide to runbooks, incident reports, and incident response
DIY guide to runbooks, incident reports, and incident responseDIY guide to runbooks, incident reports, and incident response
DIY guide to runbooks, incident reports, and incident responseNathan Case
 
Sonatype nexus 로 docker registry 관리하기
Sonatype nexus 로 docker registry 관리하기Sonatype nexus 로 docker registry 관리하기
Sonatype nexus 로 docker registry 관리하기KwangSeob Jeong
 
Content Security Policy
Content Security PolicyContent Security Policy
Content Security PolicyAustin Gil
 
20명 규모의 팀에서 Vault 사용하기
20명 규모의 팀에서 Vault 사용하기20명 규모의 팀에서 Vault 사용하기
20명 규모의 팀에서 Vault 사용하기Doyoon Kim
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)Amazon Web Services Korea
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Présentation html5
Présentation html5Présentation html5
Présentation html5Kénium
 
OWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesOWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesChristopher Frohoff
 
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈Amazon Web Services Korea
 
Ask the expert AEM Assets best practices 092016
Ask the expert  AEM Assets best practices 092016Ask the expert  AEM Assets best practices 092016
Ask the expert AEM Assets best practices 092016AdobeMarketingCloud
 

What's hot (20)

The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS Framework
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
 
Attacking thru HTTP Host header
Attacking thru HTTP Host headerAttacking thru HTTP Host header
Attacking thru HTTP Host header
 
Incident Response on AWS - A Practical Look.pdf
Incident Response on AWS - A Practical Look.pdfIncident Response on AWS - A Practical Look.pdf
Incident Response on AWS - A Practical Look.pdf
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scripts
 
DIY guide to runbooks, incident reports, and incident response
DIY guide to runbooks, incident reports, and incident responseDIY guide to runbooks, incident reports, and incident response
DIY guide to runbooks, incident reports, and incident response
 
HTTP Security Headers
HTTP Security HeadersHTTP Security Headers
HTTP Security Headers
 
Sonatype nexus 로 docker registry 관리하기
Sonatype nexus 로 docker registry 관리하기Sonatype nexus 로 docker registry 관리하기
Sonatype nexus 로 docker registry 관리하기
 
Content Security Policy
Content Security PolicyContent Security Policy
Content Security Policy
 
20명 규모의 팀에서 Vault 사용하기
20명 규모의 팀에서 Vault 사용하기20명 규모의 팀에서 Vault 사용하기
20명 규모의 팀에서 Vault 사용하기
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Amazon Macie Demo
Amazon Macie DemoAmazon Macie Demo
Amazon Macie Demo
 
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개 (김상필 솔루션즈 아키텍트)
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
Présentation html5
Présentation html5Présentation html5
Présentation html5
 
OWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesOWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling Pickles
 
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
 
Ask the expert AEM Assets best practices 092016
Ask the expert  AEM Assets best practices 092016Ask the expert  AEM Assets best practices 092016
Ask the expert AEM Assets best practices 092016
 

Similar to Développer sous Sylius en 40 minutes chrono

20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdevFrank Rousseau
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using DockerTamer Abdul-Radi
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!Chris Mills
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkRyan Weaver
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudIsaac Christoffersen
 
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýOSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýNETWAYS
 
Dethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsDethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsJay Harris
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Jen Andre
 
Introducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.jsIntroducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.jsRichard Rodger
 
QConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações WebQConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações WebFabio Akita
 
Modern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDModern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDSean Chittenden
 
Empowering the “Mobile Web” with Chris Mills
Empowering the “Mobile Web” with Chris MillsEmpowering the “Mobile Web” with Chris Mills
Empowering the “Mobile Web” with Chris MillsFITC
 
Empowering the Mobile Web - Mills
Empowering the Mobile Web - MillsEmpowering the Mobile Web - Mills
Empowering the Mobile Web - MillsCodemotion
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"Chris Mills
 
Baking in the cloud with packer and puppet
Baking in the cloud with packer and puppetBaking in the cloud with packer and puppet
Baking in the cloud with packer and puppetAlan Parkinson
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin GeneratorJohn Cleveley
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupalDay
 

Similar to Développer sous Sylius en 40 minutes chrono (20)

20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using Docker
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 Framework
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid Cloud
 
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýOSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
Dethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsDethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.js
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
Introducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.jsIntroducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.js
 
20120816 nodejsdublin
20120816 nodejsdublin20120816 nodejsdublin
20120816 nodejsdublin
 
QConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações WebQConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações Web
 
Modern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDModern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSD
 
Empowering the “Mobile Web” with Chris Mills
Empowering the “Mobile Web” with Chris MillsEmpowering the “Mobile Web” with Chris Mills
Empowering the “Mobile Web” with Chris Mills
 
Empowering the Mobile Web - Mills
Empowering the Mobile Web - MillsEmpowering the Mobile Web - Mills
Empowering the Mobile Web - Mills
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"
 
Baking in the cloud with packer and puppet
Baking in the cloud with packer and puppetBaking in the cloud with packer and puppet
Baking in the cloud with packer and puppet
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin Generator
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
 

Recently uploaded

Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...akbard9823
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewingbigorange77
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewing
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICECall Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 

Développer sous Sylius en 40 minutes chrono