Environnement de programmation

De Gruntnetwork.

Sommaire

Éditeur

Votre préféré :) Personne ne vous oblige à quoi que ce soit. Prévoyez-en un avec indentation et coloration syntaxique quand même, nano et cat sont un peu rudimentaires de ce point de vue…

Gestion des versions

SVN sera utilisé pour la gestion des versions.

svn co svn+ssh://VOTREUSER@svn.tuxfamily.org/svnroot/gruntnetwork/systeme 
svn co svn+ssh://VOTREUSER@svn.tuxfamily.org/svnroot/gruntnetwork/applications

Voir la faq de TuxFamily pour plus d'infos sur l'utilisation.

Compilateur

Pour le C : gcc. Car c'est le plus courant sous linux, car il gère directement l'assembleur (syntaxe gas), car beaucoup de monde l'utilise donc on trouvera facilement de la documentation, car il est sous licence libre.

On utilisera la version 4.3, de préférence 4.3.2 (c'est celle par défaut sous ubuntu, et sous debian testing/unstable). Si vous avez une autre version, pas de problème, mais en cas de bug bizarre, il vaudra mieux vérifier que c'est bien le code qui plante et non pas une version bugguée de gcc (c'est arrivé par le passé…)

Tests

NE TESTEZ JAMAIS gruntnetwork SUR UN PC RÉEL, à moins que vous n'ayez pas peur d'un effacement de disque. Je possède moi-même un PC avec un vieux disque dur vide de quelques Go, ça pourra servir pour faire des tests grandeur nature lorsque le projet sera viable.

Pour les tests nous utiliserons qemu, un émulateur de PC libre, fonctionnant sous linux et windows, probablement sous mac aussi. Seule l'architecture x86 sera supportée pour l'instant.

Lorsque nous en viendrons à écrire les drivers, il sera possible d'utiliser bochs pour voir si les bons drivers sont chargés lorsque la configuration matérielle (l'ensemble du matériel disponible sur un PC) change.

Le démarrage (boot) sera assuré par GRUB, installé sur une image de disquette vierge (un fichier de 1.44 Mo simulant une disquette sur laquelle seront présents GRUB, gruntnetwork et rien d'autre). Cette configuration simple évitera que d'autres facteurs de causent des bugs.