Outils pour utilisateurs

Outils du site


issue122:c_c

Table des matières

1

Being a self-taught programmer and web developer, I frequently hear questions like “how did you get started?” or “how did you learn this on your own?”. This month, I thought that dedicating an article on how I approach learning a programming language might be a good way to formulate my future answers, and to encourage anyone who has even a passing interest to begin their journey. I will be splitting this article into two distinct sections - local (i.e. programs to be run on your local machine) and web (web apps, websites, etc). Who is this article for? This article is geared towards anyone remotely interested in programming, but who is uncertain about where to begin, or what approach to take. This can be designers who feel they ought to learn a little about HTML and CSS, to budding computer enthusiasts who want to learn a programming language for future careers. Will this article teach me a language? No. This article is geared towards my personal approach to learning a language. I’ll refer to some websites and books, but the actual learning of the language is out of scope.

Étant programmeur et développeur Web autodidacte, j'entends souvent des questions du genre « comment avez-vous commencé ? » ou « comment avez-vous appris cela tout seul ? ». Ce mois-ci, je pensais que dédier un article à mon approche de l'apprentissage d'un langage de programmation pourrait être une bonne façon de formuler mes réponses à l'avenir. Cela pourrait aussi encourager toute personne qui a un intérêt, ne serait-ce que passager, pour se lancer sur le chemin. Je vais séparer l'article en deux sections distinctes : local (c'est-à-dire, des programmes qui seront lancés sur votre machine locale) et Web (des applis Web, des sites Web, etc.).

À qui est destiné l'article ?

Cet article est orienté vers toute personne qui est intéressée, même un tout petit peu, par la programmation, mais qui se demande par où commencer ou quelle approche utiliser, notamment des concepteurs qui pensent qu'ils devraient apprendre les bases du HTML et de CSS, ou des jeunes passionnés d'informatique qui veulent apprendre un langage de programmation pour leur carrière future.

Cet article, m'apprendra-t-il un langage ?

Non, l'article se concentre sur mon approche personnelle de l'apprentissage d'un langage. Je ferai référence à quelques sites Web et livres, mais l'apprentissage même du langage est hors de la portée de cet article.

2

A few general pointers. The following points apply to anything you decide to learn, and is therefore in a separate section: • Do not rely on autocomplete or tools like Emmet too early on. Once you’re comfortable writing the code without a helper, feel free to enable one to save time. However, it is not supposed to be a crutch when you forget the syntax. • Always try something new. Do not stick to the same program format - even if you just work on improving the help menu in every program you write, or trying to reduce any repetitions. You may struggle a bit, but it will help you learn. • Look at some open source projects on GitHub. You don’t need to contribute, and you don’t need to feel too comfortable with your skills. Even just viewing someone else’s source code can help you test your understanding (i.e. can you tell what the code does), as well as seeing examples of things to do (or not do) with regards to formatting and comments. • Lastly: Comment everything. While this is a terrific habit to build up if you’re planning to make this a profession, it will also help you immensely if you look at older programs. Local There are a mass of local programming languages - Python, C++, Perl, and Java just to name a few. There isn’t typically a “best language”, although there are scenarios where some languages are better suited for a particular task. If you don’t know what language to learn, there are a few ways to decide. Either see what programmers in your local area are learning (via job postings), or see what languages are supported by your favourite devices (computers, phones, RPi, etc). It can even be something as arbitrary as liking the logo.

Quelques conseils généraux

Les éléments suivants s'appliquent à n'importe quel langage que vous voulez apprendre et se trouvent donc dans une section distincte : • N'utilisez pas l'auto-complétion ou des outils comme Emmet trop tôt. Quand vous serez à l'aise en écrivant du code sans assistant, n'hésitez pas à en activer un pour gagner du temps. Cependant, son rôle n'est pas d'être une béquille quand vous oubliez la syntaxe. • Essayez toujours quelque chose de nouveau. Ne restez pas au même format de programme, même si vous essayez d'améliorer tout simplement le menu d'aide dans chaque programme que vous écrivez ou de réduire des répétitions. Vous pourriez avoir quelques difficultés, mais cela vous aidera à apprendre. • Examinez quelques projets Open Source sur GitHub. Vous n'avez pas besoin d'y contribuer ni de vous sentir à l'aise avec vos compétences ; le simple fait de regarder le code source de quelqu'un d'autre peut vous aider à tester votre compréhension ( c'est-à-dire : savez-vous ce que fait le code ?) ; cela vous fait voir aussi des exemples de choses à faire (ou ne pas faire) pour ce qui concerne le formatage et les commentaires. • Enfin, commentez tout. C'est une habitude géniale à renforcer si vous envisagez d'en faire une carrière ; en outre, cela vous aidera beaucoup de regarder des programmes un peu datés.

Local

Il y a de très nombreux langages de programmation en local : Python, C++, Perl et Java pour n'en nommer que quelques-uns. En général, il n'y a pas un « langage idéal », bien qu'il y ait des scénarios où certains langages conviennent mieux à une tâche précise. Si vous ne savez pas quel langage apprendre, voici quelques suggestions sur comment choisir. Soit, regardez ce que les programmeurs dans votre quartier apprennent (en regardant les offres d'emplois), soit, regardez les langages pris en charge par vos dispositifs préférés (ordinateurs, téléphones, RPi, etc.) Cela pourrait être quelque chose d'aussi arbitraire qu'un logo qui vous plaît.

3

The Approach Learning a local language will typically require a bit more setup than a web language. You’ll want to find a good IDE or text editor you feel comfortable in. An IDE is very useful when learning something like C++ or Java, as the tools included can help you debug issues early on. Personally, I prefer a text editor, as it’s something I’ll always have access to, instead of relying on tools included in an IDE. You’ll also want to set up a good folder structure to keep your source code, and possibly even store it in a Git repository (or something like Dropbox). That way, you can recover previous iterations of code, if necessary, or easily carry it between devices. Lastly, ensure you’ve installed a compiler or interpreter for your chosen language. Once you can run it in a terminal or within your IDE, you’re all set. • After you have your environment set up, look for any official tutorials/tours. These typically cover some basic ‘hello world’ programs. While the programs themselves aren’t very creative, they help you learn the syntax and the way a language functions. • Once you’ve completed the Hello World program, try to branch out into user input and/or command-line arguments (depending on the language). As the most useful applications require some form of input, it’s useful to learn this early on. I typically do this using the official documentation of features, as opposed to a full-fledged guide.

L'approche

Apprendre un langage local nécessitera généralement plus de paramétrage qu'un langage Web. Vous devez trouver un bon IDE (Environnement de développement intégré) où un éditeur de texte qui vous convient bien. Un IDE est très utile quand vous apprenez quelque chose come C++ ou Java, puisque les outils inclus peuvent vous aider à résoudre des problèmes très rapidement. Personnellement, je préfère un éditeur de texte, car c'est quelque chose auquel je pourrai toujours accéder, au lieu de me fier aux outils inclus dans un IDE. Vous voudrez aussi configurer une bonne structure de dossiers dans laquelle vous enregistrerez votre code source, voire le stocker dans un dépôt Git (ou quelque chose comme Dropbox). ainsi, vous pouvez récupérer des itérations précédentes de code, au besoin, et le transporter facilement entre des dispositifs.

Enfin, vous devez avoir installé un compilateur ou un interpréteur pour le langage que vous avez choisi. Une fois que vous pourrez le lancez dans un terminal ou à l'intérieur de votre IDE, vous aurez tout ce qu'il faut.

• Après avoir configuré votre environnement, recherchez des tutoriels ou des présentations officiels. Habituellement, ceux-ci traitent des programmes « Hello world » basiques. Même si les programmes ne sont pas très créatifs, ils vous aident à apprendre la syntaxe et la façon dont un langage fonctionne. • Quand vous aurez terminé le programme Hello world, essayez de vous lancer dans des arguments avec saisie par l'utilisateur et/ou en ligne de commande (selon le langage). Puisque les applications les plus utiles nécessitent des entrées quelconques, c'est utile d'apprendre très tôt comment faire. Je le fais généralement en consultant la documentation officielle des fonctionnalités plutôt qu'un manuel exhaustif.

4

• The next step should be to branch out and learn some of the oddities or strengths of your language. You can typically find a listing of these features by finding a comparison of various languages. • At this point, I always evaluate the utility of the language. To do so I ask the following questions: • • Does this language suit the way I think/work? • • Is it in demand (i.e. in the workplace)? • • Can I live with any drawbacks/oddities? • • Can it do everything I plan to achieve? • If you answered yes (or even ‘maybe’) to these questions, you’ll probably want to continue learning the language. To do so, I’d recommend either finding some need that you want to fill, or finding a good website with challenges, which you can implement in your chosen language. • Here are a few things you may also want to focus on: • • Testing (writing tests, as well as simply debugging issues). • • Sharing/Compiling (i.e. how can you package this program up to putting it on a new computer). • • Storing information/data. This can be done with databases, JSON, or just normal text files. • • Reading information. • • Executing commands from your desktop or their equivalents (such as using ls to list files). • • Regular expressions. Even just learning a few standard regex for searching strings or filenames will be useful. • Lastly: learn a new language! Or, at least, stay up-to-date on the new versions of your chosen language. To keep your skills sharp and your habits ingrained, you will want to regularly try to learn something new.

• La prochaine étape devrait être d'apprendre quelques-unes des bizarreries ou des forces de votre langage. En général, il suffit de trouver une comparaison de divers langages, car elle contiendra une liste de ces fonctionnalités. • À ce stade, j'évalue toujours l'utilité du langage. Pour ce faire, je pose les questions suivantes : • • Ce langage convient-il à ma façon de penser/travailler ? • • Est-il demandé (c'est-à-dire dans le milieu du travail) ? • • Puis-je m'accommoder de ses inconvénients/bizarreries éventuels ? • • Peut-il faire tout ce que je veux accomplir ? • Si vous avez répondu oui (ou, même, peut-être) à ces questions, vous voudrez sans doute continuer l'apprentissage de ce langage. Pour ce faire, je recommanderais, soit de trouver un besoin auquel il faut répondre, soit de trouver un bon site Web proposant des défis, que vous pouvez implémenter dans le langage que vous avez choisi. • Voici quelques trucs que vous pourriez vouloir faire aussi : • • Des tests (écrire des tests, ainsi que résoudre des problèmes). • • Partager/compiler (c'est-à-dire comment empaqueter ce programme pour le mettre sur un nouvel ordinateur). • • Stocker des informations/données. Cela peut se faire avec des bases de données, JSON ou tout simplement des fichiers texte normaux. • • La lecture des informations. • • L'exécution de commandes - ou leur équivalent - à partir de votre bureau (par exemple utiliser ls pour lister des fichiers). • • Des expressions régulières. L'apprentissage de quelques regex standards pour la recherche de chaînes ou de noms de fichier sera utile. • Enfin : apprenez un nouveau langage ! Ou, au moins, restez à jour sur les dernières versions du langage choisi. Apprendre quelque chose de nouveau régulièrement gardera vos compétences pointues et vos habitudes bien enracinées.

5

Web Web languages can be a bit quicker to the starting line than local languages. Using something like CodePen or a JS Fiddle, you can easily write some HTML, CSS and JavaScript without having to worry about an IDE or a hosting solution. You should definitely not work solely with this approach, but if you’re not sure whether or not to devote time here, it’s an easy way to try it out. It may be confusing to see HTML, CSS and JS in the first step of my approach. You may be wondering what’s left. There are a variety of frameworks (bootstrap, react, angular, etc) that offer more functionality to the standard HTML. There are also other languages (such as Go, Python), and expansions on JavaScript (such as ECMAScript). To set up your development area locally, you’ll need a text editor (you can also go for a WYSIWYG (what you see is what you get) program, but I would really not recommend it). Personally, I use the Atom text editor. Beyond the text editor, you’ll also want some sort of LAMP stack (Linux Apache, MySQL, and PHP). My recommendation is not to install it on your main system - instead, you can set up something like Vagrant (a VM) or Docker (a containerization tool). This is for two main reasons - if you use frameworks or tools like Node or NPM, you can more easily control the installed versions for optimal support, and because Docker is gaining massive popularity in the workplace. Docker is also portable, making it easier to carry your projects over to a new computer. I’ve previously written about Docker in FCM#107. If you’re looking at Python or Go, both offer a local development server built into the compilation tool. WebPack (covered in C&C in FCM#120) also offers a local development site for working on HTML, JS and CSS.

Web

Les langages Web peuvent être appris un peu plus rapidement que les langages locaux. Avec quelque chose comme CodePen ou un JS Fiddle, vous pouvez facilement écrire un peu de HTML, CSS et JavaScript sans devoir vous préoccuper d'un IDE ou d'une solution d'hébergement. Vous ne devriez absolument pas travailler uniquement avec cette approche, mais si vous ne savez pas si vous voulez passer un peu de temps ici, c'est une façon facile de l'essayer.

Ça peut vous rendre perplexe de voir HTML, CSS et JS dans la première étape de mon approche. Vous pourriez vous demander ce qui reste. Il y a une variété de frameworks (cadres), comme bootstrap, react, angular, etc., qui offrent plus de fonctionnalités que le HTML standard. D'autres langages (comme Go ou Python) et des expansions sur JavaScript (comme ECMAScript) existent aussi.

Pour configurer votre zone de développement locale, vous aurez besoin d'un éditeur de texte (vous pourriez aussi choisir un programme WYSIWYG (what you see is what you get), mais je ne le recommanderais point). J'utilise personnellement l'éditeur de texte Atom. Au-delà de l'éditeur de texte, vous voudrez une quelconque pile LAMP (Linux Apache, MySQL, et PHP). Je vous conseille de ne pas l'installer sur votre système principal ; à la place, vous pouvez utiliser quelque chose comme Vagrant (une machine virtuelle) ou Docker (un outil de conteneurisation), et cela pour deux raisons principales : si vous utilisez des frameworks ou des outils comme Node ou NPM, vous pouvez plus facilement contrôler les versions installées pour un support optimal, et parce que Docker devient de plus en plus populaire dans le milieu du travail. Docker est également portable, ce qui rend facile le portage de vos projets sur un nouvel ordinateur. J'ai écrit un article sur Docker dans le FCM n° 107. Si vous envisagez Python ou Go, les deux offrent un serveur local de développement dans l'outil de compilation. WebPack (traité dans C&C du FCM n° 120) offre aussi un site de développement local pour travailler sur HTML, JS et CSS.

6

The Approach • Learn HTML5, CSS and JS. You don’t need to master JavaScript, but you do need a basic understanding of it. Neither HTML nor CSS are terribly complex - the moment you feel comfortable creating a basic ‘hello world’ HTML page with a bit of styling, you’re ready to carry on. This can easily be done in CodePen. • The first step I would recommend is learning the “modern web” - HTML5 (which should have been done in #1), @supports, Flexbox, and CSS Grids in CSS 3. The three elements of CSS I listed are currently supported in the most recent versions of every popular browser, and mitigate a lot of headaches that developers previously had. If you begin a project with the goal of supporting older browsers, I would still recommend beginning with the modern tools, and then creating either a fallback stylesheet, or wrapping the modern code in @supports. If you’re unsure what the difference is between old versions of HTML and HTML5, you should look into the new elements introduced in HTML5 (such as <main>, <aside>, <footer>, <header>). • At this point, you should decide on what language you’re focusing on. If you just want to continue learning HTML and CSS, you may want to look into CSS custom properties, as opposed to finding a preprocessor. You’ll also want to look into something like Grunt or Webpack to use autoprefixer, which will help reduce how much CSS you have to write (see FCM #120 for my WebPack article). If you decide to focus on a language like Python or Go, you’ll want to make sure you install it correctly and can run the commands from a terminal. If you choose to learn PHP, make sure support is enabled/installed on your system or Docker (using Apache or Nginx). Or perhaps you’re just interested in learning about AMP (Accelerated Mobile Pages) by Google. • You should begin with a tour or tutorial on the language you’ve decided upon. Depending on what language you’re looking at, the steps may vary.

L'approche

• Apprenez HTML5, CSS et JS. Nul besoin de maîtriser JavaScript ; il vous faut néanmoins comprendre ses bases. Ni HTML, ni CSS, ne sont affreusement complexes ; quand vous vous sentirez à l'aise en créant une page HTML « Hello World » de base avec un peu de style, vous serez prêt à continuer. Vous pouvez le faire facilement dans CodePen. • Je recommanderais comme première étape l'apprentissage du « Web moderne », HTML5 (que vous auriez dû apprendre dans le numéro 1), @supports, Flexbox et CSS Grids dans CSS 3. Les trois éléments de CSS que j'ai cités sont actuellement pris en charge dans les versions les plus récentes de tout navigateur populaire, et atténuent pas mal les maux de tête que les développeurs avaient auparavant. Si vous commencez un projet dans lequel votre objectif est de supporter des navigateurs plus anciens, je recommanderais toujours de démarrer avec les outils modernes, pour ensuite, soit créer une feuille de style de secours, soit emballer le code moderne dans @supports. Si vous n'êtes pas certain des différences entre les vieilles versions de HTML et HTML5, vous devrez examiner les nouveaux éléments introduits dans HTML5, notamment <main>, <aside>, <footer>, <header>… • À ce stade, vous devrez choisir le langage sur lequel vous voulez vous concentrer. Si vous voulez tout simplement continuer à apprendre HTML et CSS, vous pourriez vouloir examiner les propriétés personnalisées de CSS, au lieu de rechercher un préprocesseur. Vous voudrez aussi examiner des applis comme Grunt ou WebPack qui utilisent un créateur de préfixes automatiques, ce qui aidera à diminuer la quantité de CSS qu'il va falloir que vous écriviez (regardez mon article sur WebPack dans le FCM n° 120). Si vous choisissez de vous concentrer sur un langage comme Python ou Go, vous devrez vous assurer que vous l'avez installé correctement et que vous pouvez exécuter des commandes à partir d'un terminal. Si vous voulez apprendre pHP, assurez-vous que son support est activé/installé sur votre système ou Docker (en utilisant Apache ou Nginx), Ou il se peut que vous vous intéressiez tout simplement à en apprendre davantage sur AMP (Accelerated Mobile Pages, des pages mobiles accélérées) par Google. • Vous devriez commencer par une présentation ou un tutoriel concernant votre langage de choix. Selon le langage choisi, les étapes peuvent varier.

7

• After the tour or tutorial, you’ll want to see about integrating what you learned about HTML and CSS into the new language. In Go and Python, this means templating, and, in JS frameworks, you’ll probably already be integrating some of this. • Content. Here you should focus on how to get content into your website or web app. This can be databases, a content management system, a static site generator (such as grow or jekyll) or pulling information from a feed (RSS or JSON). If you use a content management system, I would recommend starting with an API Content Management System (such as Cockpit) first, as it can help you understand how all CMS systems work, as opposed to jumping right into something like WordPress. • Testing. You should look at your resulting website or web app on a few different devices - phones, tablets, computers, and varying browsers. You’ll quickly understand how wide-ranging the support is, and how many issues can crop up. Don’t be disheartened - you don’t typically need to support every possible device, and there are a variety of tools to help you improve support. • Lastly, deployment. You should look into how you would go about hosting your application, and also how you would “go live”. This can be FTP + Docker + DigitalOcean, or Git + Heroku, or GitHub Pages + Git. Every combination has its strengths and weaknesses, which is why you should do some research to see what works for your language choice.

• Après la présentation, ou le tutoriel, il faudra intégrer ce que vous avez appris concernant HTML et CSS dans le nouveau langage. Dans Go et Python, cela signifie créer des modèles et, dans les frameworks de JavaScript, vous serez sans doute déjà en train d'en intégrer une partie. • Contenu. Maintenant, vous devriez vous focaliser sur comment mettre du contenu dans votre site Web ou appli Web. Il peut s'agir de bases de données, d'un système de gestion de contenu, d'un générateur de site statique (comme grow ou jekyll) ou d'obtenir des informations d'un flux où les informations sont actualisées en permanence (RSS ou JSON). Si vous utilisez un système de gestion de contenu, je recommanderais de commencer d'abord avec un API Content Management system (tel que Cockpit), car il peut vous aider à comprendre le fonctionnement de tous les systèmes de gestion de contenu, au lieu de vous lancer tout de suite avec quelque chose comme WordPress. • Les tests. Vous devriez examiner le site, ou l'appli, Web résultant sur quelques dispositifs différents : téléphones, tablettes, ordinateurs et avec différents navigateurs. Vous comprendrez rapidement l'étendue du support, selon les dispositifs, etc., et la quantité de problèmes qui peuvent surgir. Ne vous laissez pas décourager, en général vous n'aurez pas besoin de prendre en charge tous les dispositifs possibles et de nombreux outils différents existent pour vous aider à améliorer le support. • Enfin, le déploiement. Vous devriez investiguer l'hébergement éventuel de votre application, et aussi, comment vous pourriez vous mettre « en direct ». Cela pourrait être avec FTP + Docker + DigitalOcean, ou git + Heroku, ou GitHub Pages + Git. Chaque combinaison a ses propres forces et faiblesses, ce qui explique pourquoi il faudrait faire des recherches pour voir ce qui fonctionne avec le langage choisi.

8

Design While the approach above focuses on the programming aspect, creating a visually appealing site is largely dependent on your design. At any time after Step 2 in the approach above would be an acceptable time to start reading on design approaches. Covering things such as Material Design, or reading articles from Smashing Magazine or CSS-Tricks are a good place to start. There are also a few books that I highly recommend: Smashing Book 5 (from Smashing Magazine) is written by a variety of authors, and is a terrific insight into common design approaches. Also, Hardboiled Web Design by Andy Clarke (Fifth Edition) is an excellent read on new technologies, approaches, and tips for creating modern websites. Both are available in physical copies, or digitally. Even just taking the time to analyse source code on websites you like is a terrific way to learn - I would recommend keeping either a local wiki or some form of journal outlining things you’ve seen that you would at some point want to implement. Naturally, if you’re not planning to turn this into a job (or even put it on your CV), you can choose to ignore anything outlined here.

Conception

Tandis que l'approche ci-dessus se concentre sur l'aspect programmation, la création d'un site attrayant dépend en large partie de la conception. Après l'étape 2 dans l'approche ci-dessus, n'importe quand serait un moment convenable pour commencer votre lecture sur les approches de la conception. Des choses qui traitent la question comme Material Design, ou la lecture d'articles tirés de Smashing Magazine ou CSS-Tricks, sont de bons points de départ. Il existe aussi quelque livres que je recommande sans réserve : Smashing Book 5 (de Smashing Magazine) est écrit par divers auteurs et vous donne une vision instructive des approches habituelles de la conception. Hardboiled Web Design, écrit par Andy Clarke (la Cinquième édition) s'avère excellent concernant les nouvelles technologies, les approches et les astuces pour la création des sites Web modernes. Les deux sont disponibles en exemplaire papier ou en ebook. Prendre le temps d'analyser le code source sur des sites Web qui vous plaisent est une façon formidable d'apprendre ; je recommanderais de tenir, soit un wiki local, soit un journal quelconque dans lequel vous inscrirez des trucs que vous avez vus et que vous voudriez éventuellement implémenter. Naturellement, si vous n'envisagez pas d'en faire une carrière (ou même de l'inclure dans votre CV), vous pouvez choisir d'ignorer tout ce qui est dit ici.

9

I hope this article proves useful to anyone who was feeling overwhelmed by the mass of options and instructions to be found on the web. When in doubt - start with a basic ‘hello world’, and then go from there! If you have any tips you’d like to share, send them to me at lswest34+fcm@gmail.com. I will collect any responses together into an article at a later date. Feel free to also email me with any questions, suggestions, or ideas for articles.

J'espère que cet article sera utile pour quiconque se sentait submergé par la foule d'options et d'instructions qui se trouvent sur le Web. Dans le doute, commencez par un « hello world » basique et partez de là. Si vous avez des astuces que vous voudriez partager, envoyez-les moi à lswest34+fcm@gmail.com. Je rassemblerai les réponses pour en faire un article plus tard. N'hésitez pas à m'envoyer un courriel avec vos questions, suggestions ou idées pour un article.

Further Reading CodeFights (programming challenges) - https://codefights.com/home Project Euler (largely mathematical programming challenges) - https://projecteuler.net/ 2016/2017 MUST-KNOW Web Development Tech Video (YouTube) - https://www.youtube.com/watch?v=sBzRwzY7G-k&index=7&list=PLQjv2GANsZ1JAKzoz631tlyIOZiJ3T2R6 CodeAcademy (website to learn coding with free courses) - https://www.codecademy.com/ Code School (website to learn coding, with some free courses) - https://www.codeschool.com/ Videos/Workshops from Google IO, the AMP Conference, or Beyond Tellerrand (all found on YouTube). C&C in FCM #121 - All about Go C&C in FCM #73 - A basic introduction to some websites for learning to code. Udemy (online library of paid courses, frequently on sale) - https://www.udemy.com Udacity (online university that offers micro degrees and some free courses, in partnership with Google/Facebook/etc.) - https://www.udacity.com/courses/all

Pour aller plus loin :

CodeFights (des défis de programmation) - https://codefights.com/home

Project Euler (en grande partie, des défis mathématiques de programmation) - https://projecteuler.net/

La vidéo 2016/2017 sur le développement Web qu'il FAUT avoir vue (YouTube) - https://www.youtube.com/watch?v=sBzRwzY7G-k&index=7&list=PLQjv2GANsZ1JAKzoz631tlyIOZiJ3T2R6

CodeAcademy (un site Web qui propose des cours gratuits pour apprendre le codage) - https://www.codecademy.com/

Code School (un site Web pour apprendre le codage avec quelques cours gratuits) - https://www.codeschool.com/

Des vidéos/ateliers de Google IO, la AMP Conference ou Beyond Tellerrand (tous sont disponibles sur YouTube).

C&C dans le FCM n° 121 - Tout sur Go.

C&C dans le FCM n° 73 - Une introduction basique à quelques sites Web où vous pouvez apprendre à coder.

Udemy (une bibliothèque en ligne de cours payants qui sont souvent en solde) - https://www.udemy.com.

Udacity (une fac en ligne qui propose des mini diplômes et quelques cours gratuits, en partenariat avec Google/Facebook/etc.) - https://www.udacity.com/courses/all.

issue122/c_c.txt · Dernière modification : 2017/07/18 00:12 de d52fr