{"id":1896,"date":"2014-10-06T14:49:19","date_gmt":"2014-10-06T18:49:19","guid":{"rendered":"http:\/\/tim.cstj.qc.ca\/cours\/xcode\/wp\/?page_id=1896"},"modified":"2014-10-06T14:49:19","modified_gmt":"2014-10-06T18:49:19","slug":"tp2-exposition-tim","status":"publish","type":"page","link":"https:\/\/ve2cuy.com\/xcode\/tp2-exposition-tim\/","title":{"rendered":"TP2 &#8211; Exposition TIM (25%)"},"content":{"rendered":"<h1>Objectif<\/h1>\n<hr \/>\n<p>\u00c9crire une application iPad qui, \u00e0 partir d&rsquo;un fichier de donn\u00e9es .plist et des fichiers jpg, affiche des affiches anciennes en utilisant un UICollectionView et une cellule personnalis\u00e9e.<br \/>\nLa s\u00e9lection d&rsquo;une des affiches lance un segue vers une sc\u00e8ne affichant plus de d\u00e9tails sur la s\u00e9lection courante.<br \/>\nL&rsquo;application doit fonctionner en orientation portrait et paysage.<br \/>\n<span style=\"color: #ff0000;\"><strong>Pour le design, vous avez deux choix (voir les grilles de correction):<\/strong><\/span><\/p>\n<ol>\n<li>Reproduire fid\u00e8lement le design du devis.<\/li>\n<li>\u00c9laborer, sur un sujet de votre choix, \u00a0un design personnalis\u00e9 \u00a0et diff\u00e9rent de celui pr\u00e9sent\u00e9 dans ce devis.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<hr \/>\n<h1><span style=\"color: #ff0000;\"><strong><strong>Date de remise, semaine du 7 novembre, le jour avant votre cours,\u00a0<\/strong>au plus tard \u00e0 23h59.<\/strong><\/span><\/h1>\n<hr \/>\n<h1>Fichiers de d\u00e9part<\/h1>\n<p><a href=\"\/xcode\/wp-content\/uploads\/2013\/10\/La-pub-vintage-fichiers-depart.zip\">T\u00e9l\u00e9charger<\/a><br \/>\n<strong>Note<\/strong>: Format des donn\u00e9es du fichier plist : tableau de tableaux de chaines.<br \/>\nvar tableauDonnees =\u00a0<span style=\"color: #1d4a67;\">[Array&lt;String&gt;]()<\/span><br \/>\nUtilisation:<br \/>\ntableauDonnees[x][y] retourne la chaine \u00e0 la position y du tableau \u00e0 la position x.<br \/>\n&nbsp;<\/p>\n<hr \/>\n<h1>Les \u00e9crans de l&rsquo;application<\/h1>\n<p>&nbsp;<\/p>\n<h2>Storyboard<\/h2>\n<p><a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1910\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.06-707x600.png\" alt=\"TP2-Expo.TIM.06\" width=\"707\" height=\"600\" \/><\/a><br \/>\n&nbsp;<br \/>\nNote: Le format demi-page de l&rsquo;\u00e9cran des d\u00e9tails est obtenu avec un segue renseign\u00e9 comme ceci:<br \/>\n<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1916\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.07.png\" alt=\"TP2-Expo.TIM.07\" width=\"256\" height=\"150\" \/><\/a><br \/>\nPour le design, pensez\u00a0aussi \u00e0 changer la taille de la sc\u00e8ne.<\/p>\n<h2>\u00c9crans 1 \u00e0 3<\/h2>\n<p>[table]<br \/>\n<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1902\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.01-441x600.png\" alt=\"TP2-Expo.TIM.01\" width=\"441\" height=\"600\" \/><\/a>,<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1903\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.02-441x600.png\" alt=\"TP2-Expo.TIM.02\" width=\"441\" height=\"600\" \/><\/a>,<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1904\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.03-776x600.png\" alt=\"TP2-Expo.TIM.03\" width=\"776\" height=\"600\" \/><\/a>,<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1905\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.04-777x600.png\" alt=\"TP2-Expo.TIM.04\" width=\"777\" height=\"600\" \/><\/a>,<a href=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1906\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.05-440x600.png\" alt=\"TP2-Expo.TIM.05\" width=\"440\" height=\"600\" \/><\/a><br \/>\n[\/table]<br \/>\n&nbsp;<\/p>\n<hr \/>\n<h1>Vid\u00e9o du r\u00e9sultat final<\/h1>\n<p>&nbsp;<br \/>\n[embedyt]http:\/\/www.youtube.com\/watch?v=avMDfa5h6ZU[\/embedyt]<br \/>\n&nbsp;<\/p>\n<hr \/>\n<h1>D\u00e9tails de r\u00e9alisation<\/h1>\n<h2><\/h2>\n<h2>1 &#8211; \u00c9cran d&rsquo;accueil<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1902\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.01-441x600.png\" alt=\"TP2-Expo.TIM.01\" width=\"200\" height=\"300\" \/><br \/>\nCet \u00e9cran est pr\u00e9sent\u00e9 pendant<strong> 10 secondes<\/strong> suite au\u00a0d\u00e9marrage de l&rsquo;application.<br \/>\n\u00c9l\u00e9ments de contenu:<\/p>\n<ul>\n<li>image de fond<\/li>\n<li>titre\u00a0\u00a0(taille de la police varie selon l&rsquo;orientation)<\/li>\n<li>votre nom<\/li>\n<li>date de r\u00e9alisation<\/li>\n<\/ul>\n<p>Apr\u00e8s 10 secondes, un segue est programm\u00e9 vers l&rsquo;\u00e9cran\u00a0de l&rsquo;exposition<\/p>\n<hr \/>\n<h2>2 &#8211; \u00c9cran de l&rsquo;exposition<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1903\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.02-441x600.png\" alt=\"TP2-Expo.TIM.02\" width=\"200\" height=\"300\" \/><br \/>\nCet \u00e9cran pr\u00e9sente (via un UICollectionView) toutes les affiches de l&rsquo;exposition. \u00a0Les donn\u00e9es des affiches sont dans le fichier &lsquo;lesDonnees.plist&rsquo;<br \/>\n\u00c9l\u00e9ments de contenu:<\/p>\n<ul>\n<li>titre (taille de la police varie selon l&rsquo;orientation)<\/li>\n<li>cellule personnalis\u00e9e qui pr\u00e9sente: un cadre, l&rsquo;image de l&rsquo;affiche et le nom de l&rsquo;affiche<\/li>\n<li>message indiquant le nombre d&rsquo;affiches dans le fichier de donn\u00e9es<\/li>\n<\/ul>\n<hr \/>\n<h2>3 &#8211; \u00c9cran de d\u00e9tails<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1905\" src=\"\/xcode\/wp-content\/uploads\/2014\/10\/TP2-Expo.TIM_.04-777x600.png\" alt=\"TP2-Expo.TIM.04\" width=\"388\" height=\"300\" \/><br \/>\nCet \u00e9cran est pr\u00e9sent\u00e9 suite \u00e0 la s\u00e9lection d&rsquo;une affiche de l&rsquo;\u00e9cran de l&rsquo;exposition (prepareForSegue)<br \/>\n\u00c9l\u00e9ments de contenu:<\/p>\n<ul>\n<li>sc\u00e8ne de format &lsquo;Page sheet&rsquo;<\/li>\n<li>image de l&rsquo;affiche en fond d&rsquo;\u00e9cran de la sc\u00e8ne<\/li>\n<li>UIView en l\u00e9g\u00e8re transparence par dessus l&rsquo;image de fond<\/li>\n<li>image de l&rsquo;affiche dans un cadre<\/li>\n<li>titre de l&rsquo;affiche<\/li>\n<li>texte de l&rsquo;affiche<\/li>\n<li>bouton transparent couvrant 100% de la sc\u00e8ne (pour le retour \u00e0 la sc\u00e8ne de l&rsquo;exposition)<\/li>\n<\/ul>\n<h1><\/h1>\n<hr \/>\n<h1>Grilles de correction<\/h1>\n<p><span style=\"color: #ff0000;\"><strong>Note:<\/strong><\/span> Pensez \u00e0 tester votre projet en mode portrait et en mode paysage (Dans le simulateur: CMD+fl\u00e8ches g\/d).<\/p>\n<h2>Grille de correction 1 (Plus de programmation)<\/h2>\n<p>[table]<br \/>\nItem, Pond\u00e9ration<br \/>\nReproduction du design du devis et gestion de l&rsquo;orientation, 30%<br \/>\nProgrammation des pages \u00e9crans, 50%<br \/>\nQualit\u00e9 du code; organisation &#8211; documentation &#8211; optimisation et normalisation,20%<br \/>\n[\/table]<\/p>\n<h2><\/h2>\n<p>&nbsp;<\/p>\n<h2>Grille de correction 2 (Plus de design)<\/h2>\n<p>[table]<br \/>\nItem, Pond\u00e9ration<br \/>\nDesign enti\u00e8rement original et gestion de l&rsquo;orientation, 50%<br \/>\nProgrammation des pages \u00e9crans, 50%<br \/>\n[\/table]<br \/>\n<strong><span style=\"color: #ff0000;\">* Note:<\/span><\/strong> Si vous optez pour la grille 2, vous ne pouvez pas utiliser (<span style=\"color: #ff0000;\"><strong>sauf pour les affiches<\/strong><\/span>) les images du fichier.zip de d\u00e9part. \u00a0De plus, le &lsquo;look&rsquo; de votre projet doit-\u00eatre original et ne pas ressembler \u00e0 celui du devis. \u00a0Vous pouvez aussi fournir vos\u00a0propres images. \u00a0<strong>Par exemple,<\/strong> des peintures de grands ma\u00eetres, \u00a0des affiches de vieux films, des\u00a0oeuvres de calligraphie, des oeuvres num\u00e9riques, &#8230; \u00a0Si c&rsquo;est le cas, il faudra alors modifier le fichier .plist en cons\u00e9quence.<br \/>\nLa qualit\u00e9 du design doit-\u00eatre de niveau &lsquo;finissant de la technique&rsquo;. \u00a0 Si le design n&rsquo;est pas dans vos cordes choisissez plut\u00f4t la grille 1, sans quoi vous risquez d&rsquo;\u00eatre p\u00e9nalis\u00e9 \u00e0 la correction.<br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objectif \u00c9crire une application iPad qui, \u00e0 partir d&rsquo;un fichier de donn\u00e9es .plist et des fichiers jpg, affiche des affiches anciennes en utilisant un UICollectionView et une cellule personnalis\u00e9e. La s\u00e9lection d&rsquo;une des affiches lance un segue vers une sc\u00e8ne affichant plus de d\u00e9tails sur la s\u00e9lection courante. L&rsquo;application doit fonctionner en orientation portrait et [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1896","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/pages\/1896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/comments?post=1896"}],"version-history":[{"count":0,"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/pages\/1896\/revisions"}],"wp:attachment":[{"href":"https:\/\/ve2cuy.com\/xcode\/wp-json\/wp\/v2\/media?parent=1896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}