Projets tutorés 2018-2019
Sujet L3A: Algorithmes animés
Encadrant : Fouad Miloudi
Mail de l'encadrant :
Categorie(s): Application, Application web
Objectif :
L'objectif de ce projet est de développer une application qui facilite l'apprentissage de l'algorithmique et de la programmation.
L'idée est de présenter des algorithmes avec leur implémentation dans différents langages de programmation tout en permettant leur exécution pas à pas dont le résultat sur les données ou types de données abstraits en mémoire sera représenté sous forme visuelle animé.
Le programme pourra être une application stand-alone, une application web ou un module de moodle pour faciliter sa diffusion.
Langage(s) et technologie(s)
- C, Java, Python, HTML5/CSS, Javascript
Contraintes :
Sujet L3B - Editeur de réseaux neuronaux profonds
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): application scientifique, open-source
Contexte:
Depuis les début de l'informatique, une partie de l'intelligence artificielle suit une approche bio-inspirée pour développer de nouveaux outils.
C'est par exemple le cas avec les réseaux de neurones artificiels, qui s'inspirent du fonctionnement du cerveau.
Dans ce domaine, les succès étaient relativement modestes mais ces dernières années, les réseaux neuronaux profonds (deep learning) sont en train de révolutionner des pans entiers de l'apprentissage automatique (machine learning) et de l'intelligence artificielle. De nombreux exemples d'applications basées sur cette approche en analyse d'image, traitement automatique des langues, traduction automatique, … sont spectaculaires.
Pour chaque application, les chercheurs et les ingénieurs ont conçus de nouvelles architectures de neurones artificiels, d'organisation de couches ou de réseaux. Chaque nouveauté introduisant de nouvelles possibilités.
Dans ce cadre, on souhaite développer un éditeur dont l'objectif est de permettre la création rapide de réseaux de neurones et la génération automatique du code source correspondant en ciblant des librairies existantes largement utilisées par la communauté. Le paradigme de programmation envisagé pour cet outil est la programmation visuelle afin de lier rapidement les différents composants disponibles pour créer de nouveaux réseaux neuronaux.
Objectifs:
Le travail a réaliser au cours de ce projet consiste à :
- étudier les différentes architectures de neurones et de réseaux neuronaux proposées par les librairies ciblées
- étudier les différentes spécificités des librairies ciblées afin de trouver le dénominateur commun.
- spécifier les composants graphiques à mettre en oeuvre
- créer l'éditeur et le générateur de code source.
- tester les réseaux neuronaux ainsi créés et les performances du code source généré.
Contraintes:
- Pour tester, le code générer il serait souhaitable de disposer d'une machine avec un GPU nVidia compatible avec les dernières version de CUDA.
Mots-clés:
Intelligence artificielle, machine learning, deep learning, réseaux de neurones profonds, GPGPU
Langages :
- Python, Lua, Javascript
Remarque
- La réussite de ce projet peut mener à un stage
Sujet L3C: Framework de géolocalisation précise
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): Smartphone
Objectif :
L'objectif de ce projet est de développer une application pour smartphone permettant de connaître précisément sa position , y compris à l'intérieur d'un bâtiment et d'un tunnel lorsque le signal GPS est insuffisant pour obtenir une position.
Travail à effectuer :
Le framework développé devra être utilisé dans une application de navigation sur une carte différents types de cartes.
Les cartes utilisées par le framework doivent pouvoir être interchangeables : OpenStreetMap (open-source), Google Maps, Yahoo Maps, …
Langages/technologies à utiliser
- Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL, GPS
Contraintes :
Posséder au moins un smartphone dans le groupe (iOS ou android).
Ce framework doit pouvoir être utiliser par d'autres projets.
Sujet L3D - Librairie de calcul haute-performance pour séries temporelles sur GPGPU
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): application scientifique, open-source
Contexte:
Depuis quelques années, les processeurs graphiques (Graphics Processing Unit - GPU) sont utilisés pour réaliser des calculs scientifiques.
En effet pour les traitements pouvant être parallélisés, les GPU sont 10 à 40 fois plus rapides que les processeurs centraux (Central Processing Unit - CPU).
L'utilisation d'un GPU afin de réaliser des traitements autres qu'un simple affichage vidéo est appelée en anglais General-Purposed Processing on Graphics Processing Units (GPGPU)
Les 2 constructeurs de cartes graphiques (Nvidia et ATI/AMD) utilisaient chacun leur langage de programmation (CUDA et Stream) jusqu'à ce qu'ils adoptent la norme OpenCL. Dans les implémentations actuelles, il s'agit d'un ensemble de fonctions utilisables en C.
Les séries temporelles sont des suites de valeurs numériques organisées de manière temporelle. Il s'agit d'un outil de modélisation basé sur des statistiques essentiellement utilisé pour décrire temporel des phénomènes économétriques comme les cours de la bourse, mais il peut aussi servir pour la météorologie. Cet outil permet d'analyser un phénomène et vise à prévoir ses évolutions en fonction de son évolution passée.
Objectifs:
L'objectif de ce projet est de développer une librairie logicielle en OpenCL qui permette l'utilisation de la puissance de calcul d'une carte graphique afin de traiter efficacement des séries temporelles. D'autres algorithmes plus complexes pourraient aussi être implémentés en fonction du niveau en mathématiques des membres du groupe.
Mots-clés:
- OpenCL, GPGPU, calcul haute performance, séries temporelles
Remarque
- La réussite de ce projet peut mener à un stage
Sujet L3E: Perfect Melody
Encadrant : David Janiszek
Mail de l'encadrant :
Categorie(s): Application musicale, Smartphone
Objectif :
L'objectif de ce projet est de développer une application qui détermine une partition à partir d'une mélodie chantée par l'utilisateur.
Dans un deuxième temps, l'application pourrait proposer l'instrument le plus adapté pour jouer cette partition.
Idéalement cette application sera multi-plateforme (PC, tablette, smartphone).
Afin de permettre un maximum d'interopérabilité, l'application devra être capable de produire un fichier midi correspondant à la partition.
Langages/technologies à utiliser
- Java ou C/C++ (PC), Java/XML (android) ou Obective C/C++(iOS), MIDI
Contraintes :
Dans le cas d'une application sur smartphone, il faut posséder au moins un smartphone dans le groupe (iOS ou android).
L'architecture de l'application doit permettre une intégration des fonctionnalités de base dans d'autres projets.
Sujet L3F: Cloud Computing
Encadrant : David Janiszek
Mail de l'encadrant :
Categorie(s): Site web, web service, intelligence artificielle, startup
Objectif :
L'objectif de ce projet est de développer un prototype de webservice qui permet d'utiliser des ressources de calculs déportées pour résoudre des problèmes d'intelligence artificielle.
Travail à réaliser :
Dans un premier temps, il faudra écrire les interfaces entre les programmes d'intelligence artificielle sélectionnés et le webservice consistant en une API RESTful afin de proposer ce service par un calcul déporté.
Puis, dans un second temps, il faudra créer le site web permettant la gestion des comptes.
Enfin, on réalisera les calculs sur des instances d'un service de cloud computing.
Langages/technologies à utiliser
- Langages : Python, Ajax, PHP, Java, C++, Bash
- Cloud : Heroku, AWS
Contraintes :
Sujet L3G: Distance
Encadrant : David Janiszek
Mail de l'encadrant :
Categorie(s): Application web, startup
Objectif :
L'objectif de ce projet est de développer une application qui représente visuellement les distances temporelles entre tous les points d'une carte en fonction des différents mode de transport à disposition : pieds, vélo, voiture, transports en commun, etc.
Pour cela, il faudra utiliser des données Open Data pour les transports en communs, mais aussi estimer les distances en voitures ou à pieds en utilisant les algorithmes de recherche de chemin issus de l'Intelligence Artificielle et utilisés par tous les sites de planification de trajet (Mappy, Google Maps, Plans, etc…)
Langage(s) et technologie(s)
- A déterminer
Contraintes :
Sujet L3H: Journal de patient d'orthophoniste 2.0
Encadrant : David Janiszek
Mail de l'encadrant :
Categorie(s): Application web, smartphone
Contexte:
Au cours de sa vie, 1 personne sur 3 souffre d’un problème vocal et 1 sur 40 subit une pathologie de longue durée. Pour ceux qui utilisent la voix comme outil essentiel de travail, la dysphonie peut être une maladie invalidante. La voix représente pour chacun sa capacité fondamentale de s’exprimer et d’interagir avec autrui.
Pourtant il existe une très large gamme de facteurs qui peuvent causer des problèmes vocaux, et pour arriver à un traitement efficace il est important de les identifier avec précision. Au cours du rendez-vous chez le médecin ou l’orthophoniste, les patients éprouvent souvent du mal à se rappeler de leurs symptômes. Le projet proposé vise à développer une application permettant aux patients d’enregistrer leurs symptômes et d’évaluer leur voix immédiatement tout au long de la journée et sur la durée du suivi médical, créant ainsi une base de données de grande valeur pour l’équipe médicale et pour faciliter et personnaliser le traitement.
Objectif:
Créer une application Android capable de suivre l’évolution d’un problème vocal au cours d'une thérapie avec les fonctionnalités suivantes:
- Permettre l’évaluation de la voix du patient dans un journal
- Permettre au patient d’identifier ses symptômes et de les enregistrer dans le journal
- Permettre au patient de noter la pratique de ses exercices vocaux
- Permettre au patient d’enregistrer un échantillon de sa voix (par exemple, quand il l’a évaluée ‘très mauvaise’)
- La création de graphique pour illustrer l’interaction entre les facteurs et l’évaluation de la voix
- L’exportation des données
Cette application doit être multilingue (au moins : anglais et français)
Langage souhaité :
Java, XML, éventuellement PHP/MySQL
Contrainte :
Posséder une smartphone sous Android
Sujet L3I: Secure NetDrive
Encadrant : David Janiszek
Mail de l'encadrant :
Categorie(s) : application, sécurité
Contexte:
L'objectif de ce projet est de développer un système de fichiers virtuel dont les données sont stockées en ligne de manière encryptée et sécurisée.
Objectifs :
Réaliser un module FUSE qui implémente les différents mécanismes de sécurisation, de cryptage et de distribution L'interface utilisateur du programme de paramétrage devra être simple à utiliser.
Langage(s) et technologie(s) :
- C, Python
Sujet L3J - Notation automatisée de programmes java
Encadrant : Ramy Temim
Mail de l'encadrant :
Catégorie(s): Application web
Présentation du sujet
Un apprentissage efficace et durable passe par une validation rapide de la compréhension des éléments présentés puis par une utilisation régulière des acquis.
Pour cela on envisage de mettre en place un système de notation automatisée des projets java maven en fonction des objectifs d'apprentissage.
Cette évaluation automatisée est basée sur la qualité du code produit et le résultat obtenu à des tests unitaires.
Dans un premier temps, l'enseignant crée l'évaluation en déposant l'énoncé du projet, les tests unitaires à utiliser et les modalités d'évaluation. Ensuite, chaque étudiant accède à un formulaire pour déposer son travail. Le projet est alors placé dans un répertoire prédéfini. Enfin, pour chaque critère de qualité et à chaque test unitaire est associée une note. La note finale est la somme des notes.
Le projet sera réalisé en Java et utilisera maven pour les tests unitaires et la journalisation. Le dépôt svn sera utilisé dès le début du projet par tous les membres de l'équipe.
Documents fournis
Exemple de projet maven avec fichier de configuration fourni par l'enseignant pour la notation
Langage(s) et technologie(s):
- Java, Maven, JUnit, SonarCube, moodle
Référence(s) :
Contrainte(s) :
Sujet L3K - Blockchain explorer
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
La blockchain est au coeur des crypto-monnaies; il s'agit d'un registre des transactions sécurisé.
L'objectif de ce projet est de réaliser un site web qui permette de:
- Afficher l'ensemble des transactions des principales cryptomonnaies à partir de leur blockchain.
- Calculer et présenter des statistiques sur les échanges, les propriétaires et les montants des transactions
- Développer une API pour accéder aux données
Langage(s) et technologie(s):
- Python
Mot(s)-clé(s):
- Crypto-monnaie, blockchain, altcoin, bitcoin, ethereum
Référence(s) :
Contrainte(s) :
Sujet L3L - Historique des cryptomonnaies
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Les crypto-monnaies gagnent en notoriété et pour suivre leur évolution il peut être utile d'avoir un site qui présente l'évolution des valeurs des différentes crypto-monnaies et de leurs taux de conversion.
A partir des données en libre accès, l'objectif de ce projet est de réaliser un site web qui permette de:
- Afficher l'historique des cours des différentes crypto-monnaies
- Calculer et afficher les principaux indicateurs utilisés en analyse technique
- Simuler un porte-feuille d'actifs
- Développer une API pour accéder aux données
Langage(s) et technologie(s):
- Python
Mot(s)-clé(s):
- Crypto-monnaie, altcoin, bitcoin, ethereum
Référence(s) :
Contrainte(s) :
Sujet L3M - Main artificielle
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'objectif de ce projet est de réaliser et de programmer une main artificielle afin que ses mouvements aient l'air naturels.
La main sera imprimée en 3D, il faudra assembler les différentes pièces ainsi que les servo-moteurs et l'électronique.
Pour la programmation des mouvements de la main, on testera différents algorithmes afin de permettre leur comparaison.
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3N - Best or better
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): smartphone
Présentation du sujet
L'objectif de ce projet est de réaliser une application sur smartphone qui permette la comparaison deux à deux des éléments d'une liste afin de réaliser un classement des éléments préférés des utilisateurs.
Ces éléments sont caractérisés par une fiche multimédia pouvant contenir un texte, une image, un fichier sonore, une vidéo.
Par exemple, on pourrait comparer les morceaux de musique d'une liste pour établir le meilleur morceau ou les morceaux préférés. On pourrait également comparer des tableaux pour établir le peintre préféré des utilisateurs.
Langage(s) et technologie(s):
- React Native
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3O - Plugin firefox
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): framework
Présentation du sujet
Depuis la version 57 de firefox, de nombreux plugins sont devenus inopérants car firefox est passé de la technologie XUL à l'utilisation des webextensions (comme Chrome).
L'objectif de ce projet est de remettre au gout du jour un ou plusieurs plugins qui ont été abandonnés par leurs auteurs lors de ce changement majeur.
Langage(s) et technologie(s):
- Firefox, Webextensions, Javascript
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3P - Piou piou
Encadrant : David Janiszek
Mail de l'encadrant :
Catégorie(s): smartphone
Présentation du sujet
L'objectif de ce projet est de permettre la transmission de fichiers entre deux smartphones en utilisant des ondes sonores (c'est dire : sans bluetooth ni WIFI) à l'image de ce que réalisait les modems sur réseau téléphonique commuté avant l'arrivée de l'ADSL.
Langage(s) et technologie(s):
- React Native
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3Q - Robot-racer
Nom de l'encadrant: Michel Soto
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'UFR vient de se doter de mini-véhicules robotisés.
L'objectif de ce projet est de programmer ces véhicules pour :
- rendre autonomes les véhicules sur une piste aux contours délimités.
- faire des courses entre les différents véhicules en fonction de différents algorithmes et différentes implémentations.
- documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes dès l'année prochaine
Langage(s) et technologie(s):
- C
Mot(s)-clé(s):
- robotique
Référence(s) :
Contrainte(s) :
Sujet L3R - Thymio : cartographie
Nom de l'encadrant: Michel Soto
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'UFR vient de se doter de robots Thymio.
L'objectif de ce projet est de programmer le robot thymio pour :
- rendre autonomes le robot dans un environnement inconnu
- cartographier l'environnement du robot
- documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes d'exploration dès l'année prochaine
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3S - Thymio : commande vocale
Nom de l'encadrant: Michel Soto
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'UFR vient de se doter de robots Thymio.
L'objectif de ce projet est de programmer le robot thimio pour permettre à un utilisateur de diriger le robot Thymio grâce à des commandes vocales. Eventuellement pour faciliter les interactions entre l'utilisateur et le robot on utilisera un smartphone.
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3T : IOT : Surveillance non intrusive de manœuvre des aiguillages avec apprentissage des dysfonctionnements sous Arduino
Encadrant : Olivier Grossat
Email de l’encadrant : grossat@uic.org
Categorie(s): IOT, Arduino
Objectif :
Ce projet vise à créer un dispositif Arduino pour identifier l’apparition de dysfonctionnements dans un aiguillage et procéder à leur classification. Pour cela, le dispositif analysera en temps-réel la consommation de puissance utile du moteur d’aiguille.
Les dysfonctionnements peuvent être de différentes natures :
- Graissage insuffisant ou dur de manœuvre de l’aiguillage
- Graissage insuffisant ou dur de manœuvre des verrous
- Présence d’un élément s’opposant à la manœuvre des lames
- Défaillance interne du mécanisme de manœuvre (frein, friction…) ;
- Alimentation électrique (câble…) ;
- Influence néfaste de phénomène phénomènes météorologiques (pluie, gel, neige…) ;
- Déréglage du dispositif d’attaque multiple…
Le dispositif doit pouvoir :
- Etre installé dans les centres d’appareillage (en dur et/ou extérieur) ;
- Pouvoir communiquer via SMS (ou par Wifi sous des modalités à définir) vers les services de maintenance (centre de supervision et de maintenance) et/ou les services d’exploitation ;
- Identifier et classifier chaque nature de défaut (cf. liste en amont) et estimer leur gravité (4 niveaux : S – satisfaisant, A – acceptable, M – médiocre, I – insuffisant) ;
- Emettre le cas échéant une alerte ou alarme relatif à la dernière manœuvre de l’appareil de voie (centre de commande du réseau) à service de maintenance ;
- Emettre le cas échéant une confirmation de manœuvre correcte à service d’exploitation ;
- Mémoriser les données brutes relatives de chaque manœuvre pour une consultation locale par la maintenance.
Langage(s) et technologie(s) : C++, Arduino
Remarques :
- Il y existe une première version (preuve de concept) sous Raspberry Pi
- Des connaissances en électronique et/ou Arduino sont bienvenues mais pas nécessaires
Sujet L3U : IOT : Dispositif de Détection et de localisation de Rupture de Rail sous Arduino
Encadrant : Olivier Grossat
Email de l’encadrant : grossat@uic.org
Categorie(s): IOT, Arduino
Objectif :
Ce projet vise à créer un dispositif de détection et de localisation en temps réel d’une rupture de rail sur une voie de grande longueur (20 km typiquement), appelé D2R2.
Trois éléments clés du principe retenu doivent notamment être vérifiés au travers de cette preuve de concept :
- La génération en puissance d’un signal 12, 16 ou 25 Hz obtenu à partir du secteur 200V 50Hz ;
- Le traitement temps réel de permettant d’assurer, à partir de l’analyse en temps réel de trois tensions de même fréquence (12, 16 ou 25 Hz), la détection et l’identification de l’apparition d’un des possibles dysfonctionnements (apparition d’une rupture de rail et la classification de ces défauts) ;
- La génération d’un message SMS
Les dysfonctionnements peuvent être de différentes natures :
- Apparition d’une rupture de rail sur l’une ou l’autre des files de rails, avec un positionnement possible sur l’ensemble du segment de voie surveillé ;
- Apparition d’un défaut d’isolement d’une des files rail sur l’une ou l’autre des files de rails, avec un positionnement possible sur l’ensemble du segment de voie surveillé ;
- Dysfonctionnement du système ne lui permettant plus de remplir sa fonction (SIL2) ;
Ne doivent pas être considéré comme dysfonctionnements (le traitement ne doit en aucun cas générer de fausses alertes) :
- Le passage d’une ou plusieurs circulations ferroviaires sur la voie ;
- La pose d’un dispositif de protection assurant le court-circuit entre les rails et le troisième rail de traction ou de la caténaire…
Le dispositif doit pouvoir :
- Etre installé dans des centres d’appareillage à proximité des voies (centre extérieur) ;
- Pouvoir communiquer via SMS vers les services de maintenance (centre de supervision et de maintenance) et/ou les services d’exploitation ;
- Identifier la file de rail siège du défaut (cf. liste en amont) et estimer sa gravité (4 niveaux : S – satisfaisant, A – acceptable, M – médiocre, I – insuffisant) ;
- Localiser le défaut en déterminant l’intervalle de confiance de cette localisation ;
- Emettre le cas échéant une alerte ou une alarme relatives à cette détection à service de maintenance ;
- Emettre en permanence un signal de vie du dispositif à service de maintenance ;
- Mémoriser régulièrement les données brutes pour une consultation locale par la maintenance.
Langage(s) et technologie(s) : C++, Arduino
Remarques :
- Il y existe une première version (preuve de concept) sous Arduino
- Des connaissances en électronique et/ou Arduino sont bienvenues mais pas nécessaires
Sujet L3V - Croissance des hyphes de champignon : modélisation et optimalité de l’exploration spatiale
Nom de l'encadrant: Eric Herbert et Florence Leclerc
Mail de l'encadrant :
Catégorie(s): Application
Présentation du sujet
L’exploration spatiale de l’environnement immédiat est vitale pour l’exploitation des ressources énergétiques du champignon et donc pour sa survie.
Pour cela, la spore du champignon produit des filaments (hyphes) qui croissent et quadrillent l’environnement. Nous étudions au laboratoire la croissance d'un champignon en 2D.
Cette croissance est faite à partir de la tête (apex) des hyphes.
Le réseau va croitre en longueur et en complexité puisque des embranchements apparaissent au niveau de la tête (apex) et au niveau des hyphes eux-mêmes, multipliant le nombre d’hyphes.
![]() |
Thalle en haute définition du champignon Podospora anserina après quelques jours de croissance. Le diamètre est approximativement de 10mm |
---|
Il s'agit dans ce projet de retrouver la trajectoire de l'ensemble des hyphes filles d'une hyphe mère. On dispose pour cela d'une série d'image de la croissance d'un champignon. Ces images sont composées d'un ensemble de tuiles acquises séparément puis associées. Les images sont ensuite binarisées, filtrées et recadrées, de manière à ce que le processus de croissance apparaisse sous la forme d'un film, dont le centre est bien défini.
Travail à réaliser
Le projet se décompose en deux tâches distinctes qui seront affectées à 2 groupes différents.
1 - Reconstruction de la trajectoire d'une hyphe-mère, que l'opérateur pourra choisir, et de ses multiples hyphes-filles, en s'appuyant sur les données expérimentales accessibles au laboratoire, Il faudra notamment retrouver l'ensemble des :
- apex (nombre, position, temps) et trajectoires associées
- embranchements (nombre, position, temps d'apparition).
2 - Filtrage / binarisation. Les panoramas recontruits sont ensuite binarisés et vectorisés. L'étape de binarisation est encore sujette à des défauts, dus au feuillage global utilisé. Cette étape doit être améliorée pour éviter l'introduction d'erreurs dans la vectorisation.
Un traitement d'image plus solide doit être introduit à ce niveau, en s'appuyant sur le résultat recherché:
- stabilité spatiale du réseau (position épaisseur…)
- sensibilité au bruit
Le critère de validation sera le résultat de la vectorisation.
Langage(s) et technologie(s):
- Python
Référence(s) :
- Yafetto, L., Davis, D. J. & Money, N. P. Biomechanics of invasive growth by Armillaria rhizomorphs. Fungal Genet. Biol. 46, 688–694 (2009).
- Silar Ph., Chap. 12 Podospora anserina : From Laboratory to Biotechnology in B.A. Horwitz et al. (eds.), Genomics of Soil- and Plant-Associated Fungi
- F. Comets, T Meyre : Calcul Stochastique et Modèles de Diffusions, Cours & Exercices. Dunod, 2006.
- Random walks and trees, Zhan Shi, esaim : proceedings, January 2011, Vol. 31, 1-39.
- Branching brownian motion and the spinal decomposition, Zhan Shi, 2015 (pdf)
Mots clés:
Traitement d'image, Théorie des graphes
Remarque(s) :
- Il s'agit de la suite d'un projet donné les années passées.
- Il existe une possibilité de stage à l'issue du projet.
Sujet L3W - Big data application
Nom de l'encadrant: Dragutin Jastrebic, Koviljka Lukic Jastrebic
Mail de l'encadrant :
Catégorie(s): Découverte
Présentation du sujet
Selon Wikipedia, Big data, littéralement les « grosses données », ou mégadonnées , parfois appelées données massives , désignent des ensembles de données qui deviennent tellement volumineux qu'ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données ou de gestion de l'information .
D’où provient cette masse de données ?
Les systèmes traditionnels, contenant les données structurés, appelées les SGBDR, stockent des données de plus en plus volumineuses.
- Ils gardent de plus en plus de données historiques.
- Les logiciels sont de plus en plus nombreux, à part les logiciels dédiés aux entreprises, les sites internet et/ou des logiciels grand public tel que Youtube,Facebook, Twiter contribuent à cette explosion de données
- Les bases de données contiennent les données de plus en plus détaillées.
Par exemple les systèmes de facturations des téléphones portables stockent les informations sur la géo-localisation avec l'apparition des smartphones
La croissance des données non-structurées est également présente:
Par exemple, pour développer le logiciel X un groupe de Y développeurs à travaillé sur Z ordinateurs et a échangé N mails, et a écrit M documents qui accompagnent le logiciel. Le logiciel en question produit aussi une quantité importante de traces applicatives, indiquant le nombre de connexions, le nombre d'actions (lectures, mises à jour) etc. Ces données (e-mails, documents, traces) sont potentiellement intéressantes pour le management de l'entreprise.
Toutes ces données, structurées et non-structurées, publiques, données d’entreprise, sont en format électronique, donc, potentiellement exploitables par des logiciels.
Toutes ces données sont donc Big Data.
Les bases de données traditionnelles Oracle, SQL Server DB2 ont été conçues pour garantir l'accès concurrent aux données, l'aspect transactionnel des traitements, pour pouvoir accepter des centaines de sessions utilisateurs, pour fournir des métriques précises sur l'utilisation du système au niveau de processeur, mémoire, réseau.
Ces bases de données sont donc plus lentes en terme de consultation de données massives et non structurées.
Des nouvelles technologies comme Hadoop, et bien d'autres sont orientées uniquement vers la consultation des données, traitement massif des données, structurées ou non structurés.
Hadoop implémente la technologie du sharding, qui distribue le travail sur plusieurs nœuds et permet de cette façon de traiter une masse de données importante. Les outils qui accompagnent Hadoop sont Hive, Hbase, Spark…
Dans le contexte de notre projet, nous allons travailler sur le développement d'une nouvelle base de données, orientée Big Data.
Cette nouvelle base de données peut avoir ses propres données mais voit aussi les données de Hadoop comme ses données locales. Ces données peuvent être structurées (les tables relationnelles) ou non-structurées (les articles des journaux, les images …)
Puis, les données sont visualisées via les pages web.
Langage(s) et technologie(s) :
- C, Java, HTML, Hadoop (avec Hive,Hbase, Spark…)
Algorithmes :
Contrainte(s) :
Sujet L3X : Optimisation de pipeline pour l'analyse Bioinformatique
Encadrant : Frédéric Jarlier
Mail de l'encadrant :
Catégorie(s): Application scientifique
Contexte:
Riche d'une forte culture interdisciplinaire, l'Institut Curie est l'un des plus importants centres européens de recherche contre le cancer.
Il comporte également un hôpital spécialisé dans le traitement des cancers et par conséquent, l'expertise de l'Institut Curie s'étend de la recherche fondamentale au soin du patient.
Il est situé dans le centre de Paris dans un riche environnement culturel et scientifique. L'unité U900 compte près de 80 chercheurs et étudiants (mathématiciens, statisticiens, informaticiens, biologistes, physiciens, médecins et bioanalystes) en bioinformatique, biostatistiques et biologie des systèmes.
Présentation du projet:
L'unité de bioinformatique (U900) de l'Institut Curie a entamé depuis quelques années un virage dans le traitement des données massives issu du séquençage à haut débit (Next Generation Sequencing). Elle met en place et développe des outils informatiques optimisés en vue de diminuer le temps et le coût de l'analyse moléculaire des échantillons de patients. En 2013 l'équipe de calcul haute performance de la plate-forme de bioinformatique de l'Institut Curie a commencé le développement d'un pipeline d'alignement, de tri et de recherche de gênes de fusion.
Face à l'avalanche des données produites par le séquençage haut débit il devient nécessaire d'adapter les outils d'analyses pour répondre aux besoins de scalabilité et de reproductibilité des analyses.
Travail à réaliser :
Dans un premier temps les étudiants aideront leur tuteur à développer un outil parallélisé de dé-duplication des séquences NGS. La dé-duplication consiste à marquer les séquences nucléotidiques identiques pour ne pas en tenir compte dans l'analyse post-hoc. Ces « duplicats » ou « réplicats » proviennent des manipulations d'amplification du matériel génétique réalisée en amont du l'analyse informatique et sont la source de biais statistiques. En outre l'outil utilisé (Picard tool MarkDuplicate) souffre actuellement du passage à l'échelle. Cet outil étant développé en Java il n'est pas adapté pour de très gros jeu de données. Néanmoins il servira de contrôle positif lors des phases de validation.
Les étudiants reprendront les travaux réalisés en 2018 et s'appuieront sur les travaux de parallélisation déjà avancés par leur encadrant pour les compléter/debugger et/ou proposer des méthodes nouvelles.
Langage(s) et technologie(s):
- Bash, C/C++, GCC, GDB, Valgrind, OpenMPI, OpenMP, HPC
- Unix / Linux
Référence(s)
Mots-clés:
- Calcul parallèle, parallélisation d'algorithme, reproductibilité, NGS, genômique, big data.
Remarque(s) :
Des connaissances UNIX sont un pré-requis ainsi qu'une bonne expérience en C.
Il existe une possibilité de stage à l'issue du projet
Sujet L3Y - Modélisation de relations spatiales pour la représentation de scènes
Nom de l'encadrant: Laurent Wendling
Mail de l'encadrant :
Catégorie(s): Application scientifique, Initiation/Découverte
Contexte :
Ces dernières années, la disposition spatiale des objets (ou des différents sous-objets composant les objets) présents dans une image a reçu une attention particulière dans le domaine de l’analyse d’images. En effet, les relations spatiales liant les différents objets d’une scène imagée constituent une information particulièrement importante dans la perception humaine.
Objectifs / Travail à réaliser :
L’objectif de ce sujet est d’implémenter une approche récente permettant de calculer tout un ensemble de relations spatiales (sous la forme d’un descripteur) entre couples de régions contenues dans une image binaire pour par la suite fournir une évaluation pseudo linguistique du positionnement spatial.
Les étapes à suivre sont les suivantes :
- Lecture et écriture d’une image binaire.
- Etiquetage des composantes connexes : attribution d’un numéro à chacune des principales régions (ensemble de pixels connectée entre eux) trouvées.
- Lancé d’un rayon (droite) en fonction d’une direction
- Calcul de toutes le droites parallèles (remplissage de l’image)
- Pour chaque droite : calcul de relations spatiales (en fonction des régions traversées)
- Généralisation pour un ensemble de directions En fonction de l’avancement, un modèle simple d’évaluation des relations spatiales pourra être mis en œuvre.
Langage(s) et technologie(s):
Mots-clés:
- Reconnaissance des formes, relations spatiales
Référence(s) :
- Matsakis, P., Naeem, M., Rahbarnia, F.: Introducing the _-Descriptor – A Most Versatile Relative Position Descriptor. In: Proc. ICPRAM. pp. 87–98 (2015)
- D’autres références (articles) seront fournies
Contrainte(s) :
Sujet L3Z - Virtual Reality: FEAR OF FALLING
Nom de l'encadrant: Danping Wang
Mail de l'encadrant :
Catégorie(s): Application scientifique, Réalité virtuelle
Présentation du sujet
VoWhile fear of falling is mentioned frequently as an adverse outcome of falling, little is known about its physiological basis.
If individuals at risk of developing fear of falling can be identified and fear of falling proves to be an independent factor in functional decline, it may be possible to target clinical interventions to prevent or alleviate this fear and its consequences in elderly patients.
In that context, this project is to investigate how the fear interferes with postural control using virtual reality to induce fear during standing at rest and during locomotion.
We submitted the subjects to a high-suspended board environment and we recorded several characteristics of their motor behavior including gaze (Eye Tracking) and postural control (motion capture movement and force place), the EMG activities of several muscles and their cardiac frequency by ECG.
Objectifs :
- Capter et traiter des signaux ECG, EMG et mouvements oculaires
- Mesurer le mouvement de la tête et du corps avec une entrée visuelle 3D
- Analyser et synchroniser les signaux
Lieu d’expérience et projet :
La Plate-forme de l’Etude de la Sensorimotricité chez l’Homme (PES) http://www.biomedicale.parisdescartes.fr/pf-sensorimotricite/ à l’UFR Biomédicale des Saints-Pères relève d’une inter-discipline : les neurosciences fonctionnelles à l’intersection de la physiologie, des sciences cognitives de l’ergonomie et de la robotique. Le domaine opérationnel repose sur la recherche d’une grande fonction (locomotion, manipulation, perception de l’espace…) et la quantification des entrées sensorielles, des sorties comportementales mises en jeu ainsi que des données objectives et subjectives recueillies lors de l’exécution de la tâche expérimentale.
Langage(s) :
- Matlab
Contrainte(s) :
Sujet L3AA - Data Series Query Language
Nom de l'encadrant: Themis Palpanas
Mail de l'encadrant :
Catégorie(s): application
Présentation du sujet
In this project we are going to develop a time series query plan execution engine.
We will implement a set of operators that operate both over records of each data series, as well as ones that operate over complete series.
Time Series
Time series (a.k.a. data series or sequences) are sequences of recordings that are ordered over a dimension.
When this dimension is time, we specifically talk about time series.
Examples include: recordings of weather-related data as they fluctuate over time, engine monitoring and sensor values in industrial applications, etc.
Collections/Databases of Time Series
A collection or database of time series is a set of multiple distinct sequences which can be measured at different time intervals, capturing one or more variables and having varying lengths. An example is the set of opening and closing prices for all ticker symbols in a stock exchange. Each ticker symbol is a distinct data series, with opening and closing prices being the variables that are measured over time. Additionally, we can have non-time-varying attributes of each series. An example is the industry in which a symbol belongs. This doesn’t change with time, and still represents an attribute of the series.
Querying Databases of Time Series
In a previous project we developed a language specifically designed to query databases of time series. The query language is a variant of SQL where every reference to a column name can be accompanied by a range predicate and some constraints on its value. Such constraints can be added in both the where statement, as well as in the select statement. This language can be translated down to a set of query operators. Such operators perform simple operations such as: find all values within a given range, find all values that match a given predicate, and more.
In this project, we will build an engine that includes implementations of a small subset of these operators and is able to combine them in order to answer a query plan. Each operator returns a set of intermediate results, representing sequence identifiers, record locations, or variable values.
Example operators are the following:
- TimeVaryingRange: Scan time stamps in the table and find all locations of all records that are within a range of timestamps (e.g., today-10 to today) and are part of a specific subset of the data series.
- VariableFilterGetLOCS: Filter a set of variables and provide the locations of the records for which a given variable is above a threshold.
- VariableFilterGetSIDS: Filter a set of variables provide the time series id for the series that have records for which a specific variable crosses a limit at least once.
- VariableFetch: Read the values of a given variable at a given set of locations.
The data are stored in memory.
The operators will iterate over these data and construct intermediate results in the form of lists of values.
What you will learn
Translate logical operators to physical operators. Implement simple scan-based operators, and efficient index-based access methods. Maintain efficient intermediate results. Combine everything in a data processing pipeline and produce an end-to-end query execution engine.
Langage(s) et technologie(s) :
- C++
Contrainte(s) :
Sujet L3AB - Développement d’une application de bibliométrie et de gestion des publications scientifiques
Nom de l'encadrant: Aurore Cartier, Cyril Heude, Quentin Morelon, Valérie Ricoux
Mail de l'encadrant :
Catégorie(s): Application de gestion
Contexte :
Le Service Commun de la Documentation (SCD) est la structure documentaire commune de l’Université Paris Descartes.
Réparti sur 10 sites situés à proximité des lieux d’enseignement et de recherche, il pilote et met en œuvre la politique documentaire de l’Université.
Parallèlement à ses missions d’accueil du public, de renseignement bibliographique et de formation aux compétences informationnelles, le SCD développe des services plus spécifiques d’appui à la recherche et à l’open science intégrant la production d’analyse et d’indicateurs relatifs au suivi de la production scientifique de l’établissement (bibliométrie).
La bibliométrie peut se définir comme l’application des mathématiques et des méthodes statistiques aux livres, articles et autres types de productions ou de communication scientifique.
Une approche plus contemporaine y associe également l’« analyse quantitative de l'activité et des réseaux scientifiques ».
En dépit de nombreuses limites, la bibliométrie reste à ce jour le critère privilégié pour l’évaluation de la carrière et de la performance d’un chercheur, d’un laboratoire, d’une université et une base essentielle pour répondre pertinemment aux enquêtes nationales et internationales sur la recherche : classement de Shangaï, agences de « ranking », Observatoire des sciences et techniques, Haut Conseil à l’évaluation de la recherche et de l’enseignement supérieur.
Objectifs :
L’objectif de ce projet est de participer au développement de l’application bibliométrique de l’Université Paris Descartes pour offrir aux équipes de recherche et aux instances de pilotage (Vice-Président recherche, direction de la Recherche DRIVE) des analyses et des indicateurs à valeur ajoutée pour le suivi de la production scientifique ainsi qu’une cartographie claire et évolutive des structures de recherche de l’établissement.
Travail à réaliser :
- le développement CRUD des interfaces de saisies, d’authentification, de visualisation et de dé-doublonnage de la base de données en s’appuyant sur les technologies suivantes:
- Angular 6 / framework PHP Zend
- Bootstrap 4 pour le CSS
Une partie des interfaces pré-existantes ont été développées sous AngularJS | PHP (sans framework). Une partie du travail consistera donc à traduire ces interfaces sous Angular 6 | PHP Zend. Le projet ne prévoit pas d’intervention sur la structure des données de la base SQL.
Langage(s) et technologie(s):
- Angular 6, PHP Zend, Bootstrap 4, CSS
Référence(s) :
- Djordjevic D, Klein W, Ollivier S, Millauriaux C. Angular : développez vos applications web avec le framework JavaScript de Google : la mise en place de services et de la navigation (55 min de vidéo) [Internet]. St Herblain : Éditions ENI. copyright 2018.; 2018 - Cote : 005.133 JAVS DJO (disponible en e-book sur la plateforme ENI)
Mots-clés :
- Bibliométrie, recherche, application, base de données, ergonomie web, recherche scientifique.
Remarque / Contraintes :
- Autonomie, sens de l’initiative, force de proposition
- Affinités pour le travail en équipe avec des méthodologies agiles
- Intérêt pour la recherche publique et son pilotage.
- Ce projet est susceptible de pouvoir se poursuivre par un stage.
Sujet L3AC - Développement d’un réseau social
Nom de l'encadrant : Naim Cheref
Mail de l'encadrant :
Catégorie(s): Site web
Objectifs:
Le but du projet est de développer un réseau social qui permet d’ajouter des amis, échanger des messages, créer et rejoindre des communautés et créer des évènements.
Travail à réaliser:
Les principales fonctions du projet sont :
- Mettre en place un système d’inscription et de connexion sécurisé (connexion avec login/mot de passe, connexion via Google).
- Récupérer des Flux RSS via API pour afficher les nouvelles actualités à l’utilisateur connecté en fonction de sa ville.
- Possibilité de publication de contenu en précisant la visibilité. * Possibilité de recherche d’amis et les ajouter éventuellement.
- Possibilité de création de groupe, inviter des personnes et partager des documents.
- Système de messagerie.
- Création d’évènements.
- Traiter l’aspect sécurité de l’application : injection de code, failles de sécurité XSS, confidentialité des informations personnelles.
Les fonctionnalités seront détaillées lors de la phase de conception avec les étudiants
Langages :
- PHP/Symfony, MySQL, HTML/CSS/Javascript
Sujet L3AD - Simulateur de construction moléculaires
Nom de l'encadrant: Claude Lattaud
Mail de l'encadrant :
Catégorie(s): Smartphone, Intelligence Artificielle
Présentation du sujet
L'objectif de ce projet est de développer une application permettant à des atomes en 3D de s'associer afin de construire automatiquement des molécules simples.
Dans un premier temps, les étudiants devront se familiariser avec les connaissances nécessaires en chimie, en particulier en chimie organique, et maîtriser l'outil de développement Unity3D. Dans un deuxième temps, ils élaboreront en 3D les atomes les plus simples, comme l'hydrogène, l'oxygène et le carbone, ainsi que leurs interactions. Ceux-ci devront être capables alors de s'associer afin de permettre la construction automatique de molécules simples, comme le CO2, l'H2O ou encore le CH4. Finalement, l'application devra laisser la possibilité à l'utilisateur de créer une soupe primitive composée de nombreux atomes différents et permettre à celui-ci d'observer le déroulement des constructions de molécules de plus en plus complexes.
Ce projet sera développé d'une manière souple afin qu'il puisse être enrichi aisément d'autres atomes élémentaires, et d'outils d'analyses.
Références
Langage(s) et technologie(s) :
- Java/Android, MySQL
Contrainte(s) :
Sujet L3AE - Shogunity et IA
Nom de l'encadrant: Claude Lattaud
Mail de l'encadrant :
Catégorie(s): Jeu vidéo 3D
Présentation du sujet
Ce projet se base sur un projet choisi et développé par des étudiants les années précédentes.
Ceux-ci ont défini le jeu du shogi, conçu les pièces et réalisé une application fonctionnelle, en y intégrant des IA minimalistes.
Lors de l'une des années précédentes, un groupe d'étudiants a réalisé une sandbox pour développer et évaluer l'IA qu'ils ont intégrée.
L'objectif de ce projet est donc d'apporter une nouvelle IA, les systèmes de classifieurs, au projet existant dans un premier temps, puis de comparer les résultats de duels entre la nouvelle méthode et les anciennes. Les étudiants devront récupérer ce travail, effectuer une bibliographie pertinente des systèmes de classifieurs et enfin prendre en main le logiciel Unity à l'aide de tutoriels. Ensuite, ils s'attacheront à coder la nouvelle IA de la sandbox, et enfin à la faire rencontrer les IA précédemment implémentées. L'objectif final est d'obtenir des résultats pertinents lors de ces rencontres, il est cependant à noter que le parachutage des pièces, dans un premier temps, n'est pas à développer.
Les étudiants devront analyser les performances obtenues par leurs algorithmes. Et en fonction de celles-ci, ils pourront reprendre et ajuster les paramètres de leur système de classifieurs au mieux. Finalement, ils feront une démonstration de leur application dans un face-à-face avec l'ordinateur.
Références
Langage(s) et technologie(s) :
- Unity, Mono (C#), UnityScript (Javascript), Boo, mySQL
Contrainte(s) :
Sujet L3AF - Unity 3D - Jeu de stratégie et IA
Nom de l'encadrant: Claude Lattaud
Mail de l'encadrant :
Catégorie(s): Jeu vidéo 3D
Présentation du sujet
Ce projet se base sur un projet développé par des étudiants durant les années passées.
Ceux-ci ont défini les règles d'un jeu de stratégie, conçu les pièces en 3D et réalisé une application fonctionnelle, mais sans y intégrer une IA un minimum efficace.
Le rôle de chaque pièce est bien délimité par son type. L'an dernier, un groupe d'étudiants a travaillé sur une approche générique d'une méthode d'IA nommée « systèmes de classifieurs », mais sans réellement la concrétiser.
L'objectif de ce projet est donc de rendre efficace la surcouche IA du projet existant. Les étudiants s'attacheront donc à implémenter des systèmes de classifieurs en utilisant la base générique de l'an dernier. Les problématiques initiales devront être étudiées, à savoir le comportement ponctuel des pièces dans des situations données. Des problématiques plus complexes doivent également être étudiées comme les comportements coordonnés de plusieurs pièces, par exemple pour cerner une pièce adverse ou encore défendre une de ses propres pièces, etc… Finalement, les étudiants feront une démonstration de leur application dans un face-à-face avec l'ordinateur.
Références
Langage(s) et technologie(s) :
- Unity, Mono (C#), UnityScript (Javascript), Boo, mySQL
Contrainte(s) :
Sujet L3AG - Aide à la randonnée et reconnaissance de formes
Nom de l'encadrant: Claude Lattaud
Mail de l'encadrant :
Catégorie(s): Smartphone, Intelligence Artificielle
Présentation du sujet
L'objectif de ce projet est de reprendre et d'enrichir une application mobile développée l'an dernier.
Celle-ci avait pour but d'aider des randonneurs en effectuant une reconnaissance automatique de formes simples telles que des feuilles d'arbres, sur l'Europe.
Dans un premier temps, les étudiants devront maîtriser le projet développé et se familiariser avec les outils et base de données utilisés. Dans un deuxième temps, ils devront élargir cette base de données avec les feuilles des arbres d'une nouvelle région du monde, comme l'Asie. Dans un troisième temps, les étudiants devront se pencher sur l'algorithme d'intelligence artificielle développé l'an dernier, dévoiler ses failles et mettre en valeur ses avantages. Ils pourront ensuite l'améliorer afin d'augmenter les performances de celui-ci. Finalement, ils développeront un protocole d'évaluation adapté à ce type de problématique afin d'évaluer leurs algorithmes.
A l'heure actuelle, ce projet est en partie fonctionnel, d'autres éléments y ont également été ajoutés, tels que la reconnaissance d'empreintes animales ou encore la reconnaissance de chants d'oiseaux. Cependant, cette dernière n'est pas réellement efficace, encore. L'un des objectifs secondaires du projet pourrait être de rendre les parties peu efficaces, plus efficaces.
A noter qu'il existe déjà des applications mobiles de reconnaissance de formes naturelles élémentaires, comme proposées dans ce sujet. Les étudiants apporteront donc une application Android regroupant tous les points énoncés ci-dessus.
Références
Langage(s) et technologie(s) :
- Java/Android, MySQL
Contrainte(s) :
Sujet L3AH - Aide à la randonnée et cartes GPS
Nom de l'encadrant: Claude Lattaud
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
L'objectif de ce projet est de reprendre une application mobile dont le codage a échoué l'an dernier.
Celle-ci devait apporter une aide aux randonneurs pour leurs préparations et les suivis de leurs périples.
En mode suivi de parcours, celle-ci devra être autonome, i.e. fonctionner sans accès à internet, robuste et évolutive.
La première étape consiste à collecter les données des cartes d'une part, et à comprendre le fonctionnement des GPS d'autre part. Le but de la deuxième étape est de préparer une randonnée en traçant un parcours GPS sur une carte donnée. La troisième et dernière étape consiste, pendant une randonnée à assurer le suivi GPS sur une carte en offrant à l'utilisateur des informations telles que ses coordonnées avec le plus de précision possible, les points d'eau proche, les routes, les zones dangereuses, etc.
L'application mobile devra être souple, robuste et permettre des enrichissements à l'avenir via d'autres projets.
Références
Langage(s) et technologie(s) :
- Java/Android
Contrainte(s) :
Sujet L3AI - Réussite des étudiants à l’université
Nom de l'encadrant: Yannick Parchemal
Mail de l'encadrant :
Catégorie(s): Site web, Application de gestion
Contexte :
A partir de données brutes issues du logiciel de scolarité, présenter des résultats statistiques aux étudiants et aux responsables de formations
Travail à réaliser :
Réaliser une application WEB permettant de visualiser les résultats des promotions d’étudiants pour les différentes années de formations de l’université. L’utilisateur de l’application effectue une demande portant sur :
- Le type de statistiques souhaitées : par année, par cohortes
- Le type de document souhaité : web, pdf
- L’année universitaire concernée
- Les formations concernées
- les renseignements souhaitées : nombre d’inscrits, % de réussite, devenir des étudiants …
Les demandes de l’utilisateur sont mémorisées de telle sorte qu’il puisse facilement faire une demande similaire lors d’une demande ultérieure. Une aide en ligne asynchrone est prévue pour répondre aux questions des utilisateurs.
Les données fournies sont des données brutes au format csv actualisées quotidiennement.
Mots-clés:
- Client serveur, web, JavaFX, CSV
Langage(s) et technologie(s):
- JavaFX
Référence(s) :
Sujet L3AJ - Edition de maquettes de formations avec JavaFX
Nom de l'encadrant: Yannick Parchemal
Mail de l'encadrant :
Catégorie(s): Application de gestion
Présentation du sujet
L’université Paris Descartes assure chaque année plus de 200 années de formation.
La troisième année de la licence Informatique est l’une d’elles.
La description d'une maquette d'une année de formation (Parcours, semestres, UE obligatoires, à choix, facultatives, ECUE, enseignement) est un problème non trivial lorsque l'on a l'ambition de couvrir tous les cas de figure.
Une année de formation est composée de plusieurs parcours. Un parcours est composé de semestres. Un semestre est composée d'UE. Certaines sont obligatoires, d'autres à choix, d'autres facultatives. Une UE peut être composée d'ECUE. Certaines sont obligatoires, d'autres à choix, d'autres facultatives.
Les matières sont caractérisées par un nombre d'heures de cours, de tds, par un taux d'encadrement, par des modalités de contrôle des connaissances. Les UE, ECUE, enseignements et matières peuvent apparaitre dans plusieurs maquettes ou à plusieurs endroits d'une même maquette.
La maquette doit pouvoir également servir à estimer le cout de la formation et des indications peuvent être apportées par exemple sur le taux de choix des ues à choix. L'objectif de ce projet est de permettre l'édition avec une interface web de maquettes de formation afin que le responsable d'une formation puisse la modifier ou en créer une nouvelle. Cette interface devra être utilisable le plus facilement possible et permettre la modification de toutes les caractéristiques d'une formation. Les classes modèles ainsi que des objets formations sérialisés sont fournies au départ de ce projet
Langage(s) et technologie(s):
- Java, Maven, JUnit, JavaFX
Référence(s) :
Sujet L3AK - NearBest
Nom de l'encadrant: Nicolas Denis
Mail de l'encadrant :
Catégorie(s): Application mobile
Contexte :
Ce projet a pour but de poursuivre le développement d'une application mobile qui édite du contenu local, au sens lié à une localisation géographique, et gère un outil de recherche de ce contenu, en temps réel, en fonction des déplacements de l'utilisateur.
Cette application mobile a deux fonctions principales :
- en fournisseur d'information, l'utilisateur peut écrire un texte et ajouter une photo. Cette information est liée à une localisation, à un rayon de transmission et à une durée de transmission.
- en chercheur d'information, l'utilisateur définit des critères de recherche tels qu'il recevra les messages en lien avec sa recherche lorsqu'il passera à proximité d'une source d'information.
Dans chacun des 2 modes, les coordonnées géographiques et les données saisies sont enregistrées en temps réel et transmises à un serveur. Ce serveur recherche en continue les résultats correspondant aux recherches, dans les rayons définis par les utilisateurs. L'utilisateur peut enregistrer les mots clés de son texte sous forme de hashtags. Ce sujet est dans sa deuxième année. Les fonctions de base existent déjà : www.nearbest.net
Travail à réaliser :
- Corrections de l’application pour prendre la main
- Ergonomie déficiente,
- Bug : Recherche ne prenant pas en compte la géolocalisation,
- Evolution de l’application
- Gestion de l’âge de l’utilisateur,
- Gestion du GPS désactivé,
- Notation des contributions,
- Réponse aux contributions,
- Gestion de hashtag
Langage(s) et technologie(s) :
- Java/ Android, REST, JSON, Géolocalisation, webservice, géotag
Référence(s) :
Contraintes :
* Les rendez-vous auront lieu un soir de la semaine entre 17h30 et 20h15.
* Il est souhaitable de posséder un smartphone sous android
Sujet L3AL - Machine Learning ONU
Nom de l'encadrant: Nicolas Denis
Mail de l'encadrant :
Catégorie(s): Application
Contexte :
Exploiter le gisement des données de l’ONU pour analyser les corrélations avec un réseau de neurones.
Travail à réaliser :
Pour un pays, tenter de trouver une corrélation entre un ensemble de données (population urbaine, taux d’éducation secondaire, production agricole, …) et sa situation cinq années plus tard (PIB par habitant, espérance de vie, indice des prix, etc.). Pour cela, les données provenant du site d’open data de l’ONU seront classées entre données d’entrée (population urbaine, taux d’éducation secondaire, etc.) et données d’étiquetage (situation du pays cinq ans plus tard). Comme tout projet de machine learning, il faudra faire un gros travail sur les données servant à l’apprentissage : esprits critiques bienvenus. Techniquement, l’usage d’un framework de machine learning est à privilégier. En vue de la soutenance, il faudra également prévoir la présentation la plus graphique possible, via un outil du marché ou une mise en page propre.
Mots-clés:
- Machine learning, réseau de neurones
Langage(s) et technologie(s) :
- Framework de machine learning (de préférence TensorFlow) Python et un outil du marché ou un langage pour la présentation des données et des résultats (HTML ou PHP/MySQL)
Référence(s) :
- Les données en question : http://data.un.org/
Contrainte(s) :
Les rendez-vous auront lieu un soir de la semaine entre 17h30 et 20h15.
Posséder un smartphone sous Android
Sujet L3AM - Agrégateur de transport
Nom de l'encadrant: Lova Rakotozafy
Mail de l'encadrant :
Catégorie(s): startup, smartphone, framework
Contexte :
Côté client : Proposer un agrégateur de transport utilisable au quotidien/pour aller en vacances en un clic. Côté professionnel : Supprimer la concurrence entre les taxis & les VTC en proposant aux utilisateurs d’utiliser la plate-forme de leur choix
Travail à réaliser :
Niveau 1 :
- Créer un algorithme permettant de proposer aux utilisateurs de voyager d’un point A à un point B partout dans le monde en proposant les moyens de transports suivants
- Voiture
- Transports en commun
- Avion
- Créer une IHM utilisateur basique
Niveau 2 :
- A la manière d’uber, créer une application mobile (Android) permettant de transporter les utilisateurs d’un point A à un point B en voiture
- Créer une IHM friendly user en suivant les codes du flat design
Niveau 3 :
- Intégrer les API Citymapper pour les transports en communs
- Intégrer les API google maps pour calculer le trajet et avoir les informations en temps réel
- Permettre aux utilisateurs de combiner les transports en communs,la voiture et la voiture
Bonus :
- Créer un site internet type wordpress permettant de présenter le concept
- Intégrer l’API gouvernementale : le.taxi pour gérer les taxis
Références bibliographiques/webographiques :
Mots-clés:
- SDK Android, Java, SQL
Remarque / Contraintes :
Sujet L3AN - Lunar Lockout
Nom de l'encadrant: Jean-Guy Mailly
Mail de l'encadrant :
Catégorie(s): Application stand-alone ou smartphone
Contexte :
Lunar Lockout est un jeu dans lequel le plateau, composé de 25 cases, représente une portion de la surface lunaire.
Six pions représentent cinq robots et une capsule spatiale.
Chaque pion peut se déplacer en ligne droite, horizontalement ou verticalement.
Cependant, s’il ne rencontre aucun obstacle, il sort du plateau et est définitivement perdu dans l’espace.
Le but du jeu est d’amener la capsule sur la case centrale du plateau, en déplaçant les pions de manière adéquate.
Objectifs :
Le but de ce projet est d’implémenter une application permettant à un utilisateur de jouer à Lunar Lockout, soit sur smartphone/tablette, soit sur ordinateur.
En plus de permettre de jouer à différents niveaux intégrés directement à l’application d’origine, on doit permettre aux utilisateurs de créer leurs propres niveaux et de les sauvegarder pour y rejouer plus tard.
Enfin, un algorithme d’intelligence artificielle peut être implémenté pour résoudre un niveau, afin d’indiquer à un joueur bloqué quel est le prochain coup à jouer pour s’approcher de la solution.
On pourra également imaginer des variantes avec plus ou moins de cases et de robots.
Langage(s) et technologie(s):
- Au choix de l'équipe
Référence(s) :
- https://www.youtube.com/watch?v=hlX4w7BOqLI : démonstration du jeu (en anglais)
Mots-clés:
- Jeu de plateau, intelligence artificielle
Sujet L3AO - Outil d’analyse des réseaux sociaux
Nom de l'encadrant: Adrien Morin
Mail de l'encadrant :
Catégorie(s): startup, application web
Contexte :
Vetixy est une startup qui développe des outils pour les cabinets vétérinaires.
Objectifs / Travail à réaliser :
Ce site devra s’interconnecter avec nos comptes Instagram et Facebook afin de remonter des rapports (périodiques et comparables). L’outil devrait également être en mesure de fournir des informations en live tel que les nouveaux followers et les comptes nous ayant unfollow par exemple.
Langage(s) et technologie(s) :
- A déterminer
Remarque(s) :
- Ce projet peut aboutir à un stage
Sujet L3AP - Outil de feedbacks utilisateurs
Nom de l'encadrant: Adrien Morin
Mail de l'encadrant :
Catégorie(s): startup, application web
Contexte :
Vetixy est une startup qui développe des outils pour les cabinets vétérinaires.
Objectifs / Travail à réaliser :
Ce site est un réel outil pour l’analyse des retours utilisateurs. Celui-ci devra permettre entre-autres à nos clients :
- de nous informer des bugs rencontrer sur notre application
- de nous proposer des améliorations et/ou des idées de nouvelles fonctionnalités (et de voter sur celle déjà soumises)
Langage(s) et technologie(s) :
- A déterminer
Remarque(s) :
- Ce projet peut aboutir à un stage
Sujet L3AQ - Mes Sorties à Paris Descartes
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): smartphone, site web
Présentation du sujet
L'objectif de ce projet est de créer une application mobile native où les utilisateurs inscrits proposent des sorties aux autres utilisateurs.
Le but est de permettre aux étudiants de tisser des liens sociaux avec d'autres étudiants de l'université Paris Descartes avec possibilité de choisir également les activités par UFR ou par diplôme.
Cette plateforme permettra donc d'avoir un compte utilisateur à l'étudiant qui le souhaite et permettra de poster des invitations à des sorties auxquelles pourront s'inscrire d'autres utilisateurs du site.
Pour fonctionner correctement, il faudra également prévoir de réaliser un site web offrant une API REST.
Langages et technologies à utiliser
- Java/Android/XML ou React Native
- PHP/Symfony, API/REST
Contraintes
Posséder un smartphone (Android recommandé)
Sujet L3AR : Site de financement participatif
Encadrant :
Mail de l'encadrant :
Catégorie(s): site web
Objectif:
L'objectif de ce projet est de développer un site web permettant à un porteur de projet de présenter son projet à une communauté afin de lever des fonds pour sa réalisation.
Description:
Chaque projet peut ainsi proposer des informations, permettre à la communauté de faire des propositions d'amélioration, informer la communauté de l'avancement du projet.
La participation au financement de ce type de projet peut se faire avec ou sans contre-partie car il peut s'agir d'un projet humanitaire, d'un projet musical ou un projet logiciel.
Ainsi, les projets peuvent être ouverts et libres de droit ou uniquement accessibles à des personnes ayant été invitées.
Pour faciliter la diffusion des informations, il est évidemment nécessaire de connecter ces communautés aux réseaux sociaux.
Sur le site, l'échange d'informations avec la communauté pourra être soit synchrone via un chat soit asynchrone via un tableau noir (cf le wall de facebook); sur le site web et les réseaux sociaux.
Langages et technologies à utiliser
- Symfony2, ORM, PHP5 , HTML5, CSS3
Sujet L3AS: Stolen or Not ?
Encadrant : Khalil Gharbi
Mail de l'encadrant :
Categorie(s) : Site web
Contexte:
L'objectif de ce projet est de développer un site web qui permet de déterminer si un objet d'occasion a été volé ou non. Le processus se déroule en deux étapes:
- on référence les caractéristiques de l'objet volé afin de pour l'identifier avec certitude
- un acheteur potentiel peut vérifier sur le site si l'objet qu'on lui propose est référencé ou non.
Dans le cas où le site web serait terminé rapidement, on envisagera de rendre cette application multiplateforme : web, tablette, smartphone.
Objectif :
Réaliser une application web permettant à l'utilisateur :
- de saisir les caractéristiques d'un appareil
- de chercher si un appareil est déjà référencé
Langage(s) et technologie(s) :
- PHP, HTML5, CSS
- Framework : Symfony2 ou Phalcon
- API REST
Sujet L3AT: Minify
Encadrant :
Mail de l'encadrant :
Categorie(s) : Site web
Contexte:
La curation de contenu est une activité de veille qui consiste à collecter, structurer et à commenter des contenus perçus comme étant pertinents pour un thème donné. La curation est utilisée par des sites web, des bloggeurs ou des entreprises qui souhaitent diffuser ou partager une information de qualité en rendant certains contenus plus accessibles.
Les entreprises se servent d'outils de curation pour leur veille technologique ou veille concurrentielle, les bloggeurs pour déterminer les tendances, etc… La curation est une activité de veille qui consiste à collecter, structurer et à commenter des flux d'informations autour de certains thèmes afin de reformuler l'information et de dégager des tendances. Cette activité est largement utilisée par les entreprises pour déterminer les évolutions technologiques, économiques et culturelles, les influenceurs du net
Objectifs:
L'objectif de ce projet est de développer un site web permettant de :
- réaliser une curation de contenus,
- présenter la curation (en réalisant des miniatures)
- commenter les ressources sélectionner
- échanger avec les internautes autour des différentes curations
- archiver les ressources web.
Mots-clés:
- Curation, collecte d'information, scrapping, veille
Langage(s) et technologie(s) :
- PHP, HTML5, CSS
- Framework : Symfony2 ou Phalcon
- API REST
Sujet L3AU: Optim'Learn
Encadrant :
Mail de l'encadrant :
Categorie(s) : Smartphone
Contexte:
L'objectif de ce projet est de développer une application qui facilite l'apprentissage de n'importe quel sujet en utilisant les derniers résultats de la recherche en sciences cognitives sur les mécanismes de la mémoire. L'idée est de rappeler à intervalle de plus en plus espacé les notions à retenir afin de faciliter leur mémorisation.
Objectifs :
Réaliser une application smartphone permettant à l'utilisateur :
- de fixer des objectifs
- saisir les caractéristiques de ses séances d'apprentissage
- de lui rappeler ses exercices de mémorisation
L'interface devra être soignée car elle participe à l'acceptation de l'application
Langage(s) et technologie(s) :
- Java/Android
Sujet L3AV - Robot solveur de rubik's cube
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Robotique
Présentation du sujet
Le Rubik's cube est un casse tête géométrique inventé par Erno Rubik très populaire dans les années 80.
Il s'agit d'un cube dont les 6 faces sont composées de 9 carrés qui peuvent être mélangés. Le but du jeu est alors de rassembler tous les carrés de la même couleur sur la même face.
L'objectif de ce projet est de construire un robot qui permette la résolution d'un rubik's cube et d'implémenter plusieurs algorithmes de résolution
Langage(s) et technologie(s):
- Java ou C
Référence(s) :
Contrainte(s) :
Sujet L3AW : Comparateur de prix
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone, web
Contexte:
Dans notre vie quotidienne, la plupart des produits de la vie courante sont étiquetés à l'aide de code-barres. Un magasin détermine la correspondance entre la signalétique du code-barre et le prix du produit, le code-barre étant scanné quand nous passons en caisse.
Le projet proposé devra permettre de développer une application logicielle permettant à un utilisateur de smartphone de rentrer cette correspondance au sein de son téléphone et également lui proposer différents moyens de visualiser l'évolution des coûts d'un magasin à un autre et au sein du même magasin sur une période donnée.
Objectifs:
- Permettre la capture d'un code-barre par le smartphone
- Créer une base de données qui s'enrichit par la capture de ces code-barres
- Utiliser la géolocalisation déjà présente dans le smartphone pour permettre l'entrée par l'utulisateur du nom du magasin où se trouve ce code-barre
- Permettre la comparaison de prix d'un meme code-barre de façon graphique dans différents magasins mais également la visualisation de l'évolution du prix du produit correspondant au sein du même magasin.
Contraintes:
Posséder un smartphone dans le groupe (iOS ou android)
Remarques:
Le projet se basera sur des réalisations antérieures
Mots-clés:
- Smartphone, comparateur de prix, code barre, géolocalisation, base de données
Langages/technologies à utiliser
- Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL
Remarque
Sujet L3AX - PariSport
Encadrant : Khalil Gharbi
Mail de l'encadrant :
Catégorie(s): site web
Présentation du sujet
L'objectif de ce projet est de réaliser un site web qui permette de réaliser des paris sportifs.
Travail à réaliser :
Le site web devra permettre de :
- gérer un compte utilisateur
- gérer les paiements en ligne et le retrait des gains
- calculer les cotes sportives
- présenter les statistiques de gain d'un utilisateur et son historique
- afficher les résultats des rencontres sportives
- commenter les rencontres dans des forums spécialisés
- permettre aux utilisateurs d'échanger leurs conseils et leurs points de vue
- administrer le site
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3AY - Génération automatique de paysages en 3D
Nom de l'encadrant: Remi Tran
Mail de l'encadrant :
Catégorie(s): application
Présentation du sujet
Les paysages 3D générés automatiquement sont utilisés dans de nombreux jeux vidéos ou films d'animation.
L'objectif de ce projet est d'implémenter des algorithmes de génération de paysages et 3D et de permettre leur visualisation.
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3AZ - Wishlist
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): site web, smartphone, application
Présentation du sujet
L'objectif de ce projet est de développer un site web permettant à un utilisateur de référencer la liste des objets qu'il souhaite acheter ou se voir offrir (comme par exemple une liste de mariage).
Travail à effectuer
L'utilisateur doit pouvoir :
- conserver les liens vers les objets qui l'intéressent (à partir de ses navigations web ou à partir d'un moteur de recherche interne au site)
- les gérer (supprimer, mettre une priorité)
- autoriser des personnes à accéder à cette liste
Dans un second temps, on envisagera une version mobile de ce service.
Enfin, si le temps le permet, le site devra proposer des recommandations à l'utilisateur en fonction de l'analyse de son profil.
Langage(s) et technologie(s) :
- Application : Python
- Web : HTML5/CSS, PHP, Symfony 2, PostgreSQL
- Smartphone: Java/XML (android) ou Obective C/C++(iOS) ou React Native
Contrainte(s) :
Sujet L3BA - Serious Game dans le domaine de l'activité physique
Nom de l'encadrant: Rahma Dandan
Mail de l'encadrant :
Catégorie(s): site web, smartphone, application
Contexte du projet
Ce projet s'inscrit dans le contexte d’une thèse en informatique en cours qui a pour objectif de mettre en place un système automatisé de production de suggestions d'activité prenant en compte les pratiques et les préférences d'activités de la personne âgée. Dans le cadre de ce projet, nous nous interrogeons sur les questions suivantes :
- Comment utiliser un langage iconique afin d'acquérir des connaissances auprès de la personne âgée ?
- Comment exploiter des traces d'interaction entre un support connecté et une personne âgée ?
- Comment rendre l'interaction la plus attractive pour impliquer la personne âgée ?
Objectifs du projet
Ce projet vise à modéliser et à développer un serious game multiplateformes.
Un soin important devra être apporté au paramétrage des prototypes livrés permettant de répondre à nos besoins de recherches.
L'objectif sera de :
- Scénariser et rédiger la narration d'un serious game dans le contexte d'une pédagogie interactive afin d’aider la personne âgée à définir ses pratiques et ses préférences en terme d'activités physiques
- Modéliser les scénarios et l’interface du serious game
- Mise en œuvre des services pour développer un serious game afin
- d'interroger la personne âgée sur ses pratiques et ses préférences en terme d'activités physiques ;
- de faire participer la personne âgée dans le choix d'activités physiques ;
- de sensibiliser la personne âgée aux problèmes liés à la sédentarité
Langage(s) et technologie(s) :
- C#, C++, JavaScript, Unity, …
Mot(s)-clé(s) :
- Serious Games, Game Design, Level Design
Contrainte(s) :
- Intérêt pour les jeux vidéo, le Game Design et le Level Design ;
- Intérêt pour la conception et la scénarisation d'un média interactif pour transmettre une information ou un message ;
- Intérêt pour la conception et le développement d’applications ;
- Des notions en développement sur plateforme mobile (Android) seraient appréciées.
Remarque:
La réussite de ce projet peut mener à un stage.
Sujet L3BB - Services Web IoT
Nom de l'encadrant: Rahma Dandan
Mail de l'encadrant :
Catégorie(s): site web, smartphone, application
Contexte du projet
Ce projet s'inscrit dans le contexte d’une thèse en informatique en cours qui a pour objectif de mettre en place un système automatisé de production de suggestions d'activité prenant en compte les pratiques et les préférences d'activités de la personne âgée. Dans le cadre de ce projet, nous nous interrogeons sur les questions suivantes :
- Comment gérer l'intégration, l’interconnexion et l'interopérabilité des systèmes IoT ?
- Comment gérer les ressources IoT nécessaires à la construction d'une suggestion ?
- Comment obtenir une description commune des données de capteurs pour être en mesure d'établir un raisonnement ?
Objectifs du projet
Ce projet professionnel vise à créer un service Web pour :
- recueillir des données à partir d'un objet connecté (montre connectée, pèse-personne connecté, etc.)
- afficher les données recueillies via la tablette
- gérer des flux de données entre les objets connectés et la tablette, la tablette et le serveur puis le serveur et la tablette
- faciliter la gestion des capteurs et des protocoles de communication
- sécuriser les données lors de leurs transitions ainsi que les données stockées
Langage(s) et technologie(s) :
- PHP/HTML/CSS/JS, Java, C++
Mot(s)-clé(s) :
- Service Web, Internet of Things, Objets connectés
Contrainte(s) :
- Savoir concevoir des IHM ;
- Compétences en conception et développement d’applications Web client et serveur ;
- Mise en place et gestion de service Web ;
- Connaissances dans les bonnes pratiques et recommandations du W3C.
Remarque:
La réussite de ce projet peut mener à un stage.
Sujet L3BC - Développement d’un site web CRM pour TPE
Nom de l'encadrant: Frank Sauvage
Mail de l'encadrant :
Catégorie(s): Startup, Application web, Application de gestion
Contexte cible :
L’explosion du nombre de travailleurs indépendant nécessite une transformation profonde des outils numériques destinés aux entreprises.
En particulier, Les CRM (Customer Relationship Management) que forment les outils de suivi, de facturation, et de communication avec les entreprises ne sont généralement pas taillés pour les TPE/EI.
Objectifs :
Ce projet se focalisera sur la création d’un mini site internet pour les travailleurs indépendants intégrant un mini CRM. A la fois vitrine et outil de gestion, le site permettra de gérer les planning d’intervention, la facturation et le suivi client.
Contexte technique :
Au-delà de l’aspect fonctionnel, le projet consiste aussi à permettre aux étudiants de découvrir les technologies à la pointe dans les milieux professionnels. Le site sera constitué de deux parties dont les technologies sont imposées :
- Serveur (back-end) en Java et en particulier SpringBoot/hibernate.
- Client Web (Front end) en React-JS / Bootstrap.
Mots-clés :
- Startup, Business, React-JS, Java, SpringBoot, hibernate
Référence(s) :
Stages :
Ce projet est effectué en collaboration avec une nouvelle entreprise innovante. Au moins 2 postes de stage de 3 mois sont ouverts pour travailler sur ce sujet durant l’été 2019.
Une réussite dans ce projet est une clé pour obtenir ces stages.
Sujet L3BD: Entr'aide 2.0
Encadrant :
Mail de l'encadrant :
Categorie(s) : Site web, startup
Contexte:
L'objectif de ce projet est de développer une application permettant la création et l'animation de communautés d'entraide basées sur l'échange de compétences. Cette application doit être facile d'accès et multiplateforme : web, tablette, smartphone.
Objectif :
Réaliser une application permettant à l'utilisateur :
- de saisir ses compétences
- de chercher un échange de compétences
Langage(s) et technologie(s) :
- PHP, HTML5, CSS
- Framework : Symfony2 ou Phalcon
Sujet L3BE:
Encadrant : Ramy Temim
Mail de l'encadrant :
Categorie(s) :
Contexte:
L
Objectif :
Langage(s) et technologie(s) :