Salut,3WAcademy - Semaine 12 - logo

Cette fois c’est bel et bien terminé. La formation s’achève sur une bonne note, puisque j’ai appris beaucoup de choses et cerise sur le gâteau, j’ai réussi le QCM de validation de la formation! Certains vont probablement penser qu’un QCM c’est facile, et que ça ne prouve rien. C’est possible et ils ont peut-être raison, mais il y a des questions pas si évidentes que ça. 

Nous avons aussi présenté nos projets à toutes la promo et pris un peu plus le temps d’échanger sur nos productions. Pour ma part, je vais continuer à travailler dessus. J’ai envi de conduire ce projet plus loin, ce qui me permettra de travailler un peu plus avec les objets en PHP et de manipuler le modèle MVC grâce au framework de la 3WA.

Nous avons eu aussi une initiation à Symfony, le framework PHP que je souhaite apprendre à manipuler ensuite. On a passé qu’une demie journée à découvrir Symfony, donc j’ai tout à apprendre, mais pour avoir utilisé le modèle MVC et un framework pour le projet, on a bien compris à quoi servait un framework PHP et cette initiation nous a permis de commencer à découvrir la puissance d’un outil comme Symfony.

Comme je l’avais promis depuis le début je crois, un bilan s’impose au bout de 12 semaines de formation intensive.

Le contenu de la formation

Si tu as suivi mes articles, tu t’es certainement rendu compte qu’on avait vu 5 langages en trois mois:

  • HTML,
  • CSS,
  • Javascript
  • PHP
  • MySQL

On passe bien sur peu de temps sur chaque langage, ce qui permet d’avoir des bases dans tous ces langages mais cela signifie aussi qu’on n’a pas forcément le temps de tout utiliser 15 fois. Les notions s’enchainent très vite et il ne faut pas en perdre une miette! J’ai eu le malheur de manquer une journée, je suis bizarrement tombé malade dans l’environnement pure et sain de Paris… bizarre non? Bref, j’ai loupé une journée cruciale puisque c’était celle où la programmation orientée objet en Javascript a été abordée et j’ai ensuite ramé pour rattraper le retard sur cette notion. Il va falloir que je continue à travailler avec des objets puisque c’est une façon de coder omniprésente, tout est objet, et il est fondamental de maîtriser cela donc encore des choses à travailler sur ce sujet!

Avant et après…

En arrivant à la 3WAcademy, j’avais quelques bases en HTML, CSS, Bootstrap et Javascript, acquisent notamment grâce aux formations Openclassrooms et d’Anthony Welc. J’ai donc pu, grâce à ce petit bagage que j’avais en arrivant, profiter des conseils et bonnes pratiques que nous donnent les formateurs. J’étais aussi venu pour ça en réalité!

Rapidement je me suis rendu compte que je codais beaucoup mieux, et que j’utilisais désormais des propriétés CSS en connaissance de cause. Par exemple, j’ai découvert flexbox assez vite dans mon parcours autodidacte, du coup j’utilisais assez rarement les positionnements block ou inline-block qui sont parfois suffisant. De plus les nombreux projets que nous avons eu, m’ont permis d’être beaucoup plus précis dans mes mises en formes CSS. Le fait  de travailler avec la maquette en arrière plan m’a conduit à aller beaucoup plus loin dans le détail, ce qui a été plutôt une bonne chose.

Coté développement, les cours et les projets m’ont permis d’utiliser beaucoup mieux les fonctions en Javascript puis bien sur en PHP. En arrivant à la 3WAcademy, je n’avais pas un gros bagage en JS et je ne comprenais pas trop comment appeler correctement une fonction, comment la construire, pourquoi lui passer des paramètres, quoi retourner… Bref certainement des questions et des problèmes que tu as si tu démarres?

Découverte d’UML

De plus, notre formateur nous a incité tout au long de la formation de faire des schémas type UML pour nous aider à nous représenter notre code et à réfléchir comment le construire avant de nous jeter comme des fous sur nos claviers sans idées précises sur ce que nous devions faire… Donc cette façon d’aborder le code a été une très bonne découverte qui sera à développer ensuite. De plus je trouve que je ne suis pas très bon en algorithme, travailler avec des schémas devrait m’aider à progresser dans ce sens.

Concernant PHP, j’ai découvert la puissance de ce langage que j’aime beaucoup! Je compte me spécialiser dans ce langage, j’ai donc encore plus de chose à apprendre pour être vraiment bon. Je suis parti de zéro en PHP et je dois dire que je suis capable désormais de faire quelques trucs sympa en un mois et demi seulement. Si on m’avait dit qu’au bout de trois me serais en mesure de faire un projet e-commerce seul, je n’y aurais pas cru. Alors qu’en fait j’ai fait mon projet de fin quasiment tout seul, et on a pu présenter des fonctionnalités sympa. Même si je suis loin de maîtriser ce langage, je me suis vraiment éclaté à faire tous les exercices. Il n’y a bien que sur celui sur les objets que j’ai séché…

Le projet de site e-commerce

Lorsque nous avons démarré le projet j’étais plus que sceptique sur ma capacité à produire quelque chose en une semaine. Il fallait adopter le modèle MVC, une première, utiliser un framework dont j’ignorais le fonctionnement et utiliser tout cela avec des objets PHP… Cela faisait beaucoup d’un coup, mais au bout d’une grosse journée de test j’ai fini pas comprendre comment tout cela fonctionnait ensemble et ensuite c’était parti! Bilan des courses j’ai appris plein de choses, eu un peu de mal par moment, ça s’appelle l’apprentissage, mais je suis assez satisfait de mon projet même si c’est pas le projet de l’année. Mon objectif était de produire des fonctions de base qui me permettent de faire marcher le site sans trop rentrer dans le détail. Comme je le disais en introduction, je vais continuer de travailler dessus après la formation. Tu peux voir où le projet en est sur GitHub et suivre les évolutions si ça t’intéresse.

3WAcademy - Semaine 12 - projet e-commerce

Encore du travail avec MySQL

Pour ce projet je vais avoir notamment besoin de retravailler sur la base de données je pense car il y a des choses qui ne vont pas marcher correctement… J’ai encore beaucoup de chose à apprendre en MySQL aussi. J’ai d’ailleurs des difficultés à concevoir une base de données correctement, à construire les bonnes relations entre table. Ensuite il faut aussi que je progresse dans la complexité de mes requêtes. Pour le moment j’ai fait des requêtes assez simple, donc il faut que j’aille plus loin. 

Je dois dire que je n’aurais pas imaginé produire un tel code il y a trois mois! Je peux donc facilement mesurer les progrès sur des langages  (PHP et MySQL) que  je ne connaissais pas il y a encore un mois et demi!

La ligne de commande Unix

Dernier point  technique concernant la ligne de commande. Cette formation m’a permis de m’initier à un sixième langage: la ligne de commande Unix! C’est un peu austère à utiliser mais c’est vraiment un outil indispensable, notamment quand on utilise GitHub ou quand on souhaite installer des packages pour PHP, comme Composer ou Sami. Il faut vraiment que j’apprenne à utiliser correctement ce langage pour pouvoir naviguer dans mon système et installer correctement ce que je veux.

Autre chose, lorsqu’on veut installer un Apache, MySQL et PHP sur un serveur, tout se passe en ligne de commande, donc il est important à mon avis de savoir faire ça aussi. J’ai échangé il y a peu avec un chef d’entreprise qui m’a fortement conseillé d’avoir des connaissances concernant l’installation et la configuration d’un serveur. Même si c’est un métier à part entière, il m’a indiqué que ça faisait partie des soft skills pour un développeur, donc je vais essayer de me documenter à ce sujet aussi!

Documenter son code

Autre chose importante concernant la documentation. Notre excellent formateur en développement nous a sensibilisé tout au long de la formation à la clarté du code et concernant PHP à la documentation. Nous avons installé un plugin ATOM (éditeur de code) qui s’appelle Dockblokr et qui permet de faire des « Docblock », qui sont des blocks de commentaires un peu particuliers puisqu’ils permettent de documenter notre code.

Ensuite avec un package PHP qui s’appelle SAMI, ce docblock est récupéré et une documentation sous forme de page HTML est générée. Donc en prenant le temps et le soin de documenter notre code au fur et à mesure on peut facilement faire une bonne documentation. Je dois terminer cela pour mon projet  mais c’est vraiment un super outil que j’utiliserais souvent!

Voici une méthode issue d’un controller (CreateaccountController.class.php), comportant un block de documentation, situé au dessus de la déclaration de la fonction:

3WAcademy - Semaine 12 - extrait methode PHP

Voici ensuite l’interface de documentation qui est généré en HTML grâce à SAMI. Je n’ai rien codé de tout cela, le package s’occupe de tout. Il faut juste veiller à bien rédiger la documentation lors de l’écriture de la fonction.

3WAcademy - Semaine 12 - documentation PHP avec SAMI

Les points négatifs

Alors parce qu’on est pas dans un monde de bisounours et que forcément il y a des choses qui ne m’ont pas plu, je trouve quelques points négatifs à cette formation. Il n’y en a pas beaucoup donc je vais les énumérer rapidement:

La frustration

Parfois on passe vite sur une notion et on aimerait aller plus loin ou continuer à pratiquer parce qu’on a pas bien compris. Je parle ici notamment de la partie sur les objets. Ce peu aussi être vu comme un point positif, puisque lorsqu’on a  bien compris quelque chose, on a souvent envi d’aller plus loin. Malheureusement, il faut avancer et passer à autre chose…  Donc bon point malgres tout, parce qu’on se projette assez vite sur autre chose, on trouve généralement seul des idées d’applications pour aller plus loin, où on se rattache à quelque chose qu’on a déjà vu sur un site web. Les sujets abordés suscitent tous l’intérêt, je ne me suis jamais ennuyé!

Le groupe

Je me suis bien entendu avec tout le monde mais il n’y a pas vraiment eu de dynamique de groupe et je trouve ça un peu dommage. Il y a eu trop de personne qui se sont exclu en n’étant pas très assidue. Par exemple sur les deux derniers projets je suis parti d’un groupe de 3-4 pour finir à 2… donc forcément quand certains sont 4 et que toi tu te retrouves avec un collègue à faire le boulot de 4, tu fais moins de choses… Donc j’ai trouvé ça assez chiant… Après il n’y a pas de secret non plus, ceux-là n’ont pas réussi le QCM…

Je ne me rappelle pas si j’en avais parlé plus tôt mais je me suis même un peu agacé une fois. Alors qu’on démarrait tout juste Javascript certains se sont plaint de ne rien comprendre et ont rejetté la faute sur le formateur… Ils ont donc réclamé à faire des révisions sur les bases, utilisations de variables, boucles, conditions, fonctions, etc… c’était un vendredi… Et bien je te le donne en mille, le lundi les mêmes qui criaient au scandale de ne rien comprendre, d’avoir payer 3000€ pour être à la ramasse au bout de 2 semaines, etc… n’ont rien foutu le lundi matin pendant les révisions et ont même trouvé le moyen de mettre le bordel.. donc là avec ma tronche de barbu mal réveillé un lundi matin, j’ai gueulé… Aucun respect non plus pour le formateur au passage qui s’est tapé tout le week end à écrire des exercices pour ces même personnes… On a passé 2 jours non prévu au programme à reprendre des bases pour finalement rien… Ce qui me ramène à la frustration que j’évoquais plus haut, puisque les 2 jours qu’on a perdu nous ont manqués à la fin sur la programmation orientée objet par exemple et bien sur les personnes qui t’ont fait perdre du temps au départ ne sont plus là à la fin… donc merci d’avoir fait perdre du temps à tout le monde… et de s’être tiré dès que s’est devenu compliqué pour vous… assez vite d’ailleurs… bref…

A part ça je profite de cet article pour remercier les personnes avec lesquelles je me suis bien entendues et j’ai apprécié travailler : David, Samuel, Cletus, Benjamin, Sébastien, Lionel, Benoît, Jason, Kim et Mickael. Vous vexez pas les gars, je n’ai pas mis par ordre de préférence.. ahah. Bon courage pour la suite et à très vite j’espère!!

Combien ça m’a couté

Donc là j’imagine que j’aborde un point important, et ça a été un peu le fil rouge de l’été dernier… Si tu n’as pas suivi les épisodes concernant ce sujet, tu peux lire mes articles concernant Pôle Emploi sur ce blog. Pour faire court, ça a été pénible, pour finalement pas grand chose… (Premier rendez-vous Pôle EmploiMettre ma reconversion pro sur les rails, Suite des échanges avec Pôle Emploi).

Pour rappel, j’avais demandé un financement CPF à hauteur de mes 113h disponibles. Pour une raison qui m’est inconnue, seules 68h ont été débloquées.

Voici donc le calcul de ce que prends en charge le CPF:

68h à 7.5€/h = 510€

Reste donc à ma charge : 400h – 68h = 332 h à 7,50 €/h, il me reste donc 2490 € à payer.

A cela il faut ajouter 5 repas par semaines pendant 12 semaines. Je suis arrivé à manger pour une dizaine d’euro en moyenne tous les jours en mangeant à ma faim pas d’inquiétude!

Ce qui fait un budget repas à : 5 x 12 x 10 = 600€

Ensuite n’étant pas Parisien, j’ai découvert les joies de la RATP. L’abonnement mensuel est de 75€ donc pour trois mois cela m’a couté 75 x 3 = 225€

Pour finir la SNCF… Je suis rentré quasiment tout les week end. J’ai pris une carte week end à 75€ puis chaque voyage m’a couté en moyenne 75€ sur 10 week ends:

10 x 75 + 75 = 775€

Voici le total de la facture = 4112,5€. (sans billet de train : 3337,50 €).

Avec des indemnités Pôle Emploi à 1150€, je ne te cache pas que je n’ai pas gagné d’argent. Pour les retours le week end c’est un choix personnel pour ma santé mentale : Paris la semaine ça me suffisais, il me fallait de la verdure et du calme le week end!

Cela fait une belle somme, mais j’espère pouvoir la rentabiliser rapidement en trouvant un travail rapidement après mon stage. Ce qui me conduit à la dernière partie de cet article

3WAcademy - Semaine 12 - fin de la formation

The End…

Et après…?

Je retire un bilan très positif de cette formation que je ne peux que recommander. C’est très orienté métier donc pas de surprise, on est la pour de venir des professionnels, pas seulement là pour changer la police et mettre du texte en rouge.  J’ai appris beaucoup plus vite avec cette formation que je ne l’aurais fait en autodidacte à la maison.

Openclassrooms reste un très bon complément. Je me suis d’ailleurs souvent servit des cours sur PHP pour reprendre le soir et le week end ce qu’on faisait la semaine.

Objectif : Stage!

Je souhaite désormais trouver un stage assez long (entre 3 et 6 mois) dans un premier temps afin de poursuivre mon apprentissage, en espérant pouvoir être embauché dans la même entreprise ensuite. J’ai quelque piste et réussit à trouver un peu de temps pour refaire mon CV et rédiger des lettres de motivations entre deux projets.

Je souhaite travailler en agence afin de n’avoir que du code à faire. Je n’ai pas envi de travailler en indépendant et de devoir consacrer du temps à faire autre chose que coder. J’ai encore beaucoup de chose à apprendre et à consolider, donc si au milieu de tout ça il faut trouver le temps de démarcher et de faire du commercial, j’ai peur de diluer ce que j’ai appris qui n’est pas encore assez mure dans des activités annexes.

Programme d’apprentissage pour 2018

Je sais que certains trouvent un emploi directement après la formation donc c’est tout à fait possible, mais en ce qui me concerne, je suis de nature prudente et je ne veux pas griller des étapes. J’ai d’ailleurs d’ores et déjà un programme d’apprentissage pour 2018:

  • Consolider mes connaissances en PHP et aller plus loin avec la POO,
  • Apprendre à utiliser Symfony et refaire les projets de la 3WAcademy avec ce framework plutôt qu’avec celui de la 3WA,
  • Revoir la POO en Javascript, et poursuivre mon apprentissage en Javascript de manière générale,
  • Se mettre à REACT JS, histoire de maitriser un framework JS. Pour ça, j’ai les formations d’Anthony Welc qui m’attendent et que j’ai hâte de démarrer!

Là je pense que j’ai largement de quoi m’amuser pour l’année qui vient! Sans compter que j’ai des projets à réaliser pour des « clients » qui sont le plus souvent des personnes de mon entourage.

Le portfolio de la 3WAcademy

Dernier point, il faut que je réalise un projet mélangeant les 5 technologies enseignées à la 3WAcademy pour obtenir la certification RNCP de niveau 3 (équivalent bac_2).  Il faut faire un portfolio ou un projet quelconque pour vue que j’utilise HTML, CSS, JS, PHP et MySQL. Je pense que j’aurai l’occasion d’en reparler dans le courant de l’année.

D’ici là je te souhaite de passer un très bon réveillon, et je te dis à l’année prochaine qui s’annonce chargée!

Un grand MERCI à Estelle, Michel, Nicolas, Jean-Baptiste, Xavier, Julie, Claire, Yaëlle, … et j’oublie sûrement d’autres personnes!

Guillaume