Apprendre Symfony en 1 semaine

Pourquoi apprendre Symfony ? Le contexte : Je cherche des missions PHP

Framework Symfony 2/3, nouvelle façon de coder avec PHPÉtant freelance, il était temps pour moi de trouver une nouvelle mission. Cela fait parti de la vie d’un freelance. Cette fois j’avais pris le temps de me reposer avant de vouloir passer à une nouvelle mission. J’avais pris le temps de mettre mon CV d’ingénieur à jour en essayant de trouver une nouvelle façon de mettre mon CV en page et j’avais aussi mis à jour mon site perso car cela faisait très très longtemps que je ne l’avais pas modifié. Dans un petit coin de ma tête je voulais aussi me former et apprendre Symfony mais j’avais la flemme…

Une fois que tous ces éléments étaient prêts je pouvais me lancer dans la recherche d’une nouvelle mission PHP en ayant toujours pour objectif de trouver une mission en direct. Je savais bien que la tâche ne serait aisée mais j’avais cela en tête, j’essaie autant que faire se peut de ne pas passer par une SSII. Je vais donc lancer mon CV d’ingénieur PHP un peu partout et faire jouer mon réseau.

Connaissant la difficulté de trouver des missions en direct, je réactive quand même mes comptes sur Monster.com, Freelance-info.fr et Hopwork.com pour que mes copains des SSII puissent m’appeler (Je sens que vous sentez le sarcasme!). Effectivement, je n’aime pas du tout les SSII mais la plupart du temps on ne peut pas faire autrement, ils ont des entrées ou des portes feuilles clients assez important et comme je vous l’ai dit réussir à entrer en direct à la BNP ou chez rueducommerce.com ce n’est pas facile à moins d’avoir du piston… mais tout cela n’est pas le sujet du jour qui pourrait faire d’ailleurs l’objet d’un article : Les SSII où le respect n’existe pas !

Mais je vais quand vous raconter une anecdote : Je passais un entretien avec une SSII et le commercial me posait un tas de questions sur le PHP (questions du client) :

  • Qu’est ce que l’injection dépendance ?
  • Qu’est ce que redis ?
  • C’est quoi la factorisation ?
  • Savez-vous vous servir de GIT (jamais utilisé à l’époque) ?
  • Quelle est la différence entre une interface et une classe abstraite

J’avoue que pour le coup je ne pipais rien à ce qu’il disait ! A la fin de l’entretient, il me dit : vous savez je pensais vous placer sur rueducommerce.com mais je pense que vous n’êtes pas assez calé ! Vous allez vous faire casser à l’entretien technique.

Pour le coup, je l’ai un peu mal pris et je me suis dit ah ouais cela se passe comme ça ? Dans ma tête je me suis dit tu vas voir et j’ai fait un peu une fixation sur rueducommerce.com ! Entre temps d’autres SSII m’ont contacté pour un poste chez rueducommerce.com et l’une d’entre elle a pu m’avoir un entretien. Quand j’ai dit cela à la première SSII, tout de suite son état d’esprit à changer vis-à-vis de moi. Il m’a dit :
Attends tu vas voir qui, je te conseille de ne pas y aller tout de suite car tu ne vas pas être prêt, attends un peu je vais t’avoir un rendez-vous.

J’ai décidé d’y aller bien-sûr et j’ai réussi à passer l’entretien technique (et j’ai été accepté pour un poste de développeur PHP), ce n’est pas un exploit en soit mais c’est juste pour dire que les SSII ont une certaine vision de vous qui est très différente selon les SSII. On vous juge sur à peine 15 minutes. Il suffit que vous vous vendiez mal ou que vous disiez quelque chose de travers pour que tout ce que vous avez accompli avant n’ait plus d’importance. Certaines vont croire en vous et d’autres non. Il faut savoir saisir sa chance et ne tissant pas de relation avec les SSII car leur seul but est de vous placer pour faire de l’argent ou ouvrir des comptes chez des clients.
Bien qu’elles puissent dire le contraire c’est un fait, on est du business pour eux. Je ferme la parenthèse !

Lors de mes recherches (début 2016) je me suis vite rendu compte que pratiquement tout le monde cherchait des développeurs ayant pratiqué un framework, en l’occurrence le plus demandé était le framework Symfony 2 ! Pendant mes 8 ans de développement PHP, je n’ai jamais eu l’occasion de travailler sur un framework et j’ai toujours fait du développement PHP POO (Programmation Orienté Objet). Je sentais bien que ce framework montait en puissance mais je n’ai jamais pris le temps de vraiment l’appréhender, j’avais juste lu des 2/3 articles dessus sans m’attarder dessus.

Apprendre Symfony avec des Tutoriels

Apprendre Symfony en 1 semaine Plus j’avançais dans mes recherches et plus je ratais des mission à cause de cela. J’ai donc pris la décision de vraiment me former à ce framework cet Symfony. J’avais cru comprendre que pour ceux qui maitrisait bien la POO cela ne posait pas trop de problème pour faire du Symfony mais que cela pouvait en poser dans le sens inverse. Lors de certains entretiens j’ai eu des personnes qui cherchaient plus des bons développeurs PHP en POO qui pourraient s’adapter facilement à Symfony que des personnes qui avaient fait exclusivement du Symfony. Donc chacun se fera une idée sur le concept, j’ai un peu de mal à comprendre car Symfony facilite effectivement pas mal de choses, on peut vite devenir un assisté du PHP si on est face à du PHP pur et que cela fait longtemps que l’on fait du Symfony mais bon si on sait faire du Symfony on sait faire du PHP !

Je me suis donc mis à chercher des tutoriels sur Symfony 2 pour en apprendre le plus sur ce framework. J’ai trouvé pas mal de choses et j’ai donc décidé de commencer par la création d’un blog en Symfony 2. Pour moi c’était une bonne façon de commencer.

Apprendre Symfony avec la création d’un blog

J’ai suivi tout le tutorial : Création d’un blog avec Symfony2 de keiruaprod jusqu’à la fin et la première impression que j’ai eu : c’est que Symfony c’était facile et pas mal fait. Pour moi c’était plus une nouvelle façon d’écrire et d’organiser son code. Ayant quand même développé pas mal d’outils Back-office pour mes clients je n’étais pas perdu ! Cela faisait une chose à montrer lors de mes entretiens pour dire que j’avais fait un peu de Symfony. J’ai suivi ce tutorial en 3 jours mais je n’ai jamais passé des journées complètes dessus.

Voici les éléments que vous verrez dans ce tutoriel :

  • [Partie 1] – Configuration de Symfony2 et utilisation des templates
  • [Partie 2] – Page de contact : validateurs, formulaires et envoi d’emails.
  • [Partie 3] – Le modèle d’article : utilisation de Doctrine 2 et des données factices
  • [Partie 4] – Le modèle de commentaires : ajouter des commentaires, dépôts Doctrine 2 et migrations.
  • [Partie 5] – Personnalisation de la vue : extensions Twig, barre latérale et Assetic
  • [Partie 6] – Les tests unitaires et fonctionnels avec PHPUnit

Après avoir fini ce tutoriel, je me suis rendu compte que pour un développeur PHP avec 8 ans d’expérience, c’était un peu léger. Je suis re-parti à la recherche d’un autre tutoriel un peu plus conséquent et rien de mieux qu’un site e-commerce en Symfony 2 pour partir sur du lourd !

Apprendre Symfony avec la création d’un site e-commerce : niveau supérieur

Apprendre Symfony avec DevAndClickJe suis donc tombé sur les tutoriels vidéos de devandclick.fr :
Tutoriel Symfony2 – Apprendre à développer un site Ecommerce
Voici le lien vers la chaine Youtube de DevAndClick :

En parcourant les intitulés des 41 épisodes j’ai vu que l’on allait vraiment parcourir pas mal de choses sur Symfony 2 et puis cela tombe bien j’ai déjà développé un site e-commerce de A à Z, je ne vais pas être dépaysé.

Je vous conseille quand même de bien regarder la première vidéo en entier pour voir si le ton de l’auteur vous plait car vous allez passer un peu de temps avec lui si vous suivez toutes les vidéos !

  • Épisode 1 – L’architecture du framework Symfony2
  • Épisode 2 – Créer un Bundle sur Symfony2
  • Épisode 3 – Les vues avec TWIG
  • Épisode 4 – Mise en pratique des acquis
  • Épisode 5 – Le template Ecommerce
  • Épisode 6 – Comprendre et gérer les entités
  • Épisode 7 – Installer le bundle FOS User
  • Épisode 8 – Surcharger les vues du bundle FOS User
  • Épisode 9 – Apprendre à maîtriser les formulaires avec Symfony2
  • Épisode 10 – Les entités et les relations avec doctrine
  • Épisode 11 – Apprendre à créer des fixtures
  • Épisode 12 – Rendre le site Commerce dynamique
  • Épisode 13 – Créer vos QueryBuilder avec doctrine sur Symfony2
  • Épisode 14 – Créer une Extension Twig personnalisée
  • Épisode 15 – Gérer les sessions avec Symfony2 (partie 1)
  • Épisode 16 – Gérer les sessions avec Symfony2 (partie 2)
  • Épisode 17 – Créer un « Listener » avec Symfony2
  • Épisode 18 – Gérer le panier de votre site Commerce
  • Épisode 19 – Forwarder sur un autre contrôleur
  • Épisode 20 – Apprendre à utiliser les services
  • Épisode 21 – Créer une pagination avec Symfony2
  • Épisode 22 – Créer une administration avec Symfony2
  • Épisode 23 – Installer CKEditor sur un projet Symfony2
  • Épisode 24 – Utiliser les formulaires imbriqués
  • Épisode 25 – Upload une image avec Doctrine
  • Épisode 26 – Mise en pratique des acquis
  • Épisode 27 – Gérer les commandes dans l’administration
  • Épisode 28 – Gérer les utilisateurs et les factures
  • Épisode 29 – Utiliser Swiftmailer avec symfony2
  • Épisode 30 – Utiliser les thumbnails avec le Framework Symfony2
  • Épisode 31 – Utiliser les Assert Validation avec Symfony2
  • Épisode 32 – Créer vos propre commande avec Symfony2
  • Épisode 33 – Utiliser l’Ajax avec Symfony2 (Partie 1)
  • Épisode 34 – Utiliser l’Ajax avec Symfony2 (Partie 2)
  • Épisode 35 – Traduire son site avec Symfony2
  • Épisode 36 – Créer une Contrainte de Validation Personnalisée
  • Épisode 37 – Installer les extensions doctrine Symfony2
  • Épisode 38 – Utiliser l’extension Sluggable avec Symfony2
  • Épisode 39 – Utiliser l’extension softdeleteable avec Symfony2
  • Épisode 40 – Créer de nouveaux Environnements
  • Épisode 41 – Utiliser l’extension logeable avec Symfony2

Apprendre Symfony avec les tutoriels vidéosComme le titre de cet article l’indique, je n’ai pas passé 1 semaine sur ces vidéos mais plus 1 semaine et demi tout dépend de son emploi du temps. Mais sachez que vous pouvez suivre les vidéos en 1 semaine sans devenir fou ou en quelques jours qui vous êtes super chaud ! Après chacun son rythme ! On peut imaginer un développeur voulant se former sans se presser et faire 1 à 2 vidéos par soir. Le principal c’est de bien comprendre ce que l’on fait. L’approche des tutoriels en vidéo est vraiment bonne car on est moins tenté de faire des copier/coller, cela nous force à lire et à comprendre ce que l’on fait. On découvre progressivement la logique de programmation.

Ce qui est bien aussi avec les tutoriels DevAndClick sur Symfony c’est la mise à disposition régulière des sources au cas où on aurait manqué quelque chose ou que l’on serait complètement largué ! Plusieurs fois je me suis servi des sources pour vérifier mon code et aussi pour récupérer les templates HTML. (la flemme de faire des choses aussi faciles) ! On pourrait faire du copier/coller sauvage mais le but comme je vais le répéter ce n’est pas de finir le plus vite possible (on n’est plus à école) mais vraiment d’apprendre Symfony.

Bien suivre les tutoriaux va nous permettre de ré-utiliser ses sources quand on en aura besoin de la vraie vie (le travail !). Avec DevAndClick, on va apprendre un tas de choses que l’on ne pas forcement retenir sur le moment, on va comprendre et digérer le concept mais pour le coder cela sera autre chose. Donc si on s’en souvient, on récupère ses sources, on regarde et hop on a la solution et on peut avancer sur son projet professionnel. Cela m’est arrivé plusieurs de fois.

Si je parle des tutoriels de DevAndClick, c’est que j’ai vraiment aimé ce qu’ils m’ont apporté. Je suis sorti des ces 41 épisodes en ayant vraiment des bases solides pour créer un application PHP en Symfony 2/3 et cela en à peine 1 semaine. Pour moi cela a été efficace et complet. Après cela dépendra de chacun mais moi en ne connaissant rien à Symfony mais étant quand un bon développeur c’est passé comme une lettre à poste ! N’oubliez pas aussi le cookbook Symfony qui va aussi vous aider pour mieux comprendre Symfony.

Apprendre Symfony avec le CookbookEt j’en suis d’autant plus content que j’avais un copain qui cherchait un développeur PHP / Symfony pour créer une nouvelle application, il m’en avait déjà parlé mais à l’époque je n’étais pas vraiment au point et je lui avait dit que je n’étais pas sûr de moi à propos de Symfony. Je ne voulais pas non plus qu’il se mette en porte-à-faux par rapport à sa direction en m’ayant choisi. C’est un peu aussi pour cette raison que j’ai voulu vraiment mettre à jour sur Symfony. Donc quand j’ai pu finir les tutoriels, je lui ai présenté le site e-commerce en Symfony et pour le coup le lendemain j’ai reçu un coup de fil me disant qu’il était partant pour travailler avec moi. Donc pour le coup j’ai été vraiment content !

Sur la mission où je suis entré, je n’ai pas été débordé par le projet que je commençais de zéro, j’ai mis en place la configuration, créer les entités, les contrôleurs, installé un thème Back-Office via Twig, créé la gestion des utilisateurs sans FOSUserBundle. J’avais mes sources avec moi et notre à ami à tous Google. Cela veut quand même dire que j’étais bien préparé avec des bonnes bases !

Conclusion : Tout cela pour dire quoi ?

  • Quelque soit notre age, il est toujours temps d’apprendre, il faut un peu de volonté
  • Symfony 2 c’est facile, si on gère bien le PHP POO
  • Avec internet, on peut tout apprendre, merci aux personnes qui se butent pour mettre en ligne leurs tutoriels
  • Merci DevAndClick
  • Maintenant je peux dire que je suis un développeur PHP Symfony 2/3
Share Button