Apprenez à programmer en C !
Last updated on Thursday, September 25, 2014
  • 4 semaines
  • Moyen

Free online content available in this course.

Paperback available in this course

eBook available in this course.

Certificate of achievement available at the end this course

Got it!

Ayez les bons outils !

Après un premier chapitre plutôt introductif, nous commençons à entrer dans le vif du sujet. Nous allons répondre à la question suivante : « De quels logiciels a-t-on besoin pour programmer ? ».

Il n'y aura rien de difficile à faire dans ce chapitre, on va prendre le temps de se familiariser avec de nouveaux logiciels.

Profitez-en ! Dans le chapitre suivant, nous commencerons à vraiment programmer et il ne sera plus l'heure de faire la sieste !

Les outils nécessaires au programmeur

Alors à votre avis, de quels outils un programmeur a-t-il besoin ?
Si vous avez attentivement suivi le chapitre précédent, vous devez en connaître au moins un !

Vous voyez de quoi je parle ?… Vraiment pas ?

Eh oui, il s'agit du compilateur, ce fameux programme qui permet de traduire votre langage C en langage binaire !

Comme je vous l'avais déjà un peu dit dans le premier chapitre, il existe plusieurs compilateurs pour le langage C. Nous allons voir que le choix du compilateur ne sera pas très compliqué dans notre cas.

Bon, de quoi d'autre a-t-on besoin ? Je ne vais pas vous laisser deviner plus longtemps. Voici le strict minimum pour un programmeur :

  • un éditeur de texte pour écrire le code source du programme. 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 y repérer bien plus facilement ;

  • un compilateur pour transformer (« compiler ») votre source en binaire ;

  • un débogueur pour vous aider à traquer les erreurs dans votre programme. On n'a malheureusement pas encore inventé le « correcteur » qui corrigerait tout seul nos erreurs. Ceci dit, quand on sait bien se servir du débogueur, on peut facilement retrouver ses erreurs !

A priori, si vous êtes aventuriers, vous pouvez vous passer de débogueur. Mais bon, je sais pertinemment que vous ne tarderez pas à en avoir besoin. ;-)

À partir de maintenant on a deux possibilités :

  • soit on récupère chacun de ces trois 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 trois 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 « trois-en-un » (comme les liquides vaisselle, oui, oui) qui combine éditeur de texte, compilateur et débogueur. Ces programmes « trois-en-un » sont appelés IDE, ou encore « Environnements de développement ».

Il existe plusieurs environnements de développement. Au début, vous aurez peut-être un peu de mal à choisir celui qui vous plaît. Une chose est sûre en tout cas : vous pouvez réaliser 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 le jour.

    • Un 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 il existe heureusement 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ébogage).

Fonctionne sous Windows uniquement.

    • Sur Mac OS X, vous pouvez 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.

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.

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

Code::Blocks (Windows, Mac OS, Linux)

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. Cela ne devrait PAS vous repousser à l'utiliser. Croyez-moi, nous aurons quoi qu'il en soit 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és 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 la page de téléchargements de Code::Blocks.

  • 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 nom (ex. : codeblocks-10.05mingw-setup.exe). L'autre version étant sans compilateur, vous auriez eu du mal à compiler vos programmes !

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

L'installation est très simple et rapide. Laissez toutes les options par défaut et lancez le programme. Vous devriez voir une fenêtre similaire à la fig. suivante.

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 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éé, on ne voit donc 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 !

Les principaux boutons de la barre d'outils

Intéressons-nous maintenant à une section particulière de la barre d'outils (fig. suivante). 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.

Voici la signification de chacune des quatre icônes que vous voyez sur la fig. suivante, dans l'ordre :

  • 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 tôt ou tard ! -, 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 de 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 troisième bouton…

  • compiler & exécuter : pas besoin d'être un génie pour comprendre que c'est la combinaison des deux 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é. À 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 non 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étails le fonctionnement de la compilation dans un chapitre futur. Pour l'instant, on se contente de savoir le minimum nécessaire pour ne pas tout mélanger. Ce bouton ne nous sera donc pas utile de suite.

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 (fig. suivante), choisissez Console application.

Nouveau projet

Cliquez sur Go pour créer le projet. Un assistant s'ouvre. Faites Next, cette première page ne servant à rien.

On vous demande ensuite si vous allez faire du C ou du C++ (fig. suivante) : répondez « C ».

Choix du langage

On vous demande le nom de votre projet (fig. suivante) et dans quel dossier les fichiers source seront enregistrés.

Nom et emplacement du projet

Enfin, la dernière page (fig. suivante) 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 sur ce que nous allons faire dans l'immédiat (veillez à ce que la case Debug ou Release au moins soit cochée).

Mode de compilation

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. Vous voilà parés !

Visual C++ (Windows seulement)

Quelques petits rappels sur Visual C++ :

  • c'est l'IDE de Microsoft ;

  • il est à la base payant, mais Microsoft a sorti une version gratuite intitulée Visual C++ Express ;

  • il permet de programmer en C et en C++ (et non pas seulement en C++ comme son nom le laisse entendre).

Nous allons bien entendu voir ici la version gratuite, Visual C++ Express (attention, il n'est compatible avec Windows 7 qu'à partir de la version 2010) :

Visual C++ Express

Quelles sont les différences avec le « vrai » Visual ?

Il n'y a pas l'éditeur de ressources qui vous permet de dessiner des images, des icônes, ou des fenêtres. Mais bon, ça, entre nous, on s'en moque bien parce qu'on n'aura pas besoin de s'en servir dans ce cours. Ce ne sont pas des fonctionnalités indispensables, bien au contraire.

Pour télécharger Visual C++ Express, rendez-vous sur le site web de Visual C++.
Sélectionnez ensuite Visual C++ Express Français un peu plus bas sur la page.

Visual C++ Express est en français et totalement gratuit. Ce n'est donc pas une version d'essai limitée dans le temps. C'est une chance d'avoir un IDE aussi puissant que celui de Microsoft disponible gratuitement, ne la laissez donc pas passer.

Installation

L'installation devrait normalement se passer sans encombre. Le programme d'installation va télécharger la dernière version de Visual sur Internet.
Je vous conseille de laisser les options par défaut.

Il faut vous enregistrer dans les 30 jours. Pas de panique, c'est gratuit et rapide ; mais il faut le faire.

Cliquez sur le lien qui vous est donné : vous arrivez sur le site de Microsoft. Connectez-vous avec votre compte Windows Live ID (équivalent du compte Hotmail ou MSN) ou créez-en un si vous n'en avez pas, puis répondez au petit questionnaire.

On vous donnera à la fin une clé d'enregistrement. Vous devrez recopier cette clé dans le menu ? / Inscrire le produit.

Créer un nouveau projet

Pour créer un nouveau projet sous Visual, allez dans le menu Fichier / Nouveau / Projet.
Sélectionnez Win32 dans la colonne de gauche, puis Application console Win32 à droite (fig. suivante). Entrez un nom pour votre projet, par exemple test.

Création de projet Visual C++ Express

Validez. Une nouvelle fenêtre s'ouvre :

Assistant création de projet Visual C++ Express

Cette fenêtre ne sert pas à grand-chose. Par contre, cliquez sur Paramètres de l'application dans la colonne de gauche.

Configuration du projet

Veillez à ce que Projet vide soit coché comme sur la fig. suivante. Cliquez enfin sur Terminer.

Ajouter un nouveau fichier source

Votre projet est pour l'instant bien vide. Faites un clic droit sur le dossier Fichiers source situé sur votre gauche, puis allez dans Ajouter / Nouvel élément (fig. suivante).

Ajout d'un fichier source

Une fenêtre s'ouvre.
Sélectionnez Visual C++ à gauche puis Fichier C++ (.cpp) (je sais, on ne fait pas de C++ mais ça n'a pas d'importance ici). Entrez un nom pour votre fichier : main.c, comme sur la figure suivante.

Choix du type du fichier source

Cliquez sur Ajouter. Un fichier vide est créé, je vous invite à l'enregistrer rapidement sous le nom de main.c.

C'est bon, vous allez pouvoir commencer à écrire du code !

La fenêtre principale de Visual

Voyons ensemble le contenu de la fenêtre principale de Visual C++ Express (fig. suivante).

Fenêtre principale de Visual C++ Express

Cette fenêtre ressemble en tous points à celle de Code::Blocks. On va rapidement (re)voir quand même ce que signifient chacune des parties.

    1. La barre d'outils : tout ce qu'il y a de plus standard. Ouvrir, enregistrer, enregistrer tout, couper, copier, coller, etc. Par défaut, il semble qu'il n'y ait pas de bouton de barre d'outils pour compiler. Vous pouvez les rajouter en faisant un clic droit sur la barre d'outils, puis en choisissant Déboguer et Générer dans la liste.

Toutes ces icônes de compilation ont leur équivalent dans les menus Générer et Déboguer. Si vous faites Générer, cela créera l'exécutable (ça signifie « compiler » pour Visual). Si vous faites Déboguer / Exécuter, on devrait vous proposer de compiler avant d'exécuter le programme. F7 permet de générer le projet, et F5 de l'exécuter.

  1. Dans cette zone très importante vous voyez normalement la liste des fichiers de votre projet. Cliquez sur l'onglet Explorateur de solutions en bas, si ce n'est déjà fait. Vous devriez voir que Visual crée déjà des dossiers pour séparer les différents types de fichiers de votre projet (sources, en-tête et ressources). Nous verrons un peu plus tard quels sont les différents types de fichiers qui constituent un projet.

  2. La partie principale : c'est là qu'on modifie les fichiers source.

Voilà, on a fait le tour de Visual C++. Vous pouvez aller jeter un œil dans les options (Outils / Options) si ça vous chante, mais n'y passez pas trois heures. Il faut dire qu'il y a tellement de cases à cocher de partout qu'on ne sait plus trop où donner de la tête.

Xcode (Mac OS seulement)

Il existe plusieurs IDE compatibles Mac. Il y a Code::Blocks bien sûr, mais ce n'est pas le seul.
Je vais vous présenter ici l'IDE le plus célèbre sous Mac : Xcode.

Cette section dédiée à Xcode est inspirée d'un tutoriel paru sur LogicielMac.com, avec l'aimable autorisation de son auteur PsychoH13. Merci à Flohw pour la mise à jour des captures.

Xcode, où es-tu ?

Logo de Xcode

Tous les utilisateurs de Mac OS ne sont pas des programmeurs. Apple l'a bien compris et n'installe pas par défaut d'IDE avec Mac OS.
Heureusement, pour ceux qui voudraient programmer, tout est prévu. En effet, Xcode (logo en fig. suivante) est disponible sur le MacAppStore. Commencez donc par le récupérer là-bas.

Par ailleurs, je vous conseille de mettre en favoris la page dédiée aux développeurs sur le site d'Apple. Vous y trouverez une foule d'informations utiles pour le développement sous Mac. Vous pourrez notamment y télécharger plusieurs logiciels pour développer.
N'hésitez pas à vous inscrire à l'ADC (« Apple Development Connection »), c'est gratuit et vous serez ainsi tenus au courant des nouveautés.

Lancement de Xcode

Xcode est l'IDE le plus utilisé sous Mac, créé par Apple lui-même. Les plus grands logiciels, comme iPhoto et Keynote, ont été codés à l'aide de Xcode. C'est réellement l'outil de développement de choix quand on a un Mac !

La première chose à faire est de créer un nouveau projet, alors commençons par ça. Allez dans le menu File / New Project. Une fenêtre de sélection de projet s'ouvre (fig. suivante).

Accueil de Xcode

Allez dans la section Application et sélectionnez Command Line Tool. Si vous avez une version plus ancienne du logiciel, il vous faudra probablement aller dans la section Command line utility et sélectionner Standard tool.

Cliquez ensuite sur Next. On vous demandera où vous voulez enregistrer votre projet (un projet doit toujours être enregistré dès le début) ainsi que son nom. Placez-le dans le dossier que vous voulez.

Une fois créé, votre projet se présentera sous la forme d'un dossier contenant de multiples fichiers dans le Finder. Le fichier à l'extension .xcodeproj correspond au fichier du projet. C'est lui que vous devrez sélectionner la prochaine fois si vous souhaitez réouvrir votre projet.

La fenêtre de développement

Dans Xcode, si vous sélectionnez main.c à gauche, vous devriez avoir une fenêtre similaire à la fig. suivante.

Xcode en action

La fenêtre est découpée en quatre parties, ici numérotées de 1 à 4.

  1. La première partie est la barre de boutons tout en haut. Le plus important d'entre eux, Run, vous permettra d'exécuter votre programme.

  2. La partie de gauche correspond à l'arborescence de votre projet. Certaines sections regroupent les erreurs, les avertissements, etc. Xcode vous place automatiquement dans la section la plus utile, celle qui porte le nom de votre projet.

  3. La troisième partie change en fonction de ce que vous avez sélectionné dans la partie de gauche. Ici, on a le contenu de notre fichier main.c.

  4. Enfin, la quatrième partie affiche le résultat de l'exécution du programme dans la console, lorsque vous avez cliqué sur Run.

Ajouter un nouveau fichier

Au début, vous n'aurez qu'un seul fichier source (main.c). Cependant, plus loin dans le cours, je vous demanderai de créer de nouveaux fichiers source lorsque nos programmes deviendront plus gros.

Pour créer un nouveau fichier source sous Xcode, rendez-vous dans le menu File / New File.
Un assistant vous demande quel type de fichier vous voulez créer. Rendez-vous dans la section Mac OS X / C and C++ et sélectionnez C File (Fichier C). Vous devriez avoir sous les yeux la fig. suivante.

Ajouter un fichier sous Xcode

Vous devrez donner un nom à votre nouveau fichier (ce que vous voulez). L'extension, elle, doit rester .c. Parfois - nous le verrons plus loin -, il faudra aussi créer des fichiers .h (mais on en reparlera). La case à cocher Also create fichier.h est là pour ça. Pour le moment, elle ne nous intéresse pas.

Cliquez ensuite sur Finish. C'est fait ! Votre fichier est créé et ajouté à votre projet, en plus de main.c.

Vous êtes maintenant prêts à programmer sous Mac !

En résumé

  • Les programmeurs ont besoin de trois outils : un éditeur de texte, un compilateur et un débogueur.

  • Il est possible d'installer ces outils séparément, mais il est courant aujourd'hui d'avoir un package trois-en-un que l'on appelle IDE, l'environnement de développement.

  • Code::Blocks, Visual C++ et Xcode comptent parmi les IDE les plus célèbres.

Example of certificate of achievement
Example of certificate of achievement