Polytech Marseille Informatique Développement mobile - TP 3. Stéphane Ayache, Nicolas Baudru
|
|
- Patrick Jean
- il y a 8 ans
- Total affichages :
Transcription
1 Polytech Marseille Informatique Développement mobile - TP 3 Stéphane Ayache, Nicolas Baudru Objectifs Illustrer la programmation par blocs S amuser avec la géolocalisation Découverte de Grand Central Dispatch Déployer les applications sur des terminaux ios Blocs : mise en oeuvre avec Objective-C La notion de bloc a été introduite par Apple depuis ios5 en extension aux langages C, C++ et Obj C pour simplifier l écriture et la lisibilité des programmes. Ils sont similaires aux fonctions C standard, mais en plus de code exécutable, ils peuvent également contenir des variables et utiliser ou modifier des variables partagées. Un bloc peut maintenir un ensemble d'états (données) qu'il peut utiliser pour modifier son comportement lorsqu'il est exécuté. Les blocs sont particulièrement utiles en tant que callbacks et remplacent ainsi la délégation pour certaines classes dans le SDK. En Objective C, les blocs sont considérés comme des objets. Ils peuvent être définis à l intérieur d autres méthodes, être affectés à une variable, être passés en arguments de méthodes ou peuvent être stockés dans des collections (NSArray, NSDictionary). Nous introduisons ici la syntaxe et la terminologie nécessaires à l utilisation des blocs.
2 Le signe ^ sert à la déclaration d une variable de bloc et à démarrer une expression de bloc. Le code suivant est un premier exemple de déclaration et utilisation d un bloc : int multiplier = 7 ; int (^myblock)( int ) = ^( int num) { return num * multiplier; }; // prints "21" NSLog myblock( 3 )); N hésitez par à vous rendre sur la documentation en ligne, le guide de programmation par blocs est très instructif. bjectivec/workingwithblocks/workingwithblocks.html Un premier bloc Dans le TP précédent, nous avions utilisé le service de Geocoding de Google à des fins pédagogiques : nous avons ainsi vu comment intérroger un service web avec la méthode stringwithcontentsofurl et comment traiter la réponse avec NSXMLParser. Le SDK ios permet aussi le geocoding, et de façon bien plus simple que nous l avons vu! Le code suivant montre comment parvenir au même résultat en cinq lignes : CLGeocoder *geocoder=[[ CLGeocoder alloc ] init ]; [geocoder geocodeaddressstring completionhandler :^( NSArray *placemarks, NSError *error) { CLPlacemark *pl=[placemarks objectatindex : 0 ]; MKCoordinateRegion region= MKCoordinateRegionMakeWithDistance (pl. location. coordinate, 100, 100 ); [ mapview setregion :region animated : YES ]; }]; Dans la méthode geocodeaddressstring:completionhandler:, le premier argument est un NSString contenant l adresse recherchée et le deuxième argument est de type ^(NSArray *placemarks, NSError *error). C est donc un bloc, une fonction qui sera appelée après avoir réceptionné la réponse à la requête Castellane, Marseille. Plus besoin d intérroger le service Google, ni de traiter le résultat avec des NSString ou NSXMLParer.
3 Ouvrez le projet du TP précédent et modifiez le de façon intégrer cette dernière trouvaille. La complétion proposée par XCode, met en évidence les arguments des méthodes (on peut passer d un argument à l autre avec la touche Tab). Lorsque l argument de type bloc est ainsi surligné, appuyez sur Entrée : les accolades du bloc sont directement ajoutées, il ne reste plus qu à ajouter le code dans le corps du bloc. N oubliez pas d ajouter un point virgule après le crochet fermant de la fonction geocodeaddressstring:completionhandler:. Géolocalisation Nous allons ajouter une fonctionalité de géolocalisation à notre application. L application comptera la distance parcourue (depuis son dernier lancement ou réinitialisation), affichera la position courante et le tracé du parcours sur la carte. Initialisation et configuration du locationmanager L API du framework CoreLocation contient la classe CLLocationManager qui permet l accès, le démarrage et l arrêt des différentes ressources de localisation du terminal (position GPS ou autre, boussole, bluetooth). Nous devrons donc instancier un objet de cette classe. Déclarez une variable de type CLLocationManager: CLLocationManager *locationmanager; Dans la fonction ViewDidLoad de la classe ViewController, instanciez cette variable : locationmanager =[[ CLLocationManager alloc ] init ]; Parcourez la documentation ou naviguez dans les fichiers header (via un cmd + clic sur le nom d une classe) pour vous renseigner sur le fonctionnement de CLLocationManager. Vous avez trouvé le nom du protocole associé à cette classe? En effet, CLLocationManager utilise aussi la délégation pour fonctionner. Ainsi, les méthodes startupdatinglocation et stopupdatinglocation permettent respectivement de démarrer et arrêter le service de localisation, tandis que la méthode locationmanager:didupdatelocations: du protocole CLLocationManagerDelegate sera appelée à chaque fois que la position change. Dans notre cas, la classe ViewController sera le délégué de CLLocationManager. Modifiez ViewController.h en conséquence :
4 @interface ViewController: UIViewController < UITextFieldDelegate, CLLocationManagerDelegate > Dans la méthode viewdidload de ViewController.m, après l initialisation de locationmanager, vous pouvez configurer cet objet (regardez notamment les propriétés distancefilter et desiredaccuracy ), puis ajoutez : locationmanager. delegate = self ; Avec ios7, l accès à la position de l utilisateur ne nécessite pas d autorisation (!). Nous pouvons donc directement démarrer la géolocalisation : [ locationmanager startupdatinglocation ]; Depuis ios8, l accès à la position de l utilisateur nécessite une autorisation. Si vous utilisez une version de XCode avec le SDK ios 8, vous devrez d abord spécifier que l application effectuera cette demande : dans le panneau de configuration du projet, allez dans l onglet Info et ajoutez une entrée à la liste Custom ios Target Properties. L entrée est de type String et sa clé est NSLocationWhenInUseUsageDescription. Dans viewdidload, une fois le locationmanager configuré (regardez notamment les propriétés distancefilter et desiredaccuracy ), on vérifie le status d autorisation. S il est indeterminé, il faut faire la demande d autorisation. Si la demande a déjà été validée, on peut démarrer le service. Sinon, on affiche un message sur la console. CLAuthorizationStatus status=[ CLLocationManager authorizationstatus ]; if (status== kclauthorizationstatusnotdetermined ){ [ locationmanager requestwheninuseauthorization ]; } else if (status== kclauthorizationstatusauthorizedwheninuse ){ [ locationmanager startupdatinglocation ]; } else { NSLog ); } A la première exécution, la méthode de délégué locationmanager:didchangeauthorizationstatus: est appelée. Si tout est bon, c est le moment de démarrer le service de localisation. Ajoutez la méthode suivante dans ViewController.m : // ForiOS8compatibility: needtogetauthorizationforlocationtracking -( void )locationmanager:( CLLocationManager *)manager didchangeauthorizationstatus:( CLAuthorizationStatus )status{ if (status== kclauthorizationstatusauthorizedwheninuse ){ [manager startupdatinglocation ]; } }
5 Pour aller plus loin : warenesspg/corelocation/corelocation.html Distance parcourue Nous allons maintenant nous concentrer sur le suivi de la position de l utilisateur. Dans un premier temps, l application va compter la distance parcourue depuis le démarrage du service : Dans la classe ViewController, ajoutez la variable totaldistance de type double ; et dans viewdidload, initialisez cette variable à 0. Lorsque la position est mise à jour, la méthode locationmanager:didupdatelocations: est appelée. Le deuxième argument est un tableau qui contient des objets CLLocation rangés par ordre chronologique (le dernier est le plus récent). Vous pouvez connaître la distance en mètres entre deux positions grâce à la méthode distancefromlocation:. Il semblerait que le simulateur ne maintienne pas l historique des positions : le tableau de CLLocation n a toujours qu un seul objet. A vous donc de conserver la position précédente dans une variable oldposition. Implémentez cette méthode et affichez la distance parcourue dans le UILabel. Attention, les quelques premiers appels à cette méthode retournent des positions souvent très érronées. Il est possible de vérifier la précision estimée par les propriétés horizontalaccuracy et verticalaccuracy ; sinon, vous pouvez juste ignorer les cinq premiers appels à cette méthode. Ajoutez le suivi de la position sur la carte. Notez qu il est possible de simuler un déplacement sur le Simulateur : Menu Debug/Location/ Modifiez le comportement du UISwitch pour qu il mette en pause (démarre/arrête) la géolocalisation. Ainsi, la recherche d une adresse (geocoding) ne fonctionnera que lorsque le switch est éteint. Vous pouvez écrire Saisir une adresse : dans le UILabel lorsque le switch est éteint et cacher le UITextField lorsque le switch est allumé. Tracé du parcours Si ce n est pas déjà fait, ajoutez le protocole MKMapViewDelegate dans la déclaration de la classe ViewController, et ajoutez l instruction suivante dans viewdidload : mapview. delegate = self ;
6 Pour afficher le tracé du parcours sur la carte, plusieurs solutions s offrent à nous, nous utiliserons les capacités de la classe MKMapView et du protocole MKMapViewDelegate. Les objets affichables sur la carte doivent implémenter le protocole MKOverlay : nous ajouterons des MKPolyline qui implémentent ce protocole. Dans la méthode locationmanager:didupdatelocations:, construisez un objet MKPolyline à partir des deux positions précédente et courante. Ajoutez cet objet à votre MKMapView par l appel à la méthode d instance addoverlay:. Le rendu visuel de ces objets est déterminé dans un deuxième temps par l appel à la méthode du délégué MKMapViewDelegate mapview:rendererforoverlay:. Voici une façon de générer un rendu pour un objet MKPolyline : -( MKOverlayRenderer *)mapview:( MKMapView *)mapviewrendererforoverlay:( id < MKOverlay >)overlay { MKPolylineRenderer * lineview=[[ MKPolylineRenderer alloc ] initwithpolyline :overlay]; lineview. strokecolor =[ UIColor bluecolor ]; lineview. linewidth = 5 ; return lineview; } Réinitialisation du suivi par détection d une secousse Avant de terminer ce TP, nous allons ajouter une dernière fonctionalité à notre application : nous souhaitons réinititaliser le suivi et la distance parcourue en agitant le terminal ios. La réinitialisation consiste à : Remettre à zéro la variable totalmeters, Enlever les MKOverlay de la carte. Regardez bien la documentation, un objet MKMapView peut supprimer plusieurs MKOverlay passés en arguments dans un NSArray. Vous devrez donc maintenir une collection de MKOverlay préalablement ajoutés... Pour éviter une réinitialisation fortuite, la réinitialisation ne se fera que lorsque le bouton UISwitch est positionné sur Off. Ajouter un feedback visuel indiquant la réinitialisation. Plusieurs solutions s offrent à nous pour détecter la secousse de l appareil. Nous allons voir une façon naturelle de le faire, basée sur la détection de Gesture. (une autre façon, de plus bas niveau ferait appel au framework CoreMotion.) La classe ViewController hérite de UIViewController qui hérite de UIResponder. UIResponder est la classe responsable de la gestion des évènements (Touch, Motion, ). Du fait de cet
7 héritage, nous pouvons directement surcharger l une des méthodes de UIResponder qui nous intéresse. Allez dans la documentation et retrouvez le nom de la méthode qui capturera l évènement Shake. Ajoutez la méthode retrouvée dans la documentation et implémentez le comportement décrit précédemment. Le feedback visuel peut consister à afficher le message Réinitialisation en rouge pendant une seconde. Nous allons utiliser les fonctionalités du Framework Dispatch pour cela. Dispatch (ou GCD ) est un Framework pour accorder la concurrence entre des exécutions de blocs. L API est écrite en C, elle permet d exécuter des blocs de façon synchrone ou asynchrone dans des Threads distincts. Nous utiliserons la fonction dispatch_after pour programmer l exécution d un bloc (une seconde plus tard). La documentation de GCD et les paramètres des fonctions peuvent sembler peu claires. Pas de panique, XCode complète judicieusement l appel aux différentes fonctions, et le tout s avère finalement très simple! Appuyez sur Entrée après avoir écrit dispatch_after : magie. Dans la méthode motionended:withevent: (vous l aviez trouvé n est ce pas?) après la réinitialisation, modifiez le texte du UILabel pour afficher le message Réinitialisation en rouge. Puis, dans un bloc dispatch_after, repassez le texte et la couleur d origine (probablement Saisir une adresse ). Amélioration de l interface graphique Cette partie vise à enrichir le rendu visuel de l application en vue d une meilleure interaction avec l utilisateur. D abord, nous ajouterons une animation pour montrer/cacher le UITextField selon l état du UISwitch. Puis, nous modifierons le comportement de la carte pour, en plus de suivre la position, s oriente selon la direction de l utilisateur. Les animations apportent des effets visuels nécessaires à une meilleure interaction avec l utilisateur, permettant une meilleure prise en main, et participent ainsi à une meilleure perception générale de l application. Evidemment, les animations ne concernent que les éléments graphiques de UIKit. En particulier, certaines propriétés sont animables. Par l utilisation simple de blocs, le développeur définie l état final dans lequel l objet doit se trouver, et Core Animation se charge du rendu intermédiaire. Voici la liste des propriétés animables, d après la documentation officielle. honeos/animatingviews/animatingviews.html
8 Les blocs d animation sont appelés depuis des méthodes de classe de UIVIew. Par exemple, le code suivant modifie la propriété alpha de adressetextfield pendant 0.5 seconde jusqu à la valeur 0 : [ UIView animatewithduration :.5 animations :^{ adressetextfield. alpha = 0 ; }]; Le code suivant modifie la position de adressetextfield selon l état de switchbutton : [ UIView animatewithduration :.5 animations :^{ CGRect frame= adressetextfield. frame ; frame. origin. y = switchbutton. ison? 50. : 0. ; adressetextfield. frame =frame; }]; Remarque : frame.origin.x n est pas directement assignable, il faut donc modifier toute la structure frame. Modifiez le rendu de la vue depuis le StoryBoard ; la carte prend dorénavent toute la taille de la vue ; le label s étend sur toute la largeur, collé sur le haut de l écran, avec une légère transparence ; le textfield est juste en dessous du label, étiré aussi sur toute la largeur et avec la même transparence. Ajoutez une animation de votre choix sur adressetextfield pour le rendre visible uniquement lorsque le bouton UISwitch est éteint. Veillez bien à placer initialement le textfield dans sa position cachée si l application démarre avec le UISwitch allumé.
9 Nousallonsmaintenantorienterlacarteenfonctiondesmouvementsdel utilisateur.pour cela,nousutiliseronslecapteurdedirection(heading)intégréau locationmanager :les méthodes startupdatingheading et stopupdatingheading fonctionnentcomme start/stopupdatinglocation et appellent laméthodededélégué locationmanager:didupdateheading: pouravertirlecontroleurd unchangementdedirection. Retrouvezcesméthodesdansladocumentation. Ajoutezledémarrage/l arrêtducapteurdedirectionenmêmetempsquele démarrage/l arrêtducapteurdelocalisation. Ajoutezlaméthodededéléguéquiconvient,vousconstaterezquenousrécupérons ainsiunobjetdetype CLHeading dontlapropriété trueheading nousintéresseratout particulièrement. Pourtestercettefonctionnalité,vousdevrezutiliserunvraiterminaliOSplutôtquele simulateur.n essayezpasdetournerlesimac )
10 Pour orienter la carte avec la direction de l utilisateur, nous appliquerons une transformation affine sur notre objet de type MKMapView (rappelez vous que la propriété transform est animable...). Nous effectuerons une rotation du composant graphique qui donnera l impression que son contenu s oriente avec l utilisateur. Recherchez dans la documentation la propriété transform. Trouvé? C est une propriété de la classe UIView (dont hérite MKMapView) qui est de type CGAffineTransform. Parcourez la référence pour retrouver les fonctions C qui permettent de définir une transformation affine, vous trouverez notamment la fonction CGAffineTransformMakeRotation Depuis le StoryBoard, redimensionnez la carte de façon à ce qu elle soit trois fois plus grande (en largeur et hauteur) et centrée sur le centre de la vue. Ainsi, lorsque nous appliquerons une rotation, la carte apparaîtra toujours en plein écran. Dans la méthode de délégué locationmanager:didupdateheading:, modifiez la propriété transform de mapview pour effectuer la rotation. Attention, trueheading est en degré, tandis que CGAffineTransformMakeRotation utilise des angles en radians. Comme transform est une propriété animable, vous pouvez ajouter un bloc d animation pour rendre la rotation plus naturelle.
Manipulation 4 : Application de «Change».
Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées
Plus en détailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailDéveloppez vos applications pour. iphone, ipod Touch, ipad
Développez vos applications pour iphone, ipod Touch, ipad Copyright 2010 Micro Application 20-22, rue des Petits-Hôtels 75010 Paris 1 ère Édition - Mai 2010 Auteur Avertissement aux utilisateurs Jean-Pierre
Plus en détailOptimiser pour les appareils mobiles
chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailTP2 : Client d une BDD SqlServer
TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailWINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.
WINDEV MOBILE ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8. WINDOWS Mobile permet de créer des applications pour les smartphones, les tablettes et les terminaux mobiles. Les applications sont
Plus en détailCréation d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7
Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7 L animation est obtenue par défilement des images décomposant le mouvement de traçage de la signature. Les étapes successives seront : 1. Choix de la
Plus en détailSauf 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
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 sous réserve du respect des conditions de la licence Texte
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailHTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.
100 % développeur Mensuel n 167 - Octobre 2013 Approfondir HTML www.programmez.com Smartphones Avec Corona SDK Codez une fois, déployez sur Android, ios, Kindle... Google Maps Utiliser Maps et Street View
Plus en détailSOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5
SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5 4.1 Ajouter une carte 5 4.1.1 Détails : nom, taille, marqueur 5 4.1.2 Ajout d un marqueur
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailCTIconnect PRO. Guide Rapide
CTIconnect PRO Guide Rapide Version 01.02.2013 CTIconnect PRO est une application de communication permettant aux utilisateurs du système de voir le statut de leurs collègues et de les contacter en 1 clic
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailTD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailLe MSMQ. Version 1.0. Pierre-Franck Chauvet
Le MSMQ Version 1.0 Z Pierre-Franck Chauvet 2 [Le MSMQ] [Date : 10/10/09] Sommaire 1 Introduction... 3 2 Le Concept... 5 2.1 Les messages... 5 2.2 Les files d attentes... 5 2.3 WorkGroup... 7 2.4 Active
Plus en détailMANUEL UTILISATEUR. Application 4trip
* MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.
Plus en détailÀ la découverte du SDK de l iphone et de l ipad
3 À la découverte du SDK de l iphone et de l ipad Au sommaire de ce chapitre Créer votre premier projet pour iphone et ipad Maîtriser les outils de création d interfaces Tester et déboguer votre premier
Plus en détailManuel de l administrateur
Manuel de l administrateur (Version non définitive Novembre 2013) Technofutur TIC Pedago TIC CC by sa Première utilisation en qualité d administrateur Compte administrateur Statut utilisateur Paramètre
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailGérer les règles de prix catalogue sur Magento
Gérer les règles de prix catalogue sur Magento Version utilisée pour l élaboration de ce guide : Magento 1.2.1.2 Rédigé par : Olivia Contexte Magento vous permet de gérer votre politique commerciale directement
Plus en détailCOURS WINDEV NUMERO 3
COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailDA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailEIP 2012 Projet Livepad. Documentation technique 1.5
EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012 Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David
Plus en détailTravaux dirigés n 10
Travaux dirigés n 10 IMAC 1 Responsive Web Design Dans ce TD, vous verrez comment concevoir un design web qui s adaptera au terminal sur lequel il sera visualisé. Avant-propos Avec l avènement des smartphones
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailSPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments
SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments Développement d une application en web/ client lourd en C# permettant la gestion des médicaments et des commandes de
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailTP Blender n 2 : Importation d un modèle SketchUp et animation
TP Blender n 2 : Importation d un modèle SketchUp et animation Service de Conception Géométrique Université de Liège Aérospatiale et Mécanique Conçu avec Blender 2.66 et SketchUp 8 De SketchUp à Blender
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailProcédure pas à pas de découverte de l offre. Service Cloud Cloudwatt
Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...
Plus en détailUtiliser un tableau de données
Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailgeek Soyez le de l été! PHP 5.5 3 :HIKONB=^UZ^Z]:?k@b@g@p@a"; Découvrez Chrome, Firefox, IE, Safari Enquête écoles Diplômes : quel prix
100 % développeur Mensuel n 165 - juillet-août 2013 www.programmez.com Soyez le geek de l été! image du geek : istockphoto/peskymonkey Découvrez PHP 5.5 Picaxe, Leap Motion, Gadgeteer, Raspberry Pi : la
Plus en détailChapitre 4 : Guide de Mouvement et Masque
Cours Flash Chapitre 4 : Guide de Mouvement et Masque Rappel : les fichiers fla et swf sont dans le fichier «4_Guide de mouvement et masque.zip». SOMMAIRE 1 OBJECTIFS DU CHAPITRE... 1 2 INTRODUCTION...
Plus en détailPROJET 1 : BASE DE DONNÉES REPARTIES
PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties
Plus en détailAnimation numérique. de territoire. Créer son site Internet avec un outil gratuit. Mardi 4 novembre 2014. Cédric ARNAULT OT Lourdes
Créer son site Internet avec un outil gratuit Mardi 4 novembre 2014 Cédric ARNAULT OT Lourdes Présentation de la journée - Créer un site Internet : Pourquoi? Pour qui? Comment? - - Aller plus loin avec
Plus en détailRéalisation de cartes vectorielles avec Word
Réalisation de cartes vectorielles avec Word Vectorisation de la carte Après avoir scanné ou avoir récupéré un fond de carte sur Internet, insérez-la dans votre fichier Word : Commencez par rendre visible
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailBONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.
ARO Inscription en ligne, Automne 2014 BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO. À partir de cette date, vous n aurez qu à vous
Plus en détailInstallation et prise en main
TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailAtelier Le gestionnaire de fichier
Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local
Plus en détailStudio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume
Studio HERITIER Emmanuelle PERSYN Elodie SCHMUTZ Amandine SCHWEITZER Guillaume Cours R Présentation projet 10/10/2013 Introduction RStudio est une interface créé par JJ Allaire Elle est sortie le 11 Février
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailVOS PREMIERS PAS AVEC TRACENPOCHE
Vos premiers pas avec TracenPoche page 1/16 VOS PREMIERS PAS AVEC TRACENPOCHE Un coup d'oeil sur l'interface de TracenPoche : La zone de travail comporte un script, une figure, un énoncé, une zone d analyse,
Plus en détailDéveloppement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie
Plus en détailConception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
Plus en détailSHOPCAISSE NOTICE D UTILISATION. ShopCaisse est une solution d encaissement disponible sur ipad.
SHOPCAISSE NOTICE D UTILISATION ShopCaisse est une solution d encaissement disponible sur ipad. Un logiciel complet qui s'adapte parfaitement à vos besoins. Vous pourrez ainsi gérer facilement votre commerce,
Plus en détailManuel d'utilisation du site Deptinfo (Mise en route)
Manuel d'utilisation du site Deptinfo (Mise en route) 1)Nouveautés apportées par le nouveau site...2 2) Accès à l espace privé... 3 a) Accès... 3 b) Identification... 3 c)page d accueil de l espace privé...4
Plus en détailDocumentation Liste des changements apportés
Version 4.1.000 Documentation Liste des changements apportés C2 Innovations 2010 Table des matières À LA VERSION 4.1... 4 NOUVEAU PRE REQUIS POUR L INSTALLATION DE C2... 4 FERMER LA SESSION D UN UTILISATEUR
Plus en détail1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information
TP Numéro 2 CRÉER ET MANIPULER DES TABLEAUX (Mise en forme, insertion, suppression, tri...) 1 CRÉER UN TABLEAU 1.1 Présentation Pour organiser et présenter des données sous forme d un tableau, Word propose
Plus en détailComment paramétrer correctement son compte Facebook pour pouvoir protéger un maximum ses données et sa vie privée.
Comment paramétrer correctement son compte Facebook pour pouvoir protéger un maximum ses données et sa vie privée. Tutoriel réalisé par Mme Boquié. Sommaire Contrôler ses traces volontaires...p3 A Pour
Plus en détailFormation Certifiante Scrum Master
Formation Certifiante Scrum Master Cette formation pratique de deux jours, ponctuée par la certification Scrum Master délivrée par la Scrum Alliance, est destinée aux chefs et directeurs de projets, responsables
Plus en détailMANUEL D INSTALLATION. du module Chronopost pour. version 1.0.5
MANUEL D INSTALLATION du module Chronopost pour version 1.0.5 Objectif Ce document explique comment installer et utiliser le module Chronopost sur votre site Magento. Périmètre Ce module permet de proposer
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailCréer une base de données vidéo sans programmation (avec Drupal)
Créer une base de données vidéo sans programmation (avec Drupal) 10.10.2013 Nicolas Bugnon (nicolas.bugnon@alliancesud.ch) Centre de documentation Alliance Sud www.alliancesud.ch Résultat de l atelier
Plus en détailSéminaire Partenaires Esri France 7-8 juin 2011 - Paris Les API ArcGIS pour les smartphones
Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les API ArcGIS pour les smartphones Patrice Freydière Olivier Rossini Sommaire Introduction - Positionnement - Fonctionnalités communes - Architecture
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailwww.imprimermonlivre.com
0 www.imprimermonlivre.com Composition d une couverture avec Word L objectif de ce guide est de vous proposer un mode opératoire pour créer une couverture avec Word. Nous vous rappelons toutefois que Word
Plus en détailCONTACT EXPRESS 2011 ASPIRATEUR D EMAILS
CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS MANUEL D UTILISATION Logiciel édité par la société I. PREAMBULE a) Avant propos... 3 b) Support... 3 c) Interface d accueil... 4 à 5 d) Interface de Recherche...
Plus en détailwww.communautes-numeriques.net
Quelques mots sur le créateur de cette présentation: Yves Roger Cornil. Président de l association Communautés Numériques Microsoft MVP Macintosh. Co-fondateur de Microcam en 1981 - Vice président de Microcam
Plus en détailFreeway 7. Nouvelles fonctionnalités
! Freeway 7 Nouvelles fonctionnalités À propos de ce guide... 3 Nouvelles fonctionnalités en un coup d'oeil... 3 À propos de la conception d'un site web réactif... 3 Travailler avec les pages pour créer
Plus en détailPlateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.
Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailVersion 7.1_5.1. Release Notes
Sommaire 1 PREFACE... 3 1.1 Viadeis CRM...3 2 NOUVEAUTES... 4 2.1 Viadeis CRM...4 2.1.1 Global...4 2.1.2 Sociétés et Contacts...4 2.1.3 Opportunités...5 2.1.4 Contrats et Prestations...5 2.1.5 Demandes
Plus en détailTP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Plus en détailLes différentes étapes à suivre pour la création d un feuillet
Les différentes étapes à suivre pour la création d un feuillet Bonjour, L outil de gestion des feuillets permet de manière simple et rapide de gérer à moindre coût votre communication et vos impressions
Plus en détailOutils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
Plus en détailLe Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur
Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur La Facturation Le Livre chronologique des Recettes Le Registre des Achats Le Suivi du Chiffre d Affaires en temps réel Site internet
Plus en détailFlex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE
Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailTraitement de texte : Quelques rappels de quelques notions de base
Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui
Plus en détailIntroduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
Plus en détailGuide de l'utilisateur
Guide de l'utilisateur Version 1.0 Mars 2013 1 / 19 Table des matières Envoyer ma première Newsletter avec Hydremail Connexion au service Téléchargement de votre base de données Création de votre segment
Plus en détailLes possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :
DHCP TP Le protocole DHCP (Dynamic Host Configuration Protocol) est un standard TCP/IP conçu pour simplifier la gestion de la configuration d'ip hôte. DHCP permet d'utiliser des serveurs pour affecter
Plus en détailDocumentation Analyse SEM
Documentation Analyse SEM Document : Projet : Client : Documentation Analyse SEM myposeo Interne Date : 24/02/15 Version : 1 G4interactive SAS 53, rue des deux communes 93100 Montreuil, France contact@myposeo.com
Plus en détailGuide d utilisation de PL7 Pro Récupérer ou transférer un programme
Guide d utilisation de PL7 Pro Récupérer ou transférer un programme 1. Connecter le câble Connecter le câble à l ordinateur sur un port USB (utiliser toujours le même de préférence). Connecter ensuite
Plus en détail