Projet de session

Aut2017 – Épreuve synthèse – 60%

Objectif: Produire une application iOS

Description:

Pour la réalisation de l’épreuve synthèse vous devrez, en équipes de deux, développer une application pour iOS.

L’appareil cible est un un iPad en mode portrait et en mode paysage.

NOTE:  L’application doit fonctionner dans les deux orientations.


Le sujet est libre

Par contre, il doit être original.
Par exemple,

L’application doit offrir la possibilité d’enregistrer, en mode local, les données de l’utilisateur; favoris, éléments de contenu, …  Voir  RealM.
La majeure partie du travail doit être réalisée en classe (semaine 10 à 15).
À chaque semaine, votre niveau de participation individuelle sera évalué.
Rappel: L’absence à l’épreuve synthèse (semaine 10 à 15) entraine un échec au cours.


Note:
L’API de votre choix est valide seulement si les items sont dans un tableau: Array<item>
Par exemple;

{
    résultas : [
                  { nom: "pers1" : {},},
                  { nom: "pers2" : {},},
                  { nom: "pers3" : {},},
   ]
}

Ceci n’est pas valide;

{
    résultas : {
         "pers1" : {},
         "pers2" : {},
         "pers3" : {},
         "pers4" : {},
         "pers5" : {},
}

Directives

Équipe de deux

Note: Les membres de l’équipe peuvent assumer les deux rôles.
 


 

Technologies et éléments obligatoires

[table nl= »~~ »]
Éléments,pp,pd,resp.,état**, ver.
Utilisation de git pour le suivi du projet – branche master et design,1,1,prog-design,,2
Transition ‘segue’ et passage de paramètres,2,,prog.,,2
Obtenir et afficher dans la console; une liste d’items obtenus via une API Rest,2,,prog.,,1
Conversion du format JSON vers des classes swift – protocole ‘Codable’,2,,prog.,,1
Au moins une classe personnalisée (excluant cellules personnalisées),2,,prog.,,2
GrandCentralDispatch,1,,prog.,,2
Documentation en ligne,,2,designer,hors cours,2
Utilisation d’une trame sonore dans la scène d’intro,,2,designer,,1
UITableViewCell ou UICollectionView avec cellule personnalisée,2,,prog.,,2
Programmer un protocole pour la mise à jour du champ description des favoris,3,,prog.,hors cours,2
Utilisation de RealM (exemple) pour enregistrer la liste des favoris – à vous de faire les recherches,3,,prog.,hors cours,2
Utiliser au moins deux librairies tierces via cocoapods – sans compter RealM,2,,prog.,,1
Fournir et renseigner les icons de l’application,,1,designer,hors cours,1
Scène d’introduction avec au moins 2 animations – sauf la propriété ‘alpha’,,3,designer,,1
Conception d’une vidéo de présentation de l’équipe et du projet,,6,designer,hors cours,2
Intégration de la vidéo de présentation de l’équipe – Utiliser une vidéo temp. pour V1,,2,designer,hors cours,1
L’application doit fonctionner en mode portrait et en mode paysage,,2,designer,,2
Nomenclature et organisation des fichiers,1,,prog.,,2
Document promotionnel – exemple,,2,designer,,2
Fonctionnalité générale du projet,6,1,prog-design,,2
Qualité visuelle  générale du projet,1,6,prog-design,,2
Remise du prototype à la semaine 13 (tag version/1.0) – fusion des 2 branches~~Le Storyboard contient le prototype de toutes les scènes du projet,,2,designer,hors cours,1
Remise de la version finale semaine 16 (tag version/2.0)  – fusion des 2 branches,2,,prog.,,2
total,30,30,,
[/table]
*  Les membres de l’équipe sont mutuellement responsables de la qualité générale du projet.
** Non couvert en classe.  Il est de votre responsabilité de faire les recherches nécessaires à la compréhension du point.
Voici un exemple d’une vidéo de présentation d’un projet:


 


Remise

Vendredi le 15 décembre, 18h00

Via GitHub.
P.S.  Vous devez m’avoir ajouté (ve2cuy) comme collaborateur (lecture/écriture) à votre projet de session.