1 Laboratoire - TIM-Magazine (projet 1)

Documents pareils
Guide de démarrage rapide. (pour la version 5.0.)

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Manipulation 4 : Application de «Change».

Utilisation du logiciel Epson Easy Interactive Tools

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Logiciel de gestion pour restaurants et Bars

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

Utilisation d une tablette numérique

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

Manuel de l utilisateur

!!! Archipad version 1.4. Manuel de Référence

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Manuel utilisateur Netviewer one2one

Rapport de Post- Campagne 1

Cours de numérisation sur Epson Perfection

MANUEL DE WEBCAM STATION EVOLUTION

Manuel Utilisateur Chariot odys.sante-lorraine.fr

ht t p: // w w w.m e di al o gis.c om E - Ma i l : m ed i a l og i m e di a l o g i s. c om Envoi des SMS

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

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

Une approche mobile Le développement et le soutien d occasions. Nipissing University. L occasion d innover

Des outils numériques simples et conviviaux!

DÉBUTER AVEC LES RÉSEAUX SOCIAUX

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Infolettre #18 : Les graphiques avec Excel 2010

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur


Réalisez votre propre carte de vœux Éléctronique

Tune Sweeper Manuel de l'utilisateur

Réaliser un PUBLIPOSTAGE

RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA

L application est utilisable pour toute personne disposant d un compte Qobuz.

Manuel d utilisation TruView 3.0

Guide de l utilisateur Mikogo Version Windows

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

Créer un compte itunes Store

Guide de correction et d optimisation des images en vue de leur publication sous Marcomedia Contribute. Logiciel utilisé : Adobe PhotoShop 7

Je sais utiliser. Création d une galerie photo pour un site Web. Picasa crée les documents. HTML pour insérer une galerie de photos dans un site web

Solutions en ligne Guide de l utilisateur

pas à pas créer un dossier photo depuis l application Cloud d Orange sur votre mobile ios puis visualisez-le en haute qualité sur la TV d Orange

Optimiser pour les appareils mobiles

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Déploiement d iphone et d ipad Gestion des appareils mobiles (MDM)

Guide à l intention des parents sur ConnectSafely.org

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Guide plateforme FOAD ESJ Lille

Création d un site Internet

Manuel du logiciel PrestaTest.

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Espace Client Aide au démarrage

INSCRIPTION EN LIGNE ET PAIEMENT PAR CARTE DE CRÉDIT:

Traitement d un AVI avec Iris

Windows Internet Name Service (WINS)

Gestion des réunions dans Outlook 2007

Questions fréquemment posées par les candidats externes

WinBooks Logistics 5.0

Java 7 Les fondamentaux du langage Java

Guide de l'utilisateur

Utiliser iphoto avec icloud

Android. Trucs et astuces

ENVOI EN NOMBRE DE SMS

Tutoriel de connexion au site du Royal Moana (ver 1.5)

Création de maquette web

Comment l utiliser? Manuel consommateur

Création WEB avec DreamweaverMX

Styler un document sous OpenOffice 4.0

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Factures jointes par le travailleur indépendant Guide de l utilisateur pour les feuilles de temps en ligne

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

I DIFACT. COGESTIB SA I DIFACT (Facturation Diverse) Page 1 / 22

Chapitre 4 : Guide de Mouvement et Masque

Création de site Internet avec Jimdo

Synchroniser ses photos

Travaux pratiques avec RapidMiner

Guide de l utilisateur

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

34BGuide de l utilisateur de la boutique en ligne. TAccueil de la boutique e-transco de la Côte-d Or

ESPACE COLLABORATIF SHAREPOINT

Manuel d utilisation de la messagerie.

Réalisation de cartes vectorielles avec Word

Convention sur la conservation des espèces migratrices appartenant à la faune sauvage

Partager mes photos sur internet

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Vous souhaitez vos documents de manière à pouvoir y accéder pour, ou non, et ce, depuis le lieu et l ordinateur de votre choix.

Emmanuel CROMBEZ 30 mai 2015

Formation. Module WEB 4.1. Support de cours

Utilisation de la plateforme VIA ecollaboration

Projet tablettes numériques Document de référence

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Connecter les formulaire d identification Qualifio à votre système d enregistrement (SSO) Mars 2012

Créer une trace, obtenir son fichier gpx et sa carte Ou Afficher un fichier trace GPX

ENVOI EN NOMBRE DE SMS

Mode d emploi : Module SMS

Présentation du tableau blanc interactif Interwrite

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

Transcription:

1 Laboratoire - TIM-Magazine (projet 1) Objectif général Programmer une application ios qui offre à l utilisateur la possibilité d habiller sa photo à partir de maquettes de magazines et de pouvoir publier le résultat sur les réseaux sociaux facebook et twitter Éléments couverts 1. Élaboration d une interface utilisateur 2. Chargement et suppression de scènes par programmation 3. Capture de la scène vers une image 4. Enregistrement d une image dans l album photo 5. Ajout et utilisation du framework social 6. Configuration d un compte twitter et facebook sous ios 7. Publication, par programmation, de messages sur twitter et facebook 8. Programmation d événements 9. Utilisation de la POO Note: Le texte en rouge indique une tâche à réaliser en laboratoire.

1.1 Étape 1 Réalisation des maquettes Il faut créer un nouveau projet de type Single View pour le ipad. Ne pas choisir l option Storyboard. Placer une photo de vous sur la scène principale du projet. Nous viendrons y superposer une maquette de magazine à une étape ultérieure du projet. Au bas de l écran, il faut placer deux boutons personnalisés qui serviront à publier nos pages sur les réseaux sociaux.

Vous devez avoir une scène par maquette. Pour créer une nouvelle scène, il suffit d ajouter au projet, un nouveau fichier de type View : Note : Les scènes seront ultérieurement chargées par programmation.

Pendant l étape d élaboration des maquettes, il est recommandé de fixer la couleur de la scène à noir. Cela va permettre de distinguer le texte blanc. Nous changerons le fond de noir à transparent : clear color à l étape de chargement des interfaces.

1.1.1 Conception de la page couverture numéro 1: Note: La flèche rouge indique une zone de saisie de texte

1.1.2 Conception de la page couverture numéro 2:

1.1.3 Conception de la page couverture numéro 3:

1.1.4 Conception de la page couverture numéro 4: Réalisez une page couverture de votre choix. 1.2 Chargement de la maquette 1 par programmation Pour charger une scène par programmation, il suffit d utiliser la méthode loadnibnamed de la classe NSBundle. La classe NSBundle offre des méthodes qui permettent de manipuler les fichiers de l application. Par exemple, - (void)viewdidload { [super viewdidload]; UIView * ecranmagazine; // Chargement d une page à partir d un fichier NIB ecranmagazine = [[[NSBundle mainbundle] loadnibnamed:@"magazine01" owner:self options:nil] objectatindex:0]; } // Ajouter la nouvelle View à la scène principale [self.view addsubview: ecranmagazine]; Il ne faut oublier de renseigner la couleur d arrière-plan de la maquette en transparence sinon les objets de la scène principale seront masqués par le nouvel objet. Remarquez aussi que les boutons (facebook et twitter) ne reçoivent plus les évènements de l utilisateur car ils sont derrière la maquette du magazine. La solution à ce problème est d insérer la maquette au lieu de l ajouter à la scène. [self.view insertsubview:pagecourante atindex:[self.view.subviews count]-2]; L expression self.view.subviews count]-2 permet de pointer avant les deux derniers objets de la scène.

Note: Une solution élégante serait de placer tous les boutons dans une View et de placer cette dernière à la fin de la liste des objets de la scène. Nous pourrions alors utiliser la syntaxe suivante pour insérer la maquette avant la palette des boutons : [self.view insertsubview:pagecourante atindex:[self.view.subviews count]-1]; Résultat sur le simulateur: Vérifiez que les boutons twitter et fb sont accessibles.

1.3 Passer d une maquette à l autre version menu boutons Notre application possède quatre (4) maquettes de magazine. La maquette numéro 01 est insérée automatiquement au chargement de l app. Ajoutons un objet UISegmentedControl dans notre panneau de bouton. Puis, renseignons le nombre de segments ainsi que les titres. Il faut maintenant définir une action de l objet vers le controleur de la scène fichier viewcontroller.h

Plaçons une trace dans la méthode changermagazine pour confirmer qu il y a effectivement appel suite à une sélection. - (IBAction)changerMagazine:(id)sender { // À faire en classe: Modifier la signature du sender NSLog(@"changerMagazine: la sélection vaut %d:", ((UISegmentedControl*) sender).selectedsegmentindex); }

De façon empirique, nous constatons que l objet UISegmentedControl retourne une valeur entre 0 et nbéléments-1. Il ne reste plus qu à programmer une structure logique qui insérera la couverture magazine correspondant à la sélection de l utilisateur. Note : Pour enlever un objet de la scène il faut utiliser la syntaxe suivante : [ecranmagazine removefromsuperview]; Note : L utilisation de cette méthode, dans le cas où un l objet n est pas dans une scène, ne provoque pas de plantage de l application. Voici comment définir une variable globale à notre classe : @interface ViewController () { UIView * ecranmagazine; } 1.3.1 À faire par l étudiant en laboratoire Programmer le chargement de la maquette de magazine correspondant au choix de l utilisateur. Il est important de normaliser le code. Pas de structures lourdes dans votre code. Ne pas utiliser l instruction if ou switch. Il est possible de réaliser la tâche avec un maximum de 4 lignes de code :

- (IBAction)changerMagazine:(id)sender { // 1 - Retirer le magazine courant de la scène // 2 - Construire une chaine de caractères qui décrit le nom du fichier // 3 - Charger le magazine à partir d un nom d un fichier NIB } // 4 - Ajouter le magazine à la scène principale

1.3.2 Résultat final :

1.4 Utilisation des réseaux sociaux Notre application est presque terminée. Il reste à capturer l écran et à l envoyer vers les réseaux facebook et twitter. 1.5 Capture de l écran Avant de pouvoir soumettre la couverture d un de nos magazines, il va falloir faire une capture de la scène vers une instance de la classe UIImage. Définissons des liens d action entre les boutons FB + twitter et notre contrôleur :

Ajoutons le code suivant dans le fichier d implémentation du contrôleur de la scène: // Pour avoir accès à.layer #import <QuartzCore/QuartzCore.h> @interface ViewController () { UIView * ecranmagazine; UIImage * _imagefinale; // Pour stocker une copie de la scène sous forme d image } @end -(void) sauvegarder{ // Description : méthode servant à capturer l écran et au besoin, // en faire une sauvegarde dans l album photos. // 1 - Préparer un contexte de dessin à partir de la taille de la scène UIGraphicsBeginImageContext(self.view.bounds.size); // 2 Dessiner à partir du claque par défaut de la scène [self.view.layer renderincontext:uigraphicsgetcurrentcontext()]; // 3 Stocker le résultat dans notre objet local _imagefinale = UIGraphicsGetImageFromCurrentImageContext(); // 5 Fermer le contexte de dessin UIGraphicsEndImageContext();

// 6 Facultatif - Stocker une copie de la capture d écran dans l album photos UIImageWriteToSavedPhotosAlbum(_imageFinale, nil, nil, nil ); } Testons l application : Passons d un magazine à l autre et appuyons sur les boutons FB + twitter Simulons une utilisation du bouton du ipad ce qui va nous permettre d avoir accès à l album photos :

Choisissons l application photos : Succès, nos captures d écrans sont effectivement dans l album photos du ipad!

Il ne reste plus qu à poster le résultat sur notre réseau social préféré 1.5.1 Poster sur le réseau social «twitter» Il est très facile de poster un commentaire soit sur facebook ou twitter. Ces deux réseaux sont directement intégrés dans le système ios. Pour ce faire il suffit d ajouter le framework à notre projet ainsi que quelques lignes de code. Note: Il est important d inscrire les informations de nos comptes facebook et twitter à même les préférences de ios. Il n est pas possible de fournir ses informations à même notre application. Configuration d un réseau social sous ipad :

Ajoutons la librairie social à notre projet : Ajoutons le code suivant au contrôleur de la scène. // Pour avoir accès aux classes des réseaux sociaux // Attention, il faut aussi ajouter le framework 'Social.framework'

#import <Social/Social.h> - (IBAction)posterSurTwitter:(id)sender { NSLog(@"posterSurTwitter"); [self sauvegarder]; // Les étapes pour utiliser twitter // 1 - Tester si le service et les informations de connexion sont dispo if ([SLComposeViewController isavailableforservicetype:slservicetypetwitter]) { // 2 - Créer un feuille pour le 'post' SLComposeViewController *tweetsheet = [SLComposeViewController composeviewcontrollerforservicetype:slservicetypetwitter]; } // 3 - Composer le message [tweetsheet setinitialtext:@"tim.magazine - via labo app ios, Production sur support 2013. #CSTJ"]; // 4 - Ajouter une image - facultatif [tweetsheet addimage:_imagefinale]; // Notre capture d'écran... // 5 - Ajouter un lien - facultatif // [tweetsheet addurl:[nsurl URLWithString:@"http://tim.cstj.qc.ca"]]; // 6 - Présenter la fenêtre de confirmation à l'utilisateur [self presentviewcontroller: tweetsheet animated: YES completion: nil]; } // if twitter disponible... Testons l application et le bouton twitter :

Encore une fois, succès! Il ne reste plus qu à confirmer en personnalisant le texte et en appuyant sur le bouton send. Vérifions notre compte twitter :

Résultat final :

1.5.2 Poster sur le réseau social facebook La technique est presque qu identique qu avec twitter Voici un extrait du code requis : if([slcomposeviewcontroller isavailableforservicetype:slservicetypefacebook]) { SLComposeViewController *controller = [SLComposeViewController composeviewcontrollerforservicetype:slservicetypefacebook]; [controller setinitialtext:@"le texte à poster "]; // [controller addurl:[nsurl URLWithString:@"http://tim.cstj.qc.ca"]]; // au besoin // [controller addimage: uneimage]; // au besoin [self presentviewcontroller:controller animated:yes completion:nil]; } 1.5.3 À faire par l étudiant en laboratoire 1. Programmer l application pour qu il soit possible de poster le résultat d une page magazine vers le réseau facebook. 2. Masquer la palette de boutons avant la capture de l écran et la réafficher après.