Univesité Pierre et Marie CURIE Programmation sur plateforme mobile : application à iOS et Android (2103/2014, HD)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013Cette série de 7 cours est consacrée à la programmation sur plateformes mobiles. Elle se focalise principalement sur iOS et montre également la correspondance des principes vus pour iOS sur Android. Des étudiants de M2 constituent le public visé par ces cours. On considère qu'ils sont déjà compétent en programmation et qu'ils ont des notions sur l'utilisation de langages objets, de langages procéduraux, ainsi que des principes de base en système d'exploitation (interruptions, notion d'événement, etc.).<br /> Les cours abordent successivement les principaux mécanismes offerts par iOS pour le développement d'applications embarquées sur des terminaux mobiles de type «smartphone»: l'environnement de développement, la notion de vue, les principaux frameworks, etc. Un parallèle avec la problématique du développement de systèmes embarqués est également fait.<br /> Android est abordé la dernière semaine par rapport à iOS sachant que les concepts sont extrêmement voisins. Le cours explique comment sont mise en oeuvre les notions dans le contexte de cet environnement précis.<br /> À l'issue de ces cours, les étudiants sont autonomes et capables de naviguer non seulement dans l'environnement de développement d'Apple, mais aussi dans des environnements similaires. Nous considérons cette année, les version les plus récentes des OS évoqués: iOS 7 et Android 4.1 (Jelly Bean).<br /> Un site compagnon avec des ressources permettant de s'exercer est disponible ici: http://lip6.fr/Fabrice.Kordon/NI438-2013http://vodcast.upmc.fr/images/C013_kordon.pngProgrammation sur plateforme mobile : application à iOS et Android (2103/2014, HD)http://video.upmc.fr//differe.php?collec=E_master_devMobile_20137.13 Projet, «AndroidTweets» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=116Cette séquence présente un projet permettant d'expérimenter tous les concepts vus en cours. Le sujet de ce projet est accessible via le cartouche de cette page.Fri, 14 Feb 2014 11:07:51 +0100E_master_devMobile_2013_1167.12 Exercice http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=121Cette séquence propose un exercice qui manipule les fragments dont vous trouverez le texte détaillé dans le pdf téléchargeable via le cartouche.Fri, 14 Feb 2014 11:07:57 +0100E_master_devMobile_2013_1217.11 Conclusion http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=122Cette séquence propose un exercice qui manipule les fragements dynamiquement.Fri, 14 Feb 2014 11:07:59 +0100E_master_devMobile_2013_1227.10 Les Menus http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=124Cette séquence propose un comparatif entre les concepts communs a Android et iOS et ceux qui diffèrent.Fri, 14 Feb 2014 11:08:01 +0100E_master_devMobile_2013_1247.09 Les tâches asynchrones http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=120Cette séquence traite des différents menus disponibles sous Android.Fri, 14 Feb 2014 11:07:56 +0100E_master_devMobile_2013_1207.08 Les Services http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=118Cette séquence traite des services qui permettent de déléguer des traitements tels que la lecture de fichiers musicaux ou la lecture de flux RSS.Fri, 14 Feb 2014 11:07:54 +0100E_master_devMobile_2013_1187.07 Les widgets et notifications http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=115Cette séquence traite d'un concept particulier d'Android: les Widgets. Ces derniers seront expliqués au travers d'un exemple utilisant les notifications.Fri, 14 Feb 2014 11:07:50 +0100E_master_devMobile_2013_1157.06 Framework de communication http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=114Cette séquence traite du framework de communication entre applications. La réception d'évènements systèmes (tels que SMS, baterie faible, etc.) est aussi abordée.Fri, 14 Feb 2014 11:07:48 +0100E_master_devMobile_2013_1147.05 Les Fragments http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=112Cette séquence traite des fragments qui sont des morceaux de vue dynamiques. L'animation de ces fragments sera aussi abordée.Fri, 14 Feb 2014 11:07:44 +0100E_master_devMobile_2013_1127.04 ListView et ListActivity http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=113Cette séquence traite des vues sous formes de listes qui sont très utilisées dans les interfaces mobiles.Fri, 14 Feb 2014 11:07:47 +0100E_master_devMobile_2013_1137.03 La Persistence http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=117Cette séquence traite de la persistence sous Android. Celle-ci est très importante puisque mise en oeuvre a chaque rotation. La gestion des préférences pour une application est aussi abordée.Fri, 14 Feb 2014 11:07:52 +0100E_master_devMobile_2013_1177.02 Les Activités (première approche) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=119Cette séquence propose d'aborder les activités au travers d'un exemple. La définition des layout dans le pattern M-V-C ainsi que la notion de hiérarchie des vues et la modification de l'AndroidManifeest.xml y sont aussi abordés Fri, 14 Feb 2014 11:07:55 +0100E_master_devMobile_2013_1197.01 Généralités http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=125Cette séquence fait une présentation rapide d'Android et des mécanismes sous jacents tels que la machine virtuelle Dalvik utilisé ou l'environnement de développement.Fri, 14 Feb 2014 11:08:03 +0100E_master_devMobile_2013_1256.20 Exercice, «iMoods» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=107Cette séquence présente l'application «iMoods» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />Elle se compose d'une table qui affiche la liste des terminaux proches ayant activé l'application et présente, pour chacun d'eux, leur «humeur». Cette dernière peut-être définie au moyen d'un bouton «Edit» placé dans la barre de navigation du contrôleur de la table.<br /> <br />La sélection de l'humeur se fait via un «Picker». Le nom publié est déterminé au moyen de préférences au niveau du terminal. L'ensemble des ces informations sont publiées via «bonjour», l'implémentation de la norme «zeroconf» d'Apple.Mon, 03 Feb 2014 11:08:43 +0100E_master_devMobile_2013_1076.19 Exercice, «LocaliseMoi» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=110Cette séquence présente l'application «LocaliseMoi» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />L'application est composée de deux hiérarchies de vues présentées via un UISplitViewController pour les «petits terminaux», ou un UITabBarController pour les «petits terminaux».<br /> <br />La première vue de l'application (première vue dans le cas d'un «petit terminal», vue de détail dans le cas d'un «grand terminal») permet de saisir une adresse ou le nom d'un lieu afin de positionner ce lieu ou cette adresse sur une carte. Pour cela, l'application interroge un service de Google suivant un protocole qui est présenté dans la séquence.<br /> <br />La seconde vue permet de gérer un historique des lieux déjà visités. Elle offre également à l'utilisateur de l'application un moyen d'éditer cette liste (suppression d'éléments, réorganisation des éléments) ou de la sauvegarder (la liste est initialisée avec le contenu de la sauvegarde si elle existe).<br /> <br />Enfin, l'application émet une notification vers le terminal pour chaque recherche effectuée. Mon, 03 Feb 2014 11:08:48 +0100E_master_devMobile_2013_1106.18 Conclusion sur iOS http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=111Cette séquence présente une conclusion sur la partie iOS du cours.Mon, 03 Feb 2014 11:08:50 +0100E_master_devMobile_2013_1116.17 Exemple de Persistance, «MeSouvenir» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=109Cette séquence présente l'application «MeSouvenir», qui illustre la gestion de données persistantes avec iOS.Mon, 03 Feb 2014 11:08:46 +0100E_master_devMobile_2013_1096.16 Gestion de données persistantes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=108Cette séquence propose un survol des différentes techniques permettant de stocker de manière persistante des données sous iOS.Mon, 03 Feb 2014 11:08:45 +0100E_master_devMobile_2013_1086.15 Exemple de gestion des préférences, «Preferences» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=104Cette séquence présente l'application «Preferences», qui illustre l'utilisation du système centralisé des préférences dans iOS.Mon, 03 Feb 2014 11:08:38 +0100E_master_devMobile_2013_1046.14 Les préférences http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=102Cette séquence présente le mécanisme de gestion des préférences centralisées au niveau du terminal sous iOS (classe NSUserDefaults).Mon, 03 Feb 2014 11:08:34 +0100E_master_devMobile_2013_1026.13 Un exemple «OK Corral» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=101Cette séquence présente l'application «OK Corral», qui illustre l'utilisation d'un réseau sans configuration (protocole «Bonjour») pour l'interaction entre terminaux proches.Mon, 03 Feb 2014 11:08:33 +0100E_master_devMobile_2013_1016.12 «Bonjour» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=100Mon, 03 Feb 2014 11:08:31 +0100E_master_devMobile_2013_1006.11 Exemple d’accès à un service XML, «UE SAR» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=103Cette séquence présente l'application «UE SAR», qui illustre l'utilisation d'un web service. Cette application récupère un fichier au format XML depuis le réseau et l'analyse pour en afficher le contenu sous la forme d'une liste.Mon, 03 Feb 2014 11:08:36 +0100E_master_devMobile_2013_1036.10 Parser de l’XML http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=97Cette séquence présente la classe NSXMLParser et son protocole associé (NSXMLParserDelegate) qui permettent de parcourir et analyser un flux XML.Mon, 03 Feb 2014 11:08:27 +0100E_master_devMobile_2013_976.09 Exemple, «MiniMeteo» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=98Cette séquence présente l'application «MiniMeteo», qui illustre le fonctionnement d'une requête réseau pour récupérer de l'information et l'analyser.Mon, 03 Feb 2014 11:08:28 +0100E_master_devMobile_2013_986.08 Se connecter au réseau http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=94Cette séquence présente les mécanismes d'accès au réseau offerts par iOS. Ces mécanismes se situent à un haut niveau et permettent facilement de constituer des requêtes pour extraire des informations via internet (typiquement par le biais de web services).Mon, 03 Feb 2014 11:08:19 +0100E_master_devMobile_2013_946.07 Exemple, «Moteurs!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=95Cette séquence présente l'application «Moteurs!», qui illustre l'usage de la vidéo sous iOS.Mon, 03 Feb 2014 11:08:21 +0100E_master_devMobile_2013_956.06 La vidéo http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=93Cette séquence présente une manière simple de gérer les vidéos sous iOS au moyen d'un MPMoviePlayerController. D'autres techniques utiles sont citées sans être détaillées; elles permettent de faire de la composition audio-visuelle.Mon, 03 Feb 2014 11:08:18 +0100E_master_devMobile_2013_936.05 Extention de l’exemple «Notify!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=92Cette séquence présente une extension de l'application «notify!», qui illustre le cas spécifique du rattrapage d'un événement de type UILocalNotification lorsqu'il survient alors que l'application est en cours d'exécution.Mon, 03 Feb 2014 11:08:16 +0100E_master_devMobile_2013_926.04 Exemple, «Notify!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=96Cette séquence présente l'application «notify!», qui illustre l'usage des notifications à destination du terminal (UILocalNotification).Mon, 03 Feb 2014 11:08:25 +0100E_master_devMobile_2013_966.03 Exemple, «jte cause» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=99Cette séquence présente l'application «jte cause», qui illustre le dialogue entre deux objets via des NSNotification.Mon, 03 Feb 2014 11:08:30 +0100E_master_devMobile_2013_996.02 Les notifications http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=105Cette séquence présente les notifications dans iOS à savoir :<br /> <br />les NSNotification qui permettent d'émettre des événements à destination de classes de l'application (ce système est entres autres utilisé par iOS),<br /> <br />les UILocalNotification qui permettent d'envoyer des messages à destination du terminal (et donc de l'utilisateur).Mon, 03 Feb 2014 11:08:40 +0100E_master_devMobile_2013_1056.01 Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=106Cette séquence fait un rapide sommaire sur ce qui a été vu et présente le programme de la séance.Mon, 03 Feb 2014 11:08:41 +0100E_master_devMobile_2013_1065.22 Exercice, «Roule ta bille» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=87Cette séquence présente l'application «Rouletabille» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />L'application doit simuler le comportement d'une bille réagissant à l'orientation du terminal. S'il est «à plat», la bille ne bougera pas. Dans le cas contraire, elle «tombera» vers le bord le plus bas. ELle doit s'arrêter au bord de l'écran en émettant un petit «poc».<br /> <br />Une demonstration «en live» de l'utilisation de l'application permet de comprendre la dynamique de son coportement en fonction de l'inclinaison du terminal.<br /> <br />Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Supporter les orientations des terminaux n'a pas réellement de sens ici.Mon, 20 Jan 2014 15:42:45 +0100E_master_devMobile_2013_875.21 Exercice, «TaperJouer» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=88Cette séquence présente l'application «TaperJouer» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />Cette application comporte deux hiérarchies de vues: la première permet de passer d'un élément de la «playlist» du terminal à l'autre, ainsi que de les écouter. L'écoute commence par un «double tap» sur la vue et s'arrête sur un autre «double tap». Le passage d'un morceau au suivant s'effectue au moyen d'un «swipe» (dans n'importe quelle direction).<br /> <br />La seconde vue contient un historique qui est mis à jour au fur et à mesure que l'on passe d'un morceau à l'autre. Cet historique est juste à des fin d'affichage.<br /> <br />Le comportement diffère en fonction du type de terminal:<br /> <ul> <li>sur un «petit terminal», les deux vues sont gérées au moyen d'un «TabBar»,</li> <li>sur un «grand terminal», les deux vues sont gérées au moyen d'une «SpliView»,</li> <br /> <br />Bien sûr, vous pouvez enrichir à souhait votre application. Bon courage!<br /> <br />Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.Mon, 20 Jan 2014 15:42:47 +0100E_master_devMobile_2013_885.20 Et l’enregistrement audio? http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=89Cette séquence expose brièvement la classe de base pour effectuer des enregistrements audio : AVAudioRecorder.Mon, 20 Jan 2014 15:42:48 +0100E_master_devMobile_2013_895.19 Exemple de manipulations de la playlist, «UnePiste» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=90Cette séquence présente l'application «UnePiste» qui illustre l'utilisation de MPMusicPlayerController, MPMediaPickerController et MPMediaPickerControllerDelegate.Mon, 20 Jan 2014 15:42:50 +0100E_master_devMobile_2013_905.18 MPMusicPlayerController et MPMediaPickerController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=91Cette séquence expose MPMediaPickerController qui permet l'accès à une liste de morceaux (en général à partir de la «playlist» embarquée sur le terminal) et son exécution (jeu, pause, arrêt, avance rapide, etc.). Il présente aussi la classe MPMediaPickerController qui permet de récupérer des morceaux à partir de la «playlist» du terminal.Mon, 20 Jan 2014 15:42:53 +0100E_master_devMobile_2013_915.17 Exemple d’utilisation d’AVAudioPlayer, «UnSon» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=86Cette séquence présente l'application «UnSon» qui illustre l'utilisation de AVAudioPlayer.Mon, 20 Jan 2014 15:42:43 +0100E_master_devMobile_2013_865.16 AVAudioPlayer http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=83Cette séquence présente l'exécution d'une séquence audio au moyen de la classe AVAudioPlayer et son protocole associé: AVAudioPlayerDelegate.Mon, 20 Jan 2014 15:42:38 +0100E_master_devMobile_2013_835.15 Audio http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=81Cette section expose rapidement les principes du fonctionnement de l'audio et de la vidéo dans iOS avant de présenter les différents framework de gestion de séquences audio dans iOS.Mon, 20 Jan 2014 15:42:35 +0100E_master_devMobile_2013_815.14 Exemple de touch/multitouch, «Toucher!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=82cette séquence présente l'application «Toucher!» qui illustre l'usage des points de contacts en mode «touch» (u seul point de contact) ou «multi-touch» (plusieurs points de contact).Mon, 20 Jan 2014 15:42:37 +0100E_master_devMobile_2013_825.13 Touch http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=79Cette séquence présente les principe de fonctionnement de l'accès aux points de contact (touch/multi-touch) sur la surface du terminal.Mon, 20 Jan 2014 15:42:32 +0100E_master_devMobile_2013_795.12 Exemple d’utilisation de UIDevice, «Bavardages» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=77cette séquence présente l'application «Bavardages» qui illustre l'utilisation de la classe UIdevice.Mon, 20 Jan 2014 15:42:29 +0100E_master_devMobile_2013_775.11 UIdevice, ou comment récupérer des informations sur le terminalhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=76Cette séquence présente UIDevice, une classe qui permet de récupérer toute sorte d'informations sur les spécifications du terminal et l'état de la batterie.Mon, 20 Jan 2014 15:42:27 +0100E_master_devMobile_2013_765.10 Exemple de détection des secousses, «Shaker» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=80Cette séquence présente l'exemple «shaker» qui illustre la détection des secousses appliquées à un terminal («shake motion»).Mon, 20 Jan 2014 15:42:34 +0100E_master_devMobile_2013_805.09 Shake Motionhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=73Cette séquence présente les principes de la détection de secousses appliquées au terminal («Shake motion»).Mon, 20 Jan 2014 15:42:21 +0100E_master_devMobile_2013_735.08 Exemple d’utilisation de Motion Control, «Accéléromètre» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=72Cette séquence présente «Accéléromètre», une application extrayant les données de l'accéléromètre, du gyroscope et du magnétomètre du terminal pour les afficher.Mon, 20 Jan 2014 15:42:19 +0100E_master_devMobile_2013_725.07 CMMotionManager (accéléromètre, gyroscope, etc.) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=71Cette séquence présente l'usage du CMMotionManager qui permet d'accéder, s'ils sont présents, à l'accéléromètre, au gyroscope et au magnétomètre intégrés dans le terminal.Mon, 20 Jan 2014 15:42:17 +0100E_master_devMobile_2013_715.06 Exemple d’utilisation de NSTimer, le «Praxinoscope» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=69Cette séquence présente «Praxinoscope», une application d'animation simple dont le fonctionnement est basé sur l'usage d'un NSTimer.Mon, 20 Jan 2014 15:42:12 +0100E_master_devMobile_2013_695.05 Interruptions horlogesavec NStimer http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=67Cette séquence présente la classe NSTimer et un usage particulier permettant de gérer des interruptions orloges qui réveillent une application à intervalle régulier.Mon, 20 Jan 2014 15:42:08 +0100E_master_devMobile_2013_675.04 Exemple de multi-vues, «Couper!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=65Cette séquence présente «Couper!» un exemple simple illustrant l'usage du mécanisme UISplitView sur un «grand terminal».Mon, 20 Jan 2014 15:42:04 +0100E_master_devMobile_2013_655.03 Multi-vues sur un iPad http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=64Cette séquence présente le mécanisme UISplitView qui permet d'afficher simultanément deux vues dans un «grand terminal». ce mécanismes peut se substituer à un système de navigation ou à une «tabBar» (dans le cas où il n'y a que deux vues) en vigueur sur des «petits terminaux» et profiter ainsi avantageusement de la surface d'une tablette.Mon, 20 Jan 2014 15:42:02 +0100E_master_devMobile_2013_645.02 UISearchBar http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=63Cette séquence présente les UISearchBar qui permettent d'afficher et de gérer une barre de recherche type sans la fonction recherche (juste la saisie des données).Mon, 20 Jan 2014 15:42:00 +0100E_master_devMobile_2013_635.01 Prolégomèneshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=61Cette séquence fait un rapide sommaire sur ce qui a été vu et présente le programme de la séance.Mon, 20 Jan 2014 15:41:57 +0100E_master_devMobile_2013_614.20 Exercices, «FullActivities» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=60Cette séquence présente l'application «FullActivities» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />L'application est un gestionnaire simplifié de tâches. Il permet de créer des tâches et de leur associer un titre, une photo et une priorité.<br /> <br />Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.Mon, 20 Jan 2014 15:41:55 +0100E_master_devMobile_2013_604.19 Exercice «Métro Châtelet direction Cassiopée» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=57Cette séquence présente l'application «Métro Châtelet direction Cassiopée» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />L'application est composée de deux hiérarchies de vues présentées au moyen d'un «TabBar». La première permet de positionner des préférences et la seconde, de naviguer dans une liste de stations spatiales en fonction de ces préférences.<br /> <br />Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.Mon, 20 Jan 2014 15:41:49 +0100E_master_devMobile_2013_574.18 Utilisation des TabBaController, «TBExemple» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=56Cette séquence présente l'application «TBExemple» permettant d'illustrer la gestion simultanée de vues au moyen d'un UITabBarController.Mon, 20 Jan 2014 15:41:47 +0100E_master_devMobile_2013_564.17 UITabBarController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=59Cette séquence présente la gestion simultanée de plusieurs hiérarchies de vues au moyen d'un UITabBarController.Mon, 20 Jan 2014 15:41:53 +0100E_master_devMobile_2013_594.16 Nouvelle extension de «TabAvecVue» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=55Cette séquence présente une nouvelle extension de l'exemple «TabAvecVue» permettant d'illustrer à la fois l'édition des cellules et la navigation dans une pile de vues au moyen d'un UINavigationController.<br /> <br /> Important : Suite à une fausse manipulation, le transparent avec le code décrivant l'empilement d'une vue sur la piel des vue (via le UINavigationController) a malencontreusement été effacée, ce que je n'ai réalisé que pendant le cours. Vous trouverez dans le cartouche un accès à <a href="http://pagesperso-systeme.lip6.fr/Fabrice.Kordon/NI438-2013/pdf/PPM-2013-sem-04-seq-16-tr-manquant.pdf"> ce transparent manquant</a>.Mon, 20 Jan 2014 15:41:44 +0100E_master_devMobile_2013_554.15 Naviguer entre les vues avec un UINavigationController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=53Cette séquence expose en détail la mécanique de navigation au sein d'une pile de vues qui est proposé par les UINavigationController.Mon, 20 Jan 2014 15:41:39 +0100E_master_devMobile_2013_534.14 Modifier une UITableView via son Contrôleur http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=51Cette séquence expose en détail la mécanique intégrée au UITableViewDelegate permettant de gérer l'édition d'une UITableView.Mon, 20 Jan 2014 15:41:31 +0100E_master_devMobile_2013_514.13 Extension de «TabAvecVue» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=50Cette séquence présente une extension de l'application «TabAvecVue» permettant d'illustrer la particularisation d'un élément d'une UITableView.Mon, 20 Jan 2014 15:41:28 +0100E_master_devMobile_2013_504.12 Exemple d’utilisation des UITableView, «TabAvecVue» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=52Cette séquence présente une application simple: «TabAvecVue» . Elle illustre l'utilisation du mécanisme des UITableView.Mon, 20 Jan 2014 15:41:35 +0100E_master_devMobile_2013_524.11 Gestion optimisée des cellules dans un TableViewController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=54Cette séquence expose en détail le mécanisme optimisé de gestion des cellules d'une UITableView , tant pour la consommation de mémoire que l'économie du processeur.Mon, 20 Jan 2014 15:41:42 +0100E_master_devMobile_2013_544.10 Affichage de données avec un TableViewController, mécanique de basehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=58Cette séquence présente les principes de base du système d'affichage de données strucrées: UITableView/UITableViewController. Ce mécanisme permet d'afficher les données sous forme d'une table que l'on peut faire défiler. Il est donc utile pour visualiser un grand nombre de valeurs sous la forme d'une table.Mon, 20 Jan 2014 15:41:51 +0100E_master_devMobile_2013_584.09 Modification du «Sélecteur»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=62Cette séquence présente une évolution de «Sélecteur» illustrant l'usage d'un UIDatePicker.Mon, 20 Jan 2014 15:41:58 +0100E_master_devMobile_2013_624.08 UIDatePicker, un cas particulierhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=68Cette séquence présente les UIDatePicker, qui offrent un mécanisme intégré de sélection d'une date au moyen d'un «picker» dédié. La gestion des dates au moyen des NSDate est également brièvement abordé.Mon, 20 Jan 2014 15:42:09 +0100E_master_devMobile_2013_684.07 Un exemple, le «Sélecteur»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=66Cette séquence présente «Sélecteur», une application simple permettant d'illustrer l'usage d'une UIPickerView.Mon, 20 Jan 2014 15:42:05 +0100E_master_devMobile_2013_664.06 UIPickerView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=70Cette séquence présente les UIPickerView et le protocole UIPickerViewDelegate qui leur est associé. Ce mécanisme permet de sélectionner une valeur dans un ensemble de valeurs, éventuellement structurées.Mon, 20 Jan 2014 15:42:15 +0100E_master_devMobile_2013_704.05 Un exemple, «Écrire» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=75Cette séquence présente un exemple simple illustrant la gestion du clavier au moyen d'une UITextView et de son protocole associé UITextViewDelegate. En conclusion, une référence rapide est faite aux UITextField/UITextFieldDelegate qui fonctionnent de manière identique mais sont dédiées aux zones de texte limitées à une ligne.Mon, 20 Jan 2014 15:42:25 +0100E_master_devMobile_2013_754.04 UITextViewhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=74Cette séquence présente les UITextView et le protocole UITextViewDelegate qui leur est associé. Cela permet de gérer des zone de texte potentiellement éditable (avec gestion intégrée du clavier).Mon, 20 Jan 2014 15:42:23 +0100E_master_devMobile_2013_744.03 UIProgressView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=78Cette séquence présente les UIProgressView qui permettent de montrer la progresson d'un calcul à l'usager d'un programme.Mon, 20 Jan 2014 15:42:30 +0100E_master_devMobile_2013_784.02 UIActivityIndicatorView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=85Cette séquence présente les UIActivityIndicatorView qui permettent l'affichage d'une «roue d'attente» permettant de démontrer une activité du logiciel et de faire patienter l'utilisateur.Mon, 20 Jan 2014 15:42:42 +0100E_master_devMobile_2013_854.01 Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=84Cette séquence fait un rapide sommaire sur ce qui a été vu et présente le programme de la séance.Mon, 20 Jan 2014 15:42:40 +0100E_master_devMobile_2013_843.19 Exercice, «iSouvenir» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=31Cette séquence présente l'application «iSouvenir» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». Vous devez ensuite réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.Mon, 20 Jan 2014 13:19:42 +0100E_master_devMobile_2013_313.18 Exercice, «MiniNav»" http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=33Cette séquence présente l'application «MiniNav» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». La compatibilité avec iOS6 est également requise. Vous devez ensuite réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Mon, 20 Jan 2014 13:19:50 +0100E_master_devMobile_2013_333.17 Quelques «goodies» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=32Cette séquence présente rapidement deux mécanismes simples et pratiques pour le développement d'applications sous iOS: les pastilles (ou badges) contenant une valeur numérique associée à une application, et la mécanique permettant de générer une appel téléphonique à partir d'une application.Mon, 20 Jan 2014 13:19:46 +0100E_master_devMobile_2013_323.16 Éléments sur le multi-tâches http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=34Cette séquence présente le cycle de vie d'une application dans iOS. Les différents modes d'exécution en «avant plan» (foreground) ou en «arrière plan» (background) ainsi que les méthodes du protocole UIApplicationDelegate et les conditions de leur invocation sont détaillés.Mon, 20 Jan 2014 13:19:54 +0100E_master_devMobile_2013_343.15 Gestion du carnet d'adresse, «MyAdrBook» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=35Cette séquence illustre la gestion du carnet d'adresse au travers d'un exemple simple: «MyAdrBook».Mon, 20 Jan 2014 13:20:01 +0100E_master_devMobile_2013_353.14 Le carnet d'adresses http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=36Cette séquence présente les mécanismes d'accès et de gestion du carnet d'adresse dans iOS par les applications.Mon, 20 Jan 2014 13:20:08 +0100E_master_devMobile_2013_363.13 Un exemple, «Photographer» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=38Cette séquence illustre la gestion des appareils photos (frontal, dorsal) et de l'album photo proposé au travers d'un exemple simple: «Protographer».Mon, 20 Jan 2014 13:20:23 +0100E_master_devMobile_2013_383.12 Les appareils photohttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=37Cette séquence présente la gestion des appareils photos (frontal, dorsal) et de l'album photo proposé dans iOS au moyen des UIImagePickerController et du protocole associé.Mon, 20 Jan 2014 13:20:17 +0100E_master_devMobile_2013_373.11 Enrichissement de «TrouveMoi» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=46Cette séquence illustre la gestion des cartes à travers une extension de l'exemple «TrouveMoi».Mon, 20 Jan 2014 13:21:00 +0100E_master_devMobile_2013_463.10 Manipuler les cartes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=45Cette séquence présente la gestion et l'affichage des cartes dans iOS au travers du framework MapKit.Mon, 20 Jan 2014 13:20:57 +0100E_master_devMobile_2013_453.09 «TrouveMoi» remière application de la géolocalisation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=44Cette séquence illustre la gestion de la localisation travers d'un exemple d'application : «TrouveMoi».Mon, 20 Jan 2014 13:20:53 +0100E_master_devMobile_2013_443.08 Gestion de la localisation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=47Cette séquence présente la gestion de la localisation dans iOS.Mon, 20 Jan 2014 13:21:03 +0100E_master_devMobile_2013_473.07 Extension de «LaBoite» (utilisation de UIAlertView et UIToolBar) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=42Cette séquence illustre la manipulation des UIWebView, des UITollBar, des UIAletrView, et des UIActionSheet au travers d'une extension de l'exemple «LaBoite».Mon, 20 Jan 2014 13:20:45 +0100E_master_devMobile_2013_423.06 UIActionSheet http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=40Cette séquence présente les UIActionSheet qui permettent de gérer une interactivité simplifiée avec l'utilisateur. Nous y décrivons également le protocole associé, UIActionSheetDelegate, permettant de gérer le comportement de ce type de vue au moyen du mécanisme de délégation.Mon, 20 Jan 2014 13:20:34 +0100E_master_devMobile_2013_403.05 UIToolbar http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=43Cette séquence présente les UIToolbar et les UIBarButtonItem qui permettent de construire des «barres d'outils» dans les applications.Mon, 20 Jan 2014 13:20:49 +0100E_master_devMobile_2013_433.04 UIAlertViews http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=39Cette séquence présente les UIAlertView qui permettent de gérer une interactivité simplifiée avec l'utilisateur. Nous y décrivons également le protocole associé, UIAlertViewDelegate, permettant de gérer le comportement de ce type de vue au moyen du mécanisme de délégation.Mon, 20 Jan 2014 13:20:29 +0100E_master_devMobile_2013_393.03 UIWebViews, exemple d'utilisation: «LaBoite» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=41Cette séquence illustre la manipulation des UIWebView au travers d'un exemple simple: «LaBoite». Dans un premier temps, cette application se contente de gérer des fonctionnalités simples dans ce type de vue.Mon, 20 Jan 2014 13:20:41 +0100E_master_devMobile_2013_413.02 UIWebViewshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=49Cette séquence présente les UIWebView qui permettent d'embarquer des page HTML chargées depuis le réseau ou embarquées dans l'application. Nous y décrivons également le protocole associé, UIWebViewDelegate, permettant de gérer le comportement de ce type de vues au moyen du mécanisme de délégation.Mon, 20 Jan 2014 13:21:11 +0100E_master_devMobile_2013_493.01 Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=48Cette séquence fait un rapide sommaire sur ce qui a été vu et présente le programme de la séance. La séquence mentionne le mécanisme des «Autolayout», et présente également une petite synthèse sur le mécanisme se délégation (intensivement vue cette semaine).Mon, 20 Jan 2014 13:21:07 +0100E_master_devMobile_2013_482.19 Exercice, «Imagier»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=30Cette séquence présente l'application «Imagier» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». Vous devez ensuite réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. L'application, doit supporter les orientations standard des types de terminaux qui peuvent l'exécuter et un traitement des effets de parallaxe est également requis.Fri, 13 Dec 2013 14:35:12 +0100E_master_devMobile_2013_302.18 Exercice, «DizainierGeek» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=29Cette séquence présente l'application «DizainierGeek» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». Vous devez ensuite réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Pour cette version de l'application, le support des orientations n'est pas demandé.Fri, 13 Dec 2013 14:35:07 +0100E_master_devMobile_2013_292.17 «UniversalHelloWorld», gérer les «effets parallaxe» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=28Cette séquence présente l'extension de l'application «UniversalHelloWorld» présenté puis étendu dans les séquences précédentes afin qu'il désormais d'un «effet parallaxe». L'objectif est de bien mettre en évidence les portions de code dédiées à cet objectif.Fri, 13 Dec 2013 14:35:01 +0100E_master_devMobile_2013_282.16 «UniversalHelloWorld», gérer l’orientation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=27Cette séquence présente l'extension de l'application «UniversalHelloWorld» présenté dans la séquence précédente afin qu'il gère désormais la rotation du terminal. L'objectif est de bien mettre en évidence les portions de code dédiées à cet objectif.Fri, 13 Dec 2013 14:34:47 +0100E_master_devMobile_2013_272.15 Synthèse sur les vues, «UniversalHelloWorld» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=26Cette séquence illustre la gestion les notions vues dans les séquences précédentes au travers d'un exemple simple: «UniversalHelloWorld» qui gère, dans un premier temps les différents types de terminaux possibles. Dans un premier temps, cette application se contente de supporter le mode horizontal mais paramètre la position des différentes entités de façon à ce que leur positionnement ne soit pas décrit au moyen de constantes mais calculées en fonction de la largeur (ou de la hauteur) du terminal.Fri, 13 Dec 2013 14:34:37 +0100E_master_devMobile_2013_262.14 Les vues - Acte IV, gestion de l'orientation du terminal http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=25Cette séquence présente la gestion de la rotation d'un terminal gérée par un contrôleur de vue et la vue principale qu'il contrôle.Fri, 13 Dec 2013 14:34:29 +0100E_master_devMobile_2013_252.13 Les vues - Acte III, contrôleurs de vues http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=24Cette séquence présente, avec le modèle MVC (Model View Controller), la notion de contrpôler de vues. Nous y présentons la relation type entre un contrôleur de vue et la vue qui y est associée en même temps que les avantages d'une telle association en terme de portabilité et de structuration du code. Dans cette séquence, sont également abordées la programmation des mécanismes de scrolling et de zooming intégrés à iOS.Fri, 13 Dec 2013 14:34:22 +0100E_master_devMobile_2013_242.12 Les vues - Acte II, les nouveautés d’iOS7 http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=23Cette séquence présente les nouveaux mécanismes rajoutés aux vues dans iOS7. Un exemple d'utilisation simple du mécanisme de «parallaxe» est présenté.Fri, 13 Dec 2013 14:34:15 +0100E_master_devMobile_2013_232.11 Gérer les différents types de terminaux http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=22Cette séquence explique comment on peut récupérer les principales informations permettant de caractériser le terminal sur lequel une application s'exécute.Fri, 13 Dec 2013 14:34:11 +0100E_master_devMobile_2013_222.10 Quelques éléments sur CoreGraphics http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=21Cette séquence survole rapidement les mécanismes de base des graphismes 2D avec CoreGraphics.Fri, 13 Dec 2013 14:34:03 +0100E_master_devMobile_2013_212.09 Les vues - Acte I, les bases http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=20Cette séquence présente les principes de base d'une vue dans iOS. Cette notion est fondamentale pour la construction d'applications sous iOS (et elle est extensible à d'autres environnements similaires).Fri, 13 Dec 2013 14:33:54 +0100E_master_devMobile_2013_202.08 Gestion mémoire et génération des accesseurs http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=19Cette séquence explicite le système de génération automatique des accesseurs en Objective C et fait la relation avec la gestion de la mémoire.Fri, 13 Dec 2013 14:33:48 +0100E_master_devMobile_2013_192.07 Objective C, autorelease pool http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=18Cette séquence présente l'«autorelease pool». Il évoque enfin les conventions permettant de savoir quelle est la valeur du compteur lorsqu'une méthodes rend une référence sur un objet.Fri, 13 Dec 2013 14:33:40 +0100E_master_devMobile_2013_182.06 Objective C, le compteur de références http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=17Cette séquence présente le mécanisme de fonctionnement du compteur de référence tel qu'il doit être géré «à la main» lorsque l'on désactive ARC (Automatic reference Counting).Fri, 13 Dec 2013 14:33:34 +0100E_master_devMobile_2013_172.05 Objective C, ARC et cycle de vie d'un objet http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=16Cette séquence se focalise sur la gestion de la mémoire en Objective C. Nous abordons le cycle de vie d'un objet, le compteur de références qui lui est associé, la façon dont ce compteur évolue et enfin la notion d' «autorelease pool». Cette séquence illustre également les «bon usages» permettant de gérer proprement la mémoire en œbjective C. Enfin, nous présentons également les principes de fonctionnement d'ARC (Automatic Reference Counting) et comment le désactiver lorsque nécessaire.Fri, 13 Dec 2013 14:33:26 +0100E_master_devMobile_2013_162.04 Objective C - Acte IV, attributs de classe http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=15Cette séquence explicite les relations entre les attributs d'une classe et la notion de «property» en Objective C.Fri, 13 Dec 2013 14:33:21 +0100E_master_devMobile_2013_152.03 Objective C - Acte III, écrire ses propres classes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=14Cette séquence présente comment Objective C met en œuvre la notion de classe. Un exemple simple, qui servira de fil conducteur sur plusieurs séquences, y est également introduit à des fins d'illustration.Fri, 13 Dec 2013 14:33:15 +0100E_master_devMobile_2013_142.02 Objective C - Acte II, quelques classes utiles http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=13Cette séquence présente rapidement quelques classes très fréquemment utilisées en Objective C : NSArray, NSMutableArray, NSDictionnary et NSMutableDictionary.Fri, 13 Dec 2013 14:33:07 +0100E_master_devMobile_2013_132.01 Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=12Cette séquence fait un rapide sommaire sur ce qui a été vu et présente le programme de la séance.Fri, 13 Dec 2013 14:33:01 +0100E_master_devMobile_2013_121.11 Exercice, «Dizainier» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=2Cette séquence présente l'application «Dizainier» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». Vous devez ensuite réaliser cette application et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page.Tue, 03 Dec 2013 15:45:17 +0100E_master_devMobile_2013_21.10 Exercice, «BonRevoir»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=4Cette séquence présente l'application «Bonrevoir» qui doit fonctionner à sur des «petits terminaux» Uniquement. Vous devez ensuite réaliser cette application et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page.Tue, 03 Dec 2013 15:45:19 +0100E_master_devMobile_2013_41.09 Orientation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=3Cette séquence explique comment gérer dans un projet des applications capable de supporter à la fois des «grands terminaux» et des «petits terminaux».Tue, 03 Dec 2013 15:45:18 +0100E_master_devMobile_2013_31.08 Hello World sous iOShttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=1Cette séquence est une démonstration «live» de l'utilisation de l'environnement xCode (avec StoryBoard) pour créer un «Hello World» sous iOS.Tue, 03 Dec 2013 15:45:16 +0100E_master_devMobile_2013_11.07 Objective C, acte I http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=5Cette séquence expose rapidement les principales notions du langage Objective-C. Nous abordons dans un premier temps les concepts de base (méthodes et sélecteurs). Enfin, nous nous intéressons à quelques éléments utiles: la primitiveNSlog ainsi que les classes NSString et NSMutableString.Tue, 03 Dec 2013 15:45:20 +0100E_master_devMobile_2013_51.06 Élaborer une interface d'application (mode «kindergarden»)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=6Cette séquence présente StoryBoard, l'outil permettant de créer des interfaces graphiques pour des applications iOS. StoryBoard est l'un des composants inclu dans l'environnement xCode.<br /> <br /> StoryBoard sera utilisé pour les deux premiers exercices de ce cours uniquement.Tue, 03 Dec 2013 15:45:21 +0100E_master_devMobile_2013_61.05 L'environnement de développement http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=10Cette séquence présente XCode, l'environnement de développement fourni par Apple pour créer des Applications sous iOS. Nous détaillons les principales caractéristiques des outils composant cet environnement. Enfin, nous terminons sur une présentation rapide de solutions alternatives au développement sous iOS.Tue, 03 Dec 2013 15:45:25 +0100E_master_devMobile_2013_101.04 Élaborer http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=9Cette séquence détaille le processus de construction et de déploiement d'une application sur des terminaux mobiles.<br /> <br /> Nous commençons par présenter l'ensemble des outils de l'environnement de développement d'Apple: xCode. Ensuite, nous présentons les trois manières de déployer une application iOS sur des terminaux mobiles avant de détailler les différents certificats dont il faut disposer. Enfin, nous présentons les droits afférents à chacun des programmes offerts aux développeurs sous iOS.Tue, 03 Dec 2013 15:45:24 +0100E_master_devMobile_2013_91.03 Éléments de programmation événementiellehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=8Cette séquence est consacré à un rappel des notions de programmation événementielle. Cela est utile car la programmation réactive est une forme de programmation événementielle et elle en a toutes les caractéristiques.<br /> <br /> Nous rappelons ce qu'est une événement ou une interruption et montrons le mécanisme classique de la boucle événementielle.<br /> <br /> Les auditeurs familiers avec la programmation événementielle peuvent passer cette séquence vidéo.Tue, 03 Dec 2013 15:45:23 +0100E_master_devMobile_2013_81.02 Vous avez dit programmation sur plateforme mobile?http://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=7Nous abordons les principes du développement de systèmes embarqués en général, puis le cas plus spécifique des terminaux mobiles. Enfin, nous discutons les contraintes imposées par ce type de programmation.Tue, 03 Dec 2013 15:45:22 +0100E_master_devMobile_2013_71.01 Présentation du courshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=11Cette séquence présente rapidement le cours et son organisation.<br /> <br /> Le cours «Programmation sur plateforme mobiles: application à iOS et Android» se déroule sur 7 semaines et vise un public déjà aguerri en programmation. Les six premières semaines sont consacrées à la programmation sous iOS. La dernière fait rapidement un tour d'horizon d'Android qui est basé sur des principes similaires.Tue, 03 Dec 2013 15:45:26 +0100E_master_devMobile_2013_11Bande annoncehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2013&video=123Thu, 27 Feb 2014 09:58:41 +0100E_master_devMobile_2013_123