1 Le stage informatique du LAL et IPN Antoine Pérus Christian Arnault Michel Jouvin Françoise Lefebvre Laurent Garnier
2 Le LAL Le Laboratoire de l’Accélérateur Linéaire (LAL) est une unité mixte de l’IN2P3 du CNRS et de l’Université Paris-Sud. L’activité de recherche du LAL est centrée sur la physique des particules, complétée par une forte composante en cosmologie et en astrophysique. Le laboratoire mène aussi plusieurs programmes de recherche et développements dans des domaines technologiques: –Les accélérateurs –Les grilles de calculs –La microélectronique Il compte environ 300 personnes: –65 chercheurs et enseignants-chercheurs permanents, –208 I.T.A et T.P.N (ingénieurs, techniciens, administratifs) permanents, –12 doctorants
3 Le stage informatique Objectifs pédagogiques –Approche de l’utilisation de l’informatique dans le cadre des projets de recherche –Les mécanismes et outils liés au développement logiciel La gestion de configuration La documentation –Les bonnes pratiques du développement –Quelques aspects de la méthodologie objet –Des éléments sur quelques technologies couramment pratiquées Le langage C++ Les applications graphiques –Les applications interactives –La librairie Qt Définition de structures de données algorithmique
4 Le stage informatique Organisation –10 séances de 3h (lundi après midi) –Salle «Bleue» du LAL (Bat 200) L’équipe pédagogique –Antoine Pérus –Christian Arnault –Michel Jouvin –Françoise Lefebvre –Laurent Garnier Le matériel –Un poste de travail IMac sous Mac OSX par binôme Le poste est autonome au niveau logiciel (préconfiguré) Tous les outils nécessaires au TP sont déjà installés Un compte standard est défini –Utilisateur ens –mot de passe ens2006 (à modifier immédiatement) Accès internet au LAL –
5 Le déroulement du stage Nous partons d’une application informatique librement inspirée d’une application scientifique réelle (analyse d’image) mais adaptée pour nos besoins –démo Au cours des 10 séances, nous allons progressivement décomposer différents aspects liés –à l’organisation du développement –à la méthodologie de travail –aux technologies de programmation Pour vous permettre de complètement reconstituer les fonctionnalités de cette application, tout en l’adaptant selon votre imagination Nous exploiterons de nombreux outils informatiques typiquement utilisés dans nos environnement de la recherche scientifique. –Ces outils ne sont pas nécessairement des standards mais sont caractéristiques de notre communauté
6
7 L’application étudiée Principe –On étudie des images (obtenues à partir d’un système d’imagerie à partir d’échantillons biologiques) –Pour caractériser ces images, on va définir manuellement des sous- ensembles (typiquement pour isoler les zones intéressantes) –Ces sous-ensembles sont constitués à partir de zones géométriques diverses (rectangles, polygones, cercles, …) –On appliquera des algorithmes d’analyses sur ces sous-ensembles Comptage Extraction Etc… –Une application interactive graphique doit permettre D’accéder aux images de base De construire et gérer ces sous-ensembles (définition géométrique) D’appliquer des algorithmes d’analyse sur ces images
8 L’exercice On va étudier successivement –Les structures de données –Les mécanismes d’entrées-sorties –L’architecture d’une application interactive graphique –Les outils graphiques –Les algorithmes d’analyse Découverte –On partira d’un squelette quasiment vide mais fonctionnel de l’application interactive graphique –On y injectera les modules fonctionnels développés indépendamment Projets personnels –Une base commune de fonctionnalités sera développée –Quelques évolutions possibles sont proposées ensuite sous forme de mini-projets indivividuels
9 Le planning (évolutif) dateTPExposés 116/1Présentation lecture des donnéesPrésentation Stage CMT, Make, Emacs Structuration Code IO et STL 223/1Lecture Bounding Box Subversion Classes C++ 330/1Suite Bounding BoxHéritage, Polymorphisme Doxygen 46/2Classes formes graphiques Affichage image Qt 513/2Polygone, Cercle 620/2Structure de classes 727/2Injection des nouvelles classes dans l'application graphique 86/3Comptage généralisé 913/3Projets 1010/3Projets