> For the complete documentation index, see [llms.txt](https://docs.glassworks.tech/sgbdr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.glassworks.tech/sgbdr/projet/100-projet-pagination.md).

# Projet 1 : Pagination

Utilisez votre langage/framework préféré afin d’implémenter une page web qui affiche le tableau de films avec pagination.

Le tableau doit afficher les attributs suivants :

* Le nom du film, le prix de location, le classement
* Le nom du genre du film
* Le nombre de fois que le film a été loué (`rental`)

On doit pouvoir :

* changer la taille de la page,
* naviguer d’une page à l’autre,
* voir le nombre de pages total

On doit pouvoir trier, en ordre croissant ou décroissant, par un des attributs suivants :

* Le nom du film
* Le genre du film
* Le nombre de locations

Vous n'êtes pas obligés de déployer un SGBDR. Je vous ai mis à disposition une version de la base SAKILA sur le serveur suivant :

```
Hôte : unixshell.hetic.glassworks.tech
Port : 27116
Nom d'utilisateur : student
Mot de passe : Tk0Uc2o2mwqcnIA
Base de données : sakila
```

## Rendu

Votre page devrait être accessible en-ligne pour évaluation. Il existe beaucoup de services d'hébergement gratuits (Héroku, Firebase Functions, etc.) pour cela.

Vous devez me rendre un lien vers cette page avant la date indiquée en classe.

Je vous partagerai aussi un lien vers un tableur dans lequel vous allez indiquer votre nom, prénom et le lien vers votre page avec pagination.

## Astuces

Pour votre langage/framework choisi, cherchez des librairies qui permettent une connexion un serveur SQL.

Vous pouvez créer une appli web avec NodeJS et [ExpressJS](https://expressjs.com), par exemple. La librairie `mysql` <https://github.com/mysqljs/mysql> permettra une connexion à ma base de données.

Attention à bien gérer la pagination ! Je vais vérifier que vous ne téléchargez pas la base entière avant d'effectuer le filtre et trie après coup !
