Données provenant d'un API

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je suis en train de travailler sur un petit projet comprenant une base de données où une partie des données d’une table provient d’un service extérieur. En fait, cette table correspondant à des données de séries.

Je souhaiterais savoir s’il fallait faire appel à l’API à chaque fois que la page où sont chargés ces données où si je dois inclure à la base de données les informations dès qu’une entrée est ajoutée. J’espère que cette formulation est claire. N’hésitez pas à demander des précisions ^^ .

Merci d’avance !

PS : comme ça concerne quelque chose d’assez généraliste, j’ai voulu poster ce sujet dans Programmation mais vu que j’ai utilisé le mot « site », j’ai choisi la catégorie Développement web.

Tu as oublié tes contraintes, notamment :

  • charges de la base de données ;
  • de ton serveur ;
  • limites en nbr de requêtes de l’API.

Ensuite le type de données :

  • Valeur : Fixe/Variable ;
  • Si c’est Privé/Public ;
  • Change souvent d’état ?

Avec tout ça tu sais si tu mets en cache ou non

Je n’avais pas pensé à ces précisions.

Il n’y aurait que quelques centaines entrées dans la base de données. Les données récupérées par l’API ne changent. Par contre, je ne sais pas quel est le nombre maximum de requêtes. J’imagine que c’est une raison qui pousserait au stockage.

C’est données seraient privés pour quelques personnes mais avec peu de visites.

Je ne suis sûr d’avoir tou compris.

Mais :

En fait, cette table correspondant à des données de séries.

Time series DB ?

Je souhaiterais savoir s’il fallait faire appel à l’API à chaque fois que la page où sont chargés ces données où si je dois inclure à la base de données les informations dès qu’une entrée est ajoutée. J’espère que cette formulation est claire. N’hésitez pas à demander des précisions ^^ .

Helmasaur

Oui, j’aurais fais appele à l’API à chaque fois. Si c’est pour une tache relativement peu fréquente.

+0 -0

privée => une donnée par user ou pour le groupe d’user qui a accès à l’application ?

Ensuite fait en fonction du temps que tu dispose et de ton envie d’optimisation.

  1. Je fais la base de mon application ;
  2. Ai-je encore du temps ? Dois-je l’améliorer ? Que faire de mon temps ?
  3. Mettre le système de cache.

Si je peux atteindre le plafond de l’API ou si ça fait trop de requête inutile/par jours je mettrais en cache l’API dans ma DB (sans parler du cache de ma vue/template).

Je ne suis sûr d’avoir tou compris.

Mais :

En fait, cette table correspondant à des données de séries.

Time series DB ?

ache

Je n’avais pas pensé à une ambiguïté. Je parlais de séries télévisées à l’aide de TheTVDB.

privée => une donnée par user ou pour le groupe d’user qui a accès à l’application ?

A-312 C’est une donnée pour le groupe d’utilisateurs. Le nombre d’entrées sera vraiment faible.

En fait, cette table correspondant à des données de séries.

Time series DB ?

ache

Je n’avais pas pensé à une ambiguïté. Je parlais de séries télévisées à l’aide de TheTVDB.

En vrai, le premier truc qui m’est venu à l’esprit c’est série.

Si tu les nombres en jeu sont faibles alors fait appel directement à l’API. Sauf si le nombre d’appels à l’API est limité. Dans ce cas tu n’as pas le choix exporte les données.

+0 -0

Hello,

Quand j’étudiais à l’école d’ingénieur, j’avais développé avec un collègue une petite application mobile utilisant l’API d’Allociné pour enregistrer les films dans une liste de favoris. Techniquement on récupérait les données depuis l’API lors d’une recherche puis on stockait le résultat au besoin si l’utilisateur l’ajoutait à sa liste - ça lui permettait de l’utiliser hors connexion. C’est également un détail à prendre en compte.

Il me semble que tout le monde est du même avis ^^"

Si tu es loin d’attendre le plafond, tape directement dans l’API.

Si tu as un peu plus de temps, tu implémentes un cache au niveau de l’application.
Si le nombre d’appel à l’API devient contraignant alors utilise un cache à partir d’une BDD, c’est complexe donc on fait ça si on a besoin.

Si la BDD est (relativement) petite et que le nombre d’appels est contraint, ne t’embète pas avec un cache BDD réplique la base directement. Mais c’est un cas vraiment rare.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte