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 :)
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.
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.
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 :
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 ) :
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