Je disais plus haut que certains sites se montraient récalcitrants avec le navigateur chromium de python...
Mais l’avantage avec l’IA c’est qu’on peut faire de la dentelle et du sur mesure...
Du coup on a réussi à faire fonctionner ou à afficher ces deux sites qui n’auraient pas fonctionné sans ces 2 correctifs.
Ça c’est mon choix d’utiliser le navigateur mais (il suffit de le faire programmer par l’IA) vous pouvez aussi choisir de ne pas l’utiliser et de fonctionner à 100% «à l’ancienne» : chaque lien ouvre votre navigateur par défaut et faire la navette
Plutôt que de faire semblant de maîtriser cela voilà l’explication de l’IA pour 2 sites qui soit ne s’affichaient pas du tout dans le navigateur de courrier soit pour un autre le lien «lire la suite» ne fonctionnait pas.
1. Bouton "Lire la suite" inopérant (newsletters)
Le problème : un lien target="_blank" ne déclenchait rien dans le panneau de lecture, alors qu'il fonctionnait dans Waterfox. En cause, QWebEnginePage.createWindow() n'était pas surchargé — sans ça, QtWebEngine tente d'ouvrir une nouvelle fenêtre, échoue silencieusement, et rien ne se passe. On a ajouté cette surcharge pour que le lien s'ouvre directement dans le panneau de lecture lui-même (comme demandé), plutôt que vers le navigateur externe.
2. site lambda inaccessible dans le panneau
Ça, c'était plus tordu, en plusieurs étapes :
On a d'abord suspecté une détection anti-bot classique (user-agent suspect) → testé, corrigé le user-agent pour matcher la vraie version Chromium (140), mais ça n'a rien changé.
Débogage distant (DevTools connectées sur localhost:9222) → on a découvert la vraie cause : le Service Worker (sw.js) du site lambda était bien enregistré, mais son fetch échouait en interne dans QtWebEngine, bloquant même la page principale.
Première tentative : un script injecté qui empêche l'enregistrement du Service Worker sur ce domaine — insuffisant, car un Service Worker cassé était déjà enregistré et persistait dans le profil, et la page qui échoue ne se charge jamais assez pour que notre script s'exécute.
Solution finale : suppression physique du dossier Service Worker du profil au démarrage de l'appli, avant toute navigation — repart d'une ardoise vierge à chaque lancement, sans toucher aux cookies/sessions.
J’espère que cette lecture un tantinet technique vous aura diverti...
NB : toutes les inspections dev tools et cie c’est moi qui me les suis tapées donc utiliser l’IA ne veut pas dire non plus attendre que ça tombe tout cuit
