# 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
```