Créer une icône pour son programme
Last updated on Wednesday, November 20, 2013
  • 1 heure
  • Facile

Free online content available in this course.

Got it!

Introduction du cours

Lorsque vous créez un programme, Windows attribue une icône par défaut à l'exécutable :

Image utilisateur

La question que vous devez vous poser est :

Mais comment changer cette icône horrible et sans âme ?

La réponse se trouve... dans ce cours :p
Vous apprendrez à :

  • Extraire des icônes d'autres programmes ou de DLL (si vous voulez les récupérer)

  • Dessiner et enregistrer vos propres icônes

  • Associer une icône à votre programme lors de la compilation

Les logiciels d'édition d'icônes

Les logiciels d'édition d'icônes sont nombreux et, allez savoir pourquoi, ils sont pratiquement tous payants.

La bonne nouvelle, c'est que je viens de dire pratiquement :p
J'ai quand même réussi à dénicher pour vous 2 très bons logiciels. Ces logiciels ne sont pas concurrents, ils ne servent pas exactement à faire la même chose. Ils sont au contraire plutôt complémentaires :

  • SnIco Edit : c'est un éditeur d'icônes, grâce auquel vous pouvez dessiner vos propres icônes. Une sorte de Paint (amélioré !) pour icônes en somme :)

  • Icon Sushi : c'est un extracteur d'icônes. Vous pouvez récupérer les icônes situées au sein des programmes .exe et des DLL. Il est vraiment très complet à ce niveau et vous permet d'exporter les icônes au format .ico, .png, .bmp etc... Bref, un outil indispensable :)

Précision importante avant de commencer : un fichier d'icône (.ico) peut contenir plusieurs versions de la même icône. En effet, une icône peut être enregistrée sous différentes tailles : 16x16, 32x32, 48x48 etc.
En plus de ça, on peut l'enregistrer avec un nombre différent de couleurs : 2 couleurs, 16 couleurs, 256 couleurs, millions de couleurs etc.

Depuis Windows XP, les icônes peuvent être enregistrées en milliards de couleurs (32 bits), être antialiasées et elles supportent la transparence sur plusieurs niveaux (aussi appelée "transparence alpha").

Bref, dans un seul fichier .ico, on peut donc trouver une dizaine de versions différentes de la même icône !
Lorsque vous créez une icône, il est recommandé de créer plusieurs versions (bien que ça ne soit pas obligatoire). Votre icône aura ainsi une meilleure apparence selon la taille dans laquelle elle est affichée et selon le nombre de couleurs qu'affiche le moniteur de l'utilisateur.

SnIco Edit : le Paint des icônes

Il y a une rumeur qui court sur le Net comme quoi il suffirait de renommer un .bmp en .ico pour le transformer en icône. C'est tout à fait faux.
Une icône est codée différemment d'un BMP, on ne peut pas se contenter de renommer le fichier.

Manque de bol, Paint ne permet pas d'enregistrer des icônes. De nombreux éditeurs de logiciels en ont tiré parti et il existe du coup une pléthore d'éditeurs d'icônes, tous payants.
Tous ? Non, car l'un d'entre eux résiste à l'envahisseur (comprenez : il est gratuit), il s'agit de SnIco Edit.
Et comme une bonne nouvelle ne vient jamais seule, sachez que ce programme est disponible en français :)

Voici à quoi ressemble le logiciel :

Image utilisateur

Télécharger SnIco Edit (1,4 Mo)

L'installation est en anglais et le programme démarrera d'abord en anglais.
Vous pouvez changer la langue dans le menu Options / Languages / Français. Il vous faudra ensuite redémarrer le programme pour que la langue française soit activée.

Vous êtes des grands, donc vous n'avez pas besoin d'un tuto pour que je vous explique comment vous servir du logiciel (en plus il est en français :p ). C'est une sorte de Paint amélioré qui peut enregistrer des icônes c'est tout ^^

Icon Sushi : l'extracteur d'icônes

Ce programme m'est pratiquement indispensable. Il est capable d'importer et d'exporter des icônes sous de nombreux formats différents.
Il n'est pas vraiment fait pour dessiner des icônes, mais en revanche vous pouvez grâce à lui voir les icônes contenues dans les .exe et les .dll.

Voici un aperçu de ce programme :

Image utilisateur

Télécharger Icon Sushi (830 Ko)

Comme vous le voyez sur cette capture d'écran, j'ai ouvert le fichier shell32.dll.

Comme vous pouvez le constater, la DLL contient plusieurs icônes différentes, et chaque icône se trouve dans plusieurs résolutions différentes !

Si vous voulez afficher les icônes de la même manière que moi, je vous recommande d'aller dans le menu List / Icon View (Ctrl + 2).

Vous avez plein de boutons dans la barre d'outils pour exporter l'image au format BMP, ICO, PNG etc...
Si vous voulez utiliser une de ces icônes pour votre programme, sélectionnez celle qui vous intéresse et enregistrez-la en .ico.

Associer une icône à son programme

A ce stade, je considère que vous avez votre fichier .ico.
Vous l'avez soit créée (avec SnIco Edit) ou extraite d'un autre programme (avec Icon Sushi).

Maintenant, vous vous demandez probablement comment on fait pour changer l'icône de notre programme.
Il va falloir utiliser un fichier de ressources.

Les fichiers de ressources sont propres à Windows (vous n'en trouverez pas sous Linux et Mac OS par exemple).
Leur extension est .rc.

Dans votre IDE, demandez à ajouter un fichier à votre projet : File / New / File / Empty File. Au lieu de donner l'extension .c, .cpp ou .h à ce fichier lorsque vous l'enregistrerez, donnez-lui l'extension .rc. Par exemple : ressources.rc.
Ce fichier doit être ajouté à la liste des fichiers à compiler dans votre IDE.

Sous Code::Blocks par exemple, il apparaîtra comme ceci :

Image utilisateur

Il se situe juste dans une section "Others" ("Autres").

Que doit-on mettre dans ce fichier .rc ?

Vous devez indiquer les fichiers qui seront enregistrés dans l'exécutable.
En effet, c'est le principe des fichiers de ressources : ils servent à demander au compilateur d'enregistrer des fichiers dans un .exe. Vous pouvez y mettre des bitmaps, des icônes, des curseurs de souris etc...

Ce qu'il faut savoir, c'est que la première icône que vous indiquez dans un fichier de ressources deviendra l'icône de votre programme (elle apparaîtra dans l'explorateur Windows).

Mettez le code suivant dans votre fichier ressources.rc :

1 ICON "caisse.ico"

Ce code est composé de 3 parties :

  • Un numéro d'identification : chaque ressource doit avoir un numéro d'identification unique (ça peut aussi être un texte d'identification).

  • Le type de ressource (ici c'est ICON pour une icône)

  • Le nom du fichier à inclure. Ici, mon icône s'appelle caisse.ico. Elle doit se trouver dans le même répertoire que l'exécutable au moment de la compilation.

Voilà, c'est tout ce que vous avez besoin de faire !
Vous pouvez ensuite compiler, et vous verrez que votre exécutable aura pris la forme de votre icône dans l'explorateur Windows !

Voici une preuve (on sait jamais, y'en a peut-être qui me croient pas :p ) :

Image utilisateur

Vous n'avez pas besoin de livrer le fichier .ico avec votre programme. En effet, le fichier a été inclus dans le .exe au moment de la compilation (c'est le principe même des ressources ;) ).

L'ajout d'une icône à un programme est vraiment simple, du moins une fois qu'on a appris la technique ;)

J'insiste sur le fait que tout cela ne fonctionne que sous Windows.
Sous les autres OS, c'est différent. Par exemple, sous Linux il n'y a pas d'icône associée aux exécutables. Ca peut se faire si vous êtes sous KDE, mais du coup ça ne concerne pas vraiment tout le monde. Bref, ne vous prenez pas trop la tête pour associer une icône à votre programme sous les autres OS.

Si vous voulez télécharger des icônes sur Internet, les sites ne manquent pas. Mais attention : certains prétendent offrir des icônes en téléchargement alors que bien souvent c'est payant.
Vous pouvez faire une recherche Google "Free Icons", mais gardez bien en tête que tous les sites que vous visiterez n'offrent pas forcément leurs icônes gratuitement. Si vous êtes obligé de dégainer la carte bancaire, c'est généralement mauvais signe :p

How courses work

  • 1

    You have now access to the course contents and exercises.

  • 2

    You will advance in the course week by week. Each week, you will work on one part of the course.

  • !

    Exercises must be completed within one week. The completion deadline will be announced at the start of each new part in the course. You must complete the exercises to get your certificate of achievement.

  • 3

    At the end of the course, you will get an email with your results. You will also get a certificate of achievement if you are a <a href="/premium>Premium</a> Member and if you got at least 70% of your answers right.

Example of certificate of achievement
Example of certificate of achievement