Institut Supérieur Institut National de d’Informatique de Recherche Agronomique

Institut Supérieur Institut National de d’Informatique de Recherche Agronomique Modélisation et de leurs Applications 58 rue Montalembert 63009 Clermont-Ferrand Cedex 1 Complexe des Cézeaux BP 125 63173 Aubière Cedex Rapport de stage de 3ème année Filière Génie Logiciel et Systèmes Informatiques Conception et réalisation d’un système de gestion centralisée des données issues de projets de recherche clinique en nutrition humaine TOME I Présenté par : Romain Guidoux Responsable ISIMA : Philippe Lacomme 4 mois Responsable INRA : Sylvie Rousset 01 septembre 2011 Remerciements Je remercie Sylvie Rousset, ma maître de stage, pour son aide et sa disponibilité tout au long du stage. J’ai ainsi pu lui poser de nombreuses questions, et ses réponses m’ont beaucoup aidé dans la compréhension de ce milieu qu’est le laboratoire de nutrition humaine. Je tiens aussi à remercier Philippe Lacomme, mon responsable ISIMA, qui a suivi mon travail tout au long du stage et a été lui aussi très disponible. Les points réguliers que nous avons faits m’ont permis d’améliorer ma façon de travailler et de voir les choses. Enfin, je remercie Libo Ren, doctorant à l’ISIMA, pour l’aide qu’il m’a apportée, notamment pour PHP et jQuery. Résumé L’unité de nutrition humaine mène des projets de recherche clinique afin d’étudier l’impact des comportements alimentaires sur le vieillissement et les maladies chroniques, et de proposer des stratégies nutritionnelles pour retarder l’apparition des maladies. Mon travail a consisté à réaliser une application Internet qui permette aux chercheurs de centraliser les données des différents projets, et qui offre une forte interactivité avec les volontaires qui participent aux protocoles. Elle doit notamment permettre la création et l’envoi de questionnaires aux volontaires, et leur proposer un agenda pour leurs futurs rendez-vous avec les chercheurs. Une première version du cahier des charges avait été rédigée par deux étudiants en projet à l’ISIMA. J’ai donc commencé par le compléter et le modifier en allant rencontrer plusieurs personnes susceptibles d’être intéressées par ce projet. J’ai ensuite étudié les différents choix technologiques qui s’offraient à moi. J’ai finalement choisi le langage PHP et les frameworks CodeIgniter (PHP) et jQuery (JavaScript). Au moment où je rédige ce rapport, une première version de la partie gestion des questionnaires est opérationnelle et est en cours de test auprès des utilisateurs. Mots clés : recherche clinique, application Internet, données, questionnaires, PHP, JavaScript. Abstract The Human Nutrition Unit leads clinical research projects in order to study the impact of dietary behaviour on ageing and chronic diseases, and to propose nutritional strategies to delay the diseases occurrence. My work consisted in developing a web application which aims to centralize data from many projects. It also allows a strong interactivity between with the protocols’ volunteers and researchers. It has, among others, to enable questionnaires’ creation and sending to volunteers, and to make a schedule available for their future appointments with researchers. A first version of the requirements had already been written by two students from ISIMA, so I started off with completing and modifying it by meeting several persons who could be interested in this project. Then I made technological choices, and finally chose the PHP programming language and two frameworks: CodeIgniter (PHP) and jQuery (JavaScript). At the moment I have implemented a first version of the questionnaires which is currently being evaluated by the future users. Key words: clinical research, web application, data, questionnaires, PHP, JavaScript. Table des illustrations Figure 1 : Logos de l’UNH et du CRNH d'Auvergne ................................................................ 2 Figure 2 : Composition du CRNH Auvergne ............................................................................. 3 Figure 3 : Chambre calorimétrique du LNH .............................................................................. 4 Figure 4 : Capteurs ActiHeart et Armband ................................................................................ 4 Figure 5 : Schéma du système ActivCollector ........................................................................... 5 Figure 6 : Parcours d'un volontaire ............................................................................................ 6 Figure 7 : Fonctionnalités du site Internet d’ActivCollector ...................................................... 7 Figure 8 : Modules du site Internet .......................................................................................... 10 Figure 9 : Exemple de planning pour les chambres calorimétriques ....................................... 12 Figure 10 : Capteur [Actiheart] ................................................................................................ 14 Figure 11 : Exemple de questionnaire ...................................................................................... 15 Figure 12 : Exemple de journal de bord ................................................................................... 16 Figure 13 : Exemple de questions différentes selon le sexe du volontaire, extraites d'un questionnaire papier ................................................................................................................. 18 Figure 14 : Questions liées, extraites d'un questionnaire papier .............................................. 18 Figure 15 : Représentation des questionnaires ......................................................................... 20 Figure 16 : Format du fichier Excel de dépouillement ............................................................. 21 Figure 17 : Question portant sur les loisirs .............................................................................. 21 Figure 18 : Questions liées à la question sur les loisirs ............................................................ 22 Figure 19 : Exemple de question liée à la fréquence de consommation d'un aliment.............. 23 Figure 20 : Exemple de question liée à la quantité d'absorption d'un aliment ......................... 23 Figure 21 : Premier onglet de la feuille d'analyses ................................................................... 24 Figure 22 : Deuxième onglet de la feuille d'analyses ............................................................... 24 Figure 23 : Exemple de somme des rangs ................................................................................ 25 Figure 24 : Principe de demande d'une page sur Internet ........................................................ 26 Figure 25 : Exemple de code HTML ....................................................................................... 26 Figure 26 : Comparaison des langages côté serveur ................................................................ 27 Figure 27 : Exemple de requête utilisant DQL ........................................................................ 29 Figure 28 : Fonctionnement de Doctrine .................................................................................. 29 Figure 29 : Architecture MVC ................................................................................................. 31 Figure 30 : Avantages et inconvénients des frameworks PHP ................................................. 32 Figure 31 : Fonctionnement de [CodeIgniter 2] ....................................................................... 33 Figure 32 : Inclusion de fichiers dans le constructeur de la bibliothèque Doctrine ................. 34 Figure 33 : Diagramme de classes de l'exemple ...................................................................... 35 Figure 34 : Scénario d'utilisation du mode lazy-loading .......................................................... 35 Figure 35 : Scénario d'utilisation du mode eager-loading ........................................................ 36 Figure 36 : Correspondance entre éléments HTML et DOM ................................................... 37 Figure 37 : Inclusion conditionnelle d'un script JavaScript ..................................................... 37 Figure 38 : Compatibilités des frameworks entre navigateurs ................................................. 38 Figure 39 : Avantages et inconvénients des différents frameworks JavaScript ....................... 38 Figure 40 : Exemple d'utilisation de Datepicker, un des plugins de jQuery UI ....................... 39 Figure 41 : Syntaxe de la sélection d'éléments avec jQuery .................................................... 39 Figure 42 : Code HTML d'exemple ......................................................................................... 40 Figure 43 : Exemples d'utilisation de jQuery ........................................................................... 40 Figure 44 : Exemple de 2 tâches synchrones ........................................................................... 41 Figure 45 : Exemple de 2 tâches asynchrones .......................................................................... 41 Figure 46 : Exemple de données XML .................................................................................... 42 Figure 47 : Fonctionnement d'AJAX ....................................................................................... 42 Figure 48 : Vue récapitulative des technologies utilisées ........................................................ 43 Figure 49 : Structure de base des pages du site ........................................................................ 47 Figure 50 : Génération d'un vue ............................................................................................... 48 Figure 51 : Définition des constantes pour les menus .............................................................. 48 Figure 52 : Génération de la page ............................................................................................ 48 Figure 53 : Question ouverte extraite d'un questionnaire papier .............................................. 49 Figure 54 : Eléments utilisés pour la saisie de texte ................................................................ 49 Figure 55 : Echelle à libellés extrémaux extraite d'un questionnaire papier ............................ 50 Figure 56 : Echelle avec un libellé par choix extraite d'un questionnaire papier ..................... 50 Figure 57 : Echelle de valeurs extraite d'un questionnaire papier ............................................ 50 Figure 58 : Représentation d'un choix unique parmi N possibilités ......................................... 51 Figure 59 : Exemple de question à P choix parmi N ................................................................ 51 Figure 60 : Représentation d'une question à P réponses parmi N possibilités ......................... 51 Figure 61 : Echelle continue extraite d'un questionnaire papier .............................................. 52 Figure 62 : Représentation d'une échelle continue ................................................................... 52 Figure 63 : Question de tri extraite d'un questionnaire papier ................................................. 53 Figure 64 : Représentation d'une question de classement, dont l'élément "Poulet" est en cours de déplacement ......................................................................................................................... 53 Figure 65 : Cas particulier d'un test de classement, extrait d'un questionnaire papier ............. 54 Figure 66 : Première question du cas particulier : le choix ...................................................... 54 Figure 67 : Seconde question du cas particulier : le classement .............................................. 54 Figure 68 : Exemple de question tabulaire, extraite d'un questionnaire papier ........................ 55 Figure 69 : Question tabulaire, question 1 ............................................................................... 56 Figure 70 : Question tabulaire, question 2 ............................................................................... 56 Figure 71 : Question tabulaire, question 3 ............................................................................... 56 Figure 72 : Question tabulaire, question 4 ............................................................................... 56 Figure 73 : Question tabulaire, question 5 ............................................................................... 57 Figure 74 : Question tabulaire, question 6 ............................................................................... 57 Figure 75 : Question tabulaire, question 7 ............................................................................... 57 Figure 76 : Question tabulaire sans proposition d'éléments, extrait d'un questionnaire papier 58 Figure 77 : Question associée à une image .............................................................................. 59 Figure 78 : Diagramme de classes UML des questionnaires ................................................... 63 Figure 79 : MLD de la partie de la base de données qui concerne les questionnaires ............. 64 Figure 80 : Exemples d'internationalisation de textes .............................................................. 65 Figure 81 : Mapping d'une table ............................................................................................... 66 Figure 82 : Mapping d'une colonne .......................................................................................... 66 Figure 83 : Différentes sortes de mapping One-To-One .......................................................... 67 Figure 84 : Différentes sortes de mapping One-To-Many ....................................................... 67 Figure 85 : Mapping Many-To-One ......................................................................................... 68 Figure 86 : Différentes sortes de mapping Many-To-Many .................................................... 68 Figure 87 : Annotation pour une relation One-To-One ............................................................ 68 Figure 88 : Interface de gestion des questionnaires par uploads/Science et Technologie/ guidoux-stage-2011-t1.pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager