5 étapes pour Débuter en Programmation

  1. Accueil
  2. Programmation
  3. 5 étapes pour Débuter en Programmation

Débuter en programmation : 5 étapes à suivre

Vous êtes débutant en Programmation, en Hacking ou en informatique de façon générale ? Vous souhaitez apprendre la programmation ? Cet article est fait pour vous.

Plus particulièrement je vais vous donner les 5 étapes à suivre pour bien commencer avec la programmation. C’est-à-dire comment choisir le bon langage de programmation, comment apprendre vite et correctement, et enfin comment utiliser les bonnes pratiques jusqu’à atteindre un niveau qui vous convient en programmation.

comment apprendre à programmer

Envie de commencer sans plus attendre ? Téléchargez le guide complet pour apprendre les langages C, C# et Python Cliquez ici. Utilisez le code promo « FIRSTAPROG » pour l’obtenir à -20%. Je vous propose également de visionner le cours vidéo Ce que vous devez savoir AVANT d’apprendre la programmation.

Étape 1 : Trouver des domaines qui vous plaisent

C’est une étape très importante. Posez-vous la question suivante :

Pourquoi est-ce que je veux apprendre à programmer ?

Notez les 3 raisons principales qui vous viennent à l’esprit et ne continuez pas tant que vous n’en avez pas 3.

Pourquoi faire cela ? Parce qu’un programmeur est plus motivé lorsqu’il fait ce qui lui plaît. C’est l’une des meilleures façons d’apprendre et donc de débuter en programmation :

Faites ce qui vous plaît.

En faisant ce qui nous plaît on abandonne moins facilement et on avance plus vite.

C’est fait ? vous avez noté ces trois raisons qui vous poussent à apprendre la programmation ?

Ce sont ces 3 raisons qui vont vous guider dans toute la suite pour savoir par où vous devez commencer. Vous pouvez vous contenter de les choisir de façon générale mais soyez simplement sûr(e) à cette étape que ce sont bien les domaines qui vous plaisent le plus (de façon générale pour le moment).

Pour que vous me compreniez bien, je vais faire la démarche en même temps que vous avec un exemple, voici mes 3 raisons :

Je veux apprendre la programmation pour :

  • Créer des logiciels
  • Mieux comprendre les systèmes
  • Créer des sites web

Étape 2 : Ajouter des précisions à ces domaines

par ou commencer la programmation

Si vous voulez apprendre la programmation parce que cela semble cool ou à la mode, vous ne saurez pas quoi faire ensuite. Je ne dis pas qu’il est inutile d’apprendre à programmer juste parce que c’est « à la mode », mais qu’il vous faut concrétiser vos envies lors de cette 2ème étape.

Il faut maintenant préciser chacune de vos raisons précédemment établies. Prenez-les donc une par une et ajoutez-y des précisions. Parmi ces précisions notez impérativement le temps que vous voulez passer à apprendre ainsi que les systèmes d’exploitation visés.

Voici pour mon exemple :

  • Créer des logiciels -> Créer des logiciels utilitaires rapidement pour Windows (désinfection, nettoyage, antivirus).
  • Mieux comprendre les systèmes -> Mieux comprendre comment fonctionnent les systèmes d’exploitation (Windows et Linux) et comment interagir avec eux du côté programmeur. Cela peut prendre le temps qu’il faudra (mais pas plus de 3 ans).
  • Créer des sites web -> Créer des sites web personnels pour laisser place à mon imagination sans avoir à payer un développeur. Ici le système d’exploitation ne changera rien mais le site devra être fonctionnel sur les appareils mobiles. Je souhaite apprendre assez vite (en 6 mois max).

Note : Vos raisons peuvent être initialement larges comme « m’initier à l’informatique » mais il vous faut les préciser le plus possible. Si vos précisions sont nombreuses, n’écrivez pas tout un paragraphe mais trouvez la plus importante pour vous jusqu’à avoir quelque chose de concret par lequel commencer, comme dans mon exemple.

Étape 3 : En déduire le(s) langage(s) de programmation par le(s)quel commencer

les langages de programmation

Maintenant que vous savez pourquoi vous voulez débuter en programmation, ainsi que le temps alloué et le système visé, vous obtiendrez beaucoup plus facilement le ou les langages par lesquels vous devez commencer.

Je reprends mon exemple puis je donnerai des informations plus générales :

  • Si je souhaite créer des logiciels utilitaires sous Windows de façon rapide, je vais naturellement m’orienter vers les langages « dotnet » (.NET), c’est-à-dire Visual C++, C#, VB.NET.

Pour en venir à cette conclusion, il suffit de faire une rapide recherche comme « programmer sous Windows » ou « langage de programmation pour Windows ». On apprend également que les langages Java ou même Python (liste non exhaustive) peuvent aussi être utilisés peu importe le système d’exploitation. Les langages dotnet sont simplement plus adaptés. Et cela car ils sont créés par Microsoft lui-même, l’éditeur de Windows.

Disons qu’il y a un choix à faire ici entre dotnet et les autres : Java et Python sont portables c’est-à-dire que vous pourrez plus tard vous en servir pour programmer sous d’autres systèmes, comme Linux ou Mac. À l’inverse les langages dotnet sont ciblés pour Windows uniquement (je ne compte pas les essais de portabilité via des programmes tiers) et permettent donc de programmer plus facilement et rapidement notamment via l’environnement de développement intégré Visual Studio. Si je préfère apprendre un langage moins portable mais qui me permet de faire un programme fenêtré facilement et dans moins d’une heure, je vais choisir un langage dotnet. À l’inverse, si je souhaite que mon programme se lance sur d’autres systèmes, je choisirais Python.

Admettons donc ici que je choisisse VB.NET ou C# car je ne vise pas particulièrement d’autres systèmes que Windows.

  • Concernant mon envie de connaître les systèmes d’exploitation en détail à mon rythme je vais devoir prendre un langage de programmation commun aux systèmes d’exploitation, et qui permet d’avoir la main sur ceux-ci.

Le langage C est celui qui sera le plus adapté car il permet d’être proche du système, et il est portable. Mais Python sera plus facile à maîtriser, et me donnera une plus grande souplesse à l’avenir. Je commencerai donc par C pour bien comprendre le fonctionnement de base des systèmes, et je viendrai ensuite à Python en tant que langage de « tous les jours ». Je fais cela encore une fois car je souhaite prendre le temps de tout comprendre. J’observe par la même occasion que Python est le langage en commun entre ce but et les précédent ! Il semble donc être un langage de choix. Vous voyez par la même occasion qu’on n’a pas besoin de rester fixé sur un langage donné.

Note importante : Vous pouvez très bien apprendre d’autres langages non cités ou même apprendre des langages dans des domaines différents comme le C pour des applications fenêtrées Windows. Mais tout dépend de vos objectifs, pour moi qui voulais créer des programmes Windows rapidement, le langage C fonctionne aussi mais j’y arriverai bien moins rapidement que le C#. Si j’ai tout mon temps pour le faire, que la portabilité compte pour moi et que je souhaite bien maîtriser le système, je peux effectivement choisir le C à la place d’un langage dotnet.

  • Enfin concernant les sites web, disons que je n’ai pas autant de difficultés à choisir car non seulement il n’existe pas énormément de langages différents mais en plus ils sont automatiquement adaptés à tous les systèmes de par la nature du web.

Le problème d’adaptation est plutôt inter-navigateurs. Le choix judicieux dans ce cas là est d’apprendre deux langages en parallèle : Un langage côté client et un langage côté serveur. C’est ainsi que ça fonctionne. La paire de langages client/serveur typique est JavaScript/PHP.

Pour plus d’informations et d’explications sur la différence client serveur je vous invite à lire l’article suivant : https://www.leblogduhacker.fr/la-securite-avec-javascript/

Note concernant HTML : Je ne sais pas qui est à l’origine du mythe selon lequel il faut démarrer la programmation par le langage HTML, mais c’est totalement faux. Rappelez-vous encore une fois de ce que je disais précédemment : tout dépend de vos objectifs et « apprendre la programmation » n’est pas un objectif assez précis. Le HTML est un langage de balisage, qui ne se rapproche pas des autres langages dont on parle ici. Et personnellement je pense que l’apprentissage du HTML (qui est rapide en soi) nous vous apprendra pas à programmer et ne vous donnera pas de bases utiles si vous ne souhaitez pas faire de développement web ensuite.

« Je ne sais pas d'où vient le mythe selon lequel il faut démarrer par HTML, mais c'est faux »Cliquez pour tweeterPartager sur FacebookPartager sur LinkedIn

En résumé :

  • C/C++…etc : apprentissage approfondi des systèmes et réseaux, et robustes, mais ils demandent du temps pour les maîtriser
  • .NET/Java/Python…etc : polyvalents et plus faciles à maîtriser. Ils sont très populaires pour débuter en programmation. Notons que la programmation Android demande de connaître Java.
  • HTML, JavaScript, PHP : les grands classiques du web. À noter qu’apprendre un langage de requête de bases de données comme SQL (Structured Query Language) s’avérera pratique par la suite.
  • Assembleur, Perl, Go, Swift…etc : au besoin, selon vos buts. Par exemple, pour travailler chez Google, il conviendra d’apprendre son langage Go, et pour programmer des appli iOS, il conviendra de connaître Swift d’Apple.

Les avis sur les langages de programmation restent souvent subjectifs, vous pouvez donc toujours chercher des exemples de programmes créés avec des langages de programmation donnés pour voir de vous-même si le langage semble être le meilleur pour vous.

Notez aussi qu’il n’y a pas de gros problèmes avec le fait de démarrer avec un « meilleur langage » pour vous ou non, vous pouvez en apprendre plusieurs en même temps ou plutôt changer si jamais vous constatez que ça ne vous plaît pas ou ne fonctionne pas. L’idée est ici de faire le premier pas, de chercher et de se lancer au lieu d’attendre de trouver le « meilleur » langage.

Étape 4 : Prendre un e-book, un livre ou un cours vidéo et pratiquer

apprendreprogrammation

Contrairement à ce qu’on pourrait croire, la programmation n’a rien de magique, tout le monde suit un mode d’apprentissage. La programmation demande du temps et de la pratique.

Vient maintenant l’étape la plus longue mais aussi la plus palpitante si vous commencez votre aventure : c’est l’heure d’apprendre et de pratiquer. Vous savez ce que vous voulez faire, vous savez quel langage utiliser, vous avez un ordinateur ou un périphérique permettant de programmer. Vous avez donc tout devant vous, il reste à chercher des ressources et à pratiquer.

Je ferais peut-être des guides et articles précis sur les langages que je connais et qui vous intéressent. Pour cela donnez-moi en commentaire vos trois domaines de l’étape 2 ainsi que le langage qui vous intéresse. Je ne saurais vous dire si vous êtes fait pour cela ni même si vos buts sont bons (c’est à vous de juger), mais je saurais peut-être vous aider davantage à maîtriser un langage donné.

Commencez petit, lisez le code des autres, écrivez votre propre code en vous lançant des projets, des défis.

Il faut bien noter que lire est très important pour comprendre comment écrire un programme mais vous saurez vraiment l’écrire que lorsque vous aurez pratiqué et concrètement écrit ce programme vous-même.

Je l’ai appris trop tard.

Pour l’anecdote, j’ai lu presque tous les livres de programmation à la FNAC pendant un an en essayant d’apprendre par cœur les syntaxes et définitions, et au final j’ai presque tout oublié sauf les quelques bouts de code que j’ai concrètement tapés sur un clavier.

Cet apprentissage par la pratique est le meilleur moyen d’apprendre la programmation et c’est ce moyen d’apprentissage que je propose dans le guide Apprendre à programmer en C, C# et Python pour ceux qui auraient comme but de maîtriser un système d’exploitation durant leur apprentissage.

À ce propos, si vous avez décidé d’apprendre à mieux maîtriser les systèmes d’exploitation et donc de comprendre le fonctionnement des ordinateurs, je vous propose d’apprendre Linux qui a l’avantage d’être plus « ouvert » que Windows et qui aide ainsi à mieux comprendre « comment ça fonctionne à l’intérieur ».

Mais quelles sont les bases à savoir AVANT de programmer ? que dois-je savoir pour commencer ?

Excellente question !

Cela s’intègre parfaitement dans l’étape ou vous passez à la pratique car vous allez pouvoir faire une parfaite transition entre théorique et pratique !

Jusqu’ici nous avons vu comment trouver les bons buts, le bon langage etc… Mais il y a des compétences bien précises que tout programmeur qui se respecte doit connaître (sur l’informatique, les réseau ou le web en général).

En partant de ce besoin fondamental, j’ai créé un cours vidéo spécialement dédié à ce que vous devez savoir avant de programmer :

Les cours vidéos pour apprendre la programmation

Si vous souhaitez apprendre le langage Python, avec en plus une application directe pour le Hacking éthique, voici le cours dédié :

Voici le cours complet de programmation Java pour débutants (cliquez sur l’image):

programmation java débutant

Voici la formation complète pour développer vos jeux 3D via UNITY3D (cliquez sur l’image):

commencer avec unity3d

Et voici plein d’autres cours qui pourront vous être utiles :

Les guides Le Blog Du Hacker

Ce sont des guides en version numérique (à lire sur ordinateur, tablette ou smartphone) écrits par mes soins que je vous propose d’acquérir dès maintenant.

La version numérique permet de copier/coller du code et de cliquer sur des liens, ce qui est bien pratique lorsqu’on apprend la programmation.

Voici le guide sur les langages web HTML5, CSS, JavaScript et PHP pour créer votre propre site web de A à Z (cliquez sur l’image):

Ce que vous allez apprendre :

  • Comment créer autant de sites web que vous le souhaitez, comme bon vous semble.
  • Comment faire les bons choix concernant la mise en place de votre site et le chemin à suivre tout en économisant de l’argent.
  • Toutes les compétences additionnelles sur le plan technique : l’architecture, le code, le design et la sécurité d’un site.
  • Vous saurez mettre en place votre projet web, peu importe son type : blog, site vitrine, forum, e-commerce…etc.
  • Vous aurez une ligne de conduite pratique et simple à suivre, qui vous permettra de mettre des sites sur pied plus rapidement qu’avec un prestataire externe.
  • Vos compétences pourront servir à d’autres personnes, et seront demandées sur le marché du travail.

Voici le guide sur l’apprentissage des langages C, C# et Python (cliquez sur l’image) :

apprendre a programmer

Ce que vous allez apprendre :

  • Tout ce que vous devez savoir avant de commencer la programmation.
  • Les concepts fondamentaux applicables à tous les langages de programmation.
  • Les bases de 3 langages de programmation à la fois (C, C# et Python) avec des codes sources inclus.
  • Quel outils utiliser et comment les installer pour programmer.

Étape 5 : Publier vos programmes et continuer d’apprendre

Cette étape est un peu celle où l’on se perfectionne. Et elle dure indéfiniment car on n’a jamais vraiment tout appris sur la programmation.

En fait, je vais vous dire un petit secret : vous pouvez savoir programmer en un jour.

Toute l’ambiguïté se situe dans l’expression « savoir programmer ».

Que signifie pour vous « savoir programmer » ? Que signifie cette expression pour votre (futur) employeur ?

Est-ce que savoir écrire un programme « Hello World » en C est « savoir programmer » ?

À l’inverse, est-ce que savoir debugger une erreur liée à la pile d’exécution de deux fonctions de même prototype appelées successivement avec des mêmes variables est « savoir programmer » ?

C’est d’ailleurs pour cela que l’on fait habituellement la différence dans les CV entre « compétences en C » et « connaissances en C ».

En fait, il y a une sorte d’échelle de programmeurs, tous savent programmer de façon relative, et à vrai dire il n’y a pas vraiment de niveau selon lequel on aurait atteint un statut de « programmeur ».

Votre but est donc de monter cette échelle jusqu’à un stade ou vous vous sentez suffisamment confortable, selon vos désirs.

Pour monter cette échelle facilement et rapidement je vous propose de rédiger vos propres tutoriels, créer et partager vos propres programmes. Cela vous permettra d’obtenir une certaine reconnaissance dans la communauté, et d’avoir des avis de personnes situées plus haut sur l’échelle.

D’autre part, en enseignant, vous apprenez beaucoup vous-aussi, et en partageant vos travaux vous recevez des avis intéressants de différents internautes (clients, collègues, experts, etc).

Vous pouvez également participer à des forums, à d’autres programmes open source… etc dans le but d’obtenir l’approbation de la communauté et peut-être même de vous faire un nom (je vous le souhaite).

Si vous sentez cette envie monter en vous, si vous avez envie de vous lancer, faites-le dès maintenant. Vous ne regretterez pas votre décision, je vous le promets.

Les bonnes pratiques pour apprendre la programmation

Pour finir cet article, je vais vous parler des bonnes pratiques générales concernant la programmation.

Suivez les bons conseils

débuter en programmation en se faisant aider

Pour apprendre, l’idéal est de suivre des bons conseils. Je veux dire par là qu’il y a tellement d’avis totalement divergents et venant de personnes totalement différentes qu’on s’y perd facilement.

À vrai dire, écoutez ceux qui vous servent de modèles. Vous écouteriez les conseils nutrition d’une personne obèse morbide ? Non.

Alors ne vous focalisez pas non plus sur le HTML parce qu’une personne vous a dit cela sans même avoir crée de site.

Méfiez vous également des personnes sentimentalement attachées à leur langage favoris qui seraient prêtes à tout pour que vous suivez leurs conseils. Les mini-guerres du type « Le C c’est bien et le reste c’est de la m*rde » sont courantes entre informaticiens.

Tous les conseils ne sont pas bons à prendre, il vous faut être critique sur votre travail et sur les conseils donnés (les miens également). C’est notamment vos buts définis plus hauts qui doivent vous servir de chemin à suivre.

À l’inverse, discuter et se faire aider par des personnes qui ont déjà emprunté votre route est une très bonne idée.

Les outils à utiliser pour débuter en programmation

Le monde des développeurs est un écosystème assez fermé qui s’adapte et utilise d’une manière générale les mêmes outils.

Voici certains d’entre eux qui vous aideront à être plus productifs :

Les services d’hébergement et/ou de gestion de codes

Ils permettent notamment de travailler facilement à plusieurs ou non sur les codes sources de vos programmes. Parmi eux on notera le fameux Github mais aussi SVN.

Les environnements de développement intégrés

Sous Windows, vous n’avez pas trop le choix, il s’agit principalement de Visual Studio, mais sous Linux vous avez notamment Eclipse, Geany et bien d’autres.

Développement Open Source

La communauté Hacker s’attache particulièrement à l’esprit open source. Il s’agit de permettre la rediffusion et modification de votre programme par d’autres utilisateurs notamment dans le but de l’améliorer.

Toutes les ressources pour débuter en programmation

Enfin, on notera qu’un programmeur cherche beaucoup dans les livres ou sur le net des extraits de codes sources qu’il pourra utiliser. Personne ne programme vraiment tout de tête (et encore moins sans fautes), à moins d’être un expert avec des dizaines d’années de pratique.

Bonne continuation à vous et bonne chance dans votre apprentissage 😉

N’hésitez pas à laisser en commentaire vos 3 domaines d’apprentissage ciblés et votre envie ou non d’avoir un guide complet pour un ou deux langage de programmation précis.

Et voici d’autres articles pouvant vous intéresser si vous souhaitez apprendre à programmer rapidement :

Du nouveau contenu arrive bientôt pour vous aider à progresser en programmation. Stay tuned!

Crédits images : Lisamarie Babik – Ted & IanUploaded, Edward, Abstrusegoose

Articles similaires

Menu