C'est trop chouette de voir les réengagements sur le forum

J’aime beaucoup cette méthode de réengagement, ça fait chaud au cœur de voir toutes ces structures répondre et le processus est plus humain qu’un clic dans un formulaire.
Merci donc, je ne rendais pas compte, mais c’est vraiment chouette comme ça !
Atn

7 Likes

Hihi, je suis grave d’accord :smile:

Bon par contre il va falloir que quelqu’un se farcisse la liste complète à la mano haha !
Peut-être moi-même :relieved:

Un coup de grep / match dans ton navigateur pour extraire la liste des noms des chatons, et générer une ligne de SQL genre UPDATE chatons SET active = 1 WHERE name IN ('Raoull', 'Paheko'…) COLLATE NOCASE ? :slight_smile:

Je fait souvent ça dans la console du navigateur moi, et je note le bout de code dans un coin pour m’en reservir un jour :wink:

1 Like

Et si tu as besoin d’aide, n’hésite pas !

Mes deux centimes, un script à la va-vite qui donne la liste des chatons dans une requête SQL :

<?php

$url = 'https://forum.chatons.org/t/reengagement-des-chatons-au-sein-du-collectif-edition-2026/7995';
$chatons = [];

while (true) {
	echo "Fetching $url\n";
	$body = file_get_contents($url);
	preg_match_all('!affirme le réengagement du chaton <strong>(.*?)</strong>!i', $body, $matches);
	$chatons = array_merge($chatons, $matches[1]);

	if (preg_match('!<a[^>]*?rel="next"[^>]*?href="(.*?)"!', $body, $match)) {
		$url = 'https://forum.chatons.org' . $match[1];
	}
	else {
		break;
	}
}

$chatons = array_map(function (string $chaton): string {
	// Normalisation apostrophe, pas sûr que ça soit utile ?
	$chaton = str_replace('’', '\'', $chaton);
	$chaton = trim(strip_tags($chaton));
	return $chaton;
}, $chatons);

printf("%d chatons trouvés :\n\n", count($chatons));

echo implode("\n", $chatons);

echo "\n\nRequête SQL :\n";

// Échappement SQL à la mano
$chatons = array_map(fn($c) => sprintf('"%s"', addslashes($c)), $chatons);

printf('UPDATE chatons SET active = 1 WHERE name IN (%s) COLLATE NOCASE;', implode(', ', $chatons));
echo "\n";

Lancé avec php chatons.php :slight_smile:

Résultat à ce jour :

Fetching https://forum.chatons.org/t/reengagement-des-chatons-au-sein-du-collectif-edition-2026/7995
Fetching https://forum.chatons.org/t/reengagement-des-chatons-au-sein-du-collectif-edition-2026/7995?page=2
Fetching https://forum.chatons.org/t/reengagement-des-chatons-au-sein-du-collectif-edition-2026/7995?page=3
52 chatons trouvés :

Picasoft
Retzo.net
Retzien
Libretic
Ethibox
Le Cloud Girofle
Alsace Réseau Neutre
ReflexLibre
UNDERWORLD
FACiL
La Contre-Voie
TeDomum
Caracos.net
Raoull
infothema.net
leprette.fr
ouvaton
KAZ
Garbaye
Oisux
Le DistriLab
ImmaeEu
Katzei
Krashboyz Bordel Klub
VRPNet
Infini
Sleto
Pâquerette
Tila.im
Galilée
BOC47
Hadoly
FuturÉtic
CLUB1
s2s
roflcopter
RésiLien
marsnet
Framasoft
Bastet
Simon Vieille
Linux07
Numericloud
clawd.fr
Nubo
Nomagic
Siick's services
Chère de Prince
EVOLIX
Devloprog
Aux Portes de l'Imaginaire
lail

Requête SQL :
UPDATE chatons SET active = 1 WHERE name IN ("Picasoft", "Retzo.net", "Retzien", "Libretic", "Ethibox", "Le Cloud Girofle", "Alsace Réseau Neutre", "ReflexLibre", "UNDERWORLD", "FACiL", "La Contre-Voie", "TeDomum", "Caracos.net", "Raoull", "infothema.net", "leprette.fr", "ouvaton", "KAZ", "Garbaye", "Oisux", "Le DistriLab", "ImmaeEu", "Katzei", "Krashboyz Bordel Klub", "VRPNet", "Infini", "Sleto", "Pâquerette", "Tila.im", "Galilée", "BOC47", "Hadoly", "FuturÉtic", "CLUB1", "s2s", "roflcopter", "RésiLien", "marsnet", "Framasoft", "Bastet", "Simon Vieille", "Linux07", "Numericloud", "clawd.fr", "Nubo", "Nomagic", "Siick\'s services", "Chère de Prince", "EVOLIX", "Devloprog", "Aux Portes de l\'Imaginaire", "lail") COLLATE NOCASE;

Requête SQL à adapter bien sûr :slight_smile:

3 Likes

[mode review] est ce qu’il ne faudrait pas plutôt mettre a 0 ceux qui ne sont pas dans la liste ? [/mode review]

Oui peu importe, je ne sais pas à quoi ressemble la BDD des chatons ^^

1 Like

ha pardon je croyais que c’était un vrai script ^^

C’est pour faire gagner du temps à @ppom ou qqun d’autre qui s’en chargerait :wink:

Je reconnais que l’idée est bonne !
En pratique, il y a les questions de tirets/points qui vont être d’un côté et pas de l’autre, de casse, etc, qui peuvent créer plein de petits cas particuliers relous ^^
Et j’ai pas un accès direct à la base de données du site, ce qui me va j’avoue.

Je voulais pas donner l’impression de me plaindre, ce sera pas très long j’en suis sûre !

Attention, il manque aussi les CHATONS qui ne se sont pas mis en gras, comme Deuxfleurs (message).
Et d’autres qui n’ont pas respecté la formule consacrée, comme Artifaille (message).
Nubla semble aussi être passé à la trappe (message).
… et Paheko aussi ! (message)

2 Likes

Merci @arnaudj pour ta vigilence, j’ai modifié le post.

Merci @arnaudj, corrigé pour Deuxfleurs également. :slight_smile:

Coupable, corrigé :slight_smile:
Après le script peut aussi être patché :wink: