{"id":9954,"date":"2016-06-23T14:26:54","date_gmt":"2016-06-23T18:26:54","guid":{"rendered":"http:\/\/www.analystik.ca\/blogue\/?p=9954"},"modified":"2019-01-23T16:49:35","modified_gmt":"2019-01-23T21:49:35","slug":"faire-application-iphone","status":"publish","type":"post","link":"https:\/\/analystik.ca\/blogue\/language\/fr\/faire-application-iphone\/","title":{"rendered":"Comment b\u00e2tir une application iOS 10 pour iPhone"},"content":{"rendered":"<h2>Partie 1 &#8211; Le design avant\u00a0Xcode<\/h2>\n<p>Chez Analystik, nous avons fait une \u00e9tude de cas pour cr\u00e9er une application iPhone avec l&rsquo;environnement de d\u00e9veloppement <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a>. En cherchant sur le Web, nous avons \u00e9t\u00e9 incapables de trouver un bon tutoriel expliquant le processus \u00e9tape par \u00e9tape. Nous avons donc, d\u00e9cider de le cr\u00e9er pour vous; le voici! Cette premi\u00e8re partie se concentre sur les premi\u00e8res \u00e9tapes qui ne sont pas encore dans <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a>, ce sont donc les m\u00eames \u00e9tapes, que ce soit pour iPhone, Android ou m\u00eame Windows \u00e0 quelques diff\u00e9rences pr\u00e8s au niveau de l\u2019exportation des fichiers.<\/p>\n<p><!--more--><\/p>\n<h2>\u00c9tape\u00a01\u00a0: Id\u00e9ation de l&rsquo;application<\/h2>\n<p>Au d\u00e9part, il faut avoir une id\u00e9e. Mais une bonne id\u00e9e&#8230; Il y a beaucoup d\u2019applications sur les \u00ab App Store \u00bb de ce monde et faire une application qui existe d\u00e9j\u00e0 est presque toujours inutile. Pour notre projet, chez Analystik, nous avons discut\u00e9 et choisi une application permettant de comparer les frais li\u00e9s \u00e0 la possession d\u2019une voiture \u00e0 essence versus ceux li\u00e9s \u00e0 une voiture \u00e9lectrique.<\/p>\n<p>Nous avions besoin d\u2019un serveur qui accepte des appels Rest, d\u2019une une base de donn\u00e9es, pour choisir les marques d\u2019automobiles. L\u2019application est vraiment simple et le serveur aussi, l\u2019objectif \u00e9tant plus de prouver notre savoir-faire en Intelligence d\u2019Affaires derri\u00e8re l\u2019application.Cependant, si vous vous cr\u00e9ez un serveur ou si vous vous connectez \u00e0 un autre serveur. Apple met l\u2019accent sur la s\u00e9curit\u00e9. Dans iOS10, il faut faire des changements dans le fichier \u00ab\u00a0info.plist\u00a0\u00bb pour acc\u00e9der \u00e0 un serveur HTTP.<\/p>\n<h2>\u00c9tape\u00a02\u00a0: Faire un prototype (GUI)<\/h2>\n<p>Avant m\u00eame de commencer d\u00e9signer l\u2019application avec un outil de \u00ab\u00a0mockups\u00a0\u00bb, il est int\u00e9ressant de faire quelques maquettes \u00e0 la main tr\u00e8s rapidement pour tester la logique de notre d\u00e9roulement de l\u2019application. On peut d\u00e9j\u00e0 commencer \u00e0 mettre un style, un look et \u00e9laborer le story-board \u00e0 partir de notre id\u00e9e. Ces sketchs doivent \u00eatre rapides entre 30 secondes et 2 minutes. Lorsque l\u2019on est satisfait, on passe \u00e0 l\u2019ordinateur.<\/p>\n<h2>\u00c9tape\u00a03\u00a0: Cr\u00e9er l\u2019interface<\/h2>\n<p>Une fois les requis d\u00e9finis et le design conceptuel termin\u00e9, c\u2019est le temps de cr\u00e9er l\u2019interface. Personnellement, j\u2019utilise <a href=\"http:\/\/sketchapp.com\" target=\"_blank\" rel=\"noopener noreferrer\">Sketch3<\/a>, mais vous pouvez aussi utiliser <a href=\"https:\/\/www.adobe.com\/ca_fr\/products\/experience-design.html\" target=\"_blank\" rel=\"noopener noreferrer\">Adobe XD<\/a>, mais je vous d\u00e9conseille Photoshop ou Illustrator, car ce sera plus long d\u2019exporter les images.<\/p>\n<h3>Les x<\/h3>\n<p>Dans les applications iOS, on mentionne des images 1x, 2x ou 3x. Depuis l\u2019iPhone 4, la qualit\u00e9 des \u00e9crans s\u2019est am\u00e9lior\u00e9e. Pour ne pas avoir des images floues, il faut avoir des images haute-r\u00e9solution. Les \u00ab x \u00bb sont utilis\u00e9s pour classifier les images. 1 x \u00e9gale une r\u00e9solution de 72 dpi, 2x 144 dpi et 3x 326 dpi. Vous n\u2019avez pas \u00e0 retenir les dpi mais que la r\u00e9solution 2x sera 2 fois plus grande que 1x et que 3x sera 3 fois plus grande. D\u2019o\u00f9 l\u2019avantage d\u2019utiliser des images vectorielles.<\/p>\n<p>Sketch \u00e0 l\u2019avantage de poss\u00e9der des \u00ab plug-ins \u00bb tel que \u00ab <a href=\"https:\/\/github.com\/bouchenoiremarc\/Sketch-Constraints\" target=\"_blank\" rel=\"noopener noreferrer\">constraint<\/a> \u00bb; pour cr\u00e9er rapidement d\u2019autres versions de notre design. \u00ab <a href=\"https:\/\/github.com\/tadija\/AEIconizer\" target=\"_blank\" rel=\"noopener noreferrer\">Aeiconizer<\/a> \u00bb pour copier et faire les diff\u00e9rentes dimensions pour les ic\u00f4nes. Il est aussi possible d\u2019exporter les images vectorielles en 1x, 2x et 3x de fa\u00e7on native dans le logiciel.<\/p>\n<h3>Ic\u00f4ne de l&rsquo;application<\/h3>\n<p>Je commence par l\u2019ic\u00f4ne. J\u2019ins\u00e8re un \u00ab\u00a0artboard\u00a0\u00bb de 1024px par\u00a01024px et je dessine l\u2019ic\u00f4ne, en vectorielle (recommand\u00e9), \u00e0 l\u2019int\u00e9rieur.<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9960 size-full\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png\" alt=\"Choisir un artboard\" width=\"217\" height=\"823\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png 217w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon-79x300.png 79w\" sizes=\"(max-width: 217px) 100vw, 217px\" \/><\/a><\/p>\n<p>Par la suite, je roule \u00ab\u00a0Aeiconizer\u00a0\u00bb et il me g\u00e9n\u00e8re toutes les tailles pour les ic\u00f4nes\u00a01x, 2x, 3x pour iPhone\u00a04, 5, 6, iPad, iTunes, etc.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9963 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-300x181.png\" alt=\"une s\u00e9rie d'ic\u00f4ne\" width=\"300\" height=\"181\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-300x181.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-768x464.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series.png 904w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> Il suffit de s\u00e9lectionner toutes les ic\u00f4nes, de cliquer sur \u00ab\u00a0make exportable\u00a0\u00bb dans le coin inf\u00e9rieur droit et de tous les exporter en 1 x.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9959 aligncenter\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/make-exportable.png\" alt=\"make exportable\" width=\"214\" height=\"69\" \/>Puisqu\u2019il y a les diff\u00e9rentes tailles\u00a02x et 3x de cr\u00e9\u00e9es, il est inutile de g\u00e9n\u00e9rer d\u2019autre version que le 1x. Tout est d\u00e9j\u00e0 l\u00e0!<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export1x.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9964 aligncenter\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export1x.png\" alt=\"exportation en 1x\" width=\"214\" height=\"108\" \/><\/a>\n<h3>Le story-board<\/h3>\n<p>Xcode fonctionne avec un story-board (ou plusieurs) pour le d\u00e9roulement de votre application. Comme la n\u00f4tre se devait d\u2019\u00eatre simple et rapide, nous avons seulement fait une grandeur, mais habituellement il faut faire toutes les grandeurs que l\u2019on veut supporter, et aussi le \u00ab\u00a0splashscreen\u00a0\u00bb. N\u2019oubliez pas aussi qu\u2019il doit fonctionner dans le format paysage.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9958 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-300x123.png\" alt=\"s\u00e9rie de designs pour iPhone SE\" width=\"300\" height=\"123\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-300x123.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-768x316.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se.png 843w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<p>Habituellement, le iPhone SE serait le plus petit format.<\/p>\n<p>Tout d\u2019abord, je cr\u00e9e un nouveau document avec le gabarit \u00ab\u00a0iOS UI design\u00a0\u00bb (File new from template -&gt; iOs ui design). Il y a \u00e9norm\u00e9ment de symboles d\u2019inclus et on peut d\u00e9j\u00e0 les apercevoir dans l\u2019\u00e9cran.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9962 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate-300x124.png\" alt=\"cr\u00e9er d'un template\" width=\"300\" height=\"124\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate-300x124.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate.png 393w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9956 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-300x212.png\" alt=\"iOS ui design\" width=\"300\" height=\"212\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-300x212.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-768x544.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-1024x725.png 1024w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch.png 1242w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<p>J\u2019ins\u00e8re un \u00ab\u00a0artboard\u00a0\u00bb de la taille d\u2019un t\u00e9l\u00e9phone avec le menu de droite et je fais nos diff\u00e9rents designs.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9961\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png\" alt=\"iPhone6 artboard\" width=\"181\" height=\"335\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png 181w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank-162x300.png 162w\" sizes=\"(max-width: 181px) 100vw, 181px\" \/><\/a>\n<p>On peut ins\u00e9rer des symboles qui sont des \u00e9l\u00e9ments par d\u00e9faut dans Xcode, donc pas besoin de les exporter. Notez bien que les marges par d\u00e9faut sont de 20px dans Xcode. Vous pouvez cependant d\u00e9cider de les ignorer.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9957 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-295x300.png\" alt=\"s\u00e9lection de symboles\" width=\"295\" height=\"300\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-295x300.png 295w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-65x65.png 65w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select.png 649w\" sizes=\"(max-width: 295px) 100vw, 295px\" \/><\/a>\n<p>Une fois que mon design est cr\u00e9\u00e9, j\u2019exporte les images de fa\u00e7on individuelle (oublier les fonts et les symboles) en 1x, 2x et 3x. Je clique sur \u00ab\u00a0make exportable\u00a0\u00bb et sur le \u00ab\u00a0+\u00a0\u00bb pour ajouter des tailles.\u00a0Le format\u00a0PNG fera l\u2019affaire, mais assurez-vous que le layer que vous exportez (ou groupe de layers)\u00a0poss\u00e8de(nt) un nom facilement identifiable par la suite.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export-setting.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9965 size-full\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export-setting.png\" alt=\"exportation en plusieurs x\" width=\"214\" height=\"195\" \/><\/a>\n<p>Si vous voulez en apprendre plus sur Sketch, et tout ses fonctions regarder <a href=\"https:\/\/www.youtube.com\/playlist?list=PLLnpHn493BHE6UIsdKYlS5zu-ZYvx22CS\" target=\"_blank\" rel=\"noopener noreferrer\">LevelUpTuts<\/a>.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Partie 1 &#8211; Le design avant\u00a0Xcode Chez Analystik, nous avons fait une \u00e9tude de cas pour cr\u00e9er une application iPhone avec l&rsquo;environnement de d\u00e9veloppement Xcode. En cherchant sur le Web, nous avons \u00e9t\u00e9 incapables de trouver un bon tutoriel expliquant le processus \u00e9tape par \u00e9tape. Nous avons donc, d\u00e9cider de le cr\u00e9er pour vous; le&#8230;  <a class=\"excerpt-read-more\" href=\"https:\/\/analystik.ca\/blogue\/language\/fr\/faire-application-iphone\/\" title=\"Read Comment b\u00e2tir une application iOS 10 pour iPhone\">Read more &raquo;<\/a><!-- AddThis Advanced Settings generic via filter on wp_trim_excerpt --><!-- AddThis Share Buttons generic via filter on wp_trim_excerpt --><\/p>\n","protected":false},"author":3,"featured_media":11619,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"Comment faire une application iPhone de A \u00e0 Z","_seopress_titles_desc":"Voici comment faire une application pour iPhone de A \u00e0 Z. On commence par l'id\u00e9ation et le design de notre application avant m\u00eame d'entrer dans Xcode.","_seopress_robots_index":"","content-type":"","footnotes":""},"categories":[3361,36],"tags":[3186,2863,2982,101,3060,2300,1051,2306,2736],"better_featured_image":{"id":11619,"alt_text":"","caption":"","description":"","media_type":"image","media_details":{"width":2880,"height":1620,"file":"2016\/07\/iphone.jpg","sizes":{"thumbnail":{"file":"iphone-150x150.jpg","width":150,"height":150,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-150x150.jpg"},"medium":{"file":"iphone-300x169.jpg","width":300,"height":169,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-300x169.jpg"},"medium_large":{"file":"iphone-768x432.jpg","width":768,"height":432,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-768x432.jpg"},"large":{"file":"iphone-1024x576.jpg","width":1024,"height":576,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1024x576.jpg"},"bones-thumb-2880":{"file":"iphone-2880x1620.jpg","width":2880,"height":1620,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-2880x1620.jpg"},"bones-thumb-1920":{"file":"iphone-1920x1271.jpg","width":1920,"height":1271,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1920x1271.jpg"},"bones-thumb-1536":{"file":"iphone-1536x1016.jpg","width":1536,"height":1016,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1536x1016.jpg"},"bones-thumb-960":{"file":"iphone-960x635.jpg","width":960,"height":635,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-960x635.jpg"},"bones-thumb-600":{"file":"iphone-600x397.jpg","width":600,"height":397,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-600x397.jpg"},"bones-thumb-300":{"file":"iphone-300x199.jpg","width":300,"height":199,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-300x199.jpg"},"post-thumbnail":{"file":"iphone-125x125.jpg","width":125,"height":125,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-125x125.jpg"}},"image_meta":{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0","keywords":[]}},"post":10015,"source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone.jpg"},"_links":{"self":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/9954"}],"collection":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/comments?post=9954"}],"version-history":[{"count":15,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/9954\/revisions"}],"predecessor-version":[{"id":12136,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/9954\/revisions\/12136"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/media\/11619"}],"wp:attachment":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/media?parent=9954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/categories?post=9954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/tags?post=9954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}