Développeur web autonome : par où commencer ?
Salut à toi, aspirant développeur web! Tu es perdu dans le flux d’information sur les méthodes et outils existants pour réaliser des applications ou sites web ? Je suis là pour te donner un maximum de pistes et surtout les chemins que tu pourras emprunter pour atteindre ton objectif. Si tu ne sais pas où apprendre, je te conseille cet article qui te donne un maximum de source de cours pour apprendre et t’exercer à ton futur métier.
Structurer ton site/application
Tout d’abord, tu te dois de connaître certaines bases qui sont extrêmement nécessaires pour tes futurs réalisations web. Apprend donc à utiliser le HTML 5 et le CSS 3. Le premier est un langage de balisage, c’est le squelette, le plan du site. Le second est un langage pour styliser, positionner tes éléments visuellement. Ce ne sont pas à proprement parler des langages de programmation mais tu dois acquérir des connaissances suffisantes dans ces deux domaines pour débuter dans le web. Pour ce qui est des numéros, ce sont en fait les versions. Ces versions apportent des normes et des nouvelles balises pour le HTML avec lesquelles tu dois t’efforcer de travailler. Pour le CSS 3, ce sont surtout de nouvelles propriétés plutôt pratiques. Ce qui faut savoir c’est que certains navigateurs comme IE //cough // ne supportent pas toutes les nouveautés apportées par ces versions. Pour le savoir, je te conseille l’outil CANIUSE. Il existe toujours des moyens pour y palier si ton cahier des charges te force à faire fonctionner ton site/application sous IE 8, par exemple.
De la structuration à la programmation
Pour cette seconde partie, il faut savoir qu’il existe deux types de développeurs : le front-end, qui s’occupe de la partie émerger de l’iceberg, côté client et le back-end, qui correspond à l’autre partie, immergée, côté serveur. Quand on parle de côté client, on parle de ce qui s’exécute sur le navigateur client à l’inverse du côté serveur qui, comme son nom l’indique, ira s’exécuter sur le serveur web.
Ainsi, la programmation peut se faire de chaque côté et donc avec des langages différents !
Développement front-end
Si tu t’intéresse à la gestion du visuel, du confort utilisateur c’est ici que tout se joue à l’aide de l’intégrateur web qui travaillera le HTML/CSS. Et pour tout développeur front-end, il te faut forcément travailler avec Javascript. Ce langage te permettra de manipuler le DOM qui correspond à ton architecture HTML. Par la suite, tu pourras utiliser la bibliothèque JQuery qui te diminuera la longueur et la complexité de tes fonctions JS.
C’est un langage de programmation assez spécial sur l’aspect Programmation Orientée Objet. Pour JS, tout est objet et il n’y a pas réellement de classe et d’héritage. Il est possible de le faire, mais c’est un petit peu de bricolage.
Ensuite, si tu as assez avancé en CSS et que tu veux travailler sur toute la branche front-end, il existe des outils pour être plus efficace. Tu pourras te former aux préprocesseurs tels que SASS ou LESS ainsi qu’aux frameworks comme Bootstrap ou Foundation.
Développement back-end
Ton travail ici consistera majoritairement à de la gestion de données et la liaison à une base de données. Pour débuter, je te conseille d’apprendre à utiliser PHP et faire des requêtes SQL avec MySQL (il existe bien d’autres langages pour cela, je te renvoie au lien en fin d’article pour savoir lesquels). Cependant, tu dois travailler sur un serveur. Heureusement pour toi, il existe des outils tels que WAMP pour Windows pour travailler sur un serveur local. Pratique, n’est-ce-pas ? A l’exception près que ton travail n’est accessible que depuis ton ordinateur donc si tu veux mettre en ligne ton travail, ce sera via un hébergeur.
Puis pour être totalement efficace en entreprise, pourquoi ne ne te laisserai-tu pas tenter d’apprendre un framework Back-end comme Symfony ou Laravel ?
Je te conseille également de travailler sur Linux en ligne de commande pour avoir les bases et surtout gérer un serveur. En effet, la plupart des serveurs web sont sous Linux.
Des outils pour débuter
Ici, je ne te parle que des langages mais pour être véritablement complet, il te reste toujours des outils à utiliser. Réaliser des maquettes en partant du wire-framing à l’aide de logiciel tel que Sketch (payant) puis de la maquette graphique (Photoshop, Illustrator ou bientôt Comet). Pour ton code, il te faudra un éditeur de texte ou un IDE comme Sublime Text 2, Atom 1.0 ou NetBeans puis vérifier son fonctionnement sur les différents navigateurs.
Après ceci ne te méprend pas. Si tu veux être développeur front-end, apprend tout de même à utiliser PHP et inversement. Tu dois savoir utiliser les deux car selon ton commanditaire et surtout selon son porte-monnaie, il se pourrait que tu doives réaliser le site ou l’application de A à Z.
Si tu veux aller plus loin ou que tu as toujours du mal à visualiser les routes que je viens de te donner, voici un mind-mapping de ce que je viens de t’expliquer avec des ressources en plus dont je n’ai pas voulu parler ici car cet article s’adresse à des débutants. Alors si ça t’intéresse soit curieux ! Je te laisse choisir ta voie !