Au cours de mon cursus, j'ai effectué 3 stages dans des milieux bien différents les uns des autres.

Stage de fin d'étude :
Mon dernier stage avait pour sujet la création d'un simulateur de lutte contre les sinistres pour la sociéte DCN Equipements Navals.

Résumé :

L’entraînement reste la partie la plus importante de l’activité de pompiers. Mais il est très difficile, coûteux et dangereux de pouvoir reproduire une situation réelle de sinistre à bord d’un navire, d’où la nécessité de faire appel à un simulateur qui permettrait un entraînement des équipes plus fréquent à des situations pouvant être très différentes les unes des autres et de surcroît des plus complexes à gérer.

Le simulateur doit avoir une visualisation en « vue de dessus » du navire, permettant d’étudier la propagation du sinistre ainsi que des différentes données telle que la température, la pression ou l’oxygène. Il doit aussi permettre une visualisation en trois dimensions, en vue subjective du navire pour favoriser l’immersion de l’utilisateur dans le simulateur.

C’est pour ces raisons, que la tâche de création d’un moteur graphique intégrant ces critères m’a été confiée, alors que Stéphane Laporte était chargé de réaliser un modèle de propagation des sinistres.


Stage de maîtrise :
Le thème de ce stage était la création d'un logiciel d'aide pour les enfants autistes ou dysharmonique.

Résumé :

Dans le domaine psychiatrique, les ordinateurs sont de plus en plus utilisés pour aider les médecins dans les thérapies de leur patient, et spécialement celles des enfants. En effet, ils assimilent ce genre d'exercices aux jeux vidéos. Aux U.P.E.A. de La Rochelle, l'informatique est utilisée depuis les années 80. Durant 20 semaines, nous avons développé, à deux, en collaboratin avec les employés de l'hôpital un nouveau logiciel incluant des activités diverses. Elles ont pour but de créer des outils qui permettent une organisation de la pensée en séquences spatio-temporelles. Les activités ont été testées par les enfants de l'institut et corrigées au fur et à mesure. En général nous avons obtenus de bons résultats, et aider les thérapeutes dans leur travail. Pour les activités qui existaient avant notre arrivée, le travail a été terminé. Mais, pour les nouvelles, un travail sur une durée plus importante est nécessaire. Un recul suffisant pour évaluer les effets thérapeutiques étant obligatoire.

Le développement de ce logiciel a été réalisé en collaboration avec Benoist Guillaume.


Stage de licence :
Le thème de ce stage était l'imagerie en virgule fixe.

Résumé :

A l'heure actuelle, l'imagerie ne se fait qu'en utilisant des réels codés en virgule flottante. En effet, les langages de programmation n'ont en général que cette représentation des nombres réels. Il en résulte une habitude d'utilisation de tels nombres pour le calcul numérique. Il n'y a pas de raison évidente pour ne pas calculer dans d'autres représentations.

Sur une machine 64 bits, les entiers permettent de représenter la terre entière en microns. Toutefois, étant donné cette même habitude d'utiliser uniquement les réels codés en virgule flottante, de nombreux problèmes sont à envisager pour pouvoir utiliser d'autres représentations. Le principal étant l'existence d'outils adaptés à ces nouvelles représentations en virgule fixe dans les différents langages de programmation. Une fois que ces outils seront disponibles, il sera nécessaire de vérifier l'efficacité de ces représentations, et de comparer leurs performances entre elles, et bien entendu, avec la représentation en virgule flottante. Ces différentes comparaisons concernent le temps de calcul, qui devra être sinon inférieur, au moins équivalent à celui obtenu avec des réels codés en virgules flottantes, et, bien entendu, la question de la précision de ces calculs qui devra être, elle tout au moins équivalent, sinon supérieur à celle des réels codés en virgule flottante.

Compte tenu de la disponibilité de types virgule fixe en Ada, il est tout naturel de commencer ces différents tests avec ce langage. Il faudra donc commencer par la construction des bibliothèques mathématiques correspondantes, c'est à dire contenant toutes les fonctions usuelles qui permettront par la suite d'effectuer les tests nécessaires aux comparaisons souhaitées. Toutefois, ces tests entre les différentes configurations de virgules fixes et de virgule flottante nécessitent eux-mêmes le développement d'outils adéquats.

Dans le but de développer les bibliothèques mathématiques, précédemment citées, il est tout d'abord nécessaire de rechercher, sur Internet ou dans des livres spécialisés, le développement en fractions continues des fonctions usuelles, telles qu'exponentielle, racine carrée, et toutes les fonctions trigonométriques de cosinus à arc tangente hyperbolique, en passant par arc sinus ou encore cotangente. Ces développements sont constitués d'une suite de constantes, qui peuvent être liées entre elles ou non. Il s'agit de la manière la plus précise de calculer en informatique les valeurs de ces fonctions.

Une fois ces développements mathématiques trouvés, il faudra trouver la manière la plus optimale de les coder, pour ensuite tester leur validité. Quand ce travail sera effectué, il s'agira de développer des outils de comparaisons précis entre les différents types de variables testés. Il faudra en outre trouver le moyen approprié de comparer deux valeurs qui ne sont pas du même type, puis enfin d'évaluer le temps de calcul de chacun d'eux dans différents intervalles de valeurs représentatifs de l'ensemble des réels concerné.

Rapport complet 3,8 Mo ou 0,5 Mo