Les applications multi-participantes utilisent souvent la technologie des WebSockets mais aussi d'autres techniques emergentes comme les server send events qui permettent de faire du push, ou le peer-to-peer entre navigateur. Il est ainsi possible de faire des appels audio et vidéo directement de navigateur à navigateur (mais souvent un serveur maintient la liste des IPs des personnes connectées pour faciliter la mise en contact)
Ce projet vise à proposer un service d'hebergement d'applications de ce type + un service tout simplement de mise en relation + un service de broadcast d'evenements comme le propose par exemple http://www.appelsiini.net/demo/websocket/html5.html pour tester cette application qui fait tourner un logo en 3D quand on oriente son iphone, il faut qu'un serveur récupère les evenements d'orientation et les envoie à du code javascript qui est dans la page web qui contient le logo. Pour ce faire un service gratuit http://appelsiini.net/demo/websocket/iphone.html permet de faire ce broadcast facilement. Il suffit d'entrer un code à 4 chiffres sur la page en question depuis son iphone, et l'appli associe le code à la page du logo (une autre appli). Ainsi ensuite quand on bouge l'iphone, les evenements sont relayés par l'appli dans laquelle on a entré le code, vers la page qui contient le logo et qui tourne sur un pc.
Technologies : serveur web NodeJS, JavaScript, HTML, CSS, eventuellement un serveur traditionnel pour des applis web en java ou en php.
Encadrant : Michel Buffa
Descriptif : Le W3C (World Wide Web Consortium, localisé entre autres à Sophia-Antipolis), est l'organisme en charge des standards du web (html, xml, http, etc). Il héberge une plateforme de cours en ligne (http://www.w3techcourses.com/) comme des cours sur le développement d'applications web mobiles, le développement de jeux en HTML5, HTML5 au sens large, SVG, etc. Ces cours donnent des certifications, et les enseignements sont entièrement faits en ligne à l'aide d'un CMS spécialisé pour le e-learning: moodle. Seul soucis, ici les cours sont de l'informatique et dans chaque cours il y a nécessité de proposer des exemples et des bouts de code (html, javascript, xml, voire java ou php). Les besoins sont donc de deux sortes :
1) Permettre d'insérer dans du texte via l'éditeur WYSIWYG de Moodle des lignes de code source, qui une fois le document sauvegardé seront bien indentées et colorisées. Il existe de nombreux outils JavaScript pour cela comme SyntaxHighlighter de Alex Gorbadchev, ou http://code.google.com/p/google-code-prettify/ etc. Il faudrait étudier les solutions existantes pour intégrer un tel outil dans Moodle. Il existe plusieurs plugins permettant plus ou moins de le faire mais il faudrait les tester, les évaluer, en prendre un qui marche bien ou en développer un.
2) Il faudrait aussi un site permettant d'héberger les exemples "web" utilisant JavaScript/HTML/CSS, similaire à jsbin.com, jsfiddle.net etc. mais qui puisse être hébergé sur nos serveurs. Ces deux exemples ne sont pas open source, et peuvent fermer ou devenir payants du jour au lendemain. C'est ennuyeux car de très nombreux exemples des cours actuels sont sur ces sites (voir par exemple : http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/HTML5_Tutorial/HTML5_discovery_tutorial) Un travail d'un groupe d'étudiants de l'an dernier a déjà réalisé un projet assez similaire avec un site web permettant d'héberger des transparents HTML5. On pourra s'en inspirer.
Technologies : JavaScript / CSS / HTML / GIT / serveur nodeJS et sans doute un peu de back end en php ou en java. Mais pas grand chose.
Projet 7. ERP de gestion interne en SaaS
Encadrant : Michel Winter
- BOUREL Julien ;
- CADORET Alexis ;
- MERCIER Nicolas ;
- ODA Florian ;
- PIETRI Nicolas.
Descriptif : Dans le cadre de son activité, Junior MIAGE Concept souhaite se doter d’un environnement web de gestion de type ERP. Celui-ci devra permettre, entre autres, de traiter la partie gestion d’études et de projets (réalisation de diagrammes GANTT, suivi de l’avancée du projet, etc.), ainsi que la gestion des intervenants. Cette application doit permettre aussi la gestion du développement commercial de la structure (gestion de la prospection, des supports, etc.). D’autres éléments seront présentés par la suite à l’équipe en charge du projet (gestion des statistiques, édition de documents, etc.).
Le projet devra débuter par un recueil des besoins Le langage de développement souhaité est PHP, afin de pouvoir se servir de l’application via un navigateur web. De nombreuses contraintes inhérentes à la condition de Junior MIAGE Concept devront être prises en compte.
Technologies : PHP / CSS / JavaScript / HTML(5) / JQuery
Projet 8. Agenda culturel
Encadrant : Jean-Marc Fedou
Vincent MALLET (Chef de projet)
Kévin BOGO
Rémi FAFIN
Fabien MENCARELLI
Chloé CALDERONE
Descriptif : Il s'agit de réaliser un agenda culturel personnel (cinéma, théatre, danse, musique, livres ...). Pour chaque évênement, on pourra lier des pages web, un agenda personnel, envoyer une alerte mail ... On pourra aussi écrire un ou des commentaires, et relayer l'information sur des réseaux sociaux. Il s'agit de créer produit similaire à Evernote.
Projet 9. Bloc note musical
Encadrant : Jean-Marc Fedou
- Jérémy ANDRYSZAK
- Benjamin AURIC
- Estelle GHIONDA
- Roselyne FAVARIO
Descriptif : Il s'agit de réaliser un blocnote pour musicien. On veut pouvoir écrire du texte mais aussi insérer des lignes de musique, des tablatures de guitare, des accords, des grilles d'accord. Il ne s'agit pas de développer tous ces outils, mais de rechercher les briques disponibles dans le logiciel libre et les intégrer.
Projet 10. Projet "APP-ART" <Flyer REVES>
Encadrants : Serge Miranda, Gabriel Mopolo et Greg Galli ( Start Up Tokidev)
Gilles Miraillet,
Jérémy Sabardeil,
Florian Raybaud
Sébastien Cano
Descriptif : Developpement application sur Smartphone NFC (Android ou W8?) d’une application avec 3 partenaires de déploiement , 2 Artistes (Marina Latta et Dominique de Seguin) et la Ville de Grasse (Musée/Bibliotheque Patrimoniale))
Ce projets utilisera les nouveaux smartphones NFC (Android et Windows8*) et les technologies des tags Visibles (NFC, QR Code) et Invisibles (SnapnSee de Tokidev). Le Premier projet concerne la Culture (avec 2 artistes et un Musée à Grasse), le 2ieme projet concerne le Commerce du Futur (avec Rica Lewis et la Ville de Nice). Des démonstartions sont prévues à l issue du projet aux partenaires institutionnels et industriels. Ces 2 projets (qui font l 'objet d'une demande de PACALAB) PEUVENT avoir une extension en stage d été et en contrat d'apprentissage MBDS en 2013-2014
•Tags NFC, QR et Tags Invisibles (Snap’Nsee)
Projet 11. Le Logo Jeans devient un tag invisible
Encadrants : Serge Miranda, Gabriel Mopolo et Greg Galli ( Start Up Tokidev)
- Emilie Sicilia (Chef de projet)
- Elhadj Bah
- Hary Ratsimba
- Sandrine Randrianandrasana
Descriptif : •Interface système de Couponing Adelya (Carte Magique de Nice) et Airtag et Système Interface One Tag Paiement d'Hexalife
Ce projets utilisera les nouveaux smartphones NFC (Android et Windows8*) et les technologies des tags Visibles (NFC, QR Code) et Invisibles (SnapnSee de Tokidev). Le Premier projet concerne la Culture (avec 2 artistes et un Musée à Grasse), le 2ieme projet concerne le Commerce du Futur (avec Rica Lewis et la Ville de Nice). Des démonstartions sont prévues à l issue du projet aux partenaires institutionnels et industriels. Ces 2 projets (qui font l 'objet d'une demande de PACALAB) PEUVENT avoir une extension en stage d été et en contrat d'apprentissage MBDS en 2013-2014
•Application de Realité augmentée en 3D autour de SnapnSee
Projet 12. Conception de matériels basés sur un ordonnancement statique
Encadrants : Jean-Vivien Millo
Descriptif : Le problème des latences de communications dans les systèmes sur puce oblige les concepteurs à encapsuler leurs modules de calcul dans une coquille qui permet de s’assurer dynamiquement que les données en entrées des modules sont bien présentes afin d’autoriser les calculs à s’effectuer. Cette couche d’ordonnancement dynamique rajoute énormément de fils d’interconnections et de registres de stockage des données. De plus cette solution peut réduire les performances globales du matériel.
Afin de répondre à ce problème, nous avons proposé un algorithme d’ordonnancement statique des modules de calcul qui garantit des performances optimales et une utilisation minimale des registres de stockage des données. C’est-à-dire que l’algorithme calcule exactement quand chaque module doit s’exécuter afin de produire son résultat au plus tôt. Cette algorithme a été implanté dans un outil appelé K-Passa.
A partir de la description du système donné au format SIGASI, il est demandé aux étudiants de réaliser une méthode pour :
- Extraire la topologie du système en utilisant les méthodes d'ingénieries des modèles.
- De traduire cette topologie au format d'entrée de K-Passa.
- D'obtenir de K-Passa l'ordonnancement de chacun des nœuds du système.
- De générer automatiquement le module de contrôle qui va diriger l’exécution de tous les autres.
- Et enfin d'intégrer automatiquement ce module de contrôle au code VHDL initiale dans SIGALI.
La méthode devra être validée en produisant un exemple jusqu’à la simulation sur FPGA. La méthode devra être intégrée dans un outil logiciel réalisé en JAVA
Projet 13. Planification et système complexe
Encadrant : Michel Winter
Descriptif : L'objectif de ce projet est d'aborder la planification de tâches comme le résultat d'un système complexe (de type multi-agents) : chacune des activités ou des tâches à planifier se déplace de manière autonome et les contraintes de planification sont formalisées comme des forces agissant sur les agents. Le résultat de l'évolution du système complexe permettra une meilleure visualisation de graphe initial (un graphe de type PERT) voire une optimisation de l'ordonnancement des activités.
Les étudiants s'appuieront sur un environnement tel que Processing (http://processing.org/) ou NetLogo (http://ccl.northwestern.edu/netlogo/index.shtml) permettant de grandement faciliter les problématiques d'affichage et de synchronisation.
Projet 14. Création d'une plateforme web d'entrainement aux tests psychotechniques
Encadrant : Michel Winter
- Charlotte Briqué (Chef de projet )
- Louis Prouillet
- Antoine Treil de Pardailhan
-Cécile Martin
Descriptif : L'objectif de cette plateforme Web est de proposer aux internautes inscrits de passer des tests psychotechniques générés automatiquement et de suivre dans le temps l'évolution de leur niveau suivant plusieurs composantes de l'intelligence computationnelle. Les algorithmes de génération seront fournies mais le reste de l'application est à spécifier, puis à réaliser. Le langage préconisé est PHP.
Projet 15. Langage web de ligne de produits
Encadrant : Philippe Collet
Descriptif : L'industrie développe de plus en plus de "lignes de produits". Dans le domaine de l'automobile, de l'électronique, de la téléphonie mobile, cela permet aux entreprises de réduire leur coût et d'augmenter la qualité du logiciel. Actuellement, les "feature models" sont le standard de facto pour le développement de lignes de produits et plusieurs outils (industriels et académiques) sont développés et utilisés. L'équipe Modalis de l'I3S développe FAMILIAR, un langage textuel pour la manipulation à grande échelle des feature models. FAMILIAR est actuellement déployé comme un plugin Eclipse développé en collaboration avec l'Université de Rennes 1, l'Université de Namur en Belgique et la Colorado State University aux Etats-Unis.
Une version web est actuellement nécessaire pour faciliter l'utilisation de FAMILIAR. Cela comprend un éditeur de texte, des possibilités d'import et d'export de script et un éditeur graphique (pour commencer, réutiliser celui de SPLOT est envisageable). Afin de valider le développement incrémental de cet environnement, un second objectif du projet consiste à développer une application web qui réutilise ce nouvel environnement. Les exemples sont nombreux parmi les études de cas sur lesquelles travaille l'équipe Modalis (configurateur pour la diffusion d'informations par exemple).
Environnement : Eclipse, langage Java (>= 1.5), JSP, AJAX
Références :
http://en.wikipedia.org/wiki/Feature_model
https://nyx.unice.fr/projects/familiar/
http://www.splot-research.org/
Projet 16. Réalisation d'un portail de contribution d'un écosystème logiciel
Encadrant : Simon Urli, Mireille Blay-Fornarino, Philippe Collet
BOUALI Manel
HAIDOU Mouna
NASSRI Feras
RAHMANI Aymen
ABDERAMANE Boutheina
Descriptif : L'objectif de ce projet est de réaliser un portail web permettant de contribuer à l'évolution de l'écosystème d'une application sur le modèle des "store" Google Play ou Apple Store.
Ce projet se place dans le contexte du projet YourCast visant à la création de systèmes de diffusions d'information. Un des objectifs de YourCast est de permettre à des contributeurs de réaliser des composants open-source permettant d'enrichir les modalités de diffusion de l'information.
Dans le cadre de ce projet vous devrez créer un portail web (backend et frontend) permettant :
- de gérer un dépôt contenant les composants logiciels,
- de gérer les contributions en relation avec le dépôt,
- de gérer les versions des contributions,
- de gérer un espace utilisateur,
- de gérer la modération des contributions.
Le projet YourCast étant un projet de recherche manipulant des lignes de produits logiciel, ce projet de développement nécessitera une approche itérative et incrémentale, idéalement dirigée par les tests (Test-Driven Development).
Les technologies employées pourront être Java ou PHP, le frontend utilisera HTML5 / JavaScript et/ou tout framework que vous jugerez utile. Une partie du travail consistera cependant à connecter le backend à des outils externes, ou a minima à créer l'API de connexion.
Projet 17. Réalisation de tests et d'un portail de démonstration de composants JavaScript
Encadrant : Simon Urli, Mireille Blay-Fornarino, Philippe Collet
- Naresh Ayinadou Harold,
- Kaimoussi Abdelrrazzek
- Bouhlel Ceif-Edine (Chef de projet).
Descriptif : Ce projet se situe dans le contexte du projet YourCast qui vise à la création de systèmes de diffusions d'informations en utilisant des technologies web et des supports de diffusion économiques (PC embarqué, TV standard et navigateur web). L'objectif de ce projet est de permettre le test et la démonstration des composants javascript qui sont utilisés pour effectuer la diffusion des informations sur le navigateur client (tournant sur un PC de petite taille diffusant sur une TV).
Il s'agit tout d'abord de réaliser une solution de test pour des composants javascript d'affichage ou d'animation d'informations, et les tests associés aux composants existants. Le deuxième travail consiste à réaliser le portail permettant à un utilisateur de visualiser immédiatement l'action d'un composant. Il est en effet pertinent de pouvoir, en plus de tester, visualiser un composant sur des données statiques. Une partie des tests pourraient aussi avoir lieu au sein du portail de visualisation.
Dans ce projet vous devrez :
1. Créer ou réutiliser les travaux déjà réalisés afin de tester des composants javascript (preuve de concept utilisant le framework JsTestDriver)
2. Réaliser des tests sur les composants javascript déjà existants dans le prototype Yourcast
3. Créer un portail de démonstration des composants .
La réalisation du portail et des tests pourra se faire en parallèle. La solution de tests devra être suffisamment évolutive pour prendre en compte l'ajout de nouveaux composants javascript, les tests pouvant soit être considérés comme données, soit une partie des tests pouvant être automatiquement générée. Le portail devra également être dynamique pour l'ajout de nouveaux composants. Une partie des tests pourrait également se faire à travers le portail si cela est approprié.
Vous utiliserez au sein de ce projet toute technologie qui vous semble utile, bien qu'il est important de noter que des travaux ont déjà été réalisés en javascript utilisant notamment le framework JsTestDriver.
Projet 18. Diffusion d'information en événementiel: journal et vidéo
Encadrant : Philippe Collet, Philippe Salvan (Supralog), Simon Urli
Descriptif : L'objectif général du projet consiste à ajouter plusieurs fonctionnalités dans un système de diffusion d'informations tel que celui utilisé à Polytech. Ce système, dont la nouvelle version est nommée Yourcast, est développé dans le cadre d'un projet de l'agence nationale de la recherche. Il va être déployée en vraie grandeur à Vaison-la-romaine lors de deux événements dans le courant de l'été 2013 (le passage du tour de France, le rassemblement nationale de chorales "les chorales"). Le prototype Yourcast s'appuie sur des technologies web (HTML5/Javascript) et du déploiement léger et économique (PC Raspberry Pi connecté à des écrans TV classiques).
Les fonctionnalités à intégrer sont:
- la diffusion contrôlée et automatisée de vidéos sous forme de fonction javascript compatible Firefox/Chrome et de service de flux vidéo à développer. La fonction doit être capable de lire des informations pour récupérer des vidéos, tenir compte d'une interruption possible, etc. Un service web doit aussi être développé pour récupérer des flux vidéo en prenant en compte différents sites (youtube, vimeo, dailymotion). Ce service pourra être couplée à un service d'hébergement de vidéos.
- La diffusion contrôlée sur les écrans d'informations provenant du journal de l'événement, lui-même déployé sur un site Drupal. Un plugin Drupal doit être développé pour permettre le découpage d'articles d'un site pour qu'ils puissent être envoyés progressivement. Les textes et les images doivent être pris en compte à termes. Le plugin doit fournir les blocs d'information découpés à travers un service web (technologies similaires au service web pour la vidéo).
L'ensemble des fonctionnalités doit être développé de manière incrémentale selon une méthodologie de Test-Driven Development.
Technologies :
- JavaScript (Framework Prototype)
- HTML5
- Java
- REST
- Drupal
- PHP
- Raspberry Pi