Fonctionnement de l'extension

Weedout s’appuie sur l’API d’extensions Safari pour injecter un script de contenu dans chaque page YouTube ouverte sur le navigateur. Le script parcourt le DOM dès le chargement de la page et applique une fonction de filtrage à chaque conteneur de vidéo identifié. La suppression s’effectue en moins de 0,5 s sur un fil réel, ce qui indique que le traitement se fait avant le rendu final du lecteur. L’extension propose deux modes : suppression, qui retire complètement l’élément du flux, et dim, qui réduit l’opacité pour laisser l’utilisateur vérifier le résultat.

Mécanisme de détection

Le critère de filtrage repose exclusivement sur le badge officiel de YouTube « Made with AI ». Ce badge apparaît sous forme d’un span avec la classe CSS .ytp-badge-ai (ou équivalent) dans le bloc de métadonnées de chaque vidéo. Le script recherche cette classe et, lorsqu’elle est présente, déclenche la suppression ou le dim. Aucun algorithme heuristique n’est utilisé, ce qui élimine les faux positifs liés à des titres ou descriptions trompeurs. Le tableau suivant illustre le flux de décision :

if (videoElement.querySelector('.ytp-badge-ai')) {
    if (mode === 'dim') {
        videoElement.style.opacity = '0.3';
    } else {
        videoElement.remove();
    }
}

Cette logique s’applique aux sections « home », « search », « related », aux playlists et aux étagères Shorts. Pour les Shorts, l’extension peut également déclencher un auto‑skip en simulant un clic sur le bouton de lecture suivant, option activable par l’utilisateur.

Impact sur la confidentialité et la performance

Weedout ne requiert aucun compte YouTube, aucune autorisation d’accès à des API externes et ne transmet aucune donnée hors du navigateur. Toutes les opérations sont exécutées localement sur le Mac, ce qui garantit l’absence de suivi ou de collecte de logs. Le coût en ressources CPU est limité à la recherche de la classe CSS et à la manipulation du DOM, deux opérations dont le profil de charge reste inférieur à 1 % du temps processeur sur un MacBook Air M1 en navigation standard. Le cache interne de l’extension mémorise les identifiants de vidéos déjà filtrées, évitant ainsi de re‑évaluer les mêmes entrées lors de rafraîchissements de page.

Limites et perspectives

Le modèle de détection dépend intégralement du badge « Made with AI ». Si YouTube modifie le nom de la classe, la balise HTML ou la visibilité du badge, l’extension cessera de fonctionner jusqu’à une mise à jour du code. De plus, les vidéos générées par IA qui ne portent pas le badge restent visibles, ce qui crée un « fossé de couverture ». Le développeur indique que le support de ces cas est prévu pour une version future, mais aucune feuille de route précise n’est fournie. Enfin, l’extension ne bloque pas les requêtes réseau vers les serveurs de YouTube, ce qui signifie que le trafic de données reste inchangé, même si le contenu visuel est masqué.