En tant que débutant, le thème de la pro­gram­ma­tion paraît bien souvent mys­té­rieux. Il est difficile de se faire une idée de ce à quoi peuvent res­sem­bler les méthodes et outils de pro­gram­ma­tion ou encore le codage lorsque l’on n’a aucune ex­pé­rience. Apprendre à pro­gram­mer est une épreuve con­si­dé­rable, surtout si l’on prévoit d’apprendre en au­to­di­dacte pour son propre projet. Nous vous résumons ce dont vous aurez besoin pour que votre ap­pren­tis­sage du codage, des commandes et du langage script soit couronné de succès.

Pro­gram­ma­tion pour débutants : la pré­pa­ra­tion

Celui qui veut apprendre un langage de pro­gram­ma­tion doit beaucoup se do­cu­men­ter. La lecture de sujets de forums et de livres est un premier pas. Grâce à une lecture mi­nu­tieuse, on peut se doter des bases du savoir né­ces­saires. Chaque langage de pro­gram­ma­tion possède son forum de dis­cus­sion. Ainsi, la plupart des questions ima­gi­nables ont déjà été posées et les in­ter­nautes y ont sans doute également apporté une réponse, ou du moins tenté. Si vous ne trouvez pas de réponse sa­tis­fai­sante, vous pouvez poser vous-même votre question à la grande com­mu­nauté des pro­gram­meurs. Notez les in­for­ma­tions im­por­tantes qui vous aideront dans la phase d’ini­tia­tion. Une base de données per­son­nelles claires et com­por­tant des notes in­té­res­santes vous aidera plus tard à résoudre vos problèmes de manière ciblée.

Quels sont les langages de pro­gram­ma­tion ?

Une bonne partie de votre recherche et de votre pré­pa­ra­tion doit consister à découvrir les dif­fé­rents langages de pro­gram­ma­tion et à trouver lequel est le plus adéquat pour votre projet. Les plus connus et utilisés sont les suivants :

  • Java
  • C
  • C++
  • C#
  • Objective-C
  • Python
  • Visual Basic .NET
  • HP
  • Ja­vaS­cript

La com­plexité de ces langages est variable : certains sont en effet plus dif­fi­ciles que d’autres à maîtriser. Vous devez toujours garder en tête la raison pour laquelle vous voulez apprendre à pro­gram­mer. Souhaitez-vous concevoir des sites Web à l’avenir ? Souhaitez-vous plutôt pro­gram­mer un mi­cro­con­trô­leur qui vous servirait au quotidien (dans votre voiture par exemple) ?

Pro­gram­ma­tion Web

Pour concevoir des pages Internet ou bien adapter une ap­pli­ca­tion Web, il faut commencer par les bases. HTML et CSS ne sont pas des langages de pro­gram­ma­tion en soi mais ils re­pré­sen­tent cependant la base de la plupart des sites et cons­ti­tuent ainsi le point de départ d’un débutant en pro­gram­ma­tion. On peut mettre en place des éléments de pages Web à l’aide de HTML et ainsi concevoir le squelette d’un site. L’étape suivante est la dé­cou­verte de HTML5 qui propose plus de pos­si­bi­li­tés au­dio­vi­suelles. Avec CSS, il est question de con­cep­tion et d’or­ga­ni­sa­tion. Toutes les ca­rac­té­ris­tiques des dif­fé­rents éléments sont fixées par ce biais, à savoir leurs couleurs ou leurs positions par exemple. Cependant, HTML et CSS ne per­met­tent que la con­cep­tion de pages fonc­tion­nelles statiques et simples. Si vous réus­sis­sez à prendre en main ces outils de base, vous pourrez faire de la pro­gram­ma­tion. Pour des premiers essais avec des pages dy­na­miques, l’uti­li­sa­tion de Ja­vaS­cript est le meilleur choix car elle s’avère assez simple. A l’aide de Ja­vaS­cript, on peut concevoir des sites Web dy­na­miques qui per­met­tent par exemple l’adap­ta­tion au­to­ma­tique de la taille des images. PHP et SQL com­plè­tent le paquet de base pour la pro­gram­ma­tion d’ap­pli­ca­tions Web. PHP est un langage de script open source et peut être intégré au protocole HTML. SQL est quant à celui-ci un langage de base de données avec lequel on peut définir la structure des données, modifier ces dernières ou encore extraire des ensembles de données. Lors de la con­cep­tion de pages complexes (incluant une zone d’iden­ti­fi­ca­tion des membres par exemple), l’uti­li­sa­tion d’un système de gestion de contenu (CMS pour Content Ma­na­ge­ment System) allège con­si­dé­ra­ble­ment les con­nais­sances requises sur PHP et SQL. Les éléments présentés ci-dessus ne sont bien entendu qu’un petit choix des nombreux langages de script possibles pour le Web. Les langages HTML, CSS, Ja­vaS­cript, SQL et PHP cons­ti­tuent tout de même une base de con­nais­sances solide et suf­fi­sante pour la plupart des projets Web. Le site Web w3schools.com propose une do­cu­men­ta­tion adaptée pour les débutants ainsi que des tutoriels pour l’uti­li­sa­tion des scripts évoqués.

Pro­gram­mer une ap­pli­ca­tion

Afin de pro­gram­mer des ap­pli­ca­tions comme des jeux, voire des pro­grammes de retouche photo, il convient de miser sur d’autres bases. Parmi celles-ci on trouve notamment C, C++ et Java. Ces trois langages pré­sen­tent une syntaxe similaire. Celui qui maîtrise C ou C++ va ainsi plus fa­ci­le­ment prendre en main Java. Vous trouverez un cours pour pro­gram­mer en C ou C++ sur de­ve­lop­pez.com. Quant à la pro­gram­ma­tion Java ou C#, il existe des tutoriels sur les pages Web res­pec­tives suivantes : Open­class­rooms.com pro­gram­ma­tion Java, pro­gram­ma­tion en C#. 

Ap­pli­ca­tions pour iOS et OS X

Il est possible de pro­gram­mer des ap­pli­ca­tions pour iPhone et IPad à l’aide de Cocoa. Il ne s’agit pas d’un langage script mais d’une interface de trans­mis­sion pour le système d’ex­ploi­ta­tion Mac OS. Xcode est une interface de dé­ve­lop­pe­ment pour Mac OS, avec laquelle on peut dé­ve­lop­per des ap­pli­ca­tions Mac et iOS en relation avec Cocoa. L’interface Builder est un logiciel de con­cep­tion graphique pour in­ter­faces d’ap­pli­ca­tions. Parmi les langages utilisés on compte entre autres Objective-C.

Ap­pli­ca­tions pour Android

Les ap­pli­ca­tions pour les systèmes d’ex­ploi­ta­tion Android sont pro­gram­mées avec Java. L’interface Android Studio et le kit de dé­ve­lop­pe­ment Java d’Oracle, combinées avec des con­nais­sances de base adaptées per­met­tent de créer des ap­pli­ca­tions des plus variées.

Apprendre à pro­gram­mer en ligne

Que vous soyez employé ou créateur d’une start-up par exemple, posséder des con­nais­sances en pro­gram­ma­tion est un atout in­dé­niable dans la branche digitale, mais aussi un gros défi. Il existe de l’aide sur Internet pour un ap­pren­tis­sage rapide et sans détour : des cours en ligne sont en effet dis­po­nibles pour apprendre la pro­gram­ma­tion.

Code Academy

Code Academy propose un cours de pro­gram­ma­tion in­te­rac­tif an­glo­phone, entre autres pour HTML, Ja­vaS­cript et PHP. La pla­te­forme publie également des cours qui ne se réfèrent pas à des langages de pro­gram­ma­tion par­ti­cu­liers, mais plutôt des thèmes généraux comme par exemple la pro­gram­ma­tion de sites Web in­te­rac­tifs. Vous pouvez donc apprendre la pro­gram­ma­tion gra­tui­te­ment, en langue anglaise et avec des con­nais­sances de base en in­for­ma­tique.

Udemy

La pla­te­forme en ligne Udemy propose plus de 40 000 cours en ligne, de la pho­to­gra­phie jusqu’à la pro­gram­ma­tion, en passant par le design. Les offres de cours en ligne peuvent être gratuites ou payantes con­cer­nant les prin­ci­paux thèmes d’in­for­ma­tique (logiciels et pro­gram­ma­tion). Les uti­li­sa­teurs peuvent par con­sé­quent trouver des ini­tia­tions gratuites à Java, HTML5 ou PHP et d’autres payantes sur les ap­pli­ca­tions mobiles, le e-commerce, etc. Un point positif pour les dé­ve­lop­peurs est le cours de pro­gram­ma­tion pour en­tre­pre­neurs à dis­po­si­tion. Les cours sont prin­ci­pa­le­ment en anglais et ne né­ces­si­tent pas toujours d’avoir des con­nais­sances de base. Il y a des cours gratuits et ceux qui sont payants coûtent environ une dizaine d’euros.

Code.org

Code.org est un portail en ligne pour les débutants en pro­gram­ma­tion. C’est donc la pla­te­forme idéale pour ceux qui ne possèdent pas de con­nais­sances en la matière. Il y a un large choix de tutoriels ludiques et gratuits, com­por­tant des ré­fé­rences à de célèbres jeux en ligne comme Angry Birds. Sur Code.org, il s’agit surtout d’expliquer la logique de la pro­gram­ma­tion. Le portail est in­ter­na­tio­nal et vous pouvez sé­lec­tion­ner la langue de votre choix, dont le français. Des petits jeux et tâches attendent l’uti­li­sa­teur, de manière à rendre l’ap­pren­tis­sage le plus com­pré­hen­sible possible.

Soutien à l’ap­pren­tis­sage

Si vous savez quels langages de pro­gram­ma­tion utiliser, vous avez un choix gi­gan­tesque de tutoriels en ligne et d’autres formes d’aide per­ti­nentes. Il faut par ailleurs de la patience pour trouver l’éditeur approprié à votre matériel. Le choix des éditeurs est grand, les plus connus sont Notepad++ pour les uti­li­sa­teurs Windows, BBEdit pour ceux qui utilisent un Mac tout comme TextMate. L’éditeur Su­bli­me­Text s’avère adapté, aussi bien pour Mac que pour Windows. Pour les langages comme Java ou C (et dérivés de la même famille), on se rattache en général à un IDE (en­vi­ron­ne­ment de dé­ve­lop­pe­ment), qui regroupe dif­fé­rents éléments com­plé­men­taires pour la pro­gram­ma­tion (par exemple Eclipse, NetBeans, Visual Studio, XCode). Les cours en ligne sont très pratiques et appréciés des uti­li­sa­teurs et cela vaut toujours la peine de jeter un œil sur les offres d’uni­ver­si­tés ou de grandes écoles. Des cours sont aussi souvent ouverts pour des par­ti­ci­pants externes en échange d’une par­ti­ci­pa­tion fi­nan­cière.

Aller au menu principal