API Heartbeat

[aioseo_eeat_author_tooltip]
[aioseo_eeat_reviewer_tooltip]
Qu'est-ce que l'API Heartbeat ?

L'API Heartbeat de WordPress fonctionne comme le pouls de votre site web : elle envoie un bref signal « Je suis en ligne » de votre navigateur à votre serveur toutes les quelques secondes. Ce cycle automatique de requête/réponse synchronise les données, les articles et le tableau de bord de votre site, assurant des mises à jour en temps réel et des fonctionnalités essentielles pour les éditeurs, les extensions et les administrateurs.

Dans cet article de glossaire, vous apprendrez précisément comment fonctionne l'API Heartbeat de WordPress, pourquoi elle est importante et comment la surveiller, la contrôler ou la désactiver si elle engendre une forte demande en ressources CPU sur votre hébergement.

Pourquoi l'API Heartbeat de WordPress est-elle importante ?

L'API Heartbeat est essentielle au bon fonctionnement de nombreuses fonctionnalités conviviales de WordPress, car elle assure une communication constante entre votre navigateur et le serveur. Sans elle, vous ne pourriez pas profiter des sauvegardes automatiques, du verrouillage collaboratif des articles ni des mises à jour en direct du tableau de bord.

  • Protection de votre éditeur d'articles : lors de la rédaction ou de la modification d'un article dans l' éditeur WordPress, Heartbeat enregistre automatiquement vos modifications toutes les 15 à 60 secondes, vous ne perdez donc jamais votre travail en cas de coupure de votre navigateur ou de votre connexion.
  • Verrouillage et notifications des utilisateurs : si deux auteurs tentent de modifier simultanément le même article, Heartbeat envoie des notifications (« Un membre de votre équipe est en train de modifier cet article ») et applique un mécanisme de verrouillage pour éviter les conflits de contenu.
  • Widgets de tableau de bord en temps réel : les plugins e-commerce comme WooCommerce utilisent l’API pour mettre à jour les données de vente de votre tableau de bord sans rechargement complet de la page.
  • Alertes d'expiration de session : Heartbeat peut vous alerter si votre session de connexion a expiré, vous invitant à vous reconnecter avant de perdre vos modifications non enregistrées.

Fonctionnement de l'API Heartbeat : les bases

Heartbeat fonctionne grâce à de petits appels AJAX à votre serveur, permettant à WordPress de coordonner les données sans rechargement complet de la page. Ces pings fréquents optimisent les fonctionnalités et la sécurité en garantissant que les rédacteurs voient des informations à jour et que les sessions restent valides.

  • Le navigateur envoie admin-ajax.php Demande: À chaque pulsation de votre navigateur, une minuscule requête AJAX est envoyée à /wp-admin/admin-ajax.php.
  • Traitement de la requête par le serveur : WordPress exécute les fonctions associées, récupère les nouvelles données, puis les renvoie sous forme de réponse JSON.
  • Réception et action du navigateur : les événements JavaScript de votre navigateur interceptent la réponse, mettent à jour l’interface utilisateur (par exemple, sauvegarde automatique, actualisation des widgets) et se préparent pour l’intervalle suivant.

js

// Exemple : Écouter le prochain signal de pulsation dans le frontend
jQuery(document).on('heartbeat-tick', function(event, data) {
console.log('Réponse de pulsation reçue :', data);
});

  • Intervalle par défaut: Écran de l'éditeur (15 secondes) et Tableau de bord et autres pages d'administration (60 secondes).

Principaux hooks et exemples de code

Les développeurs exploitent les points d'extension intégrés de Heartbeat pour ajouter des fonctionnalités personnalisées ou modifier son comportement. Il est possible d'adapter l'API pour échanger les données nécessaires en exploitant ces événements JavaScript et PHP.

Hooks JavaScript

Voici deux points d'accroche JS principaux que vous pouvez utiliser pour le contrôle du front-end :

  • envoi de battements de cœur: Joindre des données personnalisées avant chaque requête.
  • battements de cœur: Agir sur les données reçues une fois la requête terminée.

js

// Ajouter des informations supplémentaires à chaque événement heartbeat-send
jQuery(document).on('heartbeat-send', function(e, data) {
data.customValue = jQuery('#my-field').val();
});

Hooks PHP

Côté serveur, ces points d'extension vous permettent de modifier les appels Heartbeat ou d'y réagir :

  • envoi de battements de cœur: Modifier les données renvoyées par le serveur.
  • battements de cœur reçus: Agissez lorsque le serveur reçoit un signal.

php

add_filter('heartbeat_send', 'my_heartbeat_send', 10, 2);
function my_heartbeat_send($response, $screen_id) {
if ($screen_id === 'post') {
$response['server_time'] = time();
}
return $response;
}

Cas d'utilisation courants de l'API Heartbeat de WordPress

Les capacités de traitement en temps réel de Heartbeat alimentent de nombreuses fonctionnalités quotidiennes de WordPress. La synchronisation entre le serveur et le navigateur garantit que les tableaux de bord et les éditeurs restent à jour sans intervention manuelle ni rechargement complet.

  • Sauvegarde et révisions automatiques : Heartbeat fonctionne de manière transparente dans l’éditeur de publication, créant des sauvegardes toutes les 15 secondes afin que vous puissiez récupérer le contenu perdu.
  • Données de vente en temps réel : les développeurs de plugins e-commerce utilisent Heartbeat pour récupérer des statistiques de vente actualisées et les afficher instantanément.
  • Avis d'expiration de session : lorsque votre session de connexion arrive à expiration, Heartbeat affiche un avis : « Cliquez ici pour rester connecté. »
  • Alertes de collaboration : vous verrez qui modifie quel article sur les sites multi-auteurs, évitant ainsi les conflits d’écrasement.

Considérations relatives aux performances et à l'utilisation élevée du processeur

Bien qu'indispensable pour les mises à jour en temps réel, Heartbeat peut fortement consommer de ressources CPU sur les sites à fort trafic. Chaque requête AJAX fréquente adressée à admin-ajax.php utilise du temps de traitement et de la mémoire, ce qui peut saturer les ressources des comptes d'hébergement mutualisé.

  • Charge CPU élevée : les appels fréquents à l’API Heartbeat peuvent augmenter considérablement l’utilisation du processeur de votre serveur, en particulier sur les plans d’hébergement partagé, car chaque impulsion nécessite que PHP traite une AJAX requête
  • Ralentissement du temps de réponse des pages : à mesure que le serveur traite davantage de requêtes, le chargement des pages et les interactions avec le tableau de bord d’administration peuvent devenir sensiblement plus lents.
  • Risque de suspension : Si le volume de admin-ajax.php Si le nombre de requêtes dépasse les limites du processeur de votre hébergeur, votre compte pourrait être limité ou suspendu jusqu'à ce que l'utilisation revienne à des niveaux acceptables.

Comment surveiller le trafic des battements cardiaques ?

L'observation de l'activité du serveur permet de diagnostiquer rapidement les problèmes de performance. Utilisez les journaux du serveur et les outils côté client pour suivre la fréquence des requêtes et les temps de réponse.

  • Journaux et statistiques du serveur : Vérifiez les pics d'utilisation du processeur dans cPanel ou sur le tableau de bord de votre hébergement, en vous concentrant sur entrées /wp-admin/admin-ajax.php.
  • Outils de développement du navigateur : Dans Chrome ou Firefox, allez dans Outils de développement → Onglet Réseau → Filtrez « admin-ajax.php » → Observez la fréquence des impulsions et le temps de réponse.
  • Solutions par plugin : Installez des plugins de performance (par exemple, Query Monitor) pour visualiser les appels Heartbeat, l’utilisation de la mémoire et le temps d’exécution directement dans le tableau de bord d’administration.

Contrôle et limitation de l'API Heartbeat

Si le rythme par défaut de Heartbeat surcharge votre serveur, vous pouvez le ralentir ou le désactiver. Cela vous permet d'équilibrer les fonctionnalités en temps réel avec des performances optimales et une gestion efficace des ressources.

  • Via un plugin : installez Heartbeat Control ou utilisez WP Rocketles paramètres intégrés de
  • Par code

php

// Réduire la fréquence des pulsations à une fois toutes les 60 secondes
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60;
return $settings;
});
// Désactiver complètement sur le front-end
add_action('init', function() {
if (!is_admin()) wp_deregister_script('heartbeat');
}, 1);

Risques liés à la désactivation de l'API Heartbeat

Désactiver Heartbeat peut réduire la charge du processeur, mais au détriment de plusieurs fonctionnalités essentielles. Avant de le désactiver pour l'ensemble du site, prenez en compte les conséquences sur l'expérience utilisateur et la sécurité.

  • Pas de sauvegarde automatique dans l'éditeur classique → un clic manuel sur « Enregistrer le brouillon » est requis pour chaque modification.
  • Risque de perte de données en cas d'interruption de la connexion Internet pendant la publication/mise à jour.
  • Les widgets et plugins du tableau de bord qui dépendent de Heartbeat cesseront de fonctionner, ce qui réduira les rapports et les fonctionnalités en temps réel.

Meilleures pratiques et dépannage

Plutôt que de désactiver complètement Heartbeat, il est plus judicieux d'en ajuster le fonctionnement. En limitant ou en enregistrant sélectivement Heartbeat, vous préservez ses avantages tout en maintenant la santé du serveur.

  • Réduisez, ne tuez pas: au lieu de le désactiver complètement, augmentez l'intervalle de 15 à 30 ou 60 secondes.
  • Test en environnement de test: Commencez par appliquer les modifications d’intervalle ou la désinscription dans un environnement de test afin de détecter les problèmes.
  • Combiner avec la mise en cache: Tirez parti de la mise en cache des objets ou des pages pour compenser toute charge serveur supplémentaire générée par Heartbeat.
  • Activer la journalisation: Se connecter battements de cœur reçus pour enregistrer les cycles d'horloge et déboguer les comportements inattendus.

Dernière réflexion

L'API Heartbeat de WordPress assure la mise à jour et la synchronisation de votre site. Elle sauvegarde automatiquement les brouillons, affiche les données en temps réel et prévient les conflits d'édition. Un trop grand nombre de requêtes peut augmenter l'utilisation du processeur. Vous pouvez la ralentir ou la désactiver si nécessaire. Testez d'abord vos modifications sur un environnement de test. Avec un paramétrage adéquat, Heartbeat améliore les fonctionnalités sans impacter les performances.

Pour plus de termes WordPress et des explications plus approfondies, consultez le glossaire de Seahawk Media.

Articles similaires

Qu'est-ce que la teinte de couleur ?

Qu'est-ce que la teinte de couleur ?

La couleur joue un rôle essentiel dans l'art, le design et la vie quotidienne. Elle va bien au-delà du rouge

Qu'est-ce que l'éditeur WordPress ?

Qu'est-ce que l'éditeur WordPress ?

L'éditeur WordPress est le point central de la création et de la conception de contenu au sein d'un site WordPress

Qu'est-ce qu'un menu principal dans WordPress ?

Qu'est-ce qu'un menu principal dans WordPress ?

Si vous venez de commencer à créer un site WordPress, vous avez probablement déjà rencontré le terme « menu principal »

Commencez avec Seahawk

Inscrivez-vous sur notre application pour consulter nos tarifs et bénéficier de réductions.