Notre plugin, FlexTable, récupère les données d'une feuille Google via Google AppSScript et l'URL d'exportation de la feuille au format CSV. Lorsque des modifications sont apportées à la feuille Google, ces mises à jour sont reflétées dans le fichier CSV exporté. Cependant, pour afficher les données mises à jour sur votre site WordPress , le plugin doit récupérer le dernier fichier CSV et le traiter dans un format de table.
Ce processus est lancé par une nouvelle demande à l'URL d'exportation Google Sheets, qui récupère et analyse les données mises à jour. Pour déclencher ce processus de recherche de données, la page doit être actualisée. Un rechargement de page garantit que le plugin tire les données les plus récentes et l'affiche correctement. Sans ce rafraîchissement, le plugin peut continuer à afficher des informations obsolètes, car elle doit lancer une nouvelle demande pour extraire le fichier CSV mis à jour.
Pourquoi pas la synchronisation en temps réel? #
Google AppSScript est construit autour d'un modèle de réponse à la demande et n'est pas conçu pour prendre en charge les connexions persistantes en temps réel ou le streaming en direct des données. Chaque fois que le plugin récupére les données, il envoie une demande à la feuille Google et traite la réponse. Cette approche, bien que efficace pour récupérer les données mises à jour, ne permet pas la synchronisation en direct des modifications. Voici quelques raisons pour lesquelles la synchronisation en temps réel n'est pas possible:
- Limites d'exécution: Les exécutions Google AppSScript ont généralement une limite de temps de 6 minutes. Le maintien d'une connexion persistante pour les mises à jour en temps réel peut provoquer des délais d'attente et empêcher le script de traiter les demandes avec succès.
- Consommation de ressources: D'interrogation en continu Google Sheets pour les mises à jour nécessiterait des demandes fréquentes pour vérifier les modifications. Cela peut consommer une quantité importante de ressources de serveur et côté client, ce qui pourrait avoir un impact négatif sur les performances et ralentir l'expérience utilisateur.
- Manque de soutien aux connexions persistantes: Google Sheets et Google AppSScript ne prennent pas en charge les technologies comme les lignes Web ou autres méthodes de communication en temps réel. La mise en œuvre de ces connexions persistantes avec Google Sheets n'est pas possible avec l'infrastructure actuelle.
Pourquoi un rechargement de page fonctionne #
Le rafraîchissement de la page déclenche le processus de recherche de données en lançant une nouvelle demande HTTP à l'URL d'exportation de la feuille Google. Cela garantit que le plugin récupère les données les plus récentes et les rend avec précision. Le rechargement de la page sert de «réinitialisation», aidant à éviter des problèmes tels que des données incomplètes ou obsolètes affichées en raison d'erreurs de connexion, de réponses brisées ou de problèmes de réseau.
En résumé, alors que les mises à jour en temps réel seraient idéales dans certains cas, les limites de Google AppSscript et la nature des demandes HTTP rendent un rechargement de page nécessaire pour s'assurer que FlexTable affiche toujours les dernières données.