lundi 12 décembre 2011

Apprenez à programmer en C

1)Les outils nécessaires au programmeur:

  • Un éditeur de texte pour écrire le code source du programme (en C ou C++). En théorie un logiciel comme le Bloc-Notes sous Windows, ou "vi" sous Linux fait l'affaire. L'idéal, c'est d'avoir un éditeur de texte intelligent qui colore tout seul le code, ce qui vous permet de vous repérer dedans bien plus facilement
  • Un compilateur pour transformer ("compiler") votre source en binaire.
  • Un débugger pour vous aider à traquer les erreurs dans votre programme (on n'a malheureusement pas encore inventé le "correcteur", un truc qui corrigerait tout seul nos erreurs  )

A priori, si vous êtes un casse-cou de l'extrême, vous pourriez vous passer de débugger. Mais bon, je sais pertinemment que dans moins de 5 minutes vous reviendrez en pleurnichant me demander où on peut trouver un débugger qui marche bien

A partir de maintenant on a 2 possibilités :


  • Soit on récupère chacun de ces 3 programmes séparément. C'est la méthode la plus compliquée, mais elle fonctionne  Sous Linux en particulier, bon nombre de programmeurs préfèrent utiliser ces 3 programmes séparément. Je ne détaillerai pas cette méthode ici, je vais plutôt vous parler de la méthode simple.
  • Soit on utilise un programme "3-en-1" (comme les liquides vaisselle, oui oui) qui combine éditeur de texte, compilateur et débugger. Ces programmes "3-en-1" sont appelés IDE, ou encore "Environnements de développement"
Il existe plusieurs environnements de développement. Vous aurez peut-être un peu de mal à choisir celui qui vous plaît au début. Une chose est sûre en tout cas: vous pouvez faire n'importe quel type de programme, quel que soit l'IDE que vous choisissez.

Choisissez votre IDE

Il m'a semblé intéressant de vous montrer quelques IDE parmi les plus connus. Tous sont disponibles gratuitement. Personnellement, je navigue un peu entre tous ceux-là et j'utilise l'IDE qui me plaît selon l'humeur du jour .
  • Une des IDE que je préfère s'appelle Code::Blocks. Il est gratuit et fonctionne sur la plupart des systèmes d'exploitation. Je conseille d'utiliser celui-ci pour débuter (et même pour la suite s'il vous plaît bien !).
    Fonctionne sous Windows, Mac et Linux.
  • Le plus célèbre IDE sous Windows, c'est celui de Microsoft : Visual C++. Il existe à la base en version payante (chère !), mais heureusement il existe une version gratuite intitulée Visual C++ Express qui est vraiment très bien (il y a peu de différences avec la version payante). Il est très complet et possède un puissant module de correction des erreurs (débuggage).
    Fonctionne sous Windows uniquement.
  • Sur Mac OS X, vous pouvez aussi utiliser XCode, généralement fourni sur le CD d'installation de Mac OS X. C'est un IDE très apprécié par tous ceux qui font de la programmation sur Mac.
    Fonctionne sous Mac OS X uniquement.

Note pour les utilisateurs de Linux : il existe de nombreux IDE sous Linux, mais les programmeurs expérimentés préfèrent parfois se passer d'IDE et compiler "à la main", ce qui est un peu plus difficile. Vous aurez le temps d'apprendre à faire cela plus tard. En ce qui nous concerne nous allons commencer par utiliser un IDE. Je vous conseille d'installer Code::Blocks si vous êtes sous Linux pour suivre mes explications.

Quel est le meilleur de tous ces IDE ?

Tous ces IDE vous permettront de programmer et de suivre le reste de ce cours sans problème. Certains sont plus complets au niveau des options, d'autres un peu plus intuitifs à utiliser, mais dans tous les cas les programmes que vous créerez seront les mêmes quel que soit l'IDE que vous utilisez. Ce choix n'est donc pas si crucial qu'on pourrait le croire.

Durant tout ce cours, j'utiliserai Code::Blocks. Si vous voulez avoir exactement les mêmes écrans que moi, surtout pour ne pas être perdu au début, je vous recommande donc de commencer par installer Code::Blocks.


2)Code::Blocks:

Code::Blocks est un IDE libre et gratuit, disponible pour Windows, Mac et Linux.

Code::Blocks n'est disponible pour le moment qu'en anglais.
Ca ne devrait PAS vous repousser à l'utiliser. Croyez-moi, nous aurons de toute façon peu affaire aux menus : c'est le langage C qui nous intéresse.

Sachez toutefois que quand vous programmerez vous serez de toute façon confronté bien souvent à des documentations en anglais. Voilà donc une raison de plus pour s'entraîner à utiliser cette langue.

Télécharger Code::Blocks


Rendez-vous sur le lien http://www.codeblocks.org/downloads/binaries

  • Si vous êtes sous Windows, repérez la section "Windows" un peu plus bas sur cette page. Téléchargez le logiciel en prenant le programme qui contient mingw dans le nomcodeblocks-10.05mingw-setup.exe). L'autre version étant sans compilateur, vous auriez eu du mal à compiler vos programmes (ex. :
  • Si vous êtes sous Linux, choisissez le package qui correspond à votre distribution.
  • Enfin, sous Mac, choisissez le fichier le plus récent de la liste (ex. : codeblocks-10.05-p2-mac.zip).


J'insiste là-dessus : si vous êtes sous Windows, téléchargez la version incluant mingw dans le nom du programme d'installation. Si vous prenez la mauvaise version, vous ne pourrez pas compiler vos programmes par la suite !

CodeBlocks avec mingw



L'installation est très simple et rapide. Laissez toutes les options par défaut et lancez le programme.

Code Blocks


On distingue 4 grandes sections dans la fenêtre, numérotées sur l'image :

  1. La barre d'outils : elle comprend de nombreux boutons, mais seuls quelques-uns d'entre eux nous seront régulièrement utiles. J'y reviendrai plus loin.
  2. La liste des fichiers du projet : c'est à gauche que s'affiche la liste de tous les fichiers source de votre programme. Notez que sur cette capture aucun projet n'a été créé donc on ne voit pas encore de fichiers à l'intérieur de la liste. Vous verrez cette section se remplir dans cinq minutes en lisant la suite du cours.
  3. La zone principale : c'est là que vous pourrez écrire votre code en langage C !
  4. La zone de notification : aussi appelée la "Zone de la mort", c'est ici que vous verrez les erreurs de compilation s'afficher si votre code comporte des erreurs. Cela arrive très régulièrement !
Image utilisateur

Intéressons-nous maintenant à une section particulière de la barre d'outils. Vous trouverez les boutons suivants (dans l'ordre) "Compiler", "Exécuter", "Compiler & Exécuter" et "Tout recompiler". Retenez-les, nous les utiliserons régulièrement.
  • Compiler : tous les fichiers source de votre projet sont envoyés au compilateur qui va se charger de créer un exécutable. S’il y a des erreurs (ce qui a de fortes chances d’arriver  ), l’exécutable ne sera pas créé et on vous indiquera les erreurs en bas de Code::Blocks.
  • Exécuter : cette icône lance juste le dernier exécutable que vous avez compilé. Cela vous permettra donc de tester votre programme et voir ainsi ce qu’il donne . Dans l’ordre, si vous avez bien suivi, on doit d’abord compiler, puis exécuter pour tester ce que ça donne. On peut aussi utiliser le 3e bouton…
  • Compiler & Exécuter : pas besoin d’être un génie pour comprendre que c’est la combinaison des 2 boutons précédents. C’est d’ailleurs ce bouton que vous utiliserez le plus souvent. Notez que s’il y a des erreurs pendant la compilation (pendant la génération de l’exécutable), le programme ne sera pas exécuté. A la place, vous aurez droit à une beeelle liste d’erreurs à corriger .
  • Tout reconstruire : quand vous faites " Compiler ", Code::Blocks ne recompile en fait que les fichiers que vous avez modifiés et pas les autres. Parfois, je dis bien parfois, vous aurez besoin de demander à Code::Blocks de vous recompiler tous les fichiers. On verra plus tard quand on a besoin de ce bouton, et vous verrez plus en détail le fonctionnement de la compilation dans un chapitre futur. Pour l’instant, on se contente de savoir le minimum nécessaire pour pas tout mélanger .
    Ce bouton ne nous sera donc pas utile de suite.

Je vous conseille d’utiliser les raccourcis plutôt que de cliquer sur les boutons, parce que c’est quelque chose qu’on fait vraiment très très souvent. Retenez en particulier qu'il faut taper sur F9 pour faire " Compiler & Exécuter ".
Créer un nouveau projet

Pour créer un nouveau projet c'est très simple : allez dans le menu File / New / Project.
Dans la fenêtre qui s'ouvre, choisissez "Console application" :


Nouveau projet


Comme vous pouvez le voir, Code::Blocks propose de réaliser pas mal de types de programmes différents qui utilisent des bibliothèques connues comme la SDL (2D), OpenGL (3D), Qt et wxWidgets (Fenêtres) etc etc... Pour l'instant, ces icônes servent plutôt à faire joli car les bibliothèques ne sont pas installées sur votre ordinateur, vous ne pourrez donc pas les faire marcher.
Nous nous intéresserons à ces autres types de programmes bien plus tard. En attendant il faudra vous contenter de "Console", car vous n'avez pas encore le niveau nécessaire pour créer les autres types de programmes.

Cliquez sur "Go" pour créer le projet. Un assistant s'ouvre.

Faites "Next", la première page ne servant à rien.
On vous demande ensuite si vous allez faire du C ou du C++ : répondez C.

Nouveau projet


On vous demande le nom de votre projet, et dans quel dossier les fichiers source seront enregistrés :

Nouveau projet


Enfin, la dernière page vous permet de choisir de quelle façon le programme doit être compilé. Vous pouvez laisser les options par défaut, ça n'aura pas d'incidence pour ce que nous allons faire dans l'immédiat (veillez à ce que "Debug" ou "Release" au moins soit coché).

Nouveau projet


Cliquez sur "Finish", c'est bon !
Code::Blocks vous créera un premier projet avec déjà un tout petit peu de code source dedans .

Dans le cadre de gauche "Projects", développez l'arborescence en cliquant sur le petit "+" pour afficher la liste des fichiers du projet. Vous devriez avoir au moins un main.c que vous pourrez ouvrir en double-cliquant dessus.

Et voilà !
 

 

 

 
;