On souhaite réaliser une application iOS permettant de visualiser des données et de naviguer en leur sein. Ces données décriront les attributs associés aux cours dispensés à l’UFR d’Informatique et à leurs enseignants affectés mais aussi les relations entre ces différentes entités. L’application sera réalisée par étapes successives, au final on devra pouvoir naviguer et obtenir différents effets (envoyer un mail à un enseignant, obtenir sa photo, naviguer sur sa page web, etc, tout cela depuis la page d’un cours ou d’un diplôme. Ce TP débouchera (au final) sur un rendu de la réalisation qui pourra être faite par groupe de 2.
XML
- Dans un premier temps il est nécessaire de structurer les données. Il est donc demandé de spécifier un format de données XML (pas besoin de DTD on ne fera pas de validation), balises, attributs permettant de décrire l’ensemble du cursus d’informatique de l’UFR, licence, master, avec pour chaque diplôme les années, L1, L2, L3, M1, M2, pour chaque année la liste des UE/cours (intitulé, horaires, salles, etc), et pour chaque cours les chargés de cours et TD et TP. Pour chaque enseignant sa page web, son mail, sa photo, une présentation audio, vidéo, etc. Il peut (doit?) s’agir de fichier XML distincts (
cours.xml
?enseignants.xml
?horaires.xml
?). - Dans un second temps, il faut créer quelques données utilisables (inutile de décrire vraiment l’ensemble des cours et cursus) en quantité suffisantes.
- Déposer ses fichiers sur un serveur web (vous devez normalement avoir accès à votre propre page web de l’UFR en créant un dossier personnel de nom
public_html
, si ce n’est pas le cas trouvez une solution (avec les enseignants, etc).
iOS
- Créez une application iOS de base (choisissez par exemple la version la plus élémentaire), compilez, excutez afin de vérfier que tout fonctionne bien.
- Créez des structures de données (des classes?) permettant de représenter facilement dans votre application les données extraites du fichier XML
- Modifiez le délégué d’application de sorte que le fichier XML soit chargé et parsé de façon à remplir votre structure de donnée (via
NSXMLParser
?) - L’interface dont vous aurez besoin ne devra pour l’instant contenir rien d’autre que des informations relatives au chargement :
- nombre de cours
- nombre d’enseignants
- etc.
Présentation de données
Attention le travail suivant est (très) conséquent et nécessitera probablement plusieurs séances… Ce sera l’objet des séances suivantes…
- Présentez les données de façon à rendre ergonomique au possible votre application, nous vous suggérons d’utiliser des mélanges subtils de
- webviews pour présenter des données HTML (page web des enseignants?)
- tableviews pour présenter des listes longues/variables d’items (cours?)
- tabbars pour présenter des collections restreintes et fixes de catégories (diplômes?)
- pickerviews (diplômes/cours/années?)
- imageviews (photos?)
- objets du framework AVFoundation pour présenter de l’audio/vidéo