Projets de programmation

ressources pour réaliser des interfaces à vos programmes

Nous vous proposons ici deux bibliothèques de fonctions qui vous permettront d'ajouter des interfaces à vos projets de programmation.

Elles ont été sélectionnées pour leur portabilité, leur relative facilité d'utilisation, le fait qu'elle soient utilisables en C et enfin, pour leur license libre.

Il existe d'autres bibliothèques qui correspondent à ces critères. Cependant, il n'est pas nécessaire de vous noyer sous trop de choix ou de vous proposer des solutions dont la pérénité n'est pas assurée.

Une interface dans mon terminal

Si votre projet ne nécessite pas une interface graphique haute en couleurs et riche en images, vous pouvez vous contenter de rester dans le terminal et d'utiliser la bibliothèque ncurses.

Faisant partie du projet GNU, elle est une mise en œuvre de la bibliothèque curses originale.

Installation

L'installation va dépendre du système d'exploitation que vous utilisez pour vos projets.

Si vous avez réussi à installer la machine virtuelle Fedora de l'école, ou si vous utilisez un Mac récent (OS X 10+) , alors il n'y a rien à faire, la bibliothèque et tous les à côtés nécessaires au développement sont déjà installés.

Si vous utilisez Windows, alors je peux simplement dire que des expériences fructeuses d'utilisation de (n)curses avec Code::Blocks existent.

Utilisation

Pour démarrer en douceur avec cette bibliothèque, je vous propose une petit programme, ou plutôt un squelette de programme, qui permet de se faire une idée générale du modèle de programmation. Il contient de nombreux commentaires expliquant les instructions clés.

Bien entendu, vous pouvez vous reporter aux pages de manuel, très complètes, des fonctions de cette bibliothèque.

Une interface entièrement graphique

Si votre projet demande des graphiques avancés, du son, l'utilisation d'images, de textures, de polices de caractères personnalisées, alors la bibliothèque SDL est tout à fait adaptée. Nous nous intéresserons à sa version 2.

Cette bibliothèque a été pensée pour la réalisation de jeux vidéo multiplateformes et en ce sens, peut être utilisée de la même manière sous Windows, OS X ou Linux.

Installation

Il y a peu de chance que la bibliothèque SDL soit déjà installée si vous utilisez l'image Fedora de l'école, un Mac ou un Windows. Il faudra donc se rendre sur le site officiel www.libsdl.org et suivre les instructions pour votre système.

Si vous avez installé votre propre Linux, votre gestionnaire de paquets devrait pouvoir vous aider.

Enfin, sous Windows, il y a une forte affinité entre la bibliothèque SDL et l'environnement de développement Code::Blocks. Vous pourrez donc installer ce dernier, avec le compilateur et la bibliothèque SDL, pour commencer à développer dans de bonnes conditions.

Il est à noter que des bibliothèques auxiliaires seront nécessaires en fonction de ce que vous désirez réaliser. Dans l'exemple de code donné ci-dessus, il est nécessaire que la bibliothèque SDL_image soit également installée.

Vous trouverez différentes bibliothèques liées à la SDL dans la section projets du site officiel.

Utilisation

Là encore, pour démarrer en douceur, je vous propose un squelette de programme, largement commenté, dans lequel vous trouverez le minimum pour ouvrir une fenêtre et y afficher des pixels colorés.

De la même manière que ce qui est disponible pour curses, il y a des pages de manuel disponibles pour cette bibliothèque. Il existe également une référence en ligne des différentes fonctions, mais tout est maintenu au travers d'un wiki et de nombreuses lacunes persistent.

L'apprentissage se fera le plus souvent au travers de tutoriels. Je vous invite à les lire avec le recul nécessaire pour que vous en reteniez les principes généraux et non simplement la réponse à une question particulière.


  1. [] : pour un historique de la bibliothèque, vous pouvez vous référer à la page wikipedia (http://en.wikipedia.org/wiki/Curses_(programming_library)).