PostRite
Retour au blog

Comment fonctionne l'algorithme de X en 2026, lu directement dans le code

· par PostRite
Comment fonctionne l'algorithme de X en 2026, lu directement dans le code

La plupart des conseils sur l'algorithme de X (ex-Twitter) sont de seconde main. Les liens tuent la portée. Premium garantit des vues. Un signalement efface des centaines de likes. Ces affirmations circulent vite et se vérifient mal, alors que X publie le code du fil Pour vous.

Ce guide lit le code public du dépôt officiel et le traduit en termes marketing : ce que vaut chaque action, ce qui fait couler une publication, combien de temps elle reste en course et quelles idées reçues ne tiennent pas.

Deux règles s'appliquent : chaque affirmation cite le fichier dont elle vient, et quand le code ne prouve pas quelque chose, c'est clairement signalé comme une déduction de notre part.

Qu'est-ce que X a publié sur son algorithme, et à quel point est-ce à jour ?

X tient sur GitHub le dépôt xai-org/x-algorithm, avec le code qui choisit et classe les publications du fil Pour vous. Cet article s'appuie sur la version publiée le 4 novembre 2026. Il s'agit du commit b508926 du dépôt. Les poids se trouvent dans home-mixer/params/param.rs, qui indique une dernière synchronisation avec la configuration de X le 3 novembre 2026.

Trois réserves :

  • C'est du code publié à une date donnée, pas une vue en direct de la production. X mène des tests A/B et peut modifier des valeurs pour certains groupes d'utilisateurs. Le dépôt lui-même consigne des changements de poids en juillet et en août 2026.
  • Tout n'est pas public. Le README précise que certaines règles antispam et les prompts des classificateurs d'IA n'ont pas été publiés.
  • Le dépôt se contredit par endroits. vm-ranker/params.rs contient des valeurs par défaut différentes de celles de param.rs (un like y vaut 0,5 au lieu de 0,66, par exemple). Le README indique que param.rs est synchronisé automatiquement avec les valeurs principales de production : cet article utilise donc param.rs. Considérer l'autre fichier comme des valeurs de repli est une déduction de notre part.

Pour comparaison, le code ouvert par Twitter en 2023 (twitter/the-algorithm-ml) donnait 13,5 à une réponse, 0,5 à un like et −369 à un signalement. En 2026, chiffres et logique ont changé.

Comment le fil Pour vous choisit-il les publications ?

Le fil se construit en quatre étapes : réunir des candidates, écarter ce qui ne peut pas être montré, noter chaque publication, puis ajuster l'ordre pour que le fil ne devienne pas répétitif.

  1. Candidates. Les publications des comptes que vous suivez, plus d'autres hors réseau que le modèle juge intéressantes pour vous.
  2. Filtres. Sont écartées les publications de plus de 48 heures, celles des comptes bloqués ou masqués, celles avec des mots masqués, les réponses et reposts de comptes non suivis et les branches en double d'une conversation (seule la mieux notée reste), selon le tableau des filtres du README.
  3. Notation. Un modèle prédit la probabilité que vous fassiez chaque action sur la publication (liker, répondre, partager, signaler, etc.) et combine ces prédictions en un seul score.
  4. Ajustements. Le système atténue les publications d'affilée d'un même auteur, décote le hors-réseau et donne un coup de pouce aux petits auteurs récents.

Comment X note-t-il chaque publication ?

Le score d'une publication est la somme du poids de chaque action multiplié par la probabilité prédite que vous la fassiez : score = Σ (poids × probabilité). Ce n'est pas un décompte de likes, et la même publication obtient un score différent pour chaque lecteur.

Exemple hypothétique : supposons que le modèle prédise 10 % de chances que vous likiez une publication et 1 % que vous copiiez son lien. Le like apporte 0,66 × 0,10 = 0,066. Le lien copié apporte 20 × 0,01 = 0,2. Une action rare au poids élevé peut l'emporter sur une action courante.

C'est aussi pour cela que « un signalement annule 468 likes » est faux. Ce calcul (234 divisé par 0,5) traite les poids comme des décomptes. Le commentaire placé à côté des poids dans param.rs dit le contraire : les poids multiplient des probabilités. La probabilité de base d'un signalement est plus de 1 000 fois inférieure à celle d'un like. Et les signalements en masse ont un effet limité, car les prédictions sont personnalisées et seules comptent les actions sur des publications que X a servies dans l'Accueil.

Quelles actions comptent le plus dans l'algorithme de X ?

Copier le lien d'une publication a le poids positif le plus élevé (20). Viennent ensuite répondre, citer et envoyer par message privé (5 chacun), suivre l'auteur (4) et partager (2). Un like vaut 0,66. Valeurs tirées de home-mixer/params/param.rs.

Action préditePoidsCe que cela signifie pour vous
Copier le lien de la publication20On la garde ou on l'emporte ailleurs
Répondre5 (20 dans certains cas, voir la section suivante)La publication suscite une vraie conversation
Citer5La publication devient le point de départ d'une autre
Envoyer par message privé5Quelqu'un estime qu'une personne précise doit la voir
Suivre l'auteur depuis la publication4La publication convainc quelqu'un de vous suivre
Partager par d'autres moyens2Les autres façons de partager
Repost1Un simple repost
Like0,66L'action la plus courante, au poids faible
Temps passé après un clic sur la publication0,4On a cliqué et continué à lire
Cliquer sur la publication0,3Ouvrir la conversation ou le détail
Ouvrir un lien0,2Un clic sur le lien de la publication
S'arrêter sur la publication / agrandir une photo / cliquer sur une publication citée0,05 chacunSignaux d'attention légers
Ouvrir une vidéo0,02Un signal léger
Clic sur le profil, vue de vidéo, « analyser avec Grok »0Ne comptent pas dans le score actuellement

À retenir : le like est le signal positif le plus faible, et les poids élevés récompensent l'utilité et la conversation, comme garder le lien, l'envoyer à quelqu'un, répondre et citer. Un poids nul ne rend pas une action inutile ; elle ne compte pas dans le score de cette version.

Qu'est-ce que le boost d'abonnement mutuel ?

Quand vous et un auteur vous suivez mutuellement, le poids de votre réponse à une publication originale de cet auteur passe de 5 à 20. Le paramètre s'appelle BidirectionalFollowReplyWeightBoost, réglé à 15 et ajouté au poids de la réponse.

Le détail souvent mal compris : ce boost n'est pas un bonus général pour « les réponses entre abonnés mutuels ». D'après BIDIRECTIONAL_BOOST_CHANGE.md, il ne s'applique que lorsque la publication candidate est originale, c'est-à-dire ni une réponse ni un repost, et que son auteur est quelqu'un que le lecteur suit et qui le suit en retour.

Chronologie, d'après le même document :

Date (2026)Ce qui s'est passé
10 juilletTest A/B avec les valeurs 5, 10, 15 et 20
13 juilletDéploiement général à 20
24 juilletAbaissé à 15, après des retours pendant la Coupe du monde

Un boost similaire pour le temps de lecture a été testé, puis non déployé (il est à 0).

Déduction de notre part : des relations mutuelles actives, avec des gens qui échangent vraiment avec vous, valent plus qu'une large audience silencieuse. Suivre en retour à la chaîne n'aide pas d'après le code : un abonné mutuel qui ne répond jamais garde une faible probabilité de répondre.

Quels signaux négatifs font couler une publication ?

Signaler (−234), masquer l'auteur (−58,8), « pas intéressé » (−52,272) et bloquer l'auteur (−31,2) sont les signaux négatifs les plus lourds. Il en existe aussi un léger pour le défilement sans s'arrêter (−0,02).

Action préditePoids
Signaler la publication−234
Masquer l'auteur−58,8
« Pas intéressé par cette publication »−52,272
Bloquer l'auteur−31,2
Faire défiler sans s'arrêter−0,02

Ces poids multiplient des probabilités : une publication ne recule pas parce qu'elle « a reçu un signalement », mais quand le modèle prédit que ce lecteur précis a une réelle probabilité de signaler, de masquer ou de se dire pas intéressé.

Pour une marque, le masquage et le « pas intéressé » comptent plus que les signalements : ce sont les réactions typiques aux publications répétitives ou hors sujet.

Combien de temps une publication reste-t-elle en course, et pourquoi publier en rafale se retourne-t-il contre vous ?

Une publication peut rester 48 heures au plus dans Pour vous. À chaque construction du fil, une deuxième publication du même auteur conserve 62,5 % de son score, une troisième 43,75 %, et ainsi de suite jusqu'à un plancher de 25 %.

La limite de 48 heures est fixée dans home-mixer/params/config.rs (MAX_POST_AGE = 48 * 60 * 60) et appliquée par le filtre d'âge.

La réduction pour un même auteur fonctionne ainsi, d'après xai-value-model/scoring.rs et les valeurs de vm-ranker/params.rs (décroissance de 0,5 et plancher de 0,25) :

Rang parmi les publications du même auteurMultiplicateur du score
1re100 %
2e62,5 %
3e43,75 %
4e34,4 %
5e et suivantesjusqu'au plancher de 25 %

À noter :

  • Par construction du fil, pas par jour ni par session. Elle touche les publications d'un même auteur en concurrence dans une même actualisation.
  • Ce sont les valeurs par défaut du code. Que la production utilise exactement 0,5 et 0,25 est une déduction de notre part : ces chiffres ne sont pas dans le fichier synchronisé.

Deux autres ajustements :

  • Décote hors réseau. Le score des publications extérieures au réseau du lecteur est multiplié par 0,75 (OonWeightFactor dans vm-ranker/params.rs). Selon le README, elle vaut aussi pour les réponses et reposts arrivés via des comptes suivis.
  • Coup de pouce aux petits auteurs. Une publication originale peut être mise en avant si elle remplit trois conditions :
  • elle a 2 heures au plus ;
  • elle compte moins de 200 vues dans l'Accueil ;
  • son auteur a 50 000 abonnés au plus.

Les seuils figurent dans param.rs (ColdStartImpressionThreshold, ColdStartMaxPostAgeSecs, ColdStartFollowerCap). author_cold_start.rs met en avant une candidate de ce type par construction du fil. Attention : les 200 vues sont celles de la publication, pas du compte.

Un mythe à corriger sur les nouveaux comptes : le NewUserMinEngagementFilter n'exige pas d'engagement minimal de la part des nouveaux auteurs. Il regarde l'ancienneté du compte de la personne qui lit le fil (moins de 30 minutes). Dans cette version, il est désactivé (EnableNewUserMinEngagementFilter = false).

Premium, liens et Grok : qu'est-ce qui relève du mythe, et qu'est-ce qui est dans le code ?

Aucun des trois ne gagne ni ne perd de points directement dans les poids de Pour vous, mais tous apparaissent ailleurs dans le système.

Idée répandueCe que montre le codeCe que le code ne montre pas
« Premium augmente la portée »Aucun poids Premium ou de vérification dans le score du fil. Mais le calcul de réputation des comptes (user-cred-v2) donne un point de départ uniquement aux comptes Premium et vérifiésÀ quel point cette réputation modifie la portée
« Les liens tuent la portée »Aucun poids négatif pour les liens. Ouvrir un lien ajoute 0,2. Un signal « contient un lien » (has_url) est transmis au reclassement finalCe que le reclassement fait de ce signal
« Grok juge si vous écrivez bien »Le poids « analyser avec Grok » est de 0. Mais des modèles d'IA lisent bien les publications pour repérer le spam et les contenus de faible qualité, et pour classer les réponsesUn quelconque bonus « bien écrit » dans le score du fil

X Premium augmente-t-il la portée ?

Le classement n'a aucun poids Premium. X calcule toutefois une réputation par compte, une sorte de PageRank, dans user-cred-v2. Dans UserCredV2App.scala, le point de départ de ce calcul n'est attribué qu'aux comptes Premium ou vérifiés, puis des signaux d'engagement s'y ajoutent. Cette réputation alimente des règles antispam : les comptes à forte réputation peuvent échapper à certains contrôles.

Que cela donne plus de portée est une déduction de notre part : le code montre le mécanisme, pas l'ampleur de l'effet. Et les règles antispam exemptent les comptes à badge gris (gouvernementaux), pas les comptes Premium ordinaires.

Les liens nuisent-ils à la portée sur X ?

Le code public ne montre aucune pénalité directe. Ouvrir un lien a un poids positif (+0,2). Deux nuances :

  • Un signal « contient un lien » est envoyé au reclassement final. has_url, défini dans home-mixer/models/content_features.rs, est transmis. Le code ne montre pas s'il compte en faveur, contre, ou pas du tout.
  • Les mauvais liens ont leurs propres règles. Les règles antispam traitent les liens de faible qualité et ceux qui viennent de mauvaises sources.

L'idée qu'un lien « fait sortir les gens de l'app » est une hypothèse que le code ne prouve pas.

Grok lit-il mes publications ?

Oui, mais pas pour noter la qualité de votre texte dans le fil. D'après le README, un système de classificateurs appelé grox s'exécute à la publication et vérifie le spam, les contenus pour adultes et la violence. Dans les fichiers de grox :

  • un classificateur utilise un modèle Grok pour noter les réponses de 0 à 3 ;
  • un autre, basé sur le modèle Gemma, calcule un score de « slop » pour les contenus génériques et de faible qualité.

Les règles d'abuse-enforcement-service appliquent des étiquettes de visibilité aux publications et aux comptes marqués « llm_slop » (pendant 30 et 7 jours respectivement). Que le score de slop de Gemma soit exactement ce qui déclenche ces étiquettes est une déduction de notre part.

Conclusion sûre : le texte générique produit en masse risque davantage d'être étiqueté, et le code ne montre aucun bonus « bien écrit ».

Que faire de ce que montre le code ?

Rédigez des publications qui lancent des conversations et qui méritent d'être gardées ou transférées, espacez-les, publiez quand votre audience est active et évitez tout ce qui provoque un « pas intéressé ». Chaque point ci-dessous renvoie à un signal du code ; les déductions sont signalées.

  • [ ] Faites des publications qu'on a envie de garder ou d'envoyer à quelqu'un : listes, données, tutoriels, références. Poids de 20 (copier le lien) et de 5 (message privé).
  • [ ] Terminez par une vraie question à laquelle vous répondrez. Répondre et citer pèsent 5 chacun. Répondre à votre tour entretient la conversation ; que cela aide la publication est une déduction de notre part.
  • [ ] Entretenez des relations mutuelles actives. Vos publications originales valent davantage pour les personnes que vous suivez en retour (poids de réponse de 20).
  • [ ] Privilégiez les publications originales aux reposts pour gagner en portée dans votre réseau. Le boost d'abonnement mutuel ne s'applique qu'aux publications originales.
  • [ ] Espacez vos publications. Les rafales se font concurrence dans la même actualisation du fil (2e publication à 62,5 %, 3e à 43,75 %).
  • [ ] Publiez quand votre audience est habituellement active. Le coup de pouce aux petits auteurs ne couvre que les 2 premières heures, et les publications sortent de Pour vous après 48 heures. Le code ne définit pas de « meilleur moment » ; le bon moment dépend de votre audience (déduction de notre part).
  • [ ] Restez dans votre sujet. Le masquage (−58,8) et le « pas intéressé » (−52,272) pèsent bien plus qu'un like.
  • [ ] Évitez le texte générique à la chaîne. Il existe des classificateurs de « slop » avec des étiquettes de visibilité.
  • [ ] Utilisez des liens quand ils servent le lecteur. Le code public ne prévoit pas de pénalité directe, et l'effet du signal has_url n'est pas visible.
  • [ ] Ne croyez pas aux formules. Les scores sont des prédictions par lecteur, et X peut changer les poids à tout moment.

Sur plusieurs réseaux, réécrivez le sujet pour X au lieu de le copier. Le guide comment publier sur plusieurs réseaux sociaux explique comment faire.

Comment PostRite peut-il vous aider ?

PostRite planifie et publie sur X avec votre propre clé API. Il respecte la limite de caractères de votre compte et vous permet d'espacer vos publications dans un calendrier et une file d'attente. Il ne change pas l'algorithme, mais aide à appliquer le rythme et le format décrits plus haut.

D'abord, une condition : X exige que vous utilisiez votre propre clé API. D'après la documentation de l'intégration X, vous créez une app dans le portail développeur de X avec des droits de lecture et d'écriture, puis vous saisissez ses quatre identifiants OAuth 1.0a dans PostRite. X facture l'usage de l'API sur votre compte développeur. Si votre offre API n'a plus de crédits, PostRite marque la publication en échec comme « paiement requis » (HTTP 402).

L'éditeur de publications de PostRite avec un compte X sélectionné, affichant qui peut répondre et le premier commentaire à côté de l'aperçu X

Les options X apparaissent dans l'éditeur une fois le compte sélectionné : qui peut répondre et le premier commentaire.

Une fois le compte connecté, la documentation mentionne :

  • La bonne limite de caractères. Elle est de 280 caractères, ou de 25 000 si le compte a un abonnement X (Basic, Premium ou Premium+).
  • Le décompte est pondéré comme chez X : chaque lien compte pour 23 et chaque emoji pour 2.
  • Une publication envoyée à plusieurs comptes ne peut utiliser 25 000 que si tous sont abonnés.
  • Médias : jusqu'à 4 images, ou 1 vidéo de 2 minutes 20 secondes au maximum, par publication.
  • Premier commentaire : publié automatiquement en réponse juste après la publication, jusqu'à 280 caractères. L'endroit habituel pour un lien ou des hashtags.
  • Qui peut répondre : tout le monde, seulement les comptes que vous suivez ou seulement les comptes que vous mentionnez.
  • Un texte par réseau : une version pour X, une autre pour LinkedIn.
  • Plusieurs comptes X, dans les limites de votre forfait.

L'onglet File d'attente de Publications dans PostRite, avec les prochaines publications dans l'ordre de sortie

La file d'attente montre ce qui part ensuite, dans l'ordre.

Pour le rythme, la planification vous propose trois vues :

  • un calendrier (mois, semaine, jour et agenda) ;
  • une file d'attente ;
  • une liste.

Tout fonctionne dans le fuseau horaire de votre organisation. Vous pouvez replanifier en faisant glisser une publication dans le calendrier, et planifier ou annuler plusieurs publications à la fois. Les équipes disposent aussi de modèles et d'un flux d'approbation.

Une limite : PostRite n'affiche pas pour l'instant de statistiques par publication pour X, et ne propose ni réponses automatiques ni messages privés sur X. Pour vos horaires, fiez-vous à ce que vous savez de votre audience. Les forfaits et ce que chacun inclut sont détaillés sur la page des tarifs.

Questions fréquentes

Le code sur GitHub est-il celui qui tourne sur X ?

En grande partie, pas forcément à l'identique. Selon le README, param.rs est synchronisé automatiquement avec la production (dernière synchronisation : 3 novembre 2026). Des tests A/B peuvent modifier des valeurs, et certaines règles antispam et certains prompts d'IA ne sont pas publiés.

Un signalement annule-t-il 468 likes ?

Non. Les poids multiplient des probabilités par lecteur, et celle d'un signalement est plus de 1 000 fois inférieure à celle d'un like. Le commentaire de param.rs corrige lui-même ce calcul.

X Premium augmente-t-il la portée ?

Aucun poids Premium dans le score du fil. Les comptes Premium et vérifiés reçoivent un point de départ dans le calcul de réputation des règles antispam, sans effet chiffré sur la portée dans le code. L'avantage vérifiable est la limite de 25 000 caractères.

Les liens nuisent-ils à la portée sur X ?

Aucun poids négatif pour les liens dans le code public ; ouvrir un lien ajoute 0,2. Le signal has_url va au reclassement final sans effet visible, et les liens de spam relèvent de leurs propres règles.

Grok lit-il mes publications ?

Des modèles d'IA (Grok, Gemma) lisent les publications pour détecter le spam et le « slop » et pour noter les réponses. Le poids « analyser avec Grok » est de 0, sans bonus pour la bonne écriture.

Combien de temps une publication apparaît-elle dans Pour vous ?

Jusqu'à 48 heures. Un auteur de 50 000 abonnés au plus peut recevoir un coup de pouce dans les 2 premières heures si la publication a moins de 200 vues dans l'Accueil.

Conclusion

Le code de X ne livre pas de formule, mais tranche beaucoup de débats. Le like est le signal le plus faible ; garder le lien, l'envoyer en message et répondre comptent bien plus. Le masquage et le « pas intéressé » coûtent cher, et chaque publication dispose d'une fenêtre de 48 heures. Le code montre aussi où se trouvent les zones grises, comme Premium, les liens et l'IA.

La meilleure stratégie reste de publier des choses utiles, à un rythme régulier, pour des gens qui répondent, et de revoir ces chiffres de temps en temps.

Si vous voulez planifier ce rythme sur X et vos autres réseaux depuis un seul calendrier, PostRite propose un essai gratuit de 14 jours, sans carte bancaire : connectez votre compte X avec votre propre clé API et préparez les publications de la semaine prochaine. Moins d'intuition. Plus de méthode.

#X#Algorithme#Engagement#Portée#Stratégie de contenu