Cours autodidactiques pour développeurs webs
Ce projet contient 9 documents au format PDF :
-
un support de cours "HTML5 - Premiers pas" (mis à jour le 17/11/2019)
-
un support de cours "CSS3 - Premiers pas" (mis à jour le 19/10/2017)
-
un support de cours "Bootstrap - Premiers pas" (mis à jour le 19/10/2017)
-
un support de cours "Javascript - Premiers pas" (mis à jour le 11/07/2017)
-
un support de cours "Javascript et HTML5" (cours de niveau avancé)
-
un support de cours "AJAX" (cours complémentaire au cours précédent)
-
un dossier "Javascript and Data" (mis en ligne le 20/12/2018) qui couvre un certain nombre de nouveautés de la norme ES6 concernant la manipulation de données en JS
-
un dossier "Javascript et Workers" (mis en ligne le 18/03/2021)
-
un dossier "Javascript et Promises" (mis en ligne le 18/03/2021)
J'ai écrit les 4 premiers supports en juin 2017, pour pouvoir proposer à mes élèves étudiants du GRETA des supports de cours plus didactiques et plus adaptés à leurs besoins que mes supports des années précédentes.
J'ai décidé de mettre tous ces supports en accès libre sur ce dépôt Github, pour qu'ils soient accessibles facilement, aussi bien pour mes étudiants, que pour les membres du meetup CreativeCodeParis, ainsi que pour toute personne souhaitant se former sur ces sujets en autodidacte.
De ces 4 premiers documents, celui sur Bootstrap est celui qui prend le plus de retard, sachant qu'il traite de Bootstrap 3 et que le framework est passé récemment en version 5. Mais il me semble satisfaisant pour une initiation, d'autant que beaucoup de sites internet fonctionnent encore aujourd'hui avec Bootstrap 3.
Pour vous aider à savoir comment exploiter ces supports de cours, je vous propose ci-dessous plusieurs pistes de lecture.
Si vous souhaitez vous former au développement Web, vous pouvez démarrer avec "HTML5 - Premiers pas". Vous allez vite voir que le HTML, ce n'est pas très compliqué, mais vous allez aussi vous rendre compte que le HTML5 "brut"... c'est carrément moche !
Vous allez du coup passer à l'étude du CSS, avec le support "CSS3 - Premiers pas". Après avoir acquis les bases du CSS et compris comment "styler" et disposer vos éléments HTML sur une page, vous allez vous apercevoir qu'obtenir un beau design, sexy et pro, c'est un vrai métier (celui de webdesigner), et que ce n'est peut être pas votre priorité.
Heureusement il existe des projets comme Bootstrap (un framework CSS développé par Twitter) pour vous secourir.
Grâce à Bootstrap, vous pouvez obtenir rapidement de beaux formulaires, de beaux menus, de belles listes... bref, de belles pages. Mais Bootstrap offre beaucoup de possibilités, et ce n'est pas forcément évident de savoir par quel bout le prendre. Aussi le cours "Bootstrap - Premiers pas" est là pour vous aider à y voir clair.
Enfin, vous voudrez certainement donner à vos pages de l'interactivité, du dynamisme, et ça il n'y a que Javascript qui peut vous l'apporter. Alors le support de cours "Javascript - Premier pas" va vous mettre le pied à l'étrier, et vous allez apprendre comment manipuler le DOM (une drôle de bête qui se cache dans votre navigateur).
Vous allez voir que le DOM, c'est cool, et que vous pouvez le martyriser dans tous les sens. Et vous allez peut être avoir envie de maîtriser davantage le Javascript. A ce stade, vous avez deux options :
-
option 1 : si vous n'avez pas encore étudié le cours sur P5.js, c'est peut être le bon moment pour le faire, et vous amuser avec ce framework qui est vraiment sympa (le support se trouve ici : https://github.com/gregja/p5Corner )
-
option 2 : si vous voulez passer à la vitesse supérieure, vous pouvez vous attaquer au cours "Javascript et HTML5". Lui c'est le plat de résistance (presque 400 pages), vous y retrouverez beaucoup des notions vues dans les précédents supports, mais avec beaucoup plus de précisions, et aussi plus de complexité.
Enfin, le support sur AJAX vient compléter l'étude du Javascript. AJAX désigne une technique permettant de faire dialoguer un navigateur avec un serveur. La partie serveur peut être développée dans différents langages (PHP, Javascript avec NodeJS, Python, Ruby, etc...). Ce support sur AJAX se focalise sur la communication entre Javascript et PHP. Ce n'est pas le meilleur cours du lot, il a besoin d'être rafraîchi, je m'y attellerai un de ces jours. Il demeure néanmoins relativement juste, mais pour pouvoir l'exploiter pleinement, il faut que vous connaissiez un langage serveur :
-
soit le langage PHP https://github.com/gregja/PHPCorner/
-
soit le langage Javascript côté serveur avec Node.js : https://github.com/gregja/NodeJSCorner
En complément de l'un ou l'autre de ces cours (PHP ou Node.js), vous pouvez approfondir l'étude du langage SQL, au travers du support de cours suivant : https://github.com/gregja/SQLCorner/
Pour les développeurs souhaitant découvrir des techniques plus avancées, souvent liées à des évolutions récentes du langage Javascript, j'ai ajouté dernièrement trois nouveaux documents :
-
JS et la Data : traite de manipulation de données en général, et de programmation fonctionnelle en particulier (techniques spécifiques à ES6 notamment)
-
JS et les Workers : explique comment utiliser les Web Workers (côté navigateur) et les Worker Threads (coté Node.js)
-
JS et les Promises : décrit le fonctionnement des promesses
Ce sont des documents de travail, que j'ai constitués à partir de ma propre expérience de ces sujets. J'espère qu'ils pourront être utiles à d'autres personnes.
Quelques recommandations lors de votre apprentissage :
-
n'essayez pas de tout maîtriser, votre cerveau va sûrement faire de la résistance avec certains notions peu intuitives, c'est normal, il faut l'accepter, et ne pas s'acharner inutilement (laissez refroidir et revenez y plus tard)
-
si vous êtes en difficulté avec certaines notions, ne vous acharnez pas, allez dormir. Votre cerveau va faire le ménage pendant la nuit, remodeler et renforcer les connexions synaptiques, vous serez probablement surpris le lendemain, de constater que certaines notions étudiées la veille ne vous posent plus autant de difficulté au réveil.
-
testez, testez, testez, ne me faites pas confiance, soyez parano, testez, testez, testez
-
c'est seulement par la pratique et la répétition que vous arriverez à acquérir les automatismes qui vous seront utiles dans vos projets futurs. Comme je dis souvent : "la programmation, il n'y a pas de secret, il faut en bouffer". Mais c'est bon !!! ;)
Bon courage, et bonnes lectures :)
Grégory Jarrige
quelque part près de Paris, le 18 mars 2021