Preuve · code, extrait

staging-smoke.mjs

Dépôt jeremy-flexylead/flexylead-crm · commit ccbbaa07870e0f786729003dd6f8862e4bcc8256 · dossier de production synchronisé le 14 septembre 2026 à 08 h 46

Extrait tel qu'à ce commit : lignes 1–3, sur 3 (numérotation d'origine, 30 lignes de contexte autour de chaque citation) · fichier intégral sur GitHub (dépôt privé, accès requis)

3 lignes reproduites · ← retour à l'audit · catalogue des preuves

1import {chromium} from 'playwright';
2const b=await chromium.launch({headless:true});const p=await b.newPage();const req=[];const t=Date.now();p.on('request',r=>{if(r.url().includes('agents.flexylead.com'))req.push({ms:Date.now()-t,method:r.method(),url:r.url().replace(/project_id=[^&]+/,'project_id=STAGING')})});await p.goto('https://commerciaux.test.flexylead.com/#/',{waitUntil:'networkidle',timeout:30000});await p.getByRole('link',{name:'Se connecter'}).click();await p.getByLabel(/Email/i).fill('commercial.atlas.staging@flexylead.com');await p.getByLabel(/Mot de passe/i).fill('Stg-Atlas-Entrant-2026!9a');await p.getByRole('button',{name:/Connexion|Se connecter/i}).click();await p.waitForTimeout(8000);console.log(JSON.stringify({title:await p.title(),url:p.url(),ms:Date.now()-t,requests:req.length,first:req.slice(0,50),text:(await p.locator('body').innerText()).slice(0,1400)},null,2));await b.close();
3