# PocketBook # TP1 : Pages & Views _à terminer pour le 17 septembre 2023 - 23h59_ L'objectif est de reproduire les pages et les vues d'une application _PocketBook_ de recherche et de stockage de livres pour iPhone et Android en MAUI. Une reproduction la plus _parfaite_ possible est souhaitée (avec la _TabBar_, le bouton _Modifier_, etc.). Je vous conseille de faire (par ordre de priorité) : - la page d'accueil de la bibliothèque ("Mes livres" avec les menus), - la page affichant les livres, - la page affichant les détails d'un livre, - la page permettant de lister les auteurs et de filtrer les livres par auteur - le menu contextuel permettant d'ajouter un nouveau livre - une page permettant de prêter ou d'emprunter à livre à quelqu'un - la page permettant de lister les années de publication et de filtrer les livres - la page permettant de trier les livres par note. ## Critères d'évaluation - L'app doit marcher sur iOS et Android - Création des pages - Utilisation de _Views_ (layout, affichage, buttons...) - Création de _Views_ personnalisées - Création et utilisation de Styles et ressources - Création et utilisation des _Themes_ (light & dark) - (si besoin) utilisation du MAUI Community Toolkit ## Ressources - [Doc officielle MAUI](https://learn.microsoft.com/en-us/dotnet/maui/) - [MAUI Community Toolkit](https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/) - [SF Symbols 5.0 (format SVG et PNG)](https://www.figma.com/file/7ATqS05m0VqE905x1NKS0D/SF-Symbols-5.0---5296-SVG-Icons-(Community)?type=design&node-id=5-1670&mode=design&t=75VRROmRWJsStAIv-0) - [SF Symbols 5.0 (PNG only)](https://github.com/andrewtavis/sf-symbols-online/tree/master/glyphs) ## Voici les captures d'écran réalisées sur iPhone. ### Page Bibliothèque - Un clic sur "Tous" permet de naviguer vers la page affichant tous les livres de notre bibliothèque, - Un clic sur "En prêt" permet de voir à qui on a prêté un livre et à qui on a emprunté un livre - Un clic sur "À lire plus tard" affiche tous les livres de la bibliothèque marqués comme "à lire plus tard" - Un clic sur Statut de lecture permet de regrouper les livres en trois catégories : "Lu", "À lire", "Non lu" - Un clic sur "Favoris" affiche seulement les livres préférés de notre bibliothèque - Finalement, ... vous pouvez oublier "Étiquettes" - Un clic sur "Auteur" permet de filtrer les livres par auteur (cf. plus bas) - Un clic sur "Date de publication" permet de filtrer les livres par année de publication (cf. plus bas) - Un clic sur "Note" permet de trier les livres par notes (données par la communauté) - Le bouton "Modifier" ne sera pas utilisé - Le bouton "+" permet de rentrer de nouveaux livres (cf. plus bas). ### Affichage de la liste de livres - Le bouton "+" permet de scanner un nouveau livre (cf. plus bas). - Le bouton avec les deux flèches permet de changer l'ordre de présentation des livres. - Note : les livres sont regroupés par auteur ### Affichage d'un livre ### Filtrage par auteur Lorsqu'on clique sur un le filtre "Auteur" de la page "Mes Livres", on navigue vers la page suivante : Un clic sur un de ces auteurs permet d'aller sur la même page que celle qui affiche la liste des livres, mais seuls les livres de cet auteur apparaitront. ### Filtrage par date de publication Lorsqu'on clique sur un le filtre "Date de publication" de la page "Mes Livres", on navigue vers la page suivante : Un clic sur une de ces années permet d'aller sur la même page que celle qui affiche la liste des livres, mais seuls les livres publiée cette année apparaitront. ### Le fameux bouton "+" Un clic sur le bouton "+" fait apparaître un sous-menu permettant d'ajouter un livre à la bibliothèque : - en scannant un code-barres (cf. plus bas) - en scannant plusieurs code-barres - en recherchant en ligne (par titre ou par auteur), - en saisissant l'ISBN ### Le scan La page Scan pourra être réalisée plus tard. # Troubleshootings #### J'ai bien renommé mes images, mais le Mac continue à me dire que non... C'est peut-être dû au fait que certains fichiers cachés n'ont pas été correctement exclus (notamment les ```.DS_Store```). Essayez d'appeler cette commande depuis un Terminal (sous Visual ou depuis... un Terminal) : ``` find . -name ".DS_Store" -delete ```