Pour les éditeurs
Ajoutez à votre site un coin IA toujours vivant
Un bloc gratuit qui se remplit tout seul : les derniers outils d’IA, un prompt à tester, un article récent et des guides par objectif de trendhub. Collez le code une fois, il se met à jour de lui-même.
Exemple en direct, tel que vos visiteurs le verront

Transfert de style illustration plate folk doodleCopier le prompt →Sur le blog
Le lancement du GLM-5.3 de Cloudflare a mal tourné, mais le modèle n'était pas en cause7 min de lecture →Nouveaux outils, prompts et articles se renouvellent toutes les 10 minutes. Vous n’avez plus jamais à y toucher.
Trois cartes sur les pages larges, des lignes compactes dans les barres latérales et sur mobile. Les thèmes clair et sombre suivent votre visiteur.
Du HTML simple avec une petite feuille de style. Pas de cookies, pas de traceurs, pas de scripts tiers.
Obtenir le code
Choisissez la langue du bloc, puis collez le code là où il doit apparaître. Les sites PHP reçoivent du vrai HTML dans la page, l’idéal pour les lecteurs et les moteurs de recherche.
Englishhttps://trendhub.net/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-en.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Türkçehttps://trendhub.net/tr/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-tr.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/tr/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/tr/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Deutschhttps://trendhub.net/de/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-de.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/de/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/de/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Españolhttps://trendhub.net/es/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-es.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/es/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/es/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Françaishttps://trendhub.net/fr/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-fr.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/fr/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/fr/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Italianohttps://trendhub.net/it/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-it.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/it/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/it/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Nederlandshttps://trendhub.net/nl/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-nl.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/nl/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/nl/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Ελληνικάhttps://trendhub.net/el/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-el.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/el/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/el/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Русскийhttps://trendhub.net/ru/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-ru.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/ru/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/ru/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Merci de laisser le bloc tel quel, avec le nom et les liens trendhub. Une question ou besoin d’une version personnalisée ? Contactez-nous.
Questions
Est-ce gratuit ?
Oui. Le bloc est gratuit pour tous les sites. Nous vous demandons seulement de le laisser tel quel, avec le nom et les liens trendhub.
Va-t-il ralentir mon site ?
Non. Le code PHP garde une copie sur votre serveur et la rafraîchit toutes les 10 minutes : vos visiteurs n’attendent jamais trendhub. Le bloc ne contient aucun script de suivi.
Dépose-t-il des cookies ?
Non. Le bloc ne dépose aucun cookie et ne charge aucun script tiers. C’est du HTML simple avec une petite feuille de style.
Puis-je choisir la langue et le thème ?
Oui. Choisissez l’une des 9 langues ci-dessous. Le bloc suit le mode clair ou sombre de votre visiteur, ou vous pouvez en imposer un en ajoutant ?theme=light ou ?theme=dark à l’adresse.
S’adapte-t-il à ma mise en page ?
Oui. Le bloc mesure l’espace dont il dispose : trois cartes côte à côte sur les zones larges, des lignes compactes dans les colonnes étroites et sur mobile.