|
Programmer, c'est quoi ?
On commence par la question la plus simple qui soit, la plus basique de toutes les questions basiques Si vous avez limpression de déjà savoir tout ça, je vous conseille de lire quand même, ça ne peut pas vous faire de mal  Je pars de zéro pour ce cours, donc je vais devoir répondre à la question :
Que signifie le mot "programmer" ? Bon, je vais éviter de vous faire comme mon prof de français : je ne vais pas vous donner lorigine du mot "programmer". Et puis de toute façon si je vous disais que ça vient du latin programmeus je crois que vous auriez un peu de mal à me croire Simplement, programmer signifie réaliser des "programmes informatiques". Les programmes demandent à l'ordinateur d'effectuer des actions. Votre ordinateur est rempli de programmes en tous genres :
- La calculatrice est un programme
- Votre traitement de texte est un programme
- Votre logiciel de « Chat » est un programme
- Les jeux vidéo sont des programmes
En bref, les programmes sont partout et permettent de faire à priori tout et nimporte quoi sur un ordinateur. Vous pouvez inventer un logiciel de cryptage révolutionnaire si ça vous chante, ou réaliser un jeu de combat en 3D sur Internet, peu importe. Votre ordinateur peut tout faire (sauf le café, mais j'y travaille  ).
Le célèbre jeu Half-Life 2, programmé en C++
Attention ! Je nai pas dit que réaliser un jeu vidéo se faisait en claquant des doigts. Jai simplement dit que tout cela était possible, mais soyez sûrs que ça demande beaucoup de travail Comme vous débutez, nous nallons pas commencer par voir comment réaliser un jeu 3D. Ce serait du pur suicide Nous allons devoir passer par des choses très simples. Une des premières choses que nous verrons est comment afficher un message à lécran. Oui, je sais ça n'a rien de très transcendant, mais rien que ça croyez-moi, cest pas si facile que ça en a lair Bon, cest vrai que ça impressionne moins les copains, mais on va bien devoir passer par là. Petit à petit, vous apprendrez suffisamment de choses pour commencer à réaliser des programmes de plus en plus complexes. Le but de ce cours est que vous soyez capables de vous débrouiller tous seuls dans nimporte quel programme écrit en C ou C++. Mais tenez au fait, vous savez ce que cest vous, cette histoire de "C / C++" ?
Programmer, dans quel langage ?
Votre ordinateur est une machine bizarre, cest le moins que lon puisse dire. On ne peut sadresser à lui quen lui envoyant des 0 et des 1. Ainsi, si je traduis "Fais le calcul 3 + 5" en langage informatique, ça pourrait donner quelque chose comme : 0010110110010011010011110 (jinvente hein, je ne connais pas la traduction informatique par cur :p) Ce que vous voyez là, cest le langage informatique de votre ordinateur, appelé langage binaire (retenez bien ce mot !). Votre ordinateur ne connaît que ce langage-là et, comme vous pouvez le constater, cest absolument incompréhensible, immonde et imbuvable Donc voilà notre premier vrai problème :
Comment parler à lordinateur plus simplement quen binaire avec des 0 et des 1 ? Votre ordinateur ne parle pas langlais et encore moins le français. Pourtant, il est inconcevable décrire un programme en langage binaire. Même les informaticiens les plus fous ne le font pas, cest vous dire Eh bien, lidée que les informaticiens ont eue, cest dinventer de nouveaux langages qui seraient ensuite traduits en binaire pour lordinateur. Le plus dur à faire, cest de réaliser le programme qui fait la "traduction". Heureusement, ce programme a déjà été écrit par des informaticiens et nous naurons pas à le refaire (ouf !  ). On va au contraire sen servir pour écrire des phrases comme : "Fais le calcul 3 + 5" Qui seront traduites par le programme de "traduction" en quelque chose comme : "0010110110010011010011110". Si on fait un schéma de ce que je viens de dire, ça donne quelque chose comme ça :
Schéma ( super-simplifié ) de réalisation dun programme
Un peu de vocabulaireLà jai parlé avec des mots simples, mais il faut savoir quen informatique il existe un mot pour chacune de ces choses-là. Tout au long de ce cours, vous allez dailleurs apprendre pas mal de vocabulaire. Non seulement vous aurez lair de savoir de quoi vous parlez, mais si un jour (et ça arrivera) vous devez parler à un autre programmeur, vous saurez vous faire comprendre. Certes, les gens autour de vous vous regarderont comme des extra-terrestres, mais ça il faudra pas y faire attention Reprenons le schéma quon vient de voir. La première case est "Votre programme est écrit dans un langage simplifié". Ce fameux "langage simplifié" est appelé en fait " langage de haut niveau". Il existe plusieurs "niveaux" de langages. Plus un langage est haut niveau, plus il est proche de votre vraie langue (comme le français). Un langage de haut niveau est donc facile à utiliser (chouette !  ), mais cela a aussi quelques petits défauts comme nous le verrons plus tard. Il existe de nombreux langages de plus ou moins haut niveau en informatique dans lesquels vous pouvez écrire vos programmes. En voici quelques-uns par exemple :
- Le C
- Le C++
- Java
- Visual Basic
- Delphi
- Etc etc...
Notez que je ne les ai pas classés par "niveau de langage", donc n'allez pas vous imaginer que le premier de la liste est plus facile que le dernier ou l'inverse  Ce sont juste quelques exemples en vrac qui me sont passés par la tête. (et davance désolé pour tous les autres langages qui existent, mais faire une liste complète serait vraiment trop long ) Certains de ces langages sont plus haut niveau que dautres (donc en théorie un peu plus faciles à utiliser), on va voir un peu plus loin notamment ce qui différencie le langage C du langage C++. Un autre mot de vocabulaire à retenir est : code source. Ce qu'on appelle le code source, c'est tout simplement le code de votre programme écrit dans un langage de haut niveau. C'est donc vous qui écrivez le code source, qui sera ensuite traduit en binaire. Venons-en justement au « programme de traduction » qui traduit notre langage de haut niveau (comme le C ou le C++) en binaire. Ce programme a un nom : on lappelle le compilateur. La traduction, elle, s'appelle la compilation. Très important : il existe un compilateur différent pour chaque langage de haut niveau. Cest d'ailleurs tout à fait logique : les langages étant différents, on ne traduit pas le C++ de la même manière quon traduit le Delphi
Vous verrez par la suite que, pour les langages C / C++ par exemple, il existe même plusieurs compilateurs différents ! Il y a le compilateur écrit par Microsoft, le compilateur GNU etc. On verra tout ça dans le chapitre suivant. Heureusement, ces compilateurs-là sont quasiment identiques (même sil y a parfois quelques "légères" différences que nous apprendrons à reconnaître).
Enfin, le programme binaire créé par le compilateur est appelé : lexécutable. Cest dailleurs pour cette raison que les programmes (tout du moins sous Windows) ont lextension ".exe" comme EXEcutable. Reprenons notre schéma de tout à lheure, et utilisons cette fois des vrais mots tordus dinformaticien. Ca donne :
Le même schéma, avec le bon vocabulaire
Pourquoi choisir dapprendre le C / C++ ?Comme je vous lai dit plus haut, il existe de très nombreux langages de haut niveau. Doit-on commencer par lun dentre eux en particulier ? Grande question Pourtant, il faut bien faire un choix, commencer la programmation à un moment ou à un autre. Et là, vous avez en fait le choix entre :
- Un langage très haut niveau : cest facile à utiliser, plutôt "grand public", comme Visual Basic. Cependant, un langage comme celui-ci a plusieurs défauts : tout dabord il est payant, coûte cher, mais il est aussi assez limité. Par exemple, votre programme ne fonctionnera que sous Windows : nespérez pas le faire marcher sous Linux ou Macintosh ! Enfin, et surtout, vous ne pourrez pas faire tout ce que vous voulez avec ce type de langage, vous vous rendrez compte que vous êtes en fait assez limité.
- Un langage un peu plus bas niveau (mais pas trop quand même !) : cest peut-être un peu plus difficile que Visual Basic certes, mais avec un langage comme le C (ou le C++) vous allez en apprendre beaucoup plus sur la programmation et sur le fonctionnement de votre ordinateur. Vous serez ensuite largement plus capables dapprendre un autre langage de programmation si vous le désirez. Vous serez donc plus autonomes.
Par ailleurs, le C et le C++ sont des langages très populaires. Ils sont utilisés pour programmer une grande partie des logiciels que vous connaissez. Enfin, pour programmer en C ou C++, vous nêtes pas obligés dacheter des logiciels hors de prix ! Nous verrons dans le second chapitre que programmer dans ces langages est tout à fait gratuit. Voilà en gros les raisons qui mincitent à vous apprendre le langage C plutôt quun autre. Je ne dis pas quil faut commencer par ça, mais je vous dis plutôt que cest un bon choix qui va vous donner de solides connaissances. Je vais supposer tout au long de ce cours que cest votre premier langage de programmation, que vous navez jamais fait de programmation avant. Si, par hasard, vous avez déjà un peu programmé, ça ne vous fera pas de mal de reprendre à zéro
Stop, il y a quelque chose que je ne comprends pas
Je vais apprendre un langage appelé "C / C++" ou je vais apprendre 2 langages : lun appelé "C" et lautre appelé "C++" ? La bonne réponse est que vous allez apprendre en fait 2 langages. Non, ça ne va pas faire 2 fois plus de travail Je mexplique. Le langage C et le langage C++ sont très similaires. Quand je désigne les 2 à la fois (comme je lai fait jusquici), jécris "C / C++". Voici ce quil faut savoir sur la différence entre les 2 avant de continuer :
- Au tout début, à lépoque où les ordinateurs pesaient des tonnes et faisaient la taille de votre maison, on a commencé à inventer un langage de programmation appelé l'Algol.
- Ensuite, les choses évoluant, on a créé un nouveau langage appelé le CPL, qui évolua lui-même en BCPL, puis qui pris le nom de langage B (euh si vous retenez pas tout ça c'est pas grave, j'écris juste pour faire semblant d'avoir de la culture là
)
- Puis, un beau jour, on en est arrivés à créer encore un autre langage quon a appelé... le langage C. Ce langage, s'il a subi quelques modifications, reste encore un des langages les plus utilisés aujourd'hui.
- Un peu plus tard, on a proposé dajouter des choses au langage C. Une sorte damélioration si vous voulez. Ce nouveau langage, que lon a appelé "C++", est entièrement basé sur le C. Le langage C++ nest en fait rien dautre que le langage C avec des ajouts (quels ajouts ? On verra ça plus tard dans le cours).
Il y a plusieurs façons dapprendre la programmation, je vous lai dit plus haut. Certaines personnes pensent quil est bien denseigner directement le C++. Elles nont peut-être pas tort. Après tout, si le C++ cest du langage C "avec des trucs en +", ça revient un peu au même. Pourtant, moi (et cet avis nengage que moi), je pense que ce serait mélanger les choses. Aussi jai décidé que jallais séparer mon cours en 2 grosses parties :
- Le langage C
- Le langage C++
Vu que vous aurez déjà appris le langage C dans un premier temps, quand on en viendra au langage C++ ça ira bien plus vite. Je naurai pas à vous réapprendre toutes les bases du C, jaurai juste besoin de vous indiquer quels ajouts ont été faits dans le C++ (enfin, ya de quoi dire quand même  )
Quil ny ait pas de malentendus. Le langage C++ nest pas "meilleur" que le langage C, il permet juste de programmer différemment. Il permet disons aussi au final de programmer un peu plus vite et de mieux organiser le code de son programme. Ce nest PAS parce que Half-Life 2 a été codé en C++ quil faut absolument faire du C++ pour réaliser des jeux ou des programmes complexes. Le langage C nest pas un "vieux langage oublié", au contraire il est encore très utilisé aujourdhui. Il est à la base des plus grands systèmes d'exploitation tels Unix (et donc Linux et Mac OS), ou encore Windows. Retenez donc : le C et le C++ ne sont pas des langages concurrents, on peut faire autant de choses avec lun quavec lautre. Ce sont juste 2 manières de programmer assez différentes. Lavantage, cest quà la fin de ce cours vous saurez aussi bien programmer en C quen C++ selon vos besoins
Programmer, c'est dur ?
Voilà une question qui doit bien vous torturer lesprit Alors : faut-il être un super mathématicien qui a fait 10 ans détudes supérieures pour pouvoir commencer la programmation ? La réponse, que je vous rassure, est non Non, un super niveau en maths nest pas nécessaire. En fait tout ce que vous avez besoin de connaître, ce sont les 4 opérations de base :
- Laddition (bon jespère que vous maîtrisez
)
- La soustraction (ouille ouille ouille !)
- La multiplication (argh)
- La division (bah pourquoi ya plus personne tout à coup ?
) Jespère que vous connaissez tout ça  Et histoire den être sûr, je vous expliquerai dans un prochain chapitre comment lordinateur réalise ces opérations de base. Bref, niveau maths, il ny a pas de difficulté insurmontable En fait, tout dépend du programme que vous allez faire : si vous devez faire un logiciel de cryptage, alors oui il vous faudra connaître des choses en maths. Si vous devez faire un programme qui fait de la 3D, oui il vous faudra quelques connaissances en géométrie de lespace. Chaque cas est particulier. Pour apprendre le langage C / C++, vous navez pas besoin de connaissances pointues en quoi que ce soit.
Mais alors, où est le piège ? Où est la difficulté ? Il faut savoir comment un ordinateur fonctionne pour comprendre ce quon fait. De ce point de vue-là, rassurez-vous, je vous apprendrai tout au fur et à mesure. Un programmeur a aussi certaines qualités comme :
- La patience : un programme ne marche jamais du premier coup, il faut savoir persévérer !
- Le sens de la logique : pas besoin dêtre fort en maths certes, mais ça ne vous empêchera pas davoir à réfléchir (ah ben zut alors !
)
- Le calme : on ne tape pas sur son ordinateur avec un marteau
Ce nest pas ça qui fera marcher votre programme En bref, et pour faire simple, il ny a pas de véritables connaissances requises pour programmer. Un nul en maths peut sen sortir sans problème, le tout est davoir la patience de réfléchir. Il y en a beaucoup dailleurs qui découvrent quils adorent ça !
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 sagit du compilateur, ce fameux programme qui permet de traduire votre langage C en langage binaire ! Comme je vous lavais un peu déjà dit dans le premier chapitre, il existe plusieurs compilateurs pour le langage C / C++. Nous allons voir que le choix du compilateur ne sera pas très compliqué dans notre cas Bon, de quoi dautre 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 C ou C++). En théorie un logiciel comme le Bloc-Notes sous Windows, ou "vi" sous Linux fait laffaire. 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 na malheureusement pas encore inventé le "correcteur", un truc qui corrigerait tout seul nos erreurs
) A priori, si vous êtes un casse-cou de lextrême, vous pouvez 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. Cest 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 IDEIl ma semblé intéressant de vous montrer 3 IDE parmi les plus connus. Tous sont disponibles gratuitement. Personnellement, je navigue un peu entre tous ceux-là et jutilise l'IDE qui me plaît selon l'humeur du jour
- Vous avez par exemple Dev C++ qui est très bien. Que son nom ne vous trompe pas : vous pouvez aussi bien faire du C que du C++ avec lui
- Plus récent que Dev C++, l'IDE Code::Blocks semble promis à un bel avenir. Il est aussi gratuit et plus tenu à jour que Dev. Il possède en outre quelques fonctionnalités intéressantes et fonctionne sous Windows et Linux. Je conseille d'utiliser celui-ci pour débuter.
- Un des IDE les plus connus, 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).
Quel est le meilleur de tous ces IDE ? Personnellement, entre Dev C++, Code::Blocks et Visual C++ jaurais tendance à préférer Visual. Je trouve son débugger plus puissant. Toutefois, comme vous débutez vous ne serez pas capables de profiter de toute sa puissance. Vous vous y mettrez sûrement, mais plus tard. Cela nous laisse donc un choix entre Dev C++ et Code::Blocks pour commencer. Grosso modo, il faut retenir que Dev-C++ est un IDE qui a eu beaucoup de succès pendant un moment, mais il n'est plus mis à jour depuis bien trop longtemps à mon goût. Vous en entendrez quand même sûrement parler car beaucoup de personnes l'ont utilisé et l'utilisent encore. Je vous recommande donc Code::Blocks pour commencer, mais ce n'est pas une obligation. Quel que soit l'IDE que vous choisissez vous serez capables de faire autant de choses. Vous n'êtes pas limités. Dans la suite de ce chapitre, je vais présenter chacun de ces 3 IDE histoire que vous puissiez un peu les comparer, ne serait-ce que visuellement. Au passage, notez que ces IDE sont disponibles sous Windows uniquement, sauf Code::Blocks qui fonctionne aussi sous Linux.
Et si je suis sous Mac ?
Si vous êtes sous Mac, sachez qu'il existe un IDE appelé "Xcode" et qu'il est présent sur le CD d'installation de Mac OS. Nous verrons son fonctionnement vers la fin de ce chapitre.
Vous pouvez choisir... Dev-C++
Dev C++ est un environnement de développement (IDE) gratuit. Cest probablement le plus connu de tous. Toutefois, il n'est plus trop mis à jour. Aujourd'hui, on recommande de plus en plus d'utiliser Code::Blocks (aussi gratuit, présenté plus bas). Dev C++ est disponible en français et vous pouvez le télécharger sur Internet rapidement. C'est avec cet IDE que j'ai commencé à rédiger ce cours, mais cela fait un moment que j'utilise Code::Blocks et Visual C++. Ne soyez donc pas étonnés si je fais souvent référence à Dev-C++ au début du cours.
Dev-C++ est gratuit et a tout ce quil faut pour programmer !Comme tout programme, il y en a eu plusieurs versions. Les captures décran que je fais sont sur la version 4.9.9.0 comme vous pouvez le voir. Ce genre de programme évolue vite, mais si vous avez une version supérieure ne vous inquiétez pas. Le fonctionnement du programme ne change pas dune version à lautre. Peut-être avez-vous de nouvelles icônes, et encore
Allez sur le site de Bloodshed (léditeur du programme) pour le récupérer. Prenez le premier lien de téléchargement que vous voyez ( Dev-C++ with Mingw/GCC ) :
A linstallation, faites tout ce quon vous recommande de faire. Ca se passe normalement assez vite
Le démarrage de Dev-C++Lancez Dev C++. La première fois, il vous demandera de le configurer. Il vous demandera votre langue et l'aspect du logiciel que vous voulez avoir. Par ailleurs, il vous posera ensuite 2-3 questions sur la création de fichiers spéciaux pour vous aider. Je vous conseille de laisser les options par défaut, à savoir " Oui, je le veux" Ca ne vous sera pas utile de suite, mais plus tard vous ne regretterez pas d'avoir répondu oui Au départ, rien ne saffiche. Il va falloir demander à Dev C++ de créer un nouveau projet.
Un projet cest lensemble de tous les fichiers source du programme. En effet, quand on programme, on sépare souvent notre code dans plusieurs fichiers différents. Ces fichiers seront ensuite "combinés" par le compilateur qui en fera un exécutable (un ".exe"). Pour créer un nouveau projet cest simple : allez dans le menu "Fichier / Nouveau / Projet". Vous devriez voir quelque chose qui ressemble à ça :
La fenêtre de création de projet de Dev C++Là, on vous demande quel genre de programme vous voulez créer. Retenez bien la marche à suivre, car vous devrez faire cela la plupart du temps (surtout au début) :
- Cliquez sur "Console Application". Eh oui, il nest pas possible de commencer par créer des fenêtres avec "Windows Application", il est vraiment trop tôt
On va pour commencer se contenter de créer des programmes qui saffichent dans une console, qui ressemble un peu à DOS.
- Sélectionnez "Projet C" si ce nest déjà fait.
- Cochez "Langage par défaut"
- Donnez un nom à votre projet (autre que "Projet 1")
Faites OK. On vous demande alors où placer le fichier " .dev ". Ce fichier, propre à Dev C++, est le fichier de votre projet. Il contient la liste des fichiers source de votre programme. Il vous faut enregistrer votre projet avant même davoir commencé à programmer ! Remarquez, avec Visual C++ cest pareil, sauf que lui il nutilise pas un fichier de projet mais plusieurs Je vous conseille de créer un dossier pour votre projet. Une fois que vous avez indiqué où enregistrer votre projet, Dev C++ crée alors un premier fichier source qui sappelle " main.c ". Ce sera le fichier principal de notre programme, on aura loccasion den reparler dans le prochain chapitre. Normalement, Dev C++ écrit déjà un peu de code dedans (le strict minimum). Nessayez pas de deviner ce quil signifie, attendez plutôt le chapitre suivant quon analyse ça en détail
Un nouveau projet tout neuf !Pour ceux qui seraient déjà un peu perdus, j'ai réalisé une vidéo vous montrant comment je crée un nouveau projet sous Dev-C+. Je suis exactement les mêmes étapes que je vous ai énoncées plus haut :
Que dire de plus sur Dev C++ ? Il est constitué de plusieurs parties quon a tout intérêt à regarder de plus près histoire de voir comment tout ce bazar fonctionne
Les principales fonctionnalités de Dev-C++Voyons voir plus en détail comment Dev-C++ est organisé :
Les différentes parties de Dev C++Jai séparé Dev en 4 grandes parties :
- En haut, vous avez les menus et la barre doutils. Je peux vous conseiller daller modifier un peu les options si ça vous chante. Cest dans les menus Outils / Options denvironnement et Outils / Options de léditeur.
Pour ce qui est des icônes de la barre doutils, quon utilisera souvent, il y en a beaucoup que vous connaissez. Les premières servent notamment à créer un nouveau projet, un nouveau fichier, à enregistrer le fichier, à enregistrer tous les fichiers ouverts etc. Je souhaite attirer votre attention sur les boutons se situant au début de la deuxième ligne (du moins sur ma capture décran) :
Les icônes lançant la compilation Ces 5 icônes sont sans aucun doute les plus utilisées, et pour cause : ce sont elles qui permettent dappeler le compilateur pour créer un exécutable de votre projet Dans lordre, de gauche à droite, ces icônes signifient :
- Compiler : tous les fichiers source de votre projet sont envoyés au compilateur qui va se charger de créer un exécutable. Sil y a des erreurs (ce qui a de fortes chances darriver
), lexécutable ne sera pas créé et on vous indiquera les erreurs en bas de DevC++ (dans la partie que jai numérotée 4)
- 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 quil donne
Dans lordre, si vous avez bien suivi, on doit dabord compiler, puis exécuter pour tester ce que ça donne. On peut aussi utiliser le 3ème bouton
- Compiler & Exécuter : pas besoin dêtre un génie pour comprendre que cest la combinaison des 2 boutons précédents. Cest dailleurs ce bouton que vous utiliserez le plus souvent. Notez que sil y a des erreurs pendant la compilation (pendant la génération de lexécutable), le programme ne sera pas exécuté. A la place, vous aurez droit à une beeelle liste derreurs à corriger
- Tout reconstruire : quand vous faites " Compiler ", DevC++ 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 à Dev 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 linstant, on se contente de savoir le minimum nécessaire pour pas tout mélanger
Ce bouton ne nous sera donc pas utile de suite.
- Débugger : ce bouton lance votre programme en mode débuggage. Cest un mode particulier quon apprendra à utiliser plus tard. Cela vous permet de traquer les erreurs de votre programme, de le mettre en " pause " lors de son exécution etc etc.
Je vous conseille dutiliser les raccourcis plutôt que de cliquer sur les boutons, parce que cest quelque chose quon fait vraiment très très souvent. Vous pouvez connaître le raccourci en pointant sur le bouton qui vous intéresse. Chez moi par exemple, je tape F9 pour faire " Compiler & Exécuter "
- Dans la section de gauche de Dev-C++ saffichent en général tous les fichiers de votre projet (qui sappelle " Test " sur ma capture décran). Cliquez sur le petit " + " à gauche pour dérouler la liste des fichiers ouverts. On se sert souvent de cette liste pour naviguer dun fichier du projet à un autre.
Les onglets en haut de cette section sont les suivants :
- Projet : cest là que vous avez la liste des fichiers du projet dont je viens de vous parler.
- Classes : cest un onglet que nous nutiliserons pas en langage C. Cela ne sert que quand on fait du C++, et ne comptez pas sur moi pour vous expliquer maintenant ce que cest
- Debug : cest longlet qui est utilisé pendant que vous débuggez votre programme. Il permet en particulier de voir ce quil y a dans votre mémoire vive. Vous ne savez pas ce que cest une "mémoire vive" ? Ce nest pas grave, on aura le temps de le découvrir plus tard
- Ah, la partie principale
Cest là que saffiche le fichier source en C ou C++ que vous êtes en train de modifier. Cest dans cette zone de lécran que vous passerez le plus clair de votre temps Notez quen haut de cette zone, tous les fichiers ouverts apparaissent sous forme donglets. Sur ma capture décran il ny a que "main.c" pour le moment. Cliquez sur lun deux pour afficher le fichier correspondant.
Autre info utile : tous les fichiers modifiés et non enregistrés sont précédés dune petite étoile [*]. Enregistrez souvent. Enregistrez tout le temps. On ne compte plus le nombre de tentatives de suicide de personnes qui avaient oublié denregistrer et qui ont eu une coupure de courant (je rigole hein, vous jetez pas par la fenêtre si ça vous arrive, ça résoudra rien ). Nhésitez pas à utiliser le bouton "Sauvegarder tout" de la barre doutils , il enregistre tous les fichiers ouverts dun seul coup.
- Le bas de lécran
Cest la zone que détestent tous les programmeurs. En effet, lors dune compilation qui "plante", les erreurs saffichent dans la partie basse de lécran. En général, vous ne naviguerez pas trop entre les onglets de cette partie, sauf peut-être longlet Debug pour débugger votre programme et longlet "log de compilation" qui indique si la compilation sest bien passée ou non.
Pfiou ! On a fait à peu près le tour de Dev C++ On a vu les principales sections du programme quon utiliserait. Normalement ça devrait vous permettre de vous débrouiller la plupart du temps Passons maintenant à Visual C++ !
Ou bien... Visual C++
Quelques petits rappels sur Visual C++ :
- Cest lIDE de Microsoft
- Il est à la base payant, mais Microsoft a sorti une version gratuite intitulée Visual C++ Express.
Je vais dans un premier temps vous présenter la version payante de Visual C++ qui est celle que j'utilise. Je vous parlerai ensuite de Visual C++ Express, qui ressemble beaucoup à Visual C++ (on s'en serait doutés !). Voici une capture d'écran de Visual C++ .NET 2005 :
L'IDE Visual C++ de MicrosoftJe vais aller un peu plus vite que pour Dev C++ car dans lensemble les 2 IDE se ressemblent assez. Comme pour Dev, il y a eu (et il y aura) plusieurs versions de Visual. Les dernières versions sappellent Visual C++ .NET.
Microsoft a, il faut le savoir, rassemblé les IDE de différents langages dans une sorte de gros pack appelé " Visual Studio ". Cet ensemble de logiciels comprend Visual C++, Visual Basic ainsi que dautres outils. Nous, nous n'avons besoin que de Visual C++ ici.
Un nouveau projet avec Visual C++Pour créer un nouveau projet, direction le menu "Fichier / Nouveau / Projet" de Visual Studio. Vous allez voir quelque chose qui ressemble à ceci :
Création dun nouveau projet avec Visual C++Il y a beaucoup plus de choix que pour Dev-C++, notamment parce que, comme je vous l'ai dit, Visual Studio permet de créer des programmes dans d'autres langages. En revanche, Visual ne propose pas aussi clairement que Dev le choix entre C et C++. En fait, si vous voulez faire du C, il faudra aller dans le dossier "Projets Visual C++" à gauche. Ca ne change pas grand chose pour nous. Dans la liste qui apparaît, choisissez le sous-dossier "Win32". Enfin, à droite cliquez sur "Projet console Win32", comme sur ma capture d'écran. Indiquez un nom et un dossier où stocker votre projet, qu'on va appeler "test" pour le moment. Une fenêtre d'assistant apparaît :
L'assistant de nouveau projetOk c'est bien gentil, mais ici il n'y a rien à faire. En fait, il faut aller dans le menu à gauche "Paramètre de l'application". Ca devient alors un peu plus intéressant déjà :
Un peu plus d'optionsC'est là qu'il ne faut pas se tromper. Normalement, vous devriez avoir "Application console" de choisi pour "Type d'application". Vous devez surtout cocher la case "Projet vide" (qui n'est pas cochée par défaut). En effet, si vous ne faites pas ça Visual va nous créer un peu trop de fichiers pour nous pauvres débutants que nous sommes Vous y êtes ? Alors cliquez sur "Terminer" en bas, et c'est bon !
Les principales fonctionnalités de Visual C++Actuellement, le projet est vide. Il ny a aucun fichier dedans. Je vous invite à aller dans le menu "Fichier / Nouveau / Fichier". Vous devriez alors voir cette fenêtre :
Création d'un nouveau fichierDans les petits dossiers à gauche, sélectionnez "Visual C++". Là encore, vous avez pas mal de choix. Comme vous pouvez le voir, Visual possède des éditeurs de fichiers bitmap, de curseurs ou encore d'icônes pour votre programme. Certes, c'est vrai que c'est sympa, mais ce n'est pas non plus indispensable. Dans la version gratuite (Visual C++ Express) vous devriez avoir moins de choix. En effet, l'éditeur d'icônes et de curseurs est réservée à la version payante... et franchement on s'en fout, parce qu'il existe plein d'outils gratuits pour ce genre de choses 2 types de fichiers seulement nous intéressent :
- Fichier C++ (.cpp)
- Fichier d'en-tête (.h)
Nous verrons ce que sont les fichiers d'en-tête un peu plus tard. Pour le moment, créez un fichier C++ (.cpp).
Résumons en vidéo ce qu'il faut faire sous Visual pour créer un nouveau projet et ajouter un fichier source :
C'est fait ? Parfait Voyons voir maintenant l'IDE de Visual en détail :
Visual C++ en détailComme vous pouvez le constater, il ressemble pas mal à Dev-C++. On va rapidement (re)voir quand même ce que signifient chacune des parties :
- La barre doutils, tout ce quil 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.
- 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
- La partie principale. Cest là quon modifie les fichiers source.
- Cest là encore la "zone de la mort", celle où on voit apparaître toutes les erreurs de compilation. Cest dans le bas de lécran aussi que Visual affiche les informations de débuggage quand vous essayez de corriger un programme buggé. Je vous ai dailleurs dit tout à lheure que jaimais beaucoup le débugger de Visual, et je pense que je ne suis pas le seul
On essaiera dapprendre à lutiliser un peu plus tard si on trouve le temps. 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 3 heures. Il faut dire quil y a tellement de cases à cocher de partout quon ne sait plus trop où donner de la tête
Visual C++ Express : une version gratuiteIl existe une version gratuite de Visual C++ appelée Visual C++ Express Edition !
Quelles différences avec le "vrai" Visual ? Il n'y a pas d'éditeur de ressources (vous permettant de dessiner des images, des icônes, ou des fenêtres). Mais bon, ça entre nous on s'en fout parce qu'on n'aura pas besoin de s'en servir dans ce tutorial  Ce ne sont pas des fonctionnalités indispensables bien au contraire. Vous trouverez les instructions pour télécharger Visual C++ Express à cette adresse :
Visual C++ Express est en français et est totalement gratuit. Ce n'est donc pas une version d'essai limitée dans le temps. Notez que cette version gratuite existe depuis relativement peu de temps, auparavant Visual était disponible uniquement en version payante. C'est une chance d'avoir un IDE aussi puissant que celui de Microsoft disponible gratuitement, donc ne la laissez pas passer Ca vous permettra par la suite de profiter de son très puissant et renommé débugger, que tous les programmeurs adorent
Ou encore... Code::Blocks
Code::Blocks est un IDE libre et gratuit, plus récent que Dev-C++ Si Dev reste un des IDE gratuits les plus connus, il le doit surtout à son ancienneté. Code::Blocks étant relativement nouveau, il n'est pas encore aussi connu. Pourtant, n'allez pas penser qu'il est peu avancé pour autant ! Bien au contraire, je dois avouer que j'ai été surpris par cet éditeur et je vous recommande de l'essayer En outre, Code::Blocks est disponible pour Windows et pour Linux. En théorie il serait possible de le faire marcher sous Mac mais à l'heure où j'écris ces lignes on ne nous propose pas vraiment de version Mac malheureusement Code::Blocks n'est disponible pour le moment qu'en anglais. Ca ne devrait PAS vous repousser à l'utiliser. Quand vous programmerez vous serez de toute façon confronté bien souvent à des documentations en anglais, donc raison de plus pour s'entraîner à utiliser cette langue. Ca ne complique pas l'utilisation du logiciel de toute manière.
Télécharger Code::BlocksRendez-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 : " Code::Blocks IDE, with MINGW compiler" (l'autre version étant sans compilateur, vous auriez eu du mal à compiler vos programmes  ) Si vous êtes sous Linux, il y a un lien en haut pour choisir le package RPM à télécharger. L'installation est très simple et rapide. Laissez toutes les options par défaut et lancez le programme.
Le fonctionnement du programme est quasiment le même que pour Dev et Visual, vous ne serez pas perdus. Vous trouverez là encore dans la barre d'outils les boutons (dans l'ordre) "Compiler", "Exécuter", "Compiler & Exécuter" et "Tout recompiler" (comme Dev  )
Créer un nouveau projetPour 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", et sélectionnez "File Options : C Source" dans la liste déroulante en bas.
Comme vous pouvez le voir, Code::Blocks propose de réaliser pas mal de types de programmes différents qui utilisent des librairies 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 librairies ne sont pas installés 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 "Create" pour créer le projet. On vous demandera où enregistrer les fichiers (là encore, je vous recommande de créer un dossier spécial pour chaque projet que vous créez). Code::Blocks vous créera un premier projet avec déjà un tout petit peu de code source dedans
Sous Mac... Xcode
Malheureusement pour ceux qui possèdent un Mac, tous les IDE présentés ci-dessus ne fonctionnent que sous Windows. N'y a-t-il donc aucun IDE pour Mac ? Bien sûr que si, rassurez-vous  Il en existe plusieurs sous Mac, et je vais vous présenter ici le plus célèbre d'entre eux : Xcode.
Xcode, où es-tu ?
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 est présent sur le CD d'installation de Mac OS. Insérez donc le CD dans le lecteur et installez-le. Il se trouve dans les "Developer Tools". 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 tenu au courant des nouveautés.
Lancement de XcodeLorsque vous lancez Xcode pour la première fois, vous serez probablement surpris. Et y'a de quoi Contrairement à la plupart des logiciels Mac, il n'y a pas de fenêtre de bienvenue. En fait, la première fois, on trouve ça un peu vide... et pourtant, c'est un logiciel très puissant !
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. La fenêtre suivante s'ouvre :
Que de choix n'est-ce pas Bon allez je vous aide : pour commencer, il faut que vous alliez dans la section "Command line utility" et que vous sélectionniez "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). 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éveloppementDans Xcode, si vous sélectionnez main.c, vous devriez avoir la fenêtre suivante :
La fenêtre est découpée en 4 parties, ici numérotées de 1 à 4 :
- La première partie est la barre de boutons tout en haut. Vous pouvez la configurer comme bon vous semble, changer les boutons, etc. Voyons les plus importants d'entre eux :
Ces 3 boutons vous permettent de naviguer entre, dans l'ordre :
- "Project" : là où vous voyez vos fichiers et où vous les modifiez
- "Build" : vous y voyez le résultat de la compilation de votre programme, et les erreurs s'il y en a eu.
- "Debug" : la fenêtre de déboggage, où vous pouvez exécuter votre programme ligne par ligne pour trouver et comprendre les erreurs de vos programmes.
Ces deux boutons signifient :
- "Build" : compile votre projet, donc crée un exécutable à partir de vos sources.
- "Build and Go" (le bouton que vous utiliserez le plus souvent) : compile votre projet et le lance pour le tester.
- 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.
- La troisième partie change en fonction de ce que vous avez sélectionné dans la partie de gauche. Ici, on a la liste des fichiers de notre projet :
- main.c : c'est le fichier source de votre programme (il peut y en avoir plusieurs dans les gros programmes)
- Mon_Premier_Programme : c'est votre programme une fois compilé, donc l'exécutable que vous pouvez distribuer. Si le fichier est en rouge, c'est qu'il n'existe pas encore (vous n'avez donc pas encore compilé votre programme, mais Xcode le référence quand même).
- Mon_Premier_Programme.1 : c'est votre programme présenté en langage assembleur, un langage très proche du processeur. Cela ne nous intéressera pas, mais si vous voulez prendre peur n'hésitez pas à y jeter un oeil
- Enfin, la 4ème partie, la plus intéressante : c'est celle dans laquelle vous pourrez écrire votre code source en langage C. Par défaut, Xcode met juste un petit code d'exemple qui affiche "Hello, world!" à l'écran.
Lancement du programmePour tester ce premier programme, cliquez sur le bouton "Build and Go" de la barre d'outils. Votre écran devrait maintenant ressembler à cela :
- Ce sont les boutons qui permettent de changer de page, comme on l'a vu plus tôt. S
Tags :
|
» Catégorie informatique
Commentaires (1)
:: Poster un commentaire ::
Lien permanent :: Envoyer à un ami
|
|
A propos du blogueur
 pourtout vos recherches
Services
|