{{ :cours:plim:google-glass-98440_640.png?150|}} {{ :cours:plim:smartwatch.jpg?110|}} ====== Environnements Logiciels pour l'Informatique Mobile ====== ==(4 ECTS)== || {{ :cours:plim:mobile-app-design.jpg?200|}} * De ** Septembre 2016 à Février 2017 ** * Encadreurs et Intervenants : * **Jean-Yves Tigli** : Maître de Conférence UNS-Polytech, chercheur dans le domaine de l'Intelligence Ambiante dans le laboratoire I3S-CNRS (**responsable de l'enseignement**), tigli@unice.fr * **Christel Dartigues** : Maître de Conférence IUT de Nice Sophia Antipolis, chercheuse dans le domaine de la fouille de données dans le laboratoire I3S-CNRS * **Gregory Maro** : Ingénieur Sopra Steria, expert développement sur Mobile * **Nicolas Ferry** : Chercheur du SINTEF (Norvège), expert en ingénierie logicielle ==== Outils de développement pour le module ==== === Préparation des séances par les étudiants === Chaque séance nécessite que votre PC soit opérationnel pour les travaux pratiques. En conséquence tous les outils nécessaires pour chaque séance (Cf. les paragraphes sur chacune des séances)soient bien préinstallés. Toutes les indications pour ces installations vous sont normalement donnés. Si certaines difficultés venaient à survenir, prenez contact avec vos encadreurs plusieurs jours avant la séance concernée, par email avec pour sujet : "[PLIM INSTALL PB]". === Matériel de TP === Pour les binômes d'étudiants ne disposant pas de smart phone, l'Ecole dispose de : * 7 HTC S8 * 2 Nokia Lumia 900 Ces deux types de téléphone fontionne sous Windows Phone 8. La première manipulation sera donc de les upgrader si possible en version Windows 10 pour obtenir un environnement notamment utilisable avec Xamarin. Les développements se feront alors avec Visual Studio 2015. === Environnements de Développement === == Installation de Visual Studio 2015 == * utiliser votre compte Dream Spark [[https://e5.onthehub.com/WebStore/Security/Signin.aspx?ws=dc5487f7-669b-e011-969d-0030487d8897&vsro=8&action=signout| Page d'accueil Dream Spark]] * Télécharger Visual Studio Community 2015 (si le téléchargement s'avère trop long nous ferons, utilisez les connections ethernet dans la salle Ubiquarium ou une clef USB sur le PC de l'enseignant) * Vous pouvez aussi le charger sur [[https://www.visualstudio.com/fr-fr/downloads/download-visual-studio-vs.aspx| site de Téléchargements Visual Studio]] == Visual Studio 2015 : le développement cross-plateformes == Visual Studio 2015 permet maintenant de développer en C# pour des cibles microsoft mais aussi IoS et Android grâce à la plateforme de cross-développement Xamarin. [[http://developer.xamarin.com/guides/cross-platform/getting_started/visual_studio_with_xamarin/|Visual studio 2015 with Xamarin]] == Android Studio == Pöur le développement logiciel sur des cibles Android nous pourrons utiliser Android Studio [[https://android-studio.fr.uptodown.com/windows|Site de téléchargement et installation]]. == Xcode pour cibles iOS == Xcode propose aux développeurs l'environnement de développement intégré de référence pour la création d'applications pour Mac, iPhone et iPad. Le logiciel dispose d'une interface qui unifie design, programmation, tests et débogage le tout dans une simple fenêtre. Xcode analyse les détails des projets afin d'y repérer de erreurs de syntaxe et de logique et vous aider à corriger le code en fonction. Enfin, Xcode intègre d’autres outils tels que Instruments, iOS Simulator, les SDK iOS et Mac OS X, etc. ===== Calendrier 2016 - 2017 du module ===== [[cours:plim:calendrier_elim_16_17|CALENDRIER du module ELIM 2016 2017]] ===== APP & Projet ===== Dans le cadre d'une approche apprentissage par projet (APP) le module sera jalonné par le développement d'un projet en binôme . Pour cela il vous faudra identifier une cible, en choix d'environnement de développement justifié , un certain nombre de capteurs et/ou de sondes sur votre cible, accessibles au travers un SDK disponible dans l'environnement que vous aurez choisi. ==== Guidelines du projet : ==== //Le projet a pour objectif de réutiliser l'ensemble des notions qui sont introduites durant le module. Etant donné les autres modules d'enseignement sur les IHMs, nous nous concentrerons sur les aspects architecturaux, gestion de l'énergie et des communications, collecte de données capteurs etc. Il ne sera pas interdit de prévoir une GUI sur le téléphone mais cela ne doit représenter qui petite partie du travail. // == Le projet type doit ainsi : == * **Collecter des données capteurs** (ex. température, GPS, accéléromètre, niveau de batterie ...) ou issue de sondes systèmes (liste des SSID Bluetooth disponible, liste des appels téléphoniques, liste des taux d'utilisation des applications, etc.). Les difficultés sont alors : * la fréquence de récupération des données (ex. périodique de durée à fixer, sporadique sous conditions) * la minimisation de la consommation énergétique malgré une collecte permanente de données (ex. réveil de l'application voire du Smart Phone, ...) * **Stockage des données dans une base de données locale**, à minima un cache pour anticiper sur des communications intermittentes et asynchrones * **Client Web pour une transmission des données** par paquets vers un serveur Web de stockage à distance (ex. Base de données) * **Application sur le serveur pour l'exportation des données** collectées au format csv et autres ... * **Application sur le serveur pour le traitement des données** (ex. algorithmes de classification par apprentissage comme le K-means) et l'exportation des résultats format csv et autres ... * **Application Cliente** (ici ça peut-être une Web App ou Application Hybride) **pour le renvoi de résultats sur le Smart Phone** au travers une interface graphique simple mais "responsive" ==== Groupes de Projet ==== ^Groupe^Nom^email^Titre du Projet^Lien vers la page du projet| ^Template^ ^ ^ ^[[:cours:plim:projet16_17:template|page Template]] | ^GR1^ ^ ^ ^[[cours:plim:projet16_17:gr1:gr1|page du projet du groupe GR1 ]] | ^GR2^ ^ ^ ^[[cours:plim:projet16_17:gr2:gr2|page du projet du groupe GR2 ]] | ^GR3^ ^ ^ ^[[cours:plim:projet16_17:gr3:gr3|page du projet du groupe GR3 ]] | ^GR4^ ^ ^ ^[[cours:plim:projet16_17:gr4:gr4|page du projet du groupe GR4 ]] | ^GR5^ ^ ^ ^[[cours:plim:projet16_17:gr5:gr5|page du projet du groupe GR5 ]] | ^GR6^ ^ ^ ^[[cours:plim:projet16_17:gr6:gr6|page du projet du groupe GR6 ]] | ^GR7^ ^ ^ ^[[cours:plim:projet16_17:gr7:gr7|page du projet du groupe GR7 ]] | ^GR8^ ^ ^ ^[[cours:plim:projet16_17:gr8:gr8|page du projet du groupe GR8 ]] | ^GR9^ ^ ^ ^[[cours:plim:projet16_17:gr9:gr9|page du projet du groupe GR9 ]] | ^GR10^ ^ ^ ^[[cours:plim:projet16_17:gr10:gr10|page du projet du groupe GR10 ]] | ^GR11^ ^ ^ ^[[cours:plim:projet16_17:gr11:gr11|page du projet du groupe GR11 ]] | ^GR12^ ^ ^ ^[[cours:plim:projet16_17:gr12:gr12|page du projet du groupe GR12 ]] | ^GR13^ ^ ^ ^[[cours:plim:projet16_17:gr13:gr13|page du projet du groupe GR13 ]] | ^GR14^ ^ ^ ^[[cours:plim:projet16_17:gr14:gr14|page du projet du groupe GR14 ]] | ^GR15^ ^ ^ ^[[cours:plim:projet16_17:gr15:gr15|page du projet du groupe GR15 ]] | ^GR16^ ^ ^ ^[[cours:plim:projet16_17:gr16:gr16|page du projet du groupe GR16 ]] | ^GR17^ ^ ^ ^[[cours:plim:projet16_17:gr17:gr17|page du projet du groupe GR17 ]] | ^GR18^ ^ ^ ^[[cours:plim:projet16_17:gr18:gr18|page du projet du groupe GR18 ]] | ^GR19^ ^ ^ ^[[cours:plim:projet16_17:gr19:g19|page du projet du groupe GR19 ]] | \\ ===== Programme et Support du Module ===== * Introduction sur le développement d'applications mobiles : {{:cours:plim:plim_cours_introduction_2h_2016_2017.pdf|support}} ==== Séance 1 ==== * Titre : Plateformes Mobiles, Wearable Computers et Spécificités du développement pour terminaux Mobiles * Supports : {{:cours:plim:plim_cours_introduction_2h_2015_2016.pdf|support}} * Durée : 3h * Intervenant: Jean-Yves Tigli * Outils Logiciels : * Résumé * Le développement logiciel pour Mobile repose avant tout sur le concept de marché. * Vos applications doivent cibler un nombre plus ou moins important de cibles comme Android, iOS et parfois même Windows Phone. Ce choix est à mettre en regard des efforts plus ou moins importants qui doivent être faits pour un développement multi-cibles. * Vos développement doivent réduire au maximum le "time to market" dans un contexte ou les applications sont parfois minimalistes, gratuites et vote obsolètes. * Le développement pour Mobile pose encore aujourd'hui de réels problèmes de choix de plateforme de développement. Si le développement sur terminaux fixes, connectés et alimentés en permanence permettent de converger vers des solutions bénéficiant de ressources génériques et illimitées au travers les connexion à distance, nombreuses sont les limitations sur terminaux mobiles. * La consommation énergétique : elle doit être limitée et donc peut justifié des développements natifs (code exécutable et IHM) moins confortables et portables pour optimiser la consommation à performance égale, * La gestion des connexions intermittentes : les connexions wireless sont souvent fournies par les opérateurs de téléphonie mobile (ex. 3G/4G). La continuité et/ou débit minimal n'étant pas garantie pour les applications sur terminaux mobiles, la gestion des connexions intermittentes rend complexe le développement d'applications mobiles (gestion d'un cache, fréquences des communications versus traitements locaux au terminal) * Des développements d'IHM plus ou moins spécifiques adaptées au "responsive design", à l'optimisation des performances et la gestion des contraintes ci-dessus. Les choix de plateforme de développement peuvent alors s'étendre des WebApp (aussi mise en oeuvre sur des terminaux fixes) jusqu'aux applications natives en passant par des approches dites hybrides. * Les terminaux mobiles sont des cibles logicielles très hétérogènes de par leurs OS, leurs frameworks liés à leurs spécificités matérielles. Alors que les constructeurs matériels cherchent toujours plus d'originalité pour rendre leurs produits attractifs, les constructeurs logicielles quant à eux essayent de factoriser au plus les développements. Cela conduit les concepteurs logiciels sur terminaux mobiles à gérer ce paradoxe depuis le développement très générique type HTML5, au développement très spécifique lié à chaque OS et niveau d'API, en passant par différentes solutions de cross développement. Tous ces choix dépendent des contraintes de l'application développée et des accès plus ou moins spécifiques aux fonctionnalités du smart phone. == Références == [[http://www.zdnet.fr/actualites/chiffres-cles-les-ventes-de-mobiles-et-de-smartphones-39789928.htm|Analyse du marché en 2016]] [[http://www.zdnet.fr/actualites/chiffres-cles-les-os-pour-smartphones-39790245.htm|Analyse du marché des OS pour Smart Phones]] [[http://www.arca-computing.fr/application-mobile-natif-ou-cross-plateforme-app-ou-web-app-thats-the-question/|Comparaison des types de développement sur Mobile]] [[http://www.lahautesociete.com/blog/developpement-mobile-cross-platform/|Développement pour Mobiles cross-plateform]] [[http://www.journaldugeek.com/2012/09/13/developpement-mobile-choisir-son-environnement-de-developpement/|Développement mobile : choisir son environnement de développement]] [[http://www.mobizel.com/2015/06/developpement-dune-application-mobile-native-generee-23/|Développement d’une application mobile native générée]] [[http://www.kanefx.com/2015/12/10/applications-mobiles-titanium-phonegap-xamarin-lequel-choisir-lequel-utiliser/| Applications mobiles – Titanium, PhoneGap, Xamarin : lequel choisir ? Lequel utiliser ?]] [[https://www.esup-portail.org/wiki/display/PROJESUPMOBILE/Frameworks+mobiles+cross-platform|Frameworks mobiles cross-platform]] ==== Séance 2 ==== * Titre : Patterns Logiciels associés au développement sur terminaux mobiles - Diffusion des applications mobiles et App Stores. Tout d'abord, nous nous intéresserons aux aspects architecture avec les patterns logiciels qui composent les applications mobiles. Ensuite, nous ferons un état des lieux sur les différents mode de diffusion des applications mobiles. * Supports : {{:cours:plim:diffusion_des_applications_mobiles.pdf|Diffusion des applications mobiles et App Stores}} & {{:cours:plim:patterns_logiciels_associes_au_developpement_sur_terminaux_mobiles.pdf|Patterns Logiciels associés au développement sur terminaux mobiles}} * Durée : 4h * Intervenant: Grégory MARRO ==== Séance 3 ==== * Titre : Introduction au Cross Développement pour terminaux mobiles, démonstration sur Xamarin * Résumé : * Type d'intervention : Cours et Démonstrations * Supports : {{:cours:plim:elim_cours_demo_4h_cross_plateformes_2016_2017.pdf|transparents du cours}} * Durée : 4h * Intervenant: J.-Y. Tigli * Quelques liens sur la plateforme Xamarin : * [[https://msdn.microsoft.com/fr-fr/library/mt488768.aspx|En savoir plus sur le développement pour appareils mobiles avec Xamarin]] * [[https://components.xamarin.com/|Site des Composants Xamarin]], pour télécharger composants, plugins, librairies pour toutes les plateformes IoS, Windows Phone, Android de toute sorte comme les Google glass (Glass Development Kit - GDK). * Autres références : [[http://pastel-pro.developpez.com/mobiles/frameworks/comparatif-applications-smartphones-open-source/|Exemple d'étude comparative sur les plateformes de cross développement]] == Préparer son environnement de travail pour Xamarin == * Dans visual studio * [[https://msdn.microsoft.com/fr-fr/library/mt613162.aspx|Configurer et installer Xamarin sous Visual Studio 2015 Community]] * [[https://msdn.microsoft.com/fr-fr/library/mt488769.aspx|Vérifier votre environnement de développement Xamarin]] ==== Préparation Séance 4 ==== ***VOS PCs doivent être configurés avant la Séance !** Vous devez pour cela vous référer au [[https://msdn.microsoft.com/fr-fr/library/mt613162.aspx |Guide d'installation et Configuration]]. * Pour travailler avec des applications Windows et Android, il vous faudra un ordinateur de développement Windows où Visual Studio 2015 et Xamarin 4 sont installés. * Pour travailler avec des applications iOS, il vous faudra un Mac avec OSX Yosemite (10.10.5) ou ultérieur et où Xcode et Xamarin sont installés. * N'oubliez pas de récupérer aussi une licence Xamarin sachant que xamarin est gratuit pour les étudiants [[https://www.xamarin.com/student|Site de téléchargement gratuit de Xamarin Studio pour étudiants]]. ==== Séance 4 ==== {{:cours:plim:logo_xamarin.jpg?70|}} * Titre : Cross Développement : Tutorial sur Xamarin * Supports : [[https://www.tigli.fr/doku.php?id=cours:plim:tutorial_xamarin |Tutorial sur Xamarin et le cross development]] * Durée : 4h * Intervenant: * Autres références : * Le site de [[https://developer.xamarin.com/| Xamarin ]] * La [[https://developer.xamarin.com/samples-all/ |documentation technique de Xamarin]] * Des [[https://developer.xamarin.com/samples-all/ | exemples de projets en Xamarin]] ==== Séance 5 ==== == Exam Séance 4 == La séance 5 démarrera par un test écrit sur le Cross Développement et Xamarin == Contenu Séance 5 == * Titre : Mini Projet : Collecte de données sur Mobile, Stockage et Traitement de données * Exemples de traitements de données collectées : Algorithmes et Démonstrations (en liaison avec le cours Data Mining) * Une première Architecture Logicielle de la solution * Supports : * Introduction sur la fouille de données * [[cours:plim:alglib:| Tutorial AlgLib]] * Durée : 4h * Rendu : Une fiche technique sera rendu par chaque groupe dans un délai de 5 jours spécifiant : * le nom des partenaires du projet * le sujet et le descriptif général du projet de collecte de données capteurs, * les caractéristiques techniques de la cible mobile du projet * l'OS et le framework utilisé pour le développement du projet (Les groupes sont libres de choisir leur OS/cible/framework préféré. Noton néanmoins que les tutoriaux suivant cette séance détaillent les différents éléments architecturaux sous android) * l'architecture logicielle de la solution * un planning de développement et de TEST associés au projet (le planning devra suivre une méthodologie qui ne néglige pas des phases d'expérimentation et de collecte de données réelles sur le terrain !) * Intervenant: * Outils Logiciels : * Autres références : == Rendu Séance 5 == A l'issu de cette séance vous devez : * vous grouper par 2 sur votre sujet de projet * Définir le sujet de projet : * Ecrire un scénario d'utilisation sur 10 lignes max * Définir la cible mobile que vous allez utiliser * Définir l'environnement logiciel que vous allez utiliser * Définir l'activité que vous allez reconnaitre et utiliser * Définir les capteurs que vous allez utiliser * Définir les algorithmes que vous allez mettre en œuvre * Vérifier la faisabilité de vos choix en énumérant les solutions technologiques et surtout logicielles qui seront mises en œuvre (ex. accès à l'information à partir des SDK disponibles etc.) * Les algorithmes sont alors de deux types : * Traitement du signal et de la mesure * Échantillonnage * Filtrage * Calcul de la mesure * Reconnaissance d'activité * supervisé ou non supervisé ? * quelle métrique ? TOUTES CES INFORMATIONS SERONT RASSEMBLEES DANS UNE FICHE QUI RESPECTERA CETTE STRUCTURE. LES FICHES SERONT ENSUITE ENVOYEES sous forme d'un fichier .docx attaché à un mail destiné à tigli@unice.fr, dont le sujet sera : [PROJET ELIM] [Login_1_du binôme] [Login_2_du binôme]. Tout non respect de ces règles sera pénalisé par des points en moins dans l'évaluation de ce travail. LA DATE LIMITE DE RENDU de CE TRAVAIL sera le 24 octobre minuit, l'essentiel du travail ayant été fait en séance. ==== Séance 6 ==== {{:cours:plim:logo_android.png?70|}} * Titre : Introduction Android * Présentation des environnements de développement * niveaux d'API et spécificités * Présentation de différentes cibles du marché telles que les Box Android TV (linback TV)avec leurs moniteurs, les lunettes Android, les montres android ... * Définition des Groupes de Projet Android et caractérisation de la cible utilisée pour le projet (Niveau d'API, version Android, caractéristiques de la cibles, capteurs utilisés) * Supports : {{:cours:plim:android_-_introduction.pdf|Android - introduction}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : Android Studio (a installer sur vos postes : [[https://developer.android.com/studio/install.html]]) * Autre références : * Contrôle de l'émulateur Android : [[https://developer.android.com/studio/run/emulator-commandline.html]] * Documentation des actions SMS : [[https://developer.android.com/reference/android/provider/Telephony.Sms.Intents.html]] ==== Séance 7 ==== {{:cours:plim:logo_android.png?70|}} * Titre : Tutorial sur Android et les différentes API Graphiques pour cibles hétérogènes telles que les Mobiles, les montres, les Android TV. * Supports : {{:cours:plim:android_-_api_graphique.pdf|Android - API Graphique}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : [[https://developer.android.com/studio/install.html|Android Studio]] ==== Séance 8 ==== {{:cours:plim:logo_android.png?70|}} * Titre : Tutorial : SDK et accès aux capteurs/actionneurs sur les cibles Android * Supports : {{:cours:plim:android_-_capteurs_actionneurs.pdf|Android - Capteurs et actionneurs}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : Android Studio ==== Séance 9 ==== {{:cours:plim:logo_android.png?70|}} * Titre : Tutorial : Accès Web Service (accès synchrone / asynchrone) sous Android * Supports : * Durée : 4h * Intervenant: * Outils Logiciels : * Autres références : ==== Séance 10 ==== {{:cours:plim:logo_android.png?70|}} * Titre : Autres Tutoriaux Android: * Base de données light sur Mobile * Gestion des connexions intermittentes, gestion de mise en cache et des synchronisations * Supports : {{:cours:plim:android_-_persistance_des_donnees.pdf|Cours - Persistance des données}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : Android Studio ==== Séance 11 ==== * Titre : Présentation du projet Android par les groupes de travail * Supports : Fournis par les étudiants : Vidéos, Démonstrations * Modalités : Auditions individuelles * Durée : 4h * Intervenants Auditeurs : J.-Y. Tigli, G. Marro, C. Dartigues * Autres références : ==== Séance 12 ==== {{:cours:plim:ios_logo.png?70|}} * Titre : Cours et Démonstrations : présentation environnement de dev Apple : Xcode / Objective C / Swift * Supports : {{:cours:plim:ios_-_fondations.pdf|}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : Xcode * Autres références : https://swiftlang.ng.bluemix.net/#/repl Pour ceux qui ont de l'avance, vous pouvez résoudre ces problèmes en utilisant Swift (issus du BattleCode Sopra Steria 2016): * Un nombre est dit de Armstrong (ou narcissique) un entier naturel qui est égal à la somme des cubes des chiffres qui le composent. Par exemple 153 (153 = 1^3 + 5^3 + 3^3) est un nombre de Armstrong. Combien de nombre de Armstrong sont compris entre 0 et 10.000 ? * Rechercher des nombres premiers entre 2 bornes fournies. Indiquer leur valeur et les dénombrer. Exemple pour la borne minimum valeur 5 et la borne maximum de valeur 12. Indiquer: "il y a 3 nombres premiers" "les valeurs sont 5, 7, 11" Donner les réponses pour les bornes : - 18 à 38 - 123 à 234 * On connaît plus Flavius Josèphe comme historien du premier siècle de notre ère que comme l'initiateur d'un problème de mathématiques. Il serait né à Jérusalem en 37 ou 38. Il alla à Rome défendre des juifs déportés par ordre du procurateur Félix. De retour en Judée, il prêcha d'abord la modération à ses coreligionnaires impatients de secouer le joug romain mais finit par participer aux révoltes et fut assiégé avec ses compatriotes dans la forteresse de Jotapata en 67. C'est là qu'apparut, dit-on, le problème qui porte son nom. La citadelle ayant été prise, il se retrouva bloqué dans une cave avec 40 autres compagnons ; les extrémistes du groupe persuadèrent l'ensemble de se tuer pour ne pas tomber aux mains des Romains. Ne partageant pas ce point de vue mais n'osant s'opposer au groupe, Josèphe proposa que l'on se mette en cercle et que chaque troisième personne soit tuée, la dernière devant se suicider. Josèphe pas très enthousiaste à l'idée de mourir, trouva rapidement la bonne place pour rester en vie. L'histoire dit qu'un complice l'y aida… Quelle était sa position ? NB : le premier soldat tué est le premier de la ronde. ==== Séance 13 ==== {{:cours:plim:ios_logo.png?70|}} * Titre : TP de programmation iOS : Prise en main de XCode, applications utilisant les Segues, Actions et Outlet * Supports : * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : XCode * Autres références : ==== Séance 14 ==== {{:cours:plim:ios_logo.png?70|}} * Titre : Tutorial 2 : programmation Swift, accès capteurs/actionneurs, création de listes * Supports : {{:cours:plim:ios_-_capteurs_listes.pdf|iOS - Capteurs & Listes}} * Durée : 4h * Intervenant: Grégory Marro * Outils Logiciels : XCode * Autres références : [[https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html|Liste des permissions (comprend également les permission MacOS)]] ==== Séance 15 ==== {{:cours:plim:ios_logo.png?70|}} :!: Evaluation :!: Cette séance fera l'objet d'une évaluation de type QCM à la fois sur Android et sur iOS. L'objectif de ces questions est de valider votre compréhension du développement d'une application sur ces plateformes, ainsi que vérifier que certains concepts ont bien été intégrés. * Titre : Introduction à SpriteKit et tutorial sous iOS * Supports : {{:cours:plim:ios_-_spritekit_et_conclusion.pdf|}} * Durée : 4h * Intervenant: * Outils Logiciels : * Autres références : - https://www.raywenderlich.com/145318/spritekit-swift-3-tutorial-beginners - https://www.raywenderlich.com/123393/how-to-create-a-breakout-game-with-sprite-kit-and-swift ==== Séance 16 ==== * Titre : Examen écrit sur le module * Durée : 2h * Intervenant : * Outils Logiciels : * Autres références : ---- ===== Autres Pointeurs ===== * [[cours:plim:Tutoriaux_plim_1415_collecte_info_capteurs|Collecte des Informations Capteurs sous Windows Phone]] * [[cours:plim:Tutoriaux_plim_1415_GUI|Interfaces Graphiques sous Windows Phone * [cours:plim:Librairies_et_tutoriaux__plim_1415_Machine_Learning_sous_Windows_et_Windows_Phone|Tutoriaux de Machine Learning sous Windows Phone]] ===== Liste des Sujets de Projet 2016 - 2017 ===== ||| * A titre indicatif : **Template de Page de Projet**, [[projets:plim:template_rendu| Template de Page DokuWiki de Rendu de projet (in english) ]] == Groupes, Projets et Sujets == ||| [[cours:plim:projet_plim_1516|Liste des Groupes et Projets ]] ===== Mode d'Evaluation ===== ||| Les modalités d'évaluation du module sont conformes au régime du "contrôle continu". En conséquences, les intervenants pourront évaluer tout ou partie des étudiants à chaque séance dans le but de leur retourner des indicateurs fréquents sur leur progression et leur degré d'assimilation des connaissances et compétences transmises dans le module. Ces évaluations pourront prendre la forme de : * QCMs sur les cours, TDs et Projets * Suivi de Projet et de Travaux pratiques sur l'état d'avancement des étudiants en fin de séance * Soutenances d'avancement de TD et Projet * ... ==== Principales Références en Recherche sur le Domaine ==== Pour suivre les avancées de la recherche sur les plateformes mobiles et les nouvelles applications les deux plus grandes conférences sont : * [[https://en.wikipedia.org/wiki/International_Symposium_on_Wearable_Computers|International Symposium on Wearable Computers (ISWC) depuis 1997]] * [[http://www.ubicomp.org/ubicomp2013/pastubicomps.php|UbiComp depuis 2001]] Les deux conférences sont regroupées depuis 2013 et permettent ainsi de suivre les évolutions du domaine avec une seule et grande réunion annuelle. Bien sur le CES de Las Vegas est aussi une manifestation majeure du domaine annuelle et internationale. Il s'agit alors plus de présentations des dernières innovations industrielles que des dernières avancées en recherche. ==== Page Web années précédentes ==== [[https://www.tigli.fr/doku.php?id=cours:plim:plim_2015_2016|Pages Web 2015 2016]] ====== Evolutions Futures ====== [[https://www.tigli.fr/doku.php?id=cours:plim:plim_2017_2018|Cours PLIM 2017 2018]]