TIM.Production sur support - Épreuve synthèse

Documents pareils
Manipulation 4 : Application de «Change».

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Manuel de Documents. Introduction Format des fichiers lus Fonctions supplémentaires Copier et partager des fichiers...

TigerPro CRM Application mobile

GeniusTim_Labo Version 1.0

Programmation MacOSX / ios

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

Paginer les données côté serveur, mettre en cache côté client

Naviguer à bon compte avec sa tablette ou son smartphone

PRIME/ESSENTIAL NAVIGATION QUICK START GUIDE

Paramétrage des navigateurs

Le Web et Internet. A. Historique : B. Définitions : reliés entre eux via un système d interconnexion.

Guide Utilisateur MANTIS. Sommaire. Objet du document :

Rapport de Projet. Application Smartphone de diffusion d informations pour les étudiants. Encadrant du projet : M. Christophe Lang

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Manuel d'utilisation de l'administration du site Japo.ch - 1

contact@nqicorp.com - Web :

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

PARTAGER VOTRE ECRAN AVEC DES ETUDIANTS CONNECTES A PARTIR D'UN NAVIGATEUR OU DE L'APPLICATION NETOP VISION STUDENT

Manuel d utilisateur Traceur GPS/GSM/GPRS TK-102

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée

Tutoriel Team-Space. by DSwiss AG, Zurich, Switzerland V

Guide pour la configuration d adresse

CONFIGURER UNE CONNEXION RTC SOUS WINDOWS XP/VISTA/SEVEN OU MAC OS

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

EIP 2012 Projet Livepad. Documentation technique 1.5

Formation pour les parents Se familiariser avec la tablette ipad et les applications d apprentissage pour enfants

Base de connaissances

Logiciel ArpentGIS-PC Guide de l utilisateur

Problème d affichage de rapports ou relevés dans HEC en ligne lié aux bloqueurs de pop-up

GesTab. Gestion centralisée de tablettes Android

Installation d un manuel numérique 2.0

L écran du marais : Comment configurer le viewer OpensSim

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Poste virtuel. Installation du client CITRIX RECEIVER

Créer un compte itunes Store

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Ma campagne de liens sponsorisés avec AdWords

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Manuel d'installation de GESLAB Client Lourd

L51W Guide de l application

OpenText Content Server v10 Cours (ex 101) L essentiel de la gestion des connaissances

Documentation module hosting

DU Endoscopie. Guide d utilisation. chirurgicale. Diplôme Universitaire d Endoscopie Chirurgicale

TRACcess ekey. Référence rapide

Présentation Windows Azure Hadoop Big Data - BI

Tutorial Messagerie Professionnelle : DALTA-

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Guide d installation

GUIDE de prise en main. let s play

Java 7 Les fondamentaux du langage Java

Accéder à la plateforme d assistance de la Direction Informatique de l Université Paris-Sud 11. via

User Manual Version 3.6 Manuel de l Utilisateur Version

C RÉATION DE PDF (1) Cours SEM 205 Mieux utiliser le format PDF

Module d introduction Comment réaliser vos propres cartes avec ArcGIS Online

Tango go.box - Aide. Table des matières

Introduction à JDBC. Accès aux bases de données en Java

Modules InnovationCRM

À la découverte du SDK de l iphone et de l ipad

Manuel d utilisation DeveryLoc

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Interaction entre réseaux sociaux et sites web

MACHINE A SOUDER MANUEL D UTILISATION

Guide utilisation SFR Sync. SFR Business Team - Présentation

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Description de la procédure pour ouvrir un compte et pour procéder aux achats en ligne

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

MITEL MICOLLAB CLIENT

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés Volubis.fr

AJOUTER UN COMPTE DE MESSAGERIE SUR UN SMARTPHONE

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

ROUTE 66 MOBILE 8 Manuel d utilisation

Transmetteur Wifi Heden NOTICE D UTILISATION

Application CarPostal Informations relatives aux services mobiles de CarPostal

Comment accéder à d Internet Explorer

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

MEGA ITSM Accelerator. Guide de Démarrage

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Mode d'emploi, If Cinéma

FAIRE UN PAIEMENT TIPI

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Les calques supplémentaires. avec Magix Designer 10 et autres versions

FLUX POPCLUSTER PROCÉDURE D INSTALLATION ET D UTILISATION

GUIDE RAPIDE FONCTION MAINS LIBRES AVEC RECONNAISSANCE VOCALE

Manuel d'utilisation: Gestion commerciale - CRM

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

3 : créer de nouveaux onglets dans Netvibes Cliquer sur le bouton «+» et renommer le nouvel onglet (par exemple Encyclopédies en ligne)

Sommaire. 2. L accès aux modules. 1. Aspects techniques. 1.1 Le matériel requis 2

GUIDE UTILISATEUR PRESTASHOP

inviu routes Installation et création d'un ENAiKOON ID

Dongle WiFi de QUMI Manuel de l utilisateur

Application Fitness V4 by newgen medicals

Transcription:

2012 TIM.Production sur support - Épreuve synthèse Réalisation d une application ios TIM Météo média Devis préparé par Alain Boudreault 31/12/2012

2 Épreuve synthèse (90%) Produire une application ios 6.x Devis préparé par Alain Boudreault Pour les étudiants et étudiantes du cours Production multimédia sur support Aut.2012 Version préliminaire

3 Contenu Description Pondération Livrables

4 Description Résumé Vous devez réaliser, à l aide d un ordinateur, de MAC OS X, de XCode, du framework cocoa touch (NS, UI, ), de services de données Internet et d ObjectiveC, une application ios qui permet de consulter la météo des grandes villes du monde ainsi que la météo en cours à la position GPS de l appareil. Détails Vous devez programmer une application ios qui : A) Utilise le storyboard suivant

5 B) Affiche une page de démarrage Titre pendant 5 secondes Astuce Utiliser un NSTimer [NSTimer scheduledtimerwithtimeinterval:duree_intro target:self selector:@selector(entrer) userinfo:nil repeats:no]; Ou bien [self performselector:@selector(uneméthode) withobject:self afterdelay:5];

6 C) Passe à l écran principal de l application suite à l exécution d un segue par programmation. Astuce [self performseguewithidentifier: @"villesdumonde" sender: self];

7 D) Propose un TabBarController comme moyen de navigation Astuce Le menu TabBar donne accès à trois pages ViewController 1. La météo des villes du monde 2. La météo selon la position GPS actuelle 3. La page À propos

8 1 La météo des villes du monde Cette page écran affiche la météo actuelle de toutes les villes du tableau des villes grâce à : a) un NSTimer de 5 minutes, b) un NSMutableArray de villes renseigné par le fichier lesvilles.plist, c) au résultat JSON d une requête SQL sur la base de données de Yahoo, d) un UICollectionView, e) une cellule perso de type UICollectionViewCell, f) au principe de délégation, g) des images locales, et h) la sélection d éléments dans un NSDictionary selon la syntaxe _resultatsmeteo [@"query"][@"results"][@"channel"]. La sélection d une ville, à l écran, va lancer un déplacement (segue) vers la page de détails. Éléments requis Heure de la dernière lecture de la météo des grandes villes UICollectionView Détails Aux cinq minutes. Astuces : NSTimer + - (void)actualiserlesdonneesecran { [self lirelameteo]; [self.uicollectiondesvilles reloaddata]; } // *** fin - actualiserlesdonneesecran Avec une cellule (UICollectionViewCell) par ville

9 Astuce 1 Au chargement de la view, créer un tableau modifiable à partir du fichier «lesvilles.plist» NSString *nomfichierdesdonnees = [[NSBundle mainbundle] pathforresource:@"lesvilles" oftype:@"plist"]; _tableaudesdonnees = [[NSMutableArray alloc]initwithcontentsoffile:nomfichierdesdonnees]; Puis, construire la requête SQL à partir du tableau. for (int i=0; i<infovilles.count;i++){ [ensemblelocalisations appendformat:@"'%@'", infovilles[i][@"localisation"]]; if (i < infovilles.count - 1){ [ensemblelocalisations appendstring:@","]; } } Astuce 2 Placer les informations reçues de Yahoo dans le même tableau. Il sera plus facile ainsi de renseigner les UICollectionViewCell. _lameteo = [self convertirjson:url_requete]; NSString * resultat = _lameteo[@"query"][@"results"]; if ([resultat isequal:[nsnull null]]){ NSLog(@"Erreur: La requête n'a pas retourné de résultats..."); } else { int nbvilles = ((NSArray *)_lameteo[@"query"][@"results"][@"channel"]).count; for(int i = 0; i < nbvilles; i++) { temperature = _lameteo [@"query"][@"results"][@"channel"] [i] [@"item"][@"condition"][@"temp"]; _tableaudesdonnees[i][@"temperature"] = temperature; } // for nbvilles } // Le résultat contient des données - (UICollectionViewCell *)collectionview:(uicollectionview *)cv cellforitematindexpath:(nsindexpath *)indexpath { CelluleView *cell = [cv dequeuereusablecellwithreuseidentifier:@"unecellule" forindexpath:indexpath]; cell.uitemperature.text = [self formatmeteo:_tableaudesdonnees[indexpath.row][@"temperature"]]; return cell; } // *** fin cellforitematindexpath

10 1.1 Prévisions pour la ville sélectionnée Une sélection sur une cellule du UICollectionView de la page précédente va afficher : Éléments requis Nom de la ville dans la barre titre du NavigationController L image correspondante au code météo Le taux d humidité relative Température actuelle La pression atmosphérique L heure de lever du soleil L heure de coucher du soleil Aujourd hui : Prévision des températures maximum et minimum de la journée ainsi que l image selon le code Demain : Prévision des températures maximum et minimum de la journée suivante ainsi que l image selon le code Détails

11 Astuce Les prévisions météo de toutes les villes sont dans le tableau créé par NSJSONSerialization. Il est donc possible de passer la ville sélectionnée à la classe du «view» de détails Météo. - (void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender { // indexpathsforselecteditems.lastobject > Indique la cellule sélectionnée NSIndexPath * elementcourant = _UICollectionDesVilles.indexPathsForSelectedItems.lastObject; if ([[segue identifier] isequaltostring:@"details"]) { DetailsVilleCouranteViewController *vc = [segue destinationviewcontroller]; vc.title = _tableaudesdonnees[elementcourant.row][@"nomville"]; vc.codeville = _tableaudesdonnees[elementcourant.row][@"localisation"]; vc.villecourante = _lameteo [@"query"][@"results"][@"channel"] [elementcourant.row]; } // if segue=""details" } Dans DetailsVilleCouranteViewController.h // =========================================================== @property (strong, nonatomic) NSDictionary * villecourante; @property (strong, nonatomic) NSString * codeville; // =========================================================== 1.2 Page web de la ville sélectionnée Le bouton suivant va afficher la page web météo de la ville courante :

12 Astuce Passer le code de la ville (prepareforsegue) à la classe de la view qui affiche la page web. Le codede ville va servir à construire l URL. NSString * URL = [NSString stringwithformat:@"%@%@%@",@"http://cf.weather.yahoo.com/forecast/", _codeville, @".html"]; NSURLRequest *requestobj = [NSURLRequest requestwithurl:url]; [_UIPageWeb loadrequest:requestobj];

13 2 Météo selon la position GPS Cette page écran affiche la météo selon la position actuelle du téléphone. Éléments requis Nom de la ville selon la position GPS actuelle Latitude et Longitude de la position GPS Température actuelle Température avec le facteur vent L image correspondante au code météo La température maximum et minimum de la journée Le taux d humidité relative La vitesse du vent Détails [@"wind"][@"chill"] [@"item"][@"condition"][@"code"] [@"item"][@"forecast"][0][@"high"] [@"atmosphere"][@"humidity"]

14 Astuce 1 Ajouter les frameworks Astuce 2 Obtenir la latitude et la longitude avec : - (void)mapview:(mkmapview *)mapview didupdateuserlocation:(mkuserlocation *)userlocation { NSString * latitudelongitude= [NSString stringwithformat:@"'%f,%f'", userlocation.coordinate.latitude, userlocation.coordinate.longitude]; Astuce 3 Utiliser la requête SQL select * from weather.forecast where woeid in (select woeid from geo.placefinder where text='%@' and gflags='r') and u='c' Note: maximum de 100 requêtes par jour. Astuce 4

15 3 La page À propos' Éléments requis Votre nom Votre matricule Une courte vidéo de présentation du projet Détails Pour la remise des notes Vidéo originale Astuce -(void) viewdidappear:(bool)animated { [mavideo play]; } -(void) viewdiddisappear:(bool)animated { [mavideo stop]; }

16 Pondération StoryBoard et navigation entre les pages 16 Utilisation correct des contraintes de positionnement des éléments visuels 4 Apparence visuelle 8 Programmation de la requête SQL - Météo des villes 2 Lecture des infos météo sur Yahoo à partir du code des villes 2 Programmation de la conversion du format JSON en NSDictionary 2 Création d'un tableau des villes à partir du fichier plist 2 Écriture de la température et du code de l'image dans le tableau des villes 3 Afficher l'écran d'accueil pendant 5 secondes 3 Construction visuelle du UICollectionViewCell 5 Classe perso pour UICollectionViewCell 2 Classe perso pour le 'view' de la page des détails de la ville courante 2 Programmation des méthodes de délégation du UICollectionView 5 Préparation du segue vers l'écran de détails et passage des infos de la ville courante 3 Préparation du segue vers l'écran de la page web et passage du code la ville courante 1 Justesse des informations de la page des détails 6 Justesse des informations de la page des villes 4 Justesse des informations de la page web 2 Programmation d'une méthode pour l'ajout des symboles C, % et km/h 2 Utilisation correcte d'un MKMapView avec affichage de la position actuelle 2 Lecture de la position GPS courante 2 Lecture des infos météo sur yahoo à partir de la latitude et de la longitude 3 Présentation d'une vidéo perso sur la page 'À propos' 5 Afficher l'image correspondante au code météo 2 Mise à jour des informations aux 5 minutes 2 Vérification d'une éventuelle erreur de connexion réseau + arrêt du NSTimer 2 Icône de l'application 2 Organisation des fichiers dans le projet 3 Normalisation du code par l'utilisation de méthodes 3 Total 100

17 Note: Un visuel correct (storyboard complet) et une navigation fonctionnelle entre les 'view's donne la note de passage. Au besoin, il faudra programmer des éléments en dur pour le UICollectionView pour tester la navigation. Même chose pour l écran de la page WEB. Livrables Le dossier du projet en format.zip (à partir de Mac OSX) sur remise.