Outils pour utilisateurs

Outils du site


issue122:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue122:c_c [2017/07/13 15:42] – [4] auntieeissue122:c_c [2017/07/18 00:12] (Version actuelle) d52fr
Ligne 11: Ligne 11:
 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.** 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 sur mon approche à 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, ne serait-ce qu'un intérêt passager pour le sujet, de se lancer sur le chemin. Je vais séparer l'article en deux sections distinctes local (c-à-d, des programmes qui seront lancés sur votre machine locale) et Web (des applis Web, des sites Web, etc.).+É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 passagerpour 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 ? À qui est destiné l'article ?
  
-Cet article est orienté vers toute personne qui est intéressé, même un tout petit peu, par la programmation mais qui se demande où commencer ou quelle approche utiliser, notamment des concepteurs qui pense qu'ils devraient apprendre les bases de l'HTML et CSS, ou des jeunes passionnés d'informatique qui veulent apprendre un langage de programmation pour leur carrière future.+Cet article est orienté vers toute personne qui est intéressée, même un tout petit peu, par la programmationmais 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 ? Cet article, m'apprendra-t-il un langage ?
  
-No, l'article se concentre sur mon approche personnelle à 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.+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.
  
  
Ligne 37: Ligne 37:
 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.** 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.+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 : 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 sur l'auto-complétion ou des outils comme Emmet trop tôt. Quand vous serez à l'aise en écrivant du code sans un 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. +• 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 ourriez avoir quelques difficultés, mais cela vous aidera à apprendre. +• 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 sentez à 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-à-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. +• 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 carrière ; en outre, cela vous aidera beaucoup de regarder des programmes un peu datés.+• Enfincommentez 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 Local
  
-Il y a de très nombreux langages de programmation en local : Python, C++, Perl et Java pour 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 regarder 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.+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. Soitregardez 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 ===== ===== 3 =====
Ligne 66: Ligne 66:
 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. 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 tours éventuels. 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. +• 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 d'entrée 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.+• 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.
  
  
Ligne 91: Ligne 91:
 • À ce stade, j'évalue toujours l'utilité du langage. Pour ce faire, je pose les questions suivantes : • À 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 ? • • Ce langage convient-il à ma façon de penser/travailler ?
-• • Est-il demandé (C-à-dans le milieu du travail) ? +• • Est-il demandé (c'est-à-dire dans le milieu du travail) ? 
-• • Puis-je m'accommoder à ses inconvénients/bizarreries éventuels ? +• • Puis-je m'accommoder de ses inconvénients/bizarreries éventuels ? 
-• • Peut-il faire tout ce que je veux accomplit ?+• • 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. • 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 : • Voici quelques trucs que vous pourriez vouloir faire aussi :
 • • Des tests (écrire des tests, ainsi que résoudre des problèmes). • • Des tests (écrire des tests, ainsi que résoudre des problèmes).
-• • Partager/compiler (c-à-comment empaqueter ce programme pour le mettre sur un nouvel ordinateur).+• • 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. • • 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. • • La lecture des informations.
-• • L'exécution de commandes - ou leur éuqivalent - à partir de votre bureau (par ex. utiliser ls pour lister des fichiers). +• • 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 chaines ou de noms de fichier sera utile.+• • 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. • 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 ===== ===== 5 =====
  
Ligne 112: Ligne 114:
    
 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.** 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 ===== ===== 6 =====
Ligne 121: Ligne 131:
 • 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. • 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.** • 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 ===== ===== 7 =====
Ligne 127: Ligne 144:
 • 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. • 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.** • 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 ===== ===== 8 =====
Ligne 133: Ligne 155:
  
 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.** 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 ===== ===== 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. +**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.**
- +
  
-Further Reading+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.
  
-CodeFights (programming challenges) - https://codefights.com/home +**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**
  
-Project Euler (largely mathematical programming challenges) - https://projecteuler.net/ +Pour aller plus loin :
  
-2016/2017 MUST-KNOW Web Development Tech Video (YouTube) - https://www.youtube.com/watch?v=sBzRwzY7G-k&index=7&list=PLQjv2GANsZ1JAKzoz631tlyIOZiJ3T2R6 +CodeFights (des défis de programmation) - https://codefights.com/home
  
-CodeAcademy (website to learn coding with free courses) - https://www.codecademy.com+Project Euler (en grande partie, des défis mathématiques de programmation) - https://projecteuler.net/
  
-Code School (website to learn coding, with some free courses) - https://www.codeschool.com/ +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
  
-Videos/Workshops from Google IO, the AMP Conference, or Beyond Tellerrand (all found on YouTube).+CodeAcademy (un site Web qui propose des cours gratuits pour apprendre le codage- https://www.codecademy.com/
  
-C&C in FCM #121 All about Go+Code School (un site Web pour apprendre le codage avec quelques cours gratuits)  
 +https://www.codeschool.com/
  
-C&in FCM #73 - A basic introduction to some websites for learning to code.+Des vidéos/ateliers de Google IO, la AMP Conference ou Beyond Tellerrand (tous sont disponibles sur YouTube). 
 + 
 +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. 
 + 
 + 
  
-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** 
issue122/c_c.1499953363.txt.gz · Dernière modification : 2017/07/13 15:42 de auntiee