Les smartphones sont moins performants et ont des connexions plus lente. Ces deux facteurs influent sur l'autonomie de la batterie. En terme d'UX, il est également pertinent d'offrir une interface adaptée à la taille de l'écran.
Contrairement au front-end où le JavaScript est pratiquement imposé, le choix est plus libre pour le backend, qui peut être écrit en Python, PHP, etc.
Pourriez-vous penser à des raisons pour lesquelles le JavaScript a un avantage sur les autres langages?
Nous emploierons le terme API pour désigner une API Web côté serveur.
Une API web côté serveur consiste en un ou plusieurs points d'accès exposés publiquement répondant avec des données (par exemple, en XML ou JSON).
REST est un style d'architecture web
En pratique, une API REST associe des URLs à des ressources, et le verbe HTTP décrit comment la manipuler. Ce type d'architecture est performant (grâce à la mise en cache) et scalable.
Voici un exemple typique de requêtes et de leur effets.
On parle souvent de CRUD pour désigner les opérations de création, lecture, mise à jour, suppression.
API qui permet de lire et modifier des utilisateurs, stockés en mémoire vive. Dans la vie réelle, on implémenterait l'authentification et on utiliserait une base de données.
Rappelez-moi de continuer l'implémentation devant vous
Quelles sont les inconvénients d'une API REST
Qu'est-ce qu'un graphe?
/graphql
)POST
exactement les données que l'on veut avec une syntaxe qui ressemble à la structure des données de retour.
Vous avez eu un cours sur cela au premier quadrimestre, nous nous contenterons seulement de discuter l'aspect pratique dans le cas du Web.
Quelle solution employeriez-vous et pourquoi?
Utiliser la programmation orientée objet (en particulier l'héritage) pour simplifier la manipulation de données.
Qu'est-ce qu'un ORM?
Un ORM (mapping objet-relationnel) est une couche entre une base de données relationnelle dont le but est de simuler une base de données orientée objet.
Model
implémente des méthodes pour générer et exécuter quelques requêtes SQL typiques comme au slide précédent.
Un thème clair du cours est de séparer l'application en morceaux composables. Ceci permet une grande réutilisation pour servir des clients aux besoins différents (navigateur, application mobile). Cela permet également une collaboration d'une équipe avec des bagages techniques différents.
On appelle cette idée la séparation des préoccupations (separation of concerns).
Les bonnes pratiques changent avec le temps: