Programmeur 101 : apprenez à coder vous-même

Vous avez toujours voulu apprendre à créer des logiciels vous-même – ou simplement à écrire un script de temps en temps – mais vous n’avez jamais su par où commencer. Heureusement, le web regorge de ressources gratuites qui peuvent vous transformer en programmeur en un rien de temps.

Vidéo récente

Ce navigateur ne prend pas en charge l’élément vidéo.

Depuis l’invention d’Internet, les programmeurs l’ont utilisé pour discuter des techniques de développement de logiciels, publier des tutoriels et partager des échantillons de code pour que les autres puissent apprendre et utiliser en ligne. Si vous êtes curieux de savoir comment devenir un programmeur, vous pouvez prendre un bon départ en utilisant des tonnes d’excellents tutoriels et ressources gratuits sur le Web.

Premières choses d’abord : Ne vous acharnez pas sur le choix d’un langage

G/O Media peut recevoir une commission

Publicité

Un écueil courant pour les débutants est de rester bloqué pour déterminer quel est le meilleur langage de programmation à apprendre en premier. Il y a beaucoup d’opinions sur le sujet, mais il n’y a pas un seul « meilleur » langage. Le problème, c’est qu’au bout du compte, le langage n’a pas tant d’importance que cela. La compréhension des données, des structures de contrôle et des modèles de conception est très importante. Chaque langage – même un simple langage de script – comporte des éléments que vous utiliserez également dans d’autres langages et qui vous aideront à apprendre. Dans les cours que j’ai suivis pour obtenir mon diplôme en informatique, j’ai programmé en Pascal, en Assembleur et en C – des langages pour lesquels je n’ai jamais été payé pour programmer professionnellement. J’ai appris par moi-même tous les langages que j’ai utilisés au cours de ma carrière, en réutilisant les concepts que je connaissais déjà et en me référant à la documentation et aux livres pour apprendre leur syntaxe. Ne vous préoccupez donc pas de savoir quel langage vous devez apprendre en premier. Choisissez le type de développement que vous voulez faire, et commencez simplement à utiliser celui qui fonctionne.

Il existe plusieurs types de développement logiciel que vous pouvez faire pour diverses plateformes, du web à votre bureau à votre smartphone à une ligne de commande. Dans cet article, nous allons présenter certains de nos tutoriels de démarrage préférés et des ressources pour apprendre à programmer pour chaque plate-forme majeure. Nous partons du principe que vous êtes un utilisateur averti, mais que vous êtes un débutant lorsqu’il s’agit de manipuler des bouts de code, et nous nous en tiendrons donc au niveau débutant. Même en suivant simplement un tutoriel de programmation pour débutants, vous serez heureux de voir jusqu’où vous pouvez aller.

Publicité

Script de bureau

La façon la plus simple de vous essayer à la programmation pour votre bureau Windows ou Mac est de commencer avec un programme de script ou de macro comme AutoHotkey (pour Windows) ou Automator (pour Mac). À l’heure actuelle, les codeurs purs et durs de l’ensemble du lectorat de Lifehacker hurlent devant leur écran en disant que AHK ou AppleScript ne sont pas de la « vraie » programmation. C’est peut-être vrai – techniquement, ces types d’outils ne font que du scripting de haut niveau. Mais pour ceux qui débutent en programmation et qui veulent juste se mouiller les pieds, en automatisant des actions sur leur bureau, ces outils gratuits sont un moyen fantastique de commencer – et vous seriez surpris de tout ce que vous pouvez faire avec eux.

Publicité

Par exemple, Adam a développé l’application Windows autonome que nous connaissons et aimons tous, Texter, en utilisant AutoHotkey, ce langage de script est donc capable de bien plus que de simples projets d’automatisation à petite échelle. Pour commencer à utiliser AutoHotkey, consultez le tutoriel d’Adam qui explique comment transformer n’importe quelle action en raccourci clavier à l’aide d’AutoHotkey. (Ensuite, consultez le code source de Texter pour voir les entrailles d’une application Windows à part entière basée sur AHK.)

Publicité

Développement Web

Au lieu d’être lié à des langages de programmation spécifiques et à l’apparence d’un système d’exploitation particulier, vous pouvez mettre votre application qui tue dans le navigateur et l’exécuter dans le nuage, en tant que webapp. Bienvenue dans le monde merveilleux du développement web.

Publicité

HTML et CSS : La première chose que vous devez savoir pour construire n’importe quel site web est le HTML (le balisage de la page qui constitue les pages web) et le CSS (les informations de style qui rendent ce balisage joli). HTML et CSS ne sont pas de véritables langages de programmation : il s’agit simplement d’informations sur la structure et le style des pages. Cependant, vous devez être capable de créer manuellement du HTML et du CSS simples avant de commencer à créer des applications Web, car une page Web est le frontal de toute application Web. Ce tutoriel HTML est un bon endroit pour commencer.

JavaScript : Maintenant que vous pouvez mettre en page une page web statique avec HTML et CSS, les choses deviennent amusantes – car il est temps d’apprendre JavaScript. JavaScript est le langage de programmation du navigateur Web, la magie qui fait fonctionner les effets dynamiques dans la page. JavaScript est également la substance des bookmarklets, des scripts utilisateur Greasemonkey et d’Ajax, c’est donc la clé pour réaliser toutes sortes de goodies web. Commencez à apprendre JavaScript ici.

Publicité

Scripts côté serveur : Une fois que vous savez faire bouger les choses à l’intérieur d’une page Web, vous aurez besoin de mettre une action dynamique du serveur derrière elle – et pour cela, vous devrez passer à un langage de script côté serveur, comme PHP, Python, Perl ou Ruby. Par exemple, pour créer un formulaire de contact basé sur le Web qui envoie un e-mail quelque part en fonction de ce que l’utilisateur a saisi, un script côté serveur est nécessaire. Les langages de script comme PHP peuvent également communiquer avec une base de données sur votre serveur Web. Si vous souhaitez créer un site sur lequel les utilisateurs peuvent se connecter et stocker des informations, c’est la solution qu’il vous faut. L’excellent site de développement web Webmonkey regorge de didacticiels sur les différents langages de programmation web. Consultez leur tutoriel PHP pour les débutants. Lorsque vous serez prêt, découvrez comment utiliser PHP pour communiquer avec une base de données dans le tutoriel PHP et MySQL de WebMonkey. La documentation en ligne et la référence des fonctions de PHP sont les meilleures du Web. Chaque entrée (comme celle-ci sur la fonction strlen) comprend des commentaires d’utilisateurs en bas de page qui sont souvent aussi utiles que la documentation elle-même. (Il se trouve que j’ai un faible pour PHP, mais il y a beaucoup d’autres langages de script côté serveur que vous pourriez décider d’utiliser à la place.)

Publicité

Cadres Web : Au fil des années, les développeurs web ont dû résoudre et résoudre les mêmes problèmes et réécrire un code similaire pour construire des sites web dynamiques. Pour éviter que chacun ait à réinventer la roue à chaque nouveau projet de développement Web, certains programmeurs ont mis au point des cadres de développement qui effectuent certains travaux répétitifs à votre place. Le célèbre cadre Ruby on Rails, par exemple, utilise le langage de programmation Ruby et offre une structure spécifique au Web pour accomplir les tâches courantes des applications Web. En fait, Adam a utilisé Rails pour créer sa première application Web sérieuse (et impressionnante !), MixTape.me. Voici son point de vue sur la façon de créer un site Web à partir de rien, sans aucune expérience. Parmi les autres cadres de développement web populaires, citons CakePHP (pour les programmeurs PHP), Django (pour les programmeurs Python) et jQuery (pour JavaScript).

Publicité

Apsies de programmation web : Une API (Application programming interface) est un moyen programmatique pour que différents logiciels puissent dialoguer entre eux. Par exemple, si vous voulez mettre une carte dynamique sur votre site Web, vous voulez utiliser une carte Google Map au lieu de construire votre propre carte personnalisée. L’API Google Maps facilite l’intégration programmatique d’une carte dans une page avec JavaScript. Presque tous les services Web modernes que vous connaissez et appréciez ont une API qui vous permet d’inclure des données et des widgets dans votre application, comme Twitter, Facebook, Google Docs, Google Maps, et la liste est longue. L’intégration d’autres applications Web dans votre application Web via les API est la dernière frontière du développement Web riche. Chaque bonne et importante API de service web offre une documentation complète et une sorte de guide de démarrage rapide pour l’essayer (voici celui de Twitter, par exemple). Soyez fous.

Publicité

Scripts en ligne de commande

Si vous voulez écrire un programme qui prend une entrée textuelle ou de fichier et sort quelque chose d’utile, la ligne de commande est le bon endroit pour le faire. Bien que la ligne de commande ne soit pas aussi sexy ou belle qu’une webapp ou une application de bureau, pour le développement rapide de scripts rapides qui automatisent les processus, vous ne pouvez pas la battre.

Publicité

Plusieurs langages de script qui fonctionnent sur un serveur web basé sur Linux fonctionnent également en ligne de commande, comme Perl, Python et PHP – donc apprendre l’un de ces méchants vous permet de converser dans deux contextes. Mon chemin ne m’a jamais conduit trop loin sur la route de Perl, mais je me suis enseigné Python en utilisant l’excellent livre en ligne gratuit, Dive into Python.

Avertissements

Si devenir un ninja Unix est l’un de vos objectifs de programmeur, vous devez absolument devenir bon en script shell avec bash. Bash est le langage de script de ligne de commande d’un environnement *nix, et il peut tout faire, de l’aide à la mise en place de sauvegardes automatisées de votre base de données et de vos fichiers à la construction d’une application à part entière avec interaction avec l’utilisateur. Sans aucune expérience d’écriture de scripts bash au-delà d’une douzaine de lignes, j’ai fini par développer un gestionnaire de liste de tâches personnelles complet en bash, Todo.txt CLI.

Ajouts

De nos jours, les webapps et les navigateurs modernes sont extensibles avec des bouts de logiciels qui se boulonnent sur eux et ajoutent des fonctionnalités. Le développement de modules complémentaires gagne en popularité, car de plus en plus de développeurs regardent les logiciels existants, comme Firefox ou WordPress, et se disent :  » Mais si seulement il pouvait faire CECI… « 

Publicité

Vous pouvez faire tout un tas de choses dans n’importe quel navigateur web avec une simple maîtrise de HTML, JavaScript et CSS. Les Bookmarklets, les scripts d’utilisateur Greasemonkey et les styles d’utilisateur Stylish sont créés avec les mêmes bouts de code que les pages Web ordinaires, ils valent donc la peine d’être appris même si vous voulez simplement modifier un site existant avec un petit bout de code.

Des modules complémentaires de navigateur plus avancés, comme les extensions Firefox, vous permettent de faire plus. Le développement d’extensions Firefox, par exemple, exige que vous connaissiez bien JavaScript et XML (balisage similaire à HTML, mais beaucoup plus strict en termes de format). En 2007, j’ai expliqué comment créer une extension Firefox, une compétence que j’ai acquise après être tombé sur un tutoriel gratuit.

Publicité

De nombreuses applications Web gratuites et bien aimées offrent également un cadre d’extension, comme WordPress et MediaWiki. Ces deux applications sont écrites en PHP, donc le confort avec PHP est une condition préalable pour commencer. Voici comment écrire un plug-in pour WordPress. Les développeurs qui veulent être à la pointe de Google Wave peuvent commencer à écrire des gadgets et des bots en HTML, JavaScript, Java et Python. J’ai écrit mon premier bot Wave en suivant ce tutoriel de démarrage rapide en un après-midi.

Publicité

Développement Web pour le bureau

Le meilleur moment pour commencer à programmer dans un contexte est lorsque vous pouvez prendre ces compétences et les appliquer ailleurs. Apprendre le développement web d’abord est une excellente façon de commencer parce que maintenant il y a des moyens de mettre ces compétences à travailler sur les applications de bureau, aussi. Par exemple, Adobe AIR est un environnement d’exécution multiplateforme qui vous permet de créer votre application une seule fois et de la publier pour qu’elle s’exécute sur le poste de travail de chaque système d’exploitation sur lequel AIR fonctionne. Les applications AIR sont écrites en HTML, Flash ou Flex, ce qui vous permet d’appliquer vos compétences en développement web dans un contexte bureautique. AIR est une excellente option pour déployer des applications de bureau comme l’une de nos 10 meilleures applications qui valent la peine d’installer Adobe AIR.

Publicité

Développement d’applications mobiles

Les applications mobiles comme celles que vous exécutez sur votre iPhone ou votre smartphone Android font fureur en ce moment, alors vous rêvez peut-être de faire fortune dans l’App Store d’iTunes avec la prochaine application qui tue. Cependant, pour le nouveau codeur, plonger la tête la première dans le développement mobile peut représenter une courbe d’apprentissage difficile, car il faut être à l’aise avec des langages de programmation avancés comme Java et Objective C. Cependant, cela vaut la peine de vérifier à quoi ressemble le développement iPhone et Android. Consultez cet exemple de développement d’une application iPhone simple pour avoir un aperçu de ce que font les développeurs iPhone. Les applications Android sont écrites en Java, et voici un tutoriel vidéo convivial de ce à quoi ressemble la construction d’un flux de travail d’application « Hello Android ».

Publicité

Patence, huile de coude, essais et erreurs

Les bons codeurs sont une race spéciale de résolveurs de problèmes persistants qui sont accros aux petites victoires qui viennent le long d’un long chemin d’essais et d’erreurs. Apprendre à programmer est très gratifiant, mais cela peut aussi être une expérience frustrante et solitaire. Si vous le pouvez, faites-vous accompagner par un ami. Pour devenir vraiment bon en programmation, comme pour toute autre chose, il faut s’y tenir, essayer des choses et acquérir de l’expérience au fur et à mesure.

Publicité

Cet article n’est qu’une recommandation top-of-mind d’un programmeur autodidacte pour les débutants. Programmeurs expérimentés : Qu’est-ce que j’ai manqué ? Quel que soit votre niveau de compétence, ajoutez vos réflexions et vos recommandations pour les débutants dans les commentaires.

Gina Trapani, rédactrice fondatrice de Lifehacker, pense que les meilleurs programmeurs sont autodidactes. Sa chronique hebdomadaire, Smarterware, paraît chaque mercredi sur Lifehacker. Abonnez-vous au flux du tag Smarterware pour recevoir les nouveaux épisodes dans votre lecteur de nouvelles.

Publicité

.

Laisser un commentaire