Transcription texte de la vidéo
Peut-être que tu souhaites devenir développeur PHP et que te tu demandes quelles sont les technologies qu’il faut maitriser lorsque l’on souhaite devenir développeur PHP.
Tu te demandes qu’est ce qui fait un bon développeur PHP ? Quelles sont les technologies à maitriser lorsque l’on souhaite postuler en tant que développeur PHP.
Développeur PHP ce n’est pas uniquement connaitre le langage PHP. C’est aussi connaitre tout un environnement de travail.
Dans cette vidéo, je vais te partager, les 7 technologies principales à connaitre lorsque l’on veut devenir développeur PHP.
Le langage PHP
La première chose, tu l’auras deviné, c’est le langage PHP. Il faut apprendre la syntaxe (la première étape), ensuite toutes les bases de PHP : les variables, les conditions, les tableaux, la programmation orientée objet. C’est très important de connaitre la programmation orienté objet. Ce sera un réel plus pour toi si tu souhaites postuler dans un poste de développeur PHP.
Tu dois aussi connaitre le design pattern MVC. Si tu connais un peu le principe et le fonctionnement de cette architecture, ça sera un vrai plus pour toi. Le design pattern MVC, répond à de nombreuses problématiques de développeur et c’est un pattern très utilisé dans le monde du développement web.
HTML / CSS / JavaScript
Ensuite, il faut connaitre HTML / CSS / JavaScript. J’imagine que si tu fais du PHP, tu dois déjà connaitre ces langages.
Ces langages vont de pair avec le PHP. Le PHP est un langage côté serveur qui vas permettre de faire des traitements coté serveur. Tout ce qui est HTML / CSS / JS, va te permettre de travailler toute l’interface graphique. Tu ne peux pas te permettre d’apprendre tout le PHP sans connaitre toute la partie front (HTML / CSS / JS).
Il n’y a pas besoin d’avoir des connaissances hyper poussées en JavaScript. Si tu maitrises bien le PHP, tu peux utiliser le JS uniquement pour ajouter des animations, rendre ta page un peu plus sympa. Il n’y a pas besoin de connaitre le JS de façon poussée (Node JS, framework). Il n’y a pas besoin de connaitre tout ça dans un premier temps, voir même, ne pas les connaitre du tout si ton but n’est pas d’apprendre le JS de façon poussée. Tu peux apprendre uniquement les bases, ça suffira.
Les bases de données
Ensuite la troisième technologie à connaitre, c’est une technologie de base de données.
Comment tu le sais, le PHP est un langage côté serveur. Il va donc falloir persister des données, enregistrer des données quelque part. Il va donc falloir que tu connaisses un langage de base de données.
Un des plus utilisés avec PHP, c’est MySQL. Il s’assemble très bien avec. Connaitre un langage de base de données tel que MySQL sera un point important, voir même essentiel quand tu veux devenir développeur PHP.
MSQL est le système de gestion de base de données plus populaire qui fonctionne avec PHP mais il existe aussi PostgreSQL ou encore ORACLE Database.
Donc si tu veux trouver un travail de développeur PHP et que tu connais MYSQL, ce sera un bon point. Il n’y a pas besoin de connaitre toute les technologies de bases de données. Tu sauras t’adapter en fonction du besoin de l’entreprise.
Les serveurs
La quatrième technologie, c’est tout ce qui vas concerner les serveurs, l’utilisation d’un serveur.
Lorsque tu vas développer en PHP, ton code va être stocké sur un serveur. Le PHP étant un langage coté serveur, il va falloir que tu comprennes comment ça fonctionne. Quelle est la logique derrière tout ça ? Comprendre comment fonctionne le serveur web (Apache ou Nginx). Comment il va fonctionner avec PHP, avec les processus PHP.
Il y a besoin de connaitre la logique du fonctionnement mais il n’y a pas besoin de tout connaitre. Il n’est pas nécessaire de connaitre toutes les configurations possibles. Il faut simplement comprendre comment ça fonctionne.
C’est un des points importants dans le monde du développement : comprendre comment ça fonctionne. Il n’y a pas besoin de tout apprendre par cœur mais uniquement de savoir comment les choses fonctionnent. De cette façon, lorsque tu auras une problématique, tu pourras savoir où aller chercher l’information et en déduire les causes qui peuvent t’aider à solutionner ton problème.
Il n’y a donc pas besoin d’avoir des connaissances hyper poussées avec les serveurs. Il faut simplement avoir conscience de comment ça marche.
Si tu fais du PHP, tu as dû commencer à utiliser WAMP (XAMP, MAMP). Ce sont des serveurs locaux qui embarquent un serveur web (Apache), le services PHP et MySQL. Il peut être intéressant de commencer à creuser dans les fichiers de configurations : php.ini (configuration de PHP) ou httpd.conf (configuration d’Apache). Cela te permettra de comprendre la configuration qu’il y a derrière et aussi de comprendre le chemin que prend une requête utilisateur.
Les frameworks PHP
La cinquième technologie à maitriser c’est un framework PHP.
Un framework PHP va te permettre de faire beaucoup de choses : gagner du temps, gagner en productivité, gagner en qualité de code, travailler plus facilement en équipe grâce à une structure commune.
Connaitre un framework c’est vraiment un plus. Il y a beaucoup d’entreprises qui utilisent des frameworks pour toutes les raisons que j’ai citées précédemment.
De plus, tous les frameworks PHP, reposent un peu sur la même structure. Si tu arrives à en maitriser un, tu n’auras pas de mal à passer sur un autre framework. Il n’y a donc pas besoin de les connaitre tous. Tu peux en choisir un, tel que Symfony ou Laravel, peu importe, et tu commences à l’apprendre, à comprendre le fonctionnement. Souvent, ils reposent sur l’architecture MVC et sont orientés objets.
Si tu en connais un, ça sera déjà un gros plus pour toi dans ta recherche de boulot.
Les plus populaires :
- Symfony
- Laravel
- CakePHP
- Phalcon
- CodeIgniter
- ZendFramework
Tu peux choisir l’un de ces frameworks et commencer à l’apprendre. Si demain tu postules dans un poste où ils utilisent Laravel (alors que tu connais Symfony), cela ne posera pas de problème. Le recruteur aura conscience que tu connais un framework PHP et que tu peux passer sur un autre framework.
Un gestionnaire de version
Le gestionnaire de version, n’est pas uniquement pour les développeurs PHP, c’est une technologie utilisée par tous les développeurs.
Un gestionnaire de version va te permettre plusieurs choses :
- Sauvegarder ton code ailleurs que sur ton poste. Si demain ton poste crame, tu te retrouverais comme un con.
- Versionner ton code : tu vas avoir plusieurs versions de ton code. Au début, tu vas créer la v1 puis tu vas ajouter des fonctionnalités pour avoir la v2 et ainsi de suite. Les gestionnaires de versions vont te permettre de revenir à une version précédente s’il y a besoin, de travailler sur des branches différentes pour ajouter des nouvelles fonctionnalités, …
Un gestionnaire de version c’est essentiel quand tu es développeur. Que tu fasses du PHP, du Python, du JS, peu importe le langage, il faut que t’utilises un gestionnaire de version.
Le plus utilisé des gestionnaires de version est Git avec lequel il existe des plateformes qui vont venir utiliser ce moteur. On peut citer GitHub (le plus populaire, où il y a le plus de repository en ligne), Gitlab, Bitbucket.
Git c’est le moteur de versionning le plus populaire. Il existe d’autres gestionnaires de versions tel que Mercurial ou Subversion mais ils sont beaucoup moins utilisés. Donc si aujourd’hui tu dois choisir un gestionnaire de version, je t’orienterai beaucoup plus vers Git. Dans les années qui vont suivre, Git sera le seul qui sera utilisé.
De toute façon, c’est un peu le même principe pour tout. Si aujourd’hui tu apprends Git et que demain tu vas travailler dans une entreprise qui utilise Mercurial, tu vas t’en sortir sans problème. Il n’y a pas de soucis.
Je le répète, un gestionnaire de version c’est essentiel lorsque l’on est développeur.
Un IDE
La dernière technologie qu’il faut connaitre lorsque l’on est développeur PHP, c’est de maitriser un IDE.
On n’est plus vraiment dans de la technologie au sens langage de la programmation mais maitriser un IDE, ça va te faire gagner énormément en productivité.
Un IDE c’est quoi ? C’est un éditeur de code mais qui a des fonctionnalités beaucoup plus poussées que Notepad ++ ou SublimeText. C’est vraiment un outil qui est fait pour les développeurs qui va permettre d’auto compléter tes fonctions, qui vas ajouter de la coloration syntaxique, qui peut fermer tes balises de code et indenter ton code de façon automatique. Il a des fonctionnalités beaucoup plus poussées qu’un éditeur de code classique.
Si tu sais bien gérer ton IDE, il va te faire gagner énormément en productivité, coder beaucoup plus vite et de manière plus propre même. Il existe des plugins qui vont analyser ton code et analyser la qualité de code (redondance, variables inutiles, …).
Les IDE ne sont pas propres au PHP, ils sont disponibles pour n’importe quel langage. Il faut savoir en maitriser un correctement. Il faut que tu passes un peu de temps sur les raccourcis clavier. Dans les IDE, il y a énormément de raccourcis clavier et ils te feront gagner beaucoup de temps.
Une fois que tu maitriseras un IDE correctement, tu coderas beaucoup plus vite.
Dans les plus populaires, les plus utilisés on retrouve :
- Visual Studio Code de Microsoft (gratuit et open source), disponible sur n’importe quelle plateforme. Très bon éditeur de code, très utilisé.
- PHPStorm. C’est celui que j’utilise en ce moment. Il est payant mais c’est une machine de guerre. Il a beaucoup de fonctionnalités, très poussées. Tu vas gagner beaucoup de temps quand tu vas développer.
- Netbeans : gratuit mais un peu vieillissant
- Eclipse : gratuit mais un peu vieillissant
Si tu souhaites partir sur un IDE gratuit, je te conseille vraiment Visual Studio Code. C’est le top pour le moment.
En bonus
Ce sont toutes les technologies qui sont souvent utilisées en entreprise. Il n’y a pas besoin de toutes les connaitre ou de les maitriser mais c’est bien de savoir qu’elles existent, de comprendre leurs fonctionnements.
Beaucoup d’entreprises les utilisent et lorsque tu arrives dans le code, c’est bien de savoir quelles sont les librairies ou framework utilisés.
Bootstrap
C’est un framework CSS très utilisé. C’est bien de le connaitre lorsque l’on est développeur web. C’est du front donc pas de lien direct avec le PHP. Mais lorsque tu vas faire un site web, tu vas potentiellement être amené à l’utiliser et notamment en entreprise. C’est donc bien de le connaitre.
Le framework JQuery
Il est de moins en moins utilisé à cause de tous les frameworks JS qui arrivent. Mais en entreprise, tu risques de tomber sur des codes qui ont 4 ou 5 ans. A l’époque c’était quand même assez utilisé. Donc c’est bien de maitriser, au moins les bases du JQuery, ça peut te permettre de gagner un peu de temps quand tu seras en entreprise, d’avoir cette carte supplémentaire sur ton CV même si dans les nouveaux projets ce n’est plus trop utilisé.
En revanche, si tu arrives dans une entreprise où il y a déjà des projets entamés avec des technologies déjà définies, où tu n’auras pas trop le choix, c’est vraiment un plus de connaitre JQuery.
FontAwesome (librairie d’icônes)
C’est une librairie d’icônes. Il n’y a pas que FontAwesome pour les icones mais c’est une des plus utilisées. C’est bien de la connaitre et de savoir l’utiliser. Rien de bien compliqué pour la maitriser, quelques classes à connaitre et le tour est joué.
PHPUnit (librairie PHP)
Pour les tests unitaires ou fonctionnels. C’est bien de connaitre PHPUnit, de savoir son fonctionnement. Si tu es débutant, ce n’est pas une priorité de le maitriser. Il faut savoir que ça existe et tendre vers ça par la suite. Plus tu vas évoluer, plus il va falloir aller vers des tests unitaires pour tester ton code de façon automatique.
CURL (librairie PHP)
CURL est une librairie PHP qui te permet de taper dans des API. Aujourd’hui, tu sais que les API sont de plus en plus nombreuses. Le web va tendre vers l’utilisation plus poussées d’API. CURL va donc te permettre d’aller requêter des API avec du PHP. C’est très souvent utilisé dans le dev PHP donc n’hésite pas à tester CURL, aller taper dans quelques API avec, rien de compliqué.
CMS
Des CMS tels que WordPress, Magento. Ce n’est pas vraiment du dev PHP mais par exemple, si tu te lances en freelance, tu peux être amenés à faire des sites web pour des personnes avec ces technologies sans forcément faire du dév PHP derrière. Ça peut être bien de les connaitre. De connaitre au moins la base, savoir monter un site WordPress, un Magento. Si demain tu as un client qui te demandes un petit blog, un petit site e-commerce, que tu puisses le mettre facilement en place. Tu n’en auras pas pour longtemps à le mettre en place. C’est toujours bien d’avoir quelques connaissances là-dessus.
Voilà pour les technologies à connaitre lorsque l’on est développeur PHP. Tout le reste, c’est que du plus. C’est ton expérience qui vas jouer. N’hésite pas à postuler à un poste même s’il y a des technologies que tu ne maitrises pas. Chaque entreprise va avoir sa stack de techno spécifiques. Il en existe des milliers, tu ne pourras pas toutes les connaitre. Donc ne t’inquiète pas, postule au poste. Le recruteur va surtout voir ta motivation. Si tu as les compétences de bases, tu pourras t’adapter facilement aux autres technologies. Donc n’hésites pas à y aller, fonce, il n’y a pas de raisons que ça ne marche pas. S’il voit que tu es motivé, que tu as l’intention de progresser et d’acquérir de l’expérience, il n’y a pas de raison que tu n’y arrives pas.
Et aussi, n’oublie pas de t’abonner à la chaine YouTube 🙂