Univesité Pierre et Marie CURIE Programmation sur plateformes mobiles (2014/2015, HD)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014 Cette série de 14 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» ou «tablettes»: 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é au cours des trois dernières semaines par rapport à iOS sachant que les concepts sont extrêmement voisins. Le cours explique comment sont mise en œuvre 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, iOS 8 ainsi qu'Android 4.4 (KitKat).<br /> Un site compagnon avec des ressources permettant de s'exercer est disponible ici : <a href="http://lip6.fr/Fabrice.Kordon/5I452-2014">site compagnon</a>. Il mis à jour progressivement au fur et à mesure du déroulement de l'unité d'enseignement. http://vodcast.upmc.fr/images/C014_kordon.pngProgrammation sur plateformes mobiles (2014/2015, HD)http://video.upmc.fr//differe.php?collec=E_master_devMobile_201414.17 - Conclusion généralehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=198 Cette séquence conclue le cours en s'intéressant aux caractéristiques respectives d'iOS et d'Android. Nous y faisons un tour d'horizon (gros grain, les principes et grin fin, les différentes éléments du développement) avant de conclure sur cerains des enjeux proches dans le domaine et la manière dont les deux environnements les abordent.<br/> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19814.16 - Projet : lecteur de flux RSShttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=197 Cette séquence présente le projet Android qu'il vous est demandé de faire. Il s'agit d'un lecteur de flux RSS dans lequel l'utilisateur peut archiver certaines nouvelles.<br/> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19714.15 - La publicitéhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=196 Cette séquence présente les mécanismes de gestion de la publicité.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://www.google.com/admob/">Admob</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19614.14 - Applications pour montreshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=195 Cette séquence présente les mécanismes de gestion des wearables.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.android.com/training/wearables/apps/index.html">Wearables</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19514.13 - Les threadshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=194 Cette séquence présente les mécanismes de gestion des threads.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/java/lang/Thread.html">Threads</a><br/> * <a href="http://developer.android.com/reference/android/os/Looper.html">Looper</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19414.12 - Les capteurshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=193 Cette séquence présente les mécanismes de gestion des capteurs.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/topics/sensors/sensors_motion.html">MotionSensor</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19314.11 - Gestion de la batteriehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=192 Cette séquence présente les mécanismes de gestion de la batterie.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/os/BatteryManager.html">BatteryManager</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19214.10 - Connexion au réseauhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=191 Cette séquence présente les mécanismes de connexion au réseau.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/java/net/HttpURLConnection.html">HttpUrlConnection</a><br/> * <a href="http://developer.android.com/reference/org/apache/http/client/HttpClient.html">HttpClient</a><br/> * <a href="http://developer.android.com/training/volley/index.html">Volley</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19114.09 - Les préférences utilisateurhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=190 Cette séquence présente la notion de preferences au sein des activité.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/SharedPreferences.html">SharedPreferences</a><br/> * <a href="http://developer.android.com/reference/android/preference/PreferenceActivity.html">PreferencesActivity</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_19014.08 - Peer 2 Peerhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=189 Cette séquence présente la notion de peer to peer entre deux terminaux.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.PeerListListener.html">PeerListListener</a><br/> * <a href="http://developer.android.com/guide/topics/connectivity/wifip2p.html">Pair a pair sur wifi</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18914.07 - Gestion des packages et redéfinir l'écran d'acueilhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=188 Cette séquence présente la notion de PackageManager et permet d'expliquer comment définir un launcher.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">PackageManager</a><br/> * <a href=" http://developer.android.com/training/basics/activity-lifecycle/starting.html#launching-activity">Launcher</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18814.06 - Les tâches asynchroneshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=187 Cette séquence présente la notion de tache asynchrone.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/os/AsyncTask.html">AsyncTask</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18714.05 - Les Serviceshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=186 Cette séquence présente la notion de services.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/components/services.html">Services explications</a><br/> * <a href="http://developer.android.com/reference/android/app/Service.html">Services</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18614.04 - les Widgetshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=185 Cette séquence présente la notion de widgets.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/design/patterns/widgets.html">Widgets</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18514.03 - Les Content Providershttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=184 Cette séquence présente la notion de ContentProviders qui permettent l'échange de données entre différentes applications.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/ContentProvider.html">ContentProvider</a><br/> * <a href="http://developer.android.com/reference/android/content/ContentResolver.html">ContentResolver</a><br/> * <a href="http://developer.android.com/reference/android/provider/ContactsContract.html">ContactContract</a><br/> * <a href="http://developer.android.com/reference/android/database/Cursor.html">Cursor</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18414.02 - Broadcast Receiverhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=183 Cette séquence présente la notion de BoradcastReceiver.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18314.01 - Framework de communicationhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=182 Cette séquence présente le framework de communication qui est au centre de la communication sous android.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/Intent.html">Intent</a><br/> * <a href="http://developer.android.com/guide/components/intents-filters.html">Intent et IntentFilter</a> Fri, 16 Jan 2015 12:00:00 +0100E_master_devMobile_2014_18213.08 - Exercice: une application de dessinhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=181 Cette séquence présente la construction d'une application simple: une application de dessin.<br/> <span style="color:red;font-weight:bold">Pour les étudiants de l'UPMC seulement</span>, le <a href="https://www-delbul.ufr-info-p6.jussieu.fr/lmd/delbul/_restr/cgi-bin/delivery_builder.cgi?CODE_MODULE=5I452--2014octFri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_18113.07 - Exercice: le jeu du taquin simplifiéhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=180 Cette séquence présente la construction d'une application simple: le jeu du taquin.<br/> <span style="color:red;font-weight:bold">Pour les étudiants de l'UPMC seulement</span>, le <a href="https://www-delbul.ufr-info-p6.jussieu.fr/lmd/delbul/_restr/cgi-bin/delivery_builder.cgi?CODE_MODULE=5I452--2014octFri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_18013.06 - Android Web Apphttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=179 Cette séquence présente la construction d'application web via Android.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/webkit/WebView.html">Webview</a><br/> * <a href="http://developer.android.com/guide/webapps/webview.html">WebActivity</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17913.05 - Cartes et Localisationhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=178 Cette séquence présente la manipulation des cartes et la localisation sous Android.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/com/google/android/gms/maps/SupportMapFragment.html">SupportMapFragment</a><br/> * <a href="https://console.developers.google.com/">Developpeur Google</a><br/> * <a href="http://developer.android.com/guide/topics/location/strategies.html">Loaclisation</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17813.04 - Les menushttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=177 Cette séquence présente les différents menus qui peuvent etre utilisé dans Android.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/widget/PopupMenu.html">Popup menu</a><br/> * <a href="https://developer.android.com/design/patterns/navigation-drawer.html">NavigationDrawer</a><br/> * <a href="http://developer.android.com/reference/android/view/ContextMenu.html">ContextMenu</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17713.03 - ActionBarActivityhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=176 Cette séquence présente les mécanismes de barre d'action configurable.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/app/ActionBar.html">ActionBar</a><br/> * <a href="http://developer.android.com/guide/topics/ui/menus.html#options-menu">OptionMenu</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17613.02 - Mise en place d'ongletshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=175 Cette séquence présente les mécanismes d'onglets via le composant TabHost.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/widget/TabHost.html">TabHost</a><br/> * <a href="http://developer.android.com/reference/android/widget/TabWidget.html">TabWidget</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17513.01 - Les Fragmentshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=174 Cette séquence présente le mécanisme des Fragments qui sont des sous composants modulaires.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/components/fragments.html">Fragments</a><br/> * <a href="http://developer.android.com/reference/android/app/ListFragment.html">ListFragment</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17412.10 - Notificationshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=173 Cette séquence présente les mécanismes de notification de l'utilisateur.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/topics/ui/notifiers/notifications.html">Notifications</a><br/> * <a href="http://developer.android.com/guide/topics/ui/notifiers/toasts.html">Toast</a><br/> * <a href="http://developer.android.com/reference/android/app/AlertDialog.html">AlertDialog</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17312.09 - ListActivity et ListViewhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=172 Cette séquence présente les mécanismes permettant de manipuler les listes au travers des composants ListActivity et ListView. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/app/ListActivity.html">ListActivity</a><br/> * <a href="http://developer.android.com/guide/topics/ui/layout/listview.html">ListView</a><br/> * <a href="http://developer.android.com/reference/android/widget/Adapter.html">Adapter</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17212.08 - Gestes et interaction utilisateurhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=171 Cette séquence présente les mécanismes permettant de récupérer les évènements utilisateurs tels que les touches ou les gestes. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/training/custom-views/create-view.html">Vue custom</a><br/> * <a href="http://developer.android.com/training/gestures/index.html">Gestion des gestes</a><br/> * <a href="http://developer.android.com/training/gestures/movement.html">Détection des gestes</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17112.07 - Persistence durablehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=170 Cette séquence présente les mécanismes de persistence durable, i.e. qui survivent à l'extinction de l'application. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/reference/android/content/SharedPreferences.html">SharedPreferences</a><br/> * <a href="http://developer.android.com/guide/topics/data/data-storage.html">Les stockages</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_17012.06 - Gérer la rotationhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=169 Cette séquence présente le problè de la rotation ainsi que les différents moyens permettant d'y remédier. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/components/activities.html">Cycle de vie de Activity</a><br/> * <a href=" http://developer.android.com/training/basics/activity-lifecycle/recreating.html">Re-création de l'activité</a><br/> * <a href=" http://developer.android.com/reference/android/os/Parcel.html">Parcelable</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16912.05 - Un exemple concret : MultipleActivitieshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=168 Cette séquence présente un exemple complet d'application ainsi que le phénomène d'internationnalisation. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/topics/resources/localization.html">Internationnalisation sous Android </a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16812.04 - Créer une application dynamiquehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=167 Cette séquence présente la backstack d'android ainsi que le cycle de vie des applications et les mécanismes permettant de passer d'une application à l'autre pour construire des applications dynamiques.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://developer.android.com/guide/components/tasks-and-back-stack.html">La backstack sous Android </a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16712.03 - Créer une application statique simplehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=166 Cette séquence présente la pile applicative d'Android ainsi que le mécanisme de gestion des ressources et des layouts sous Android.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href=" https://source.android.com/source/index.html">La pile applicative sous Android</a><br/> * <a href=" http://developer.android.com/guide/components/fundamentals.html">Informations de base sur les applications</a><br/> * <a href="http://developer.android.com/guide/topics/ui/declaring-layout.html">Les layout</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16612.02 - Développer et déployer ue applicationhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=165 Cette séquence présente AndroidStudio quie est l'outil de développement dédié à la conception d'applications pour Android. Les différents outils qui le compose y sont présentés ainsi que les mécanismes de déploiement sous jacent.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.android.com/guide/practices/verifying-apps-art.html">Compatibilité ART</a><br/> * <a href="https://developer.android.com/sdk/installing/studio-build.html">La chaine de compilation</a><br/> * <a href="http://developer.android.com/sdk/index.html">Android Studio</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16512.01 - Généralités sur Androidhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=164 Cette séquence présente Android qui est le système d'exploitation mobile le plus utilisé. Dans cette séquence sont aussi évoqué les problèmes de fragmentation et de parts de marché pour chaque version de l'API d'Android. <br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href=" http://opensignal.com/assets/pdf/reports/2014_08_fragmentation_report.pdf">Informations sur la fragmentation</a><br/> * <a href="http://www.idc.com/prodserv/smartphone-os-market-share.jsp">Informations sur les parts de marché</a><br/> * <a href="http://www.appbrain.com/stats/number-of-android-apps">Nombre d'applications et prix</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16411.09 - Conclusion sur iOShttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=163 Cette séquence présente une conclusion sur la partie iOS du cours. Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16311.08c - "OuSuisJe" (MaJ novembre 2015)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=162c Cette séquence présente un TP réalisé sous iOS 8.4.1 / WatchOS 1.01 permettant de vous entraîner sur la réalisation d’applications déploiées sur une AppleWatch (mise à jour fin novembre 2015) Wed, 25 Nov 2015 12:00:00 +0100E_master_devMobile_2014_162c11.08b - «MaMontre» (MaJ mai 2015)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=162b Cette séquence présente l'application «MaMontre» qui illustre la création d'une application simple sur une AppleWatch. (fin mai 2015). Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://cocoaheads.fr/2014/11/video-rennes-19-watchkit-et-mdm/">Premiers pas avec WatchKit (CocoaHeads, Jean-Luc Jumpertz)</a> Tue, 23 Jun 2015 10:00:00 +0200E_master_devMobile_2014_162b11.08a - «DemoMontre»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=162a Cette séquence présente l'application «DemoMontre» qui illustre la création d'une application simple sur une AppleWatch.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="http://cocoaheads.fr/2014/11/video-rennes-19-watchkit-et-mdm/">Premiers pas avec WatchKit (CocoaHeads, Jean-Luc Jumpertz)</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_162a11.07b - Quelques éléments sur l’Apple Watch (MaJ mai 2015)http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=161b Cette séquence donne quelques indices à propos les applications déployées sur la future «Apple Watch» à partir des éléments dont nous disposons à ce jour (fin mai 2015). Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/index.html">Apple Watch Programming Guide (Apple)</a><br/> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/WatchKit/Reference/WatchKit_framework/index.html">WatchKit Framework Reference (Apple)</a><br/> * <a href="https://developer.apple.com/watchkit/">Get your iPhone app ready for Apple Watch (Apple)</a> Tue, 23 Jun 2015 10:00:00 +0200E_master_devMobile_2014_161b11.07a - Quelques éléments sur l’Apple Watchhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=161a Cette séquence donne quelques indices à propos les applications déployées sur la future «Apple Watch» à partir des éléments dont nous disposons à ce jour (fin décembre 2014).<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/index.html">Apple Watch Programming Guide (Apple)</a><br/> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/WatchKit/Reference/WatchKit_framework/index.html">WatchKit Framework Reference (Apple)</a><br/> * <a href="https://developer.apple.com/watchkit/">Get your iPhone app ready for Apple Watch (Apple)</a> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_161a11.06 - Un aperçu des extensionshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=160 Cette séquence donne un rapide aperçu du mécanisme d'extensions des applications.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/">App Extension Programming Guide</a> (Apple) <br/> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/NotificationCenter/Reference/NCWidgetProviding_Protocol/index.html">NCWidgetProviding Protocol Reference</a> (Apple) Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_16011.05 - Invoquer une méthode en Swift depuis une classe en Objective-Chttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=159 Cette séquence présente comment appeler des méthodes d'une class écrite en Swift depuis du code en Objective-C.<br/> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br/> * <a href="https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html">Swift and Objective-C in the Same Project</a> (Apple) Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15911.04 - Invoquer une méthode en Objective-C depuis une classe en Swifthttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=158 Cette séquence présente comment appeler des méthodes d'une class écrite en Objective-C depuis du code en Swift. Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15811.03 - «Deverrouille»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=157 Cette séquence présente l'application «Deverouille», qui illustre l'utilisation du Touch ID pour authentifier un utilisateur. Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15711.02 - Utiliser le Touch IDhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=156 Cette séquence présente les principes de fonctionnement de l'API permettant d'accéder au Touch ID.<br /> Voici quelques références pour les auditeurs souhaitant approfondir certains points:<br /> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/LocalAuthentication/Reference/LAContext_Class/index.html#//apple_ref/occ/cl/LAContext">LAContext Class Reference</a> (Apple)<br /> Et si vous souhaitez regarder ApplePay:<br /> * <a href="https://developer.apple.com/library/prerelease/ios/ApplePay_Guide/ProcessPayment.html#//apple_ref/doc/uid/TP40014764-CH5-SW4">Payment Processing</a> (Apple)<br /> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/PassKit/Reference/PKPaymentRequest_Ref/index.html#//apple_ref/occ/cl/PKPaymentRequest">PKPaymentRequest Class Reference</a> (Apple)<br /> * <a href="https://developer.apple.com/library/prerelease/ios/documentation/PassKit/Reference/PKPaymentToken_Ref/index.html#//apple_ref/occ/cl/PKPaymentToken">PKPaymentToken Class Reference</a> (Apple)<br /> Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15611.01 - Prolégomèneshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=155 Cette séquence présente le programme de cette onzième semaine de cours qui présente quelques «bonus» : la gestion du Touch ID, le couplage de code Objective_C et Swift au sein d'un même projet et quelques éléments sur la future montre d'Apple. Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15510.19 - «Humeur» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=154Cette séquence présente l'application «Humeur».<br /> <br />Cette application permet de publier son humeur localement auprès de ses amis d'après un nom défini via les préférences du terminal.<br /> <br />cette information circule localement sur le réseau via le protocole Bonjour. Un terminal doit voir tous les terminaux qui sont à sa portée et afficher leur humeur dans une «TableView».<br /> <br />L'humeur peut-être sélectionnée au moyen d'un UIPickerView qui s'empile sur la vue d'édition.Fri, 19 Dec 2014 10:28:49 +0100E_master_devMobile_2014_15410.18 - «LocaliseMoi» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=153Cette séquence présente l'application «LocaliseMoi» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> <br />Cette application comporte deux hiérarchies de vues: la première contient une zone de saisie d'adresses et une cartes qui se positionne sur les adresses saisies. La seconde est un historique des adresses saisies.<br /> <br />Pour identifier les coordonnées GPS de l'adresse saisie, l'application s'appuie sur un service de Google dont l'URL type est indiquée ci-dessous:<br /> <br />http://maps.googleapis.com/maps/api/geocode/xml?address=<adresse>&sensor=false

où <adresse> est l'adresse saisie (encodée pour passer sur une URL). Les cartes peuvent s'afficher dans les modes suivants: carte, satellite et hybride. Un switch dans les préférences permet d'autoriser par défaut un affichage satellite, sinon, c'est la carte qui est affichée.<br /> <br />L'historique est présenté sous la forme d'une «TableView» qui doit pouvoir être sauvegardée (par défaut, la liste est initialisée avec le contenu de cette sauvegarde).<br /> <br />Enfin, toute action de localisation sur une carte est publiée à destination de l'usager dans le centre de notification.
Fri, 19 Dec 2014 10:28:47 +0100E_master_devMobile_2014_153
10.17 - «MeSouvenir» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=152Cette séquence présente l'application «MeSouvenir» qui illustre le stockage de données persistantes par une application.Fri, 19 Dec 2014 10:28:44 +0100E_master_devMobile_2014_15210.16 - Gestionn de données persistantes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=151Cette séquence présente les mécanismes de gestion de données persistantes avec iOS.Fri, 19 Dec 2014 10:28:40 +0100E_master_devMobile_2014_15110.15 - «Preferences» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=150Cette séquence présente l'application «Preferences» qui illustre la gestion de préférences via le panneau de contrôle du terminal.Fri, 19 Dec 2014 10:28:36 +0100E_master_devMobile_2014_15010.14 - Gestion des préférences http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=149Cette séquence présente la gestion des préférences via le panneau de contrôle du terminal.Fri, 19 Dec 2014 10:28:33 +0100E_master_devMobile_2014_14910.13 - «OK Corral» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=148Cette séquence présente l'application «OK Corral», un jeu simple qui illustre l'utilisation du protocole Bonjour.Fri, 19 Dec 2014 10:28:28 +0100E_master_devMobile_2014_14810.12 - Le protocole Bonjour http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=147Cette séquence présente les principes de «Bonjour», l'implémentation de la norme ZeroConf permettant un accès simplifié à des réseaux locaux pour une meilleur interactivité entre terminaux mobiles.Fri, 19 Dec 2014 10:28:24 +0100E_master_devMobile_2014_14710.11 - «UE SAR» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=146Cette séquence présente l'application «UE SAR» qui illustre l'analyse d'un fichier XML pour y récupérer des données présentées ensuite de manière structuréeFri, 19 Dec 2014 10:27:41 +0100E_master_devMobile_2014_14610.10 - NSXLMParser http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=145Cette séquence présente les principes de l'analyse d'un flux ou d'un fichier contenant de l'XML grâce à la classe NSXMLParser.Fri, 19 Dec 2014 10:27:16 +0100E_master_devMobile_2014_14510.09 - «MiniMeteo» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=144Cette séquence présente l'application «MiniMeteo» qui illustre l'utilisation du réseau pour accéder à des données sur la météo dans une ville et les restituer sur le terminal.Fri, 19 Dec 2014 10:27:08 +0100E_master_devMobile_2014_14410.08 - Accéder au réseau http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=143Cette séquence présente les principes des accès aux réseau sous iOS.Fri, 19 Dec 2014 10:27:02 +0100E_master_devMobile_2014_14310.07 - «Projecteur» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=140Cette séquence présente l'application «Projecteur» qui illustre l'utilisation d'un MPMoviePlayerController pour visualiser une vidéo.Fri, 19 Dec 2014 10:24:37 +0100E_master_devMobile_2014_14010.06 - Exécuter une vidéo http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=142Cette séquence explique comment utiliser un MPMoviePlayerController pour exécuter le contenu d'un fichier vidéo en lecture.Fri, 19 Dec 2014 10:25:01 +0100E_master_devMobile_2014_14210.05 - Extension de «Notifie» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=141Cette séquence présente une extension de l'application «Notifie» qui montre comment associer des actions aux notifications locales d'une part, comment récupérer des événements au niveau d'une application pour les traiter de manière spécifique d'autre part.Fri, 19 Dec 2014 10:24:47 +0100E_master_devMobile_2014_14110.04 - «Notifie» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=139Cette séquence présente l'application «Notifie» qui illustre l'utilisation des notifications locales pour diffuser de l'information à l'intention de l'utilisateur du terminal.Fri, 19 Dec 2014 10:24:31 +0100E_master_devMobile_2014_13910.03 - «J'teCause» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=138Cette séquence présente l'application «J'teCause» qui illustre l'utilisation du système de notifications pour permettre à deux objets de communiquer entre eux.Fri, 19 Dec 2014 10:24:18 +0100E_master_devMobile_2014_13810.02 - Les notifications http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=137Cette séquence présente deux mécanismes de notification présent dans iOS à savoir:<br /> <br />NSNotification qui permet à deux objets de communiquer au sein d'une application,<br /> <br />UILocalNotification qui permet à une application d'émettre des messages vers l'utilisateur via le «centre de notification».<br /> <br />Les «Apple Push Notification» ne sont pas traités dans cette séquence.Fri, 19 Dec 2014 10:24:12 +0100E_master_devMobile_2014_13710.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=136Cette séquence présente le programme de cette dixième semaine de cours qui présente les notifications, l'exécution d'une vidéo, l'accès au réseau (liaison vers un serveur ou réseau sans configuration préalable), l'analyse d'un flux ou de fichiers XML, et enfin la persistance des données.Fri, 19 Dec 2014 10:24:04 +0100E_master_devMobile_2014_1369.19 - «TaperJouer» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=135Cette 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» (à droite pour passer au morceau suivant, à gauche pour revenir au morceau précédent).<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 constitue juste un affichage, les cellules ne sont pas sélectionnables.<br /> <br />Le comportement diffère en fonction du type de terminal:<br /> <br />sur un «petit terminal», les deux vues sont gérées au moyen d'un «TabBar»,<br /> <br />sur un «grand terminal», les deux vues sont gérées au moyen d'une «SplitView».Tue, 09 Dec 2014 16:44:08 +0100E_master_devMobile_2014_1359.18 - «Rouletabille» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=134Cette séquence présente l'application «Rouletabille» qui est un jeu que vous programmerez en Objective-C ou en Swift et qui doit réaliser les fonctions suivantes:<br /> <br />Un fond d'écran qui alternent sur un «shake» (quatre fonds disponibles),<br /> <br />Une étoile de mer qui apparaît aléatoirement sur l'écran et qu'il faut toucher avec une bille qui se déplace en fonction de l'inclinaison du terminal,<br /> <br />Un compteur de score qui comptabilise le nombre de fois où la bille touche l'étoile de mer (durée du jeu, une minute),<br /> <br />Une sonorisation complète de l'application : petite musique énervante de fond ;-), sons divers lorsque l'étoile de mer est touchée, son lorsque la bille touche un bord de l'écran, petite musique à la fin de la temporisation.Tue, 09 Dec 2014 16:44:03 +0100E_master_devMobile_2014_1349.17 - «UnePiste» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=133Cette séquence présente l'application «UnePiste» qui illustre l'utilisation des classes MPMusicPlayerController et MPMediaPickerController ainsi que du protocole MPMediaPickerControllerDelegate.Tue, 09 Dec 2014 16:43:57 +0100E_master_devMobile_2014_1339.16 - MPMusicPlayerController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=132Cette séquence expose MPMusicPlayerController qui permet de manipuler 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.). Elle présente aussi la classe MPMediaPickerController qui permet de récupérer des morceaux à partir de la «playlist» du terminal.Tue, 09 Dec 2014 16:43:52 +0100E_master_devMobile_2014_1329.15 - «UnSon» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=131cette séquence présente l'application «UnSon» qui illustre l'utilisation de la classe AVAudioPlayer pour exécuter des fichier de son (ici embarqués dans l'application).Tue, 09 Dec 2014 16:43:45 +0100E_master_devMobile_2014_1319.14 - AVAudioPlayer http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=130Cette séquence présente la classe AVAudioPlayer et le protocole AVAudioPlayerDelegate qui permettent de jouer des fichiers de sons et de musique dans iOS.Tue, 09 Dec 2014 16:43:39 +0100E_master_devMobile_2014_1309.13 - Audio/Vidéo, principes de fonctionnement http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=129Cette séquence présente les principes communs de la gestion audio et vidéo dans iOS.Tue, 09 Dec 2014 16:43:34 +0100E_master_devMobile_2014_1299.12 - «LeBavard» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=128cette séquence présente l'application «LeBavard» qui illustre l'utilisation de la classe UIdevice.Tue, 09 Dec 2014 16:43:29 +0100E_master_devMobile_2014_1289.11 - UIDevice http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=127Cette 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.Tue, 09 Dec 2014 16:43:22 +0100E_master_devMobile_2014_1279.10 - «Gestuelle» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=126Cette séquence présente l'exemple «Gestuelle» qui illustre l'utilisation des classes dérivées de UIGestureRecognizer.Tue, 09 Dec 2014 16:43:15 +0100E_master_devMobile_2014_1269.09 - UIGestureRecognizer http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=125Cette séquence présente la classe UIGestureRecognizer et ses dérivés qui permettent de gérer facilement la reconnaissance de gestes simples dans les interfaces.Tue, 09 Dec 2014 16:43:10 +0100E_master_devMobile_2014_1259.08 - «Toucher!» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=124Cette séquence présente l'exemple «Toucher!» qui illustre la manipulation des points de contact sur un terminal mobile (touch/multi-touch).Tue, 09 Dec 2014 16:43:03 +0100E_master_devMobile_2014_1249.07 - Touch http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=123Cette séquence présente les principe de fonctionnement de l'accès aux points de contact (touch/multi-touch) sur la surface du terminal.Tue, 09 Dec 2014 16:42:56 +0100E_master_devMobile_2014_1239.06 - «Shaker» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=122Cette séquence présente l'exemple «Shaker» qui illustre la détection des secousses appliquées à un terminal («shake motion»).Tue, 09 Dec 2014 16:42:48 +0100E_master_devMobile_2014_1229.05 - Shake Motion http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=121Cette séquence présente les principes de la détection de secousses appliquées au terminal («Shake motion»).Tue, 09 Dec 2014 16:42:40 +0100E_master_devMobile_2014_1219.04 - CMAltimeter http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=120Cette séquence présente la classe CMAltimeter qui permet de gérer l'altimètre pour les terminaux qui en sont dotés.Tue, 09 Dec 2014 16:42:30 +0100E_master_devMobile_2014_1209.03 - «Accéléromètre» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=119Cette séquence présente l'application «Accéléromètre» qui illustre l'usage de la classe CMMotionManager dans une application iOS.Tue, 09 Dec 2014 16:42:23 +0100E_master_devMobile_2014_1199.02 - CMMotionManager http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=118Cette séquence présente la classe CMMotionManager qui permet de gérer les données de l'accéléromètre, des gyroscopes et du magnétomètre (lorsque ces équipements sont présents).Tue, 09 Dec 2014 16:42:11 +0100E_master_devMobile_2014_1189.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=117Cette séquence présente le programme de cette neuvième semaine de cours centrée sur la gestion des capteurs du terminal (accéléromètre, gyroscope, magnétomètre, altimètre et baromètre), l'utilisation des points de contacts sur la surface tactile, des «gestes» prédéfinis pour l'interface, et enfin l'exécution de fichiers sonores, éventuellement issus de la bibliothèques média du terminal.Tue, 09 Dec 2014 16:41:58 +0100E_master_devMobile_2014_1178.14 - «MesActivités» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=116Cette séquence présente l'application «MesActivités» que vous devrez développer. Cette application manipule:<br /> <br /><br /> <br />des UISPlitViewController,<br /> <br />des UITableViewController,<br /> <br />des UINavigationController,<br /> <br />et accède à l'appareil photo.Mon, 01 Dec 2014 11:29:23 +0100E_master_devMobile_2014_1168.13 - UISplitViewController (2) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=115Cette séquence présente les UISPlitViewController tels qu'ils sont utilisés dans iOS8. Une application, «J'meCoupe», est présenté e afin d'illustrer l'utilisation des mécanismes présentés.Mon, 01 Dec 2014 11:29:20 +0100E_master_devMobile_2014_1158.12 - UITraitCollection http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=114Cette séquence présente la notion de UITraitCollection qui permet de caractériser certaines propriétés liées au type de vues gérées par des contrôleurs de vues.Mon, 01 Dec 2014 11:29:18 +0100E_master_devMobile_2014_1148.11 - UISplitViewController (1) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=113Cette séquence présente les UISplitViewController, un mécanisme utilisé sur grand terminal de iOS5 à iOS7 pour mieux exploiter la surface affichable.Mon, 01 Dec 2014 11:29:16 +0100E_master_devMobile_2014_1138.10 - «TBExemple» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=112Cette séquence présente l'application «TBExemple» qui illustre l'utilisation de UITabBarController.Mon, 01 Dec 2014 11:29:13 +0100E_master_devMobile_2014_1128.09 - UITabBarController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=111Cette séquence présente la notion de UITabBarController qui permet de gérer simultanément plusieurs hiérarchies de vues.Mon, 01 Dec 2014 11:29:10 +0100E_master_devMobile_2014_1118.08 - «MaTable» (version 2) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=110Cette séquence présente l'application «MaTable» dans une version étendue dans laquelle la gestion des modifications et l'empilement de vues sont réalisées (Illustration des modifications dans un UITableViewControntroller et de l'empilement de vues avec un UINavigationController).Mon, 01 Dec 2014 11:29:08 +0100E_master_devMobile_2014_1108.07 - UINavigationController http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=109Cette séquence présente les UINavigationController qui permettent, associés à un UIViewController, d'empiler et de dépiler des contrôleurs de vues. Cela permet de créer des applications pour naviguer dans des structures de données complexes.Mon, 01 Dec 2014 11:29:06 +0100E_master_devMobile_2014_1098.06 - Modification d'une UITableView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=108Cette séquence présente les mécanisme permettant de gérer les modifications d'une UITableView par l'usager d'une applicationMon, 01 Dec 2014 11:29:03 +0100E_master_devMobile_2014_1088.05 - Personnalisation d'une UITableView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=107Cette séquence expose comment particulariser les éléments d'une UITableView. À titre d'exemple, des portions de code de ll'application «MaTable» sont modifiés pour illustrer le propos.Mon, 01 Dec 2014 11:29:01 +0100E_master_devMobile_2014_1078.04 - «MaTable» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=106Cette séquence présente l'application «MaTable» qui illustre une première utilisation simple des UITableView pour afficher des données.Mon, 01 Dec 2014 11:28:57 +0100E_master_devMobile_2014_1068.03 - UITableViewController, gestion optimisé des cellules http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=105Cette 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, 01 Dec 2014 11:28:54 +0100E_master_devMobile_2014_1058.02 - UITableViewController, mécanique de base http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=104Cette séquence présente le principe du fonctionnement des UITableViewController qui permettent d'afficher des données structurées de manière ergonomique.Mon, 01 Dec 2014 11:28:51 +0100E_master_devMobile_2014_1048.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=103Cette séquence présente les objectifs de la semaine 8, c'est-à-dire la présentation de données complexes au moyen de mécanismes structurés.Mon, 01 Dec 2014 11:28:46 +0100E_master_devMobile_2014_1037.14 - «iSouvenir»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=102Cette séquence présente l'application «iSouvenir» que vous devrez développer en tant qu'exercice. cette application manipule:<br /> <br /> la géolocalisation,<br /> la gestion des cartes,<br /> la récupération d'images (appareil photo ou album photo),<br /> la récupération d'adresses dans le calepin du terminal,<br /> la gestion de la localisation linguistiqueThu, 20 Nov 2014 13:29:15 +0100E_master_devMobile_2014_1027.13 - UIPopoverController (grands terminaux) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=101Cette séquence présente les UIPopoverController, un mécanisme permettant de gérer spécifiquement l'apparition de certaines vues dans le cas des «grands terminaux». Un exemple illustre les notions présentées.Thu, 20 Nov 2014 13:29:13 +0100E_master_devMobile_2014_1017.12 - «MyAdrBook» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=100Cette séquence présente l'application «MyAdrBook» qui illustre les accès au carnet d'adresses du terminal.Thu, 20 Nov 2014 13:29:11 +0100E_master_devMobile_2014_1007.11 - Le carnet d'adresses http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=99Cette séquence présente le Framework AddressBookUI qui est dédié à la gestion des relations avec le carnet d'adresse du terminal sur lequel s'exécute l'application.Thu, 20 Nov 2014 13:29:09 +0100E_master_devMobile_2014_997.10 - «LeProtographe» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=98Cette séquence présente l'application «LePhotographe» qui illustre l'utilisation des appareils photos et de l'album photo dans iOS.Thu, 20 Nov 2014 13:29:06 +0100E_master_devMobile_2014_987.09 - Utiliser les appareils photohttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=97Cette séquence présente l'utilisation par une application des appareils photos associés à un téléphone ou une tablette.Thu, 20 Nov 2014 13:29:04 +0100E_master_devMobile_2014_977.08 - Localisation d'une application http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=96Cette séquence présente les mécanismes de localisation permettant de gérer plusieurs langues au sein d'une application. Un exemple d'application est traité en mode «pas à pas» pour illustrer les notions introduites.Thu, 20 Nov 2014 13:29:02 +0100E_master_devMobile_2014_967.07 - Cartes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=95Cette séquence présente le moyen d'afficher des cartes en 3D au moyen d'une MKMapCamera dans le cadre du framework MapKit. Une quatrième version de l'application «TrouveMoi» illustre ce point.Thu, 20 Nov 2014 13:29:00 +0100E_master_devMobile_2014_957.06 - Gérer différents types de cartes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=94Cette séquence présente le moyen de changer le type de cartes (affichage, d'un plan, d'une vue satellite ou des deux à la fois) via le framework MapKit. Une troisième version de l'application «TrouveMoi» illustre ce point.Thu, 20 Nov 2014 13:28:56 +0100E_master_devMobile_2014_947.05 - «TrouveMoi» (version 2) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=93Cette séquence présente l'application «TrouveMoi» qui, dans sa deuxième version, permet la manipulation de cartes via le framework MapKit.Thu, 20 Nov 2014 13:28:54 +0100E_master_devMobile_2014_937.04 - Manipuler des cartes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=92Cette séquence présente la manipulation des cartes au moyen du framework MKMapKit.Thu, 20 Nov 2014 13:28:52 +0100E_master_devMobile_2014_927.03 - «TrouveMoi» (version 1) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=91Cette séquence présente l'application «TrouveMoi» qui, dans sa première version, affiche les informations fournies par le framework CoreLocation.Thu, 20 Nov 2014 13:28:49 +0100E_master_devMobile_2014_917.02 - Géolocalisation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=90Cette séquence présente la gestion de la localisation dans iOS au moyen du framework CoreLocation.Thu, 20 Nov 2014 13:28:46 +0100E_master_devMobile_2014_907.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=89Cette séquence présente les objectifs de la semaine qui concernent la géolocalisation et la gestion des cartes, l'accès aux appareils photos et aux albums, l'accès au carnet d'adresses du terminal ainsi que la «localisation» d'une application du point de vue linguistique.Thu, 20 Nov 2014 13:28:43 +0100E_master_devMobile_2014_896.15 - «MauvaisePluie» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=88Cette séquence présente l'exercice «MauvaisePluie» qui est un jeu simple dont les règles sont les suivantes:<br /> <br /> un personnage doit éviter des météorites qui lui tombent dessus,<br /> le personnage se déplace grâce à l'action d'un joueur sur deux boutons qui permettent un déplacement sur un plan horizontal,<br /> le niveau du jeu est sélectionné au moyen d'un UIPickerView,<br /> le nombre d'objets évités détermine le score et un nom peut y être associé (saisi au moyen d'un UITextField).<br /> <br /> Indépendamment de tout cela, le jeu inclus une gestion (non persistente) des meilleurs scores enregistrés ainsi que de préférences permettant de moduler la difficulté du jeu.<br /> <br /> Le jeu sera développé au choix en Objective-C ou en Swift. Les éléments fixes du jeu seront placé en mode programmatique, si possible avec Autolayouts.Mon, 27 Oct 2014 11:53:30 +0100E_master_devMobile_2014_886.14 - Compléments sur la conception d'applications iOS http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=87Cette séquence présente quelques compléments sur les applications iOS et fait le point sur diverses dispositions utiles, à savoir:<br /> <br /> gestion de l'aléatoire dans iOS,<br /> orientation des «widget,»<br /> UIImage et consommation mémoire,<br /> Orientation avant iOS8,<br /> sur la compatibilité avec iOS6,<br /> Causes d'échec des soumissions sur l'AppStore. Mon, 27 Oct 2014 11:53:28 +0100E_master_devMobile_2014_876.13 - Éléments sur le multi-tâche http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=86Cette 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, 27 Oct 2014 11:53:26 +0100E_master_devMobile_2014_866.12 - «Praxinoscope» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=85Cette séquence présente «Praxinoscope», une application d'animation simple dont le fonctionnement est basé sur l'usage d'un NSTimer.Mon, 27 Oct 2014 11:53:24 +0100E_master_devMobile_2014_856.11 - Interruptions horloges avec NSTimerhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=84Cette séquence présente la classe NSTimer et un usage particulier permettant de gérer des interruptions horloges qui réveillent une application à intervalle régulier.Mon, 27 Oct 2014 11:53:22 +0100E_master_devMobile_2014_846.10 - «DatePicker» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=83Cette séquence présente un exemple d'application, «DatePicker», illustrant l'usage d'un UIDatePicker.Mon, 27 Oct 2014 11:53:20 +0100E_master_devMobile_2014_836.09 - UIDatePicker, un cas particulier http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=82Cette 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, 27 Oct 2014 11:53:18 +0100E_master_devMobile_2014_826.08 - «Sélecteur» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=81Cette séquence présente «Sélecteur», une application simple permettant d'illustrer l'usage d'une UIPickerView.Mon, 27 Oct 2014 11:53:16 +0100E_master_devMobile_2014_816.07 - Les UIPickerView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=80Cette 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, 27 Oct 2014 11:53:13 +0100E_master_devMobile_2014_806.06 - «Écritures» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=79Cette séquence présente l'application «Écritures» qui illustre l'usage des UITextView et UITextField ainsi que les protocoles qui leur sont associés.Mon, 27 Oct 2014 11:53:11 +0100E_master_devMobile_2014_796.05 - UITextView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=78Cette séquence présente les principes gestion intégrée de la saisie sous iOS au moyen des classes UITextView (protocole UITextViewDelegate) et UITextField (protocole UITextFieldDelegate).<br /> Ces méthodes permettent d'exploiter dans les applications toute la puissance de la saisie dans le terminal (suggestions et Siri).Mon, 27 Oct 2014 11:53:09 +0100E_master_devMobile_2014_786.04 - À propos d'Autolayout http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=77Cette séquence présente le mécanismes «AutoLayout», et en particulier l'usage du langage VFL (Visual Format Language) qui permettent d'organiser les éléments d'une vue les uns par rapport aux autres de manière dynamique, et donc relativement indépendante de la taille des écrans d'un terminal.Mon, 27 Oct 2014 11:53:06 +0100E_master_devMobile_2014_776.03 - Les UIProgressView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=76Cette séquence présente les UIProgressView qui permettent de montrer la progresson d'un calcul à l'usager d'un programme.Mon, 27 Oct 2014 11:53:04 +0100E_master_devMobile_2014_766.02 - Les UISearchBar http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=75Cette 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, 27 Oct 2014 11:53:01 +0100E_master_devMobile_2014_756.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=74Cette séquence présente les objectifs de la semaine qui marque la fin du tour dans les vues standard d'iOS.Mon, 27 Oct 2014 11:52:56 +0100E_master_devMobile_2014_745.15 «MiniNav» en Objective-C http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=73Cette séquence présente l'application «MiniNav» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> L'application en question est un mini-navigateur web que vous construisez à partir d'une UIWebView et d'une UITollBar.<br /> Vous devez bien sûr réaliser cette application en Objective-C sans utiliser StoryBoard ni ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez de la vidéo de présentation du comportement détaillé de l'application que nous donnons dans cette page. Vous devez supporter les orientations standard des types de terminaux qui peuvent l'exécuter.Mon, 20 Oct 2014 13:00:19 +0200E_master_devMobile_2014_735.14 «Imagier» en Swift http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=72Cette séquence présente l'application «Imagier» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».<br /> Vous devez ensuite réaliser cette application en utilisant le langage Swift sans utiliser StoryBoard et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez de la vidéo présentant 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.Mon, 20 Oct 2014 13:00:18 +0200E_master_devMobile_2014_725.13 Les UIActivityIndicatorView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=71Cette 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 Oct 2014 13:00:16 +0200E_master_devMobile_2014_715.12 Quelques «goodies» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=70Cette 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 Oct 2014 13:00:14 +0200E_master_devMobile_2014_705.11 -Extension de «LaBoite» (UIToolBar, UIAlertView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=69Cette séquence illustre la manipulation des UIWebView, des UIToolBar, des UIAlertView, et des UIActionSheet au travers d'une extension de l'exemple «LaBoite».Mon, 20 Oct 2014 13:00:12 +0200E_master_devMobile_2014_695.10 -Les UIActionSheet http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=68Cette 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 Oct 2014 13:00:10 +0200E_master_devMobile_2014_685.09 -Les UIAlertViews http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=67Cette 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 Oct 2014 13:00:06 +0200E_master_devMobile_2014_675.08 -Les UIToolBar http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=66Cette séquence présente la class UITollBar qui permet de gérer «manuellement» une barre d'outil.Mon, 20 Oct 2014 13:00:04 +0200E_master_devMobile_2014_665.07 - «LaBoite» exemple de UIWebView http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=65Cette séquence illustre manipulation des UIWebView au travers d'un exemple simple: «LaBoite».Mon, 20 Oct 2014 12:59:59 +0200E_master_devMobile_2014_655.06 - Les UIWebViewhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=64Cette séquence présente le fonctionnement des wspan class="textt">UIWebView qui permettent d'afficher et de gérer directement du contenu web.Mon, 20 Oct 2014 12:59:55 +0200E_master_devMobile_2014_645.05 - Les vues, éléments complémentaireshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=63Cette séquence présente quelques «trucs» utiles au niveau de la gestion des vues: la possibilité de changer la couleur de la barre de statut et la possibilité d'orienter l'affichage des vues.Mon, 20 Oct 2014 12:59:52 +0200E_master_devMobile_2014_635.04 - Les vues, l'effet «floutagee»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=62Cette séquence présente la classe UIVisualEffectView qui permet d'insérer des effets de floutage dans les interfaces des applications sous iOS.Mon, 20 Oct 2014 12:59:48 +0200E_master_devMobile_2014_625.03 - Les vues, l'effet «parallaxe»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=61Cette séquence présente les extensions introduites avec iOS7 dans la gestion des vues. La programmation de l'«effet parallaxe» y est présenté ainsi que les possibilités qu'il offre pour réaliser des animations simples.Mon, 20 Oct 2014 12:59:37 +0200E_master_devMobile_2014_615.02 - Les vues, zoom http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=60Cette séquence présente la class UIScrollView qui permet d'agfficher des vues (images, etc) de grande taille, de les faire défiler et de zommer sur des détails.Mon, 20 Oct 2014 12:59:33 +0200E_master_devMobile_2014_605.01 - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=59Cette séquence présente les objectifs de la semaine, à savoir des notions plus avancées sur les vues, en particulier avec les aspects relatifs à la délégation dans certaines d'entre elles.Mon, 20 Oct 2014 12:59:30 +0200E_master_devMobile_2014_594.13 - «QuizzGeek» en Swift (mode programmatique) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=58Cette séquence présente l'exercice «Quizz» dont l'objectif est de présenter un jeu de questions à un utilisateur. Ce dernier peut «avancer» ou «reculer» dans un jeu de questions. Les questions faciles s'affichent en bleu et les questions difficiles en rouge (mais uniquement si le mode «balaise» est activé). Les réponses affichées sont comptabilisées (une seule fois) et lorsque le mode «balaise» est désactivé alors qu'une question difficile est affichée, elle doit-être remplacée par une question facile.<br /> Cet exercice doit être réalisé en Swift en mode programmatique (i.e. sans Storyboard).Fri, 10 Oct 2014 16:26:31 +0200E_master_devMobile_2014_584.12 - «NuancierRVBGeek» en Objective-C (mode programmatique) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=57Cette séquence présente l'exercice «NuancierRVB» dont l'objectif est d'afficher la couleur correspondant à un code RVB exprimé en pourcentage des couleurs primaires. Un bouton «Enregistrer» permet de sauvegarder jusqu'à eux couleurs que l'on peut ensuite réintégrer dans la zone de travail que l'on utilise et un bouton «RaZ» rétablit un «gris moyen» (50% de rouge, vert et bleu). Un mode «web» n'autorise que des pourcentages par pas de 10%.<br /> Cet exercice doit être réalisé en Objective-C en mode programmatique (i.e. sans Storyboard).Fri, 10 Oct 2014 16:26:30 +0200E_master_devMobile_2014_574.11 - «uRotate», gestion programmatique de l'orientation http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=56Cette séquence reprend l'exemple «uRotate» pour illustrer la gestion programmatique des orientations d'un terminal. L'exemple est traité à la fois en Objective-C et en Swift.Fri, 10 Oct 2014 16:26:28 +0200E_master_devMobile_2014_564.10 - «uRotate», construction programmatiquehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=55Cette séquence illustre, au moyen de l'exemple «uRotate», la construction programmatique d'une vue sous iOS. L'exemple est traité à la fois en Objective-C et en Swift.Fri, 10 Oct 2014 16:26:26 +0200E_master_devMobile_2014_554.09 - Les vues, gérer les actions http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=54Cette séquence présente la construction programmatique d'un UIButton et présente les principes de la gestion programmatique des actions dans iOS, tant en Objective_C qu'en Swift.Fri, 10 Oct 2014 16:26:24 +0200E_master_devMobile_2014_544.08 - Vues http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=53Cette séquence présente la nouvelle façon de gérer l'orientation du terminal dans les applications en iOS8.Fri, 10 Oct 2014 16:26:22 +0200E_master_devMobile_2014_534.07 - «MaVue», construction programmatique en Swift http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=52Cette séquence présente un exemple de construction d'une application simple élaborant une vue en mode programmatique. Les sources de l'applications en Swift sont analysés.Fri, 10 Oct 2014 16:26:19 +0200E_master_devMobile_2014_524.06 - «MaVue», construction programmatique en Objective-Chttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=51Cette séquence présente un exemple de construction d'une application simple élaborant une vue en mode programmatique. Les sources de l'applications en Objective-C sont analysés.Fri, 10 Oct 2014 16:26:16 +0200E_master_devMobile_2014_514.05 - Vues http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=50Cette séquence présente L'architecture type des vues d'une application qui doivent être associées à un contrôleur de vue. Le modèle MVC (Model View Controller) est également présenté.Fri, 10 Oct 2014 16:26:13 +0200E_master_devMobile_2014_504.04 - Identifier les différents types de terminauxhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=49Cette séquence explique comment accéder les données relatives aux terminaux (type de terminal et type d'éran). L'objectif est d'établir ainsi les principes de base de la détection fine du type de terminal, utile dans le cas des applications dites «universelles».Fri, 10 Oct 2014 16:26:10 +0200E_master_devMobile_2014_494.03 - Dessiner avec CoreGraphics http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=48Cette séquence présente les principes du dessin de formes libres avec CoreGRaphics (Quartz2D).Fri, 10 Oct 2014 16:26:08 +0200E_master_devMobile_2014_484.02 - Les vues, principes de base http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=47Cette séquence présente le principe fondateur de la construction d'interfaces sous iOS : la vue.Fri, 10 Oct 2014 16:26:05 +0200E_master_devMobile_2014_474.01 - Prolégomèneshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=46Cette séquence présente les objectifs de cette semaine qui est concentrée sur la notion de vue et leur construction/gestion en mode programmatique.Fri, 10 Oct 2014 16:26:02 +0200E_master_devMobile_2014_463.11 XLV - «Quizz» en Swift + mode Kindergarden http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=45Cette séquence présente l'exercice «Quizz» dont l'objectif est de présenter un jeu de questions à un utilisateur. Ce dernier peut «avancer» ou «reculer» dans un jeu de questions. Les questions faciles s'affichent en bleu et les questions difficiles en rouge (mais uniquement si le mode «balaise» est activé). Les réponses affichées sont comptabilisées (une seule fois) et lorsque le mode «balaise» est désactivé alors qu'une question difficile est affichée, elle doit-être remplacée par une question facile.;br /> Cet exercice doit être réalisé en Swift avec Storyboard.Fri, 03 Oct 2014 11:39:40 +0200E_master_devMobile_2014_453.10 XLIV - «Dizainier» en Swift + mode Kindergarden http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=44Cette séquence présente l'exercice «Dizainier» dont l'objectif est principalement la manipulation de plusieurs mécanismes d'interaction avec l'utilisateur dans iOS. L'application doit afficher un nombre dont la valeur est déterminée soit via un «stepper», soit via un «slider», soit via un «SegmentedControl». Un bouton permet de la remettre à zéro et l'affichage peut se faire en mode décimal ou hexadécimal (mode «geek»). La valeur 42 est affichée en rouge, les autres en noir.<br /> Cet exercice doit être réalisé en Swift avec Storyboard.Fri, 03 Oct 2014 11:39:38 +0200E_master_devMobile_2014_443.09 XLIII - Petite conclusion sur Swift http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=43Cette séquence fait le point sur les notions de Swift présentées dans le cadre de ce cours.Fri, 03 Oct 2014 11:39:37 +0200E_master_devMobile_2014_433.08 XLII - Swift, gestion de la mémoire et cohérence globale http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=42Cette séquence explique les mécanismes permettant à ARC de gérer proprement la mémoire à partir d'un programme en Swift. Nous faisons également le point sur la finalisation (deinit) d'une classe.Fri, 03 Oct 2014 11:39:34 +0200E_master_devMobile_2014_423.07 XLI - Swift, à propos de l'héritage http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=41Cette séquence présente la mécanique de l'héritage entre classes dans Swift.Fri, 03 Oct 2014 11:39:32 +0200E_master_devMobile_2014_413.06 XL - Swift, écrire ses propres classes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=40Cette séquence explique comment Swift met en œuvre la notion de classe.Fri, 03 Oct 2014 11:39:29 +0200E_master_devMobile_2014_403.05 XXXIX - Swift, les «optionals» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=39Cette séquence présente la notion d'«optional» qui permettant d'indiquer l'absence de valeur dans un type.Fri, 03 Oct 2014 11:39:27 +0200E_master_devMobile_2014_393.04 XXXVIII - Swift, tuples et filtrage http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=38Cette séquence présente la notion de Tuple et les possibilités de filtrage offertes dans l'instruction switch.Fri, 03 Oct 2014 11:39:24 +0200E_master_devMobile_2014_383.03 XXXVII - Swift, structures de contrôlehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=37Cette séquence présente les structures de contrôle de Swift.Fri, 03 Oct 2014 11:39:21 +0200E_master_devMobile_2014_373.02 XXXVI - Swift, les types de base http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=36Cette séquence présente les types de base en Swift, à savoir: les types énumérées, les tableaux et les dictionnaires (les chaînes de caractères ont déjà été présentés dans le «guide minimum de survie en Swift»).Fri, 03 Oct 2014 11:39:19 +0200E_master_devMobile_2014_363.01 XXXV - Prolégomènes (sur Swift) http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=35Cette séquence présente les objectifs de la semaine qui est principalement consacrée à Swift.Fri, 03 Oct 2014 11:39:17 +0200E_master_devMobile_2014_352.14 XXXIII - «NuancierRVB» en Objective-C + mode Kindergarden http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=34Cette séquence présente l'exercice «NuancierRVB» dont l'objectif est d'afficher la couleur correspondant à un code RVB exprimé en pourcentage des couleurs primaires. Un bouton «Enregistrer» permet de sauvegarder jusqu'à eux couleurs que l'on peut ensuite réintégrer dans la zone de travail que l'on utilise et un bouton «RaZ» rétablit un «gris moyen» (50% de rouge, vert et bleu). Un mode «web» n'autorise que des pourcentages par pas de 10%.<br /> Cet exercice doit être réalisé avec Storyboard.Fri, 26 Sep 2014 17:13:10 +0200E_master_devMobile_2014_342.13 XXXIII - «Dizainier» en Objective-C + mode Kindergardenhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=33Cette séquence présente l'exercice «Dizainier» dont l'objectif est principalement la manipulation de plusieurs mécanismes d'interaction avec l'utilisateur dans iOS. L'objectif est d'afficher un nombre dont la valeur est déterminée soit via un «stepper», soit via un «slider», soit via un «SegmentedControl». Un bouton permet de la remettre à zéro et l'affichage peut se faire en mode décimal ou hexadécimal (mode «geek»). La valeur 42 est affichée en rouge, les autres en noir.<br /> Cet exercice doit être réalisé avec Storyboard.Fri, 26 Sep 2014 17:13:09 +0200E_master_devMobile_2014_332.12 XXXII - Storyboard, orientations et interfaces différenties, le retourhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=32Cette séquence revient sur la construction avec storyboard d'interfaces différentiées en fonction des orientations et du type de terminal. En particulier, elle propose une «démarche méthodologique» pour réaliser ces opérations facilement.Fri, 26 Sep 2014 17:13:06 +0200E_master_devMobile_2014_322.11 XXXI - Particularisation des boutons avec StoryBoardhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=31Cette séquence présente présente plus en détails la gestion des UIButton et les différentes possibilités que ce mécanisme offre. Certains éléments sont transposables à d'autres mécanismes d'interaction.Fri, 26 Sep 2014 17:13:04 +0200E_master_devMobile_2014_312.10 XXX - Gestion des images dans Xcodehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=30Cette séquence présente la gestion des images en différentes résolutions dans Xcode. Ce mécanisme permet de laisser l'environnement gérer les différentes densités de résolutions que l'on rencontre dans les terminaux actuels.Fri, 26 Sep 2014 17:13:02 +0200E_master_devMobile_2014_302.09 XXIX - Objective-C, gestion mémoire et génération des accesseurs http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=29Cette séquence détaille le comportement du système lorsqu'il génère les accesseurs en fonction des directives décrivant les propriétés d'un attribut (directive @property). Cela permet en particulier de bien comprendre le comportement des différents types d'attributs par rapport à la gestion mémoire.Fri, 26 Sep 2014 17:12:59 +0200E_master_devMobile_2014_292.08 XXVIII - Objective-C, autorelease pool http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=28Cette séquence expose la notion d' «autorelease pool» en Objective C.Fri, 26 Sep 2014 17:12:56 +0200E_master_devMobile_2014_282.07 XXVII - Objective-C, le compteur de rélérences http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=27Cette séquence se focalise sur la gestion de la mémoire en Objective C. Nous abordons en particulier le compteur de références d'un objet, la façon il évolue et quelques implications sur les liaisons entre objets.Fri, 26 Sep 2014 17:12:53 +0200E_master_devMobile_2014_272.06 XXVI - Désactiver ARC dans Xcode http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=26Cette séquence présente rapidement comment désactiver ARC dans Xcode.Fri, 26 Sep 2014 17:12:50 +0200E_master_devMobile_2014_262.05 XXV - Objective-C, le cycle de vie d'un objet http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=25Cette séquence présente le cycle de vie d'un objet en Objective-C et explicite les aspects délicats que sont sa création et sa destruction. Ces aspects sont importants car liés à la gestion mémoire.Fri, 26 Sep 2014 17:12:49 +0200E_master_devMobile_2014_252.04 XXIV - Objective-C, attributs de classes et «properties» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=24Cette séquence explicite les relations entre les attributs d'une classe et la notion de «property» en Objective-C.Fri, 26 Sep 2014 17:12:45 +0200E_master_devMobile_2014_242.03 XXIII - Objective-C, écrire ses propres classeshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=23Cette 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, 26 Sep 2014 17:12:43 +0200E_master_devMobile_2014_232.02 XXII - Objective-C, quelques classes de base utiles http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=22Cette séquence présente rapidement quelques classes très fréquemment utilisées en Objective-C : NSArray, NSMutableArray, NSDictionnary, NSMutableDictionary, NSSet et NSMutableSet.Fri, 26 Sep 2014 17:12:40 +0200E_master_devMobile_2014_222.01 XXI - Prolégomènes http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=21Cette séquence présente les objectifs de la semaine.Fri, 26 Sep 2014 17:12:34 +0200E_master_devMobile_2014_211.20 «Couleurs» http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=20Cette séquence présente l'application «Couleurs» qui doit fonctionner sur des «petits terminaux» Uniquement.<br /> <br /> Vous devez 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.<br /> <br /> Le choix du langage de programmation (Objective-C ou Swift) est laissé libre à l'utilisateur. Nous vous recommandons cependant d'essayer les deux.Mon, 15 Sep 2014 11:53:57 +0200E_master_devMobile_2014_201.19 «Bonrevoir»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=19Cette séquence présente l'application «Bonrevoir» qui doit fonctionner sur des «petits terminaux» Uniquement.<br /> <br /> Vous devez 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.<br /> <br /> Le choix du langage de programmation (Objective-C ou Swift) est laissé libre à l'utilisateur. Nous vous recommandons cependant d'essayer les deux.Mon, 15 Sep 2014 11:53:52 +0200E_master_devMobile_2014_191.18 Construction d’un «Hello World»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=18Cette séquence illustre l'utilisation de l'environnement xCode (avec Storyboard) pour créer un «Hello World» sous iOS.Mon, 15 Sep 2014 11:53:47 +0200E_master_devMobile_2014_181.17 Guide minimum de survie en swifthttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=17Cette séquence expose rapidement le minimum de notions du langage swift permettant la réalisation d'une première application simple. Nous abordons dans un premier temps les concepts de base (classes et méthodes). Enfin, nous nous intéressons à quelques éléments utiles: les primitives print et println, les mécanismes de déclaration de variables et la gestion des chaînes de caractères.Mon, 15 Sep 2014 11:53:42 +0200E_master_devMobile_2014_171.16 Guide minimum de survie en Objective-Chttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=16Cette séquence expose rapidement le minimum de notions du langage Objective-C permettant la réalisation d'une première application simple. Nous abordons dans un premier temps les concepts de base (notion de méthodes et sélecteurs). Enfin, nous nous intéressons à quelques éléments utiles: la primitive NSlog ainsi que les classes NSString et NSMutableString.Mon, 15 Sep 2014 11:53:37 +0200E_master_devMobile_2014_161.15 Les contraintes dans «StoryBoard»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=15Cette séquence présente, à travers plusieurs exemples, l'utilisation des contraintes dans storyboard pour:<br /> <br /> gérer le repositionnement des objets d'une interface lors d'une rotation,<br /> proposer des interfaces différentiées en fonction des orientations,<br /> proposer des interfaces différentes en fonction des types de terminaux.Mon, 15 Sep 2014 11:53:32 +0200E_master_devMobile_2014_151.14 Orientation du terminal http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=14Cette séquence présente les problèmes liés au changement d'orientation du terminal (et du réagencement potentiel des composants de cette interface). Nous nous intéressons également à la notion d'«application universelle» fonctionnant à la fois sur «petit» et «grand» terminaux. Nous expliquons les choix effectués dans Storyboard pour résoudre ces problèmes.Mon, 15 Sep 2014 11:53:22 +0200E_master_devMobile_2014_141.13 Les bases de «StoryBoard»http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=13Cette séquence présente dans un premier temps les éléments de l'interface de Storyboard avant d'en démontrer l'usage à travers la création d'une interface simple.Mon, 15 Sep 2014 11:53:18 +0200E_master_devMobile_2014_131.12 Principes de construction de l’interface (mode «kindergarden») http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=12Cette séquence présente Storyboard, l'outil permettant de créer des interfaces graphiques pour des applications iOS. StoryBoard est l'un des composants inclus dans l'environnement Xcode.<br /> <br /> StoryBoard sera utilisé pour les premiers exercices de cet enseignement uniquement.Mon, 15 Sep 2014 11:53:12 +0200E_master_devMobile_2014_121.11 Xcode, création d’un projethttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=11Cette séquence présente les différentes étapes de la création d'un projet sous Xcode avec les différentes options que l'on peut utiliser.Mon, 15 Sep 2014 11:53:02 +0200E_master_devMobile_2014_111.10 Xcode, les baseshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=10Cette séquence présente les fonctions de bases d'Xcode et les différents éléments de son interface.Mon, 15 Sep 2014 11:52:58 +0200E_master_devMobile_2014_101.09 Généralités sur l’environnement de développement d’appications iOS http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=9Cette séquence présente globalement l'environnement de développement d'apple. Il est le prélude de plusieurs séquences de démonstration de cet environnement.Mon, 15 Sep 2014 11:52:49 +0200E_master_devMobile_2014_91.08 Déploiement d’une application iOS, pas à pas http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=8Cette séquence présente les étapes de la configuration d'une machine en vue du développement d'une application, puis de la manière dont le déploiement se fait sur un terminal mobile en fonction du type des abonnements dont dispose l'utilisateur. La séquence se termine sur le déploiement tel que les étudiants du master informatique, spécialité «Systèmes et Applications Répartis», déploieront les applications en salle de TP.Mon, 15 Sep 2014 11:52:25 +0200E_master_devMobile_2014_81.07 Principes de déploiement d’une application iOS http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=7Cette séquence présente les trois manières de déployer une application iOS sur des terminaux mobiles en identifiant 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.Mon, 15 Sep 2014 11:52:18 +0200E_master_devMobile_2014_71.06 La chaîne de production d’applications iOS http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=6Cette séquence présente le processus de construction d'une application iOS et les outils logiciels impiqués.Mon, 15 Sep 2014 11:52:12 +0200E_master_devMobile_2014_61.05 Quelques éléments sur la programmation événementiellehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=5Cette 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.Mon, 15 Sep 2014 11:51:40 +0200E_master_devMobile_2014_51.04 Quelques éléments sur la programmation embarquéehttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=4Cette séquence aborde les principes du développement de systèmes embarqués en général. Elle discute ensuite des contraintes imposées par ce type de programmation.Mon, 15 Sep 2014 11:51:31 +0200E_master_devMobile_2014_41.03 Qu’est-ce qu’un «terminal mobile»?http://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=3Cette séquence présente les terminaux mobiles, et les contraintes qui président au développement d'applications sur ces derniers. Quelques éléments sur l'économie générée par l'écosystème iOS sont abordés en conclusion.Mon, 15 Sep 2014 11:51:07 +0200E_master_devMobile_2014_31.02 Utiliser le site compagnon de cet enseignementhttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=2Cette séquence présente rapidement l'utilisation du site compagnon pour accéder aux des vidéos et aux ressources associées aux différentes séquences.Mon, 15 Sep 2014 11:50:53 +0200E_master_devMobile_2014_21.01 À propos de ce courshttp://video.upmc.fr//differe.php?collec=E_master_devMobile_2014&video=1 Cette séquence présente rapidement le cours et son organisation.<br /> <br /> Le cours «Programmation sur plateforme mobiles» se déroule sur quatorze semaines et vise un public déjà aguerri en programmation. Les onze 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. Mon, 15 Sep 2014 11:50:46 +0200E_master_devMobile_2014_1