Accueil » Programmation » 5 étapes pour Débuter en Programmation

Vous êtes débutant en Programmation, en Hacking ou en informatique de façon générale ? 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 choisir le bon langage de programmation, apprendre vite et correctement, et enfin utiliser les bonnes pratiques jusqu’à atteindre un niveau qui vous convient en programmation.

comment apprendre à programmer

 

É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.

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. 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.
  • 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 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. 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. À 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é 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 à maitriser, 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. 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 maitriser 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 par le HTML, mais c’est totalement faux. Rappelez-vous encore une fois de ce que je disais plus haut : 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 Click To Tweet

 

En résumé :

  • C/C++…etc : apprentissage approfondi des systèmes et réseaux mais ils demandent du temps pour les maîtriser
  • .NET/Java/Python…etc : polyvalents et plus faciles à maîtriser. Ils sont très populaires.
  • 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ère pratique.
  • Assembleur, Perl, Go, Swift…etc : au besoin, selon vos buts.

 

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ème sur le fait de démarrer avec le « 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 à maitriser 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 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 débuter avec Linux pour ceux qui auraient comme but de maitriser un système d’exploitation durant leur apprentissage.

À ce propos, si vous avez décidé d’apprendre à mieux maitriser 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 ».

 

Les cours vidéos pour apprendre la programmation

J’utilise également le site Udemy pour apprendre grâce à des formations vidéos. J’ai beaucoup appris ainsi et je vous le recommande donc.

Bien qu’il y ait beaucoup de contenu en anglais, vous trouverez pas mal de cours en français.

Voici par exemple un cours en ligne complet sur le langage C valable que vous soyez sous Mac, Windows ou Linux (renvoi vers Udemy) :

Voici le cours en Français pour débuter avec Python à partir de zéro :

Voici un cours en Français pour apprendre à programmer pour iPhone (iOS et Swift) :

apprendre ios et swift (iphone)

Voici un cours pour développer vos jeux 3D sous forme d’applications Android :

commencer avec unity3d

 

 

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

 

Les cours « papiers »

Je mets « papiers » entre parenthèses car ce sont des versions numériques (à lire sur ordinateur, tablette ou smartphone).

Voici un cours écrit par mes soins sur les langages web HTML5, CSS, JavaScript et PHP pour créer votre propre site web de A à Z :

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.

 

É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 CVs 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é.

D’autre part, en enseignant, vous apprenez beaucoup vous-aussi, et en partageant vos travaux vous recevez des feedbacks intéressants.

Vous pouvez également participer à des forums, à d’autres programmes…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 la 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. 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

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 de Visual Studio, mais sous Linux vous avez notamment Eclipse, Geany.

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.

Les ressources diverses pour commencer la 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, à moins d’être un expert avec des dizaines d’années de pratique.

Cet article sera bientôt disponible sous forme de guide dont toutes les étapes seront détaillées de A à Z. Mais avant cela, faites-moi savoir s’il vous intéresserait !

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 :

 

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

223 Commentaires

  1. Bonjour
    J’ai trouvé votre site passionnant, moi ma motivation est surtout centré dans la recherche de la vérité, en effet j’aimerais aider et protéger les plus faible, j’ai moi même était victime de hack, j’aimerais défendre les gens et sauver les peut -être et je compte ne pas laisser de chance aux méchants et au traitre.

    Avez vous des conseils ?

    merci de votre compréhension

  2. Bonjour
    J’ai besoin de connaître le langage de programmation pour pouvoir paramétrer moi même des régulations ,pour le traitement de l’air avec groupe froid ,chaudière ,récupérateur de chaleur etc…
    Comprendre le mode de fonctionnement d’un ordinateur et arriver à finir un programme ,le premier et le seul que j’ai taper était sur un amstrad 6128 ,programme qui était écrit à la fin du livre fournit avec l’ordi ,j’avais mis une semaine pour comprendre qu’il fallait taper Run pour lancer un jeu .

  3. Pierre Marie a écrit:

    Salut j’aimerai apperndre à programmer dans le but de créer des logiciels et les applications, comprendre comment fonctionne les systemes d’exploitation et la creation des sites web.
    Connaitre aussi les differentes platform ou utiliser ces app.
    Et j’apprecis enormement ce site au point ou je lui donne 04 etoil.

Laisser un commentaire

Lire plus :
comment sécuriser son compte facebook
Comment sécuriser son compte Facebook

Article mis à jour On le répète tellement, l'utilisateur est souvent la pièce fragile, c'est souvent lui le responsable de...

Fermer