very lastroom symfony1 vers symfony2 en douceur

15
VERY LAST-MINUTE HOTEL DEALS De symfony 1 vers Symfony 2 en douceur <3 sfLive Paris 2013

Upload: sebastien-houze

Post on 21-Jun-2015

1.057 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Very lastroom   symfony1 vers symfony2 en douceur

VERY LAST-MINUTE HOTEL DEALSDe symfony 1vers

Symfony 2en douceur <3

sfLive Paris 2013

Page 2: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

VeryLastRoom

Application iPhone de réservation de chambres d'hôtels le jour même pour le soir même, à prix cassé.

๏ 1ères lignes de code en 2011 avant Symfony 2.๏ 40% du code historique symfony1 migré.๏ Toute nouvelle fonctionnalité sous Symfony2.

Page 3: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Qui suis-je ?

๏ Développeur symfony depuis 2007.๏ +10 ans d'expérience sites internet à forte audience.๏ Speaker sfPot Marseille.๏ Contributeur, dont symfony & hoa-project.

Sébastien HOUZÉCTO VeryLastRoom@sebastienhouzehttp://github.com/shouze

Sébastien HOUZÉ05 - 06 mars 2012 (1 nuit)

Page 4: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Let’s Go !

php > 5.3 ?PSR-0 ?

Avant de commencer...

Page 5: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Comment je peux préparer mon code symfony1 à migrer ?

๏ Isolez le code métier non couplé à symfony1 dans des bibliothèques.๏ Passez aux namespaces.๏ Avec composer bénéficiez de l’autoloader PSR-0 ;)

๏ Tip: utilisez satis au lieu de packagist pour les bibliothèques privées.

Page 6: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

ExempleDoctrine 1 comme dépendance via composer

php 5.4Doctrine Ready!

Page 7: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Que dois-je migrer en premier ?

๏ Vos bibliothèques, qui sont maintenant installables en un clin d’œil via composer ;)

๏ Commencez par des couches applicatives basses, comme votre modèle de données.

Page 8: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Mon modèle de données est migréComment l’exploiter ?

Be DaaS!

Data as a Service

Constat Persistez les modèles dans votre app Sf2 !

Contrôleur sf1

Modèle SAVE

Client RESTsf1 POST, PUT, PATCH

suggestion : guzzle

ContrôleurREST Sf2Lecture

70 %

Écriture30 %

Répartition des requêtes

Page 9: Very lastroom   symfony1 vers symfony2 en douceur

Testez!test is g

ood

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Comment être sûr de ne pas entraîner de régressions ?

Unitairement Fonctionnellement Continuellement

+atoum Hoa project

Travis CI

Gitlab CI

Jenkins CI

Offre pro pour dépôts git privés

Copycat de travis, prometteur

Former Hudson, la tradition

Behavior Driven DevelopmentComing soon

Behat

Page 10: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Tests unitaires atoumPrincipaux avantages

๏ Possibilité d’écrire les tests en mode story (à la façon de Behat).๏ Mock des objets puissant.๏ Intégration prochaine de tests par contrat via Hoa / praspel

Consultez la (très bonne) présentation d’atoumde Stéphane PY

http://prezi.com/pr_8ylm4dxxt/atoum/

Page 11: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Tests fonctionnels BehatUn test écrit pour votre app sf1 fonctionne directement sous Sf2!

Page 12: Very lastroom   symfony1 vers symfony2 en douceur

Ajoutez un

aiguilleur!

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Comment migrer partiellement mon API REST sf1 ?

App sf1 App SF2

GET /resource

Bénéficiez immédiatement du travail en cours sous Sf2 ;)

Page 13: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Comment migrer partiellement mon frontend/backend ?

๏ Partager la session sf1 dans votre app Sf2 : TheodoEvolutionSessionBundle

๏ Ajouter une authentification centrale (CAS, LDAP, SAML...)

๏ Authentification à la OAuth

Authentification Contenu

๏ JSON-P / CORS vers app Sf2

๏ Proxyiser appel vers un contrôleur Sf2 depuis sf1

Page 14: Very lastroom   symfony1 vers symfony2 en douceur

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Comment être sûr que je ne vais pas dégrader les performances ?Graphes Audit

ou Graphite

Page 15: Very lastroom   symfony1 vers symfony2 en douceur

Questions ?

sfLive Paris - 5 mars 2013 - de symfony 1 vers Symfony 2 en douceur <3 - Sébastien HOUZÉ

Nous rejoindre [email protected]