Plan d’auto-formation à Symfony2 et les concepts associés

Voici un plan d’auto formation à Symfony2 et ses concepts associés. Cet article comporte beaucoup de liens vers différentes documentations qui vous permettrons d’appréhender simplement Symfony2 et le monde de la qualité de code de PHP.

Sommaire

La base

Un cours en anglais sur PHP 5.4 et supérieur ainsi que les concepts associés. C’est un bon rappel sur les bases et une bonne entrée en matière sur des sujets plus poussés. Il permet, entre autre, de mettre des noms sur des utilisations de PHP que nous avons au quotidien. http://edu.williamdurand.fr/php-slides/

Site officiel du framework : http://symfony.com
Il vous faudra bien deux jours pour la lire. Prenez les, c’est nécessaire.

Les bonnes pratiques liées au framework : http://symfony.com/doc/current/best_practices/index.html

L’application de démonstration des bonnes pratiques : https://github.com/symfony/symfony-demo

Documentation principale : http://symfony.com/fr/doc/current/book/index.html
Cette documentation permet de faire un tour complet du framework avec une progression dans son appropriation. C’est là documentation de référence à consommer sans aucune modération.
→ À regarder régulièrement car en constante évolution.

Coockbook : http://symfony.com/doc/current/cookbook/index.html
Liste de recettes de cuisines qui couvrent la quasi-totalité des problématiques que nous rencontrons.
→ Pareil, de nouvelles « recettes » sont proposées régulièrement.

Composer : https://getcomposer.org/
Composer est un outil de gestion de dépendances. Il vient en remplacement de PEAR. Ce composant est vital pour la totalité des projets Symfony2. Il permet de charger l’ensemble des bundles qui composent un projet et de les garder à jour.
Une introduction à Composer en vidéo : http://clermontech.org/talks/api-hour-3/2-kevin-gomez-introduction-a-composer.html

Twig :
Twig est le système de templating par défaut de Symfony2. Il est pratique, puissant et ses fonctionnalités peuvent facilement être étendues.
Organiser ses templates TWIG : http://lyrixx.github.io/SFLive-Paris2013-Twig/

git :
La documentation officiel de git : http://git-scm.com/documentation
Apprendre à utiliser git en 15 minutes : https://try.github.io/levels/1/challenges/1

Les standards

 

Rédaction de code

http://www.php-fig.org/psr/psr-1/
http://www.php-fig.org/psr/psr-2/

Numérotation des versions

http://semver.org/

 

La POO

Cette partie contient des articles traitant de la Programmation Orientée Objet. Ils vous permettront d’approfondir vos connaissances dans ce domaine. C’est un excellent préambule pour comprendre comment organiser son code et arriver à construire des applications robustes, maintenables et testables.

Cinq motifs classiques de conception pour PHP

http://g-rossolini.developpez.com/tutoriels/php/ibmdw/5-design-patterns/
Cet article traite de cinq motifs de conception pour PHP : Factory, Singleton, Observer, Chain-of-commande, Strategy

 

DDD Domain Driven Design

D’un pattern design STUPID à SOLID : http://williamdurand.fr/from-stupid-to-solid-code-slides/#/

Les Tests, unitaires et fonctionnels

Ici une liste de liens pour apprendre et comprendre les tests. En plus d’apprendre à construire des tests unitaires et fonctionnels, cela vous éclairera sur la façon de concevoir votre code.

 

PHPUnit

PHPUnit est le framework de test php par excellence : http://phpunit.de/

Pour aller plus loin avec PHPUnit, vous pouvez lire :
http://julien-pauli.developpez.com/tutoriels/php/phpunit-avance/
http://blog.lepine.pro/php/mutation-testing-en-php-indicateurs-de-qualite-des-tests-unitaires/

Adoptez le TDD sur vos projets Symfony2 Existants

Les deux liens ci-dessous sont complémentaires : le premier mène aux slides utilisés dans la vidéo du second.
https://speakerdeck.com/benjam1/adoptez-le-tdd-sur-vos-projets-symfony2-existants
http://www.theodo.fr/blog/2013/08/adoptez-le-tdd-sur-vos-projet-symfony2-existants/

Développement Dirigé par les Tests

http://bruno-orsier.developpez.com/tutoriels/TDD/pentaminos/
Ce tutoriel traite du développement dirigé par les tests et l’illustre avec une application en C#.
Bien que le langage de programmation soit différent, le concept est le même avec d’autre langage.

Liens annexes

Chaîne Youtube de SensioLabs – Conférences autours de Symfony : https://www.youtube.com/user/SensioLabs/videos

Sécurité :
https://security.sensiolabs.org/ permet de savoir si l’un des composants que vous utilisez a des failles de sécurité connues.

Association Francophone des Utilisateurs de Symfony : http://afsy.fr/
Association de Clermont-Ferrand : http://clermontech.org/talks/

Flux RSS

[vital] http://feeds2.feedburner.com/symfony/blog Ce flux permet de suivre les évolutions du framework. Chaque semaine un rapport est édité pour présenter les changements des différentes branches du framework. De plus il contient une liste de liens vers des sites qui traitent de Symfony.

http://feeds.fabien.potencier.org/aidedecamp Pour suivre les pensées de Fabien Potencier. Certain articles traitent de l’avenir du framework, d’autre sont plus des pensées philosophiques de développeur.

http://kriswallsmith.net/rss Créateur d’Assetic, pour la gestion des ressources (images, js, css, less, …)

http://www.theodo.fr/blog/feed/
http://feeds.feedburner.com/BlogSymfony-LexikMontpellier
http://www.pmsipilot.org/feed/

http://www.mikaelrandy.fr/feed/
http://feeds2.feedburner.com/AmicalementWeb

http://www.craftitonline.com/feed/
http://obtao.com/blog/feed/
http://www.whitewashing.de/rss.xml
http://blog.damienalexandre.fr/index.php?feed/rss2
http://feeds.feedburner.com/jeremy-barthe
http://symfonic.fr/fr/feed/

Tagués avec :
Publié dans Non classé, PHP, Symfony2

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*