\chapter{Le développement} \section{Outils utilisés pour le développement} \subsection{Travail collaboratif} \par Nous avons travaillé ensemble gr{\^a}ce à CVS (Concurrent Versions System). Notre projet a été hébergé chez {\em Sourceforge.net}. Le CVS permet la modification du code du projet en m{\^e}me temps par plusieurs personnes. Les modifications et les mises à jour de chacun des membres du projet sont diffusées instantanément, avec un risque minimisé de conflits lors des modifications du m{\^e}me code. \subsection{Moyens techniques} \par Chacun selon nos préférences, nous avons utilisés des machines sous GNU/Linux ou Microsoft Windows et codé avec Vim. La personne sous Microsoft Windows avait une session graphique sur un serveur GNU/Linux, appartenant a un autre membre du projet, gr{\^a}ce à l'utilisation de VNC (Virtual Network Computing {\em www.realvnc.com}). Cela afin de permettre à l'utilisateur de Microsoft Windows de pouvoir tester la bibliothèque dans les meilleures conditions, car sous Microsoft Windows l'utilisateur n'est pas prévenu des {\em segmentation fault} et autres erreurs système. \section{Difficultés rencontrées} \par Nous n'avons pas eu de grosses difficultés à proprement parler. Nous avions juste quelques restrictions, comme le fait de ne pas pouvoir utiliser de pointeurs absolus, car l'espace d'adressage entre les différents processus n'est pas forcément le m{\^e}me. Ils ont seulement ont un segment de mémoire partagée en commun. Il a donc fallu utiliser les différentes {\em id} des espaces de messages {\em msgSpace}, ou encore des {\em pools} pour pouvoir faire en sorte que les processus peuvent bien accéder aux {\em buffers} situés dans la mémoire partagée.