Microsoft CEO Satya Nadella testified in the ongoing Musk v. Altman trial, indicating that the billionaire didn't raise any issues about the partnership and investments despite having his phone number.
Microsoft Chairman and Chief Executive Officer Satya Nadella (L) returns to the stage after a pre-recorded interview with Elon Musk was played following the announcement that Grok AI, by Musk's artificial intelligence start up xAI, will be available on Microsoft's Foundry Models, during the Microsoft Build conference opening keynote in Seattle, Washington on May 19, 2025. (Photo by Jason Redmond / AFP) (Photo by JASON REDMOND/AFP via Getty Images)
Microsoft CEO Satya Nadella testified in the ongoing Musk v. Altman trial.
Microsoft's partnership with OpenAI just became non-exclusive, meaning rival companies like Google can access OpenAI's models, making Copilot AI in Windows 11 less exclusive, consequently costing it its bargaining chip and competitive edge.
Broken stained glass resembles a shattered Microsoft logo alongside an OpenAI logo on a rough concrete floor.
Microsoft's partnership with OpenAI just became non-exclusive.
Discover 10 practical ChatGPT prompts SOC analysts can use to speed up triage, analyze threats, improve documentation, and enhance incident response workflows.
Un Strasbourgeois de 37 ans a été interpellé par le RAID après avoir formulé des menaces dans une conversation avec ChatGPT. OpenAI a signalé les propos au FBI, qui a transmis l'alerte aux autorités françaises via la plateforme Pharos.
L'affaire a été classée sans suite, mais elle montre que les échanges avec les chatbots ne sont pas vraiment privés.
Des menaces repérées par OpenAI
Les faits remontent au 3 avril. L'homme a indiqué à ChatGPT vouloir acheter un pistolet Glock pour "tuer un agent du renseignement de la CIA, du Mossad ou de la DGSI". Les propos ont été détectés par les systèmes de modération d'OpenAI, qui applique depuis 2024 une politique claire : si une conversation présente un risque de violence physique, l'entreprise peut transmettre les échanges aux forces de l'ordre.
Ici, OpenAI a alerté le FBI, qui a relayé l'information aux autorités françaises via Pharos, la plateforme de signalement en ligne gérée par l'OCLCTIC.
Le RAID intervient, aucune arme trouvée
L'intervention a eu lieu au domicile de l'homme, dans le quartier de Koenigshoffen à Strasbourg. Le RAID est entré sans incident et n'a trouvé aucune arme sur place. L'homme a été placé en garde à vue puis libéré le lendemain.
Il a expliqué être schizophrène, en rupture de traitement depuis deux ans, et avoir voulu "tester la fiabilité et la surveillance de l'intelligence artificielle" plutôt que planifier quoi que ce soit. Le parquet de Strasbourg a classé l'affaire sans suite et l'homme a été hospitalisé d'office en psychiatrie.
Vos conversations avec les chatbots ne sont pas privées
Cette affaire est un bon rappel pour tous les utilisateurs de ChatGPT et d'autres assistants IA. OpenAI le dit dans ses conditions d'utilisation : les conversations peuvent être analysées, et dans certains cas transmises à la police.
Depuis février 2024, l'entreprise a perturbé plus de 40 réseaux qui enfreignaient ses règles. Et le mécanisme est rapide : entre les propos tenus à Strasbourg et l'intervention du RAID, il s'est visiblement passé très peu de temps. La coopération entre OpenAI, le FBI et les autorités françaises a fonctionné en quasi temps réel.
C'est le genre d'histoire qui fait réfléchir. On parle quand même d'un type qui tape des menaces dans un chatbot depuis chez lui et qui voit le RAID débarquer à sa porte quelques heures plus tard. Ici l'affaire s'est bien terminée, l'homme avait visiblement besoin de soins et pas d'un Glock.
Mais ça pose une question très concrète : est-ce que tous les utilisateurs de ChatGPT, Claude ou Gemini ont bien conscience que leurs conversations sont surveillées et peuvent remonter aux autorités de n'importe quel pays ? On imagine bien que non.
Hé oui, cest chacals d'OpenAI ferment leur plateforme de vidéos IA, et franchement, ça me rend un peu triste. À vrai dire, même si c’était que de la vidéo générée à partir de prompts, moi je me marrais bien. C'était fun de regarder le produit de ses prompts mais aussi de regarder les conneries des autres. Les versions québécoises, aïe aïe aïe, c’était quelque chose quand même !
Mais bon, le plus urgent maintenant, c’est de sauvegarder vos vidéos avant que tout disparaisse. OpenAI n’a pas encore communiqué de date précise pour la coupure, juste un vague « on vous dira bientôt ». Du coup, autant ne pas traîner, parce que quand ce genre de service cloud ferme, en général c’est pas 6 mois de préavis qu’on vous file...
Depuis
la fuite du modèle
jusqu’à aujourd’hui, Sora aura fait parler de lui. Côté raisons, c’est Fidji Simo (la patronne de la division Applications) qui a lâché le morceau : ils éparpillent leurs efforts sur trop d’apps, d’API et de stacks serveur différents, et ça les ralentit. En gros, entre préparer une entrée en bourse pour fin 2026 et cramer du GPU H100 sur des vidéos de chats en IA, le choix est vite fait. L’équipe de recherche Sora, elle, continuera à bosser sur la simulation de mondes 3D... mais pour la robotique. Et le fameux deal à 1 milliard de dollars avec Disney pour des films et séries ? Pouf, magie magie, c'est envolé !!
Faut dire que les chiffres n’étaient pas glorieux non plus. Après un lancement en fanfare fin 2024 (et une app iOS lancée à l’automne 2025 qui avait cartonné dans les charts), les téléchargements sur l’App Store avaient plongé de 32% entre novembre et décembre 2025. La hype, ça dure qu’un temps.
Mais maintenant les gens, on passe aux choses sérieuses !
Sora Backup - le script qui sauve vos vidéos
Je n'avais absolument pas de temps aujourd'hui, mais j'ai quand même taffé pour vous développer un petit script JavaScript qui récupère TOUTES vos vidéos Sora d’un coup, avec les prompts et les métadonnées, et qui vous génère un joli ZIP prêt à archiver. Pas besoin d’installer quoi que ce soit, pas d’extension louche. Vous avez juste besoin d'être connecté à votre profil Sora et d'un navigateur.
Comment ça marche
Allez sur
sora.com
, connectez-vous à votre compte, puis ouvrez la console JavaScript de votre navigateur (F12 sur Chrome ou Firefox, onglet Console). Ensuite, glissez-déplacez ou collez le script ci-dessous dedans et appuyez sur Entrée.
Le script va automatiquement récupérer votre token d’authentification (pas besoin de le chercher vous-même), puis il va paginer sur votre profil Sora pour récupérer tous vos posts publiés. Pour chaque post, il extrait les vidéos attachées (MP4), les télécharge, et empaquette le tout dans un fichier ZIP directement dans votre navigateur.
Y’a même un fichier manifest.json dans le ZIP qui contient tous vos prompts, les dimensions, les durées, les permalinks, les dates de création... bref, tout ce qu’il faut pour retrouver vos petits. Le ZIP est généré en format STORE (pas compressé, parce que compresser du MP4 ça sert à rien), avec un calcul CRC32 maison et sans aucune librairie externe.
Le script complet
Voici le code à coller dans la console :
//==========================================================//SORABACKUP-Sauvegardecomplètevidéos+images+promptsparKorben//==========================================================//Usage:Ouvrirhttps://sora.com,F12>Console,collercescript//Lesfichierssonttéléchargésvialenavigateur(dossierDownloads)//Unfichiermanifest.jsonrécapituletout(prompts,metadata,URLs)//==========================================================(async()=>{//---MiniZIPbuilder(STORE,pasdelibexterne)---constcrc32table=newUint32Array(256);for(leti=0;i<256;i++){letc=i;for(letj=0;j<8;j++)c=(c&1)?(0xEDB88320^(c>>>1)):(c>>>1);crc32table[i]=c;}functioncrc32(buf){letc=0xFFFFFFFF;for(leti=0;i<buf.length;i++)c=crc32table[(c^buf[i])&0xFF]^(c>>>8);return(c^0xFFFFFFFF)>>>0;}constzipFiles=[];//{name,data(Uint8Array),crc,size}constPAGE_SIZE=50;constDELAY_MS=1500;constmanifest=[];lettotalDownloaded=0;lettotalErrors=0;//---Auth:récupérerleBearertoken---//OPTION1:Collertontokenici(Networktab>Authorizationheader)//OPTION2:Laisservide,lescripttenteradelerécupérerautoletAUTH_TOKEN='';asyncfunctiongetAuthToken(){if(AUTH_TOKEN)returnAUTH_TOKEN;//Auto-detect:endpointsessionChatGPTfor(constpathof['/api/auth/session','/backend-api/auth/session']){try{constr=awaitfetch(path,{credentials:'include'});if(r.ok){constjson=awaitr.json();if(json.accessToken){AUTH_TOKEN=json.accessToken;console.log(' 🔑 Token récupéré automatiquement');returnAUTH_TOKEN;}}}catch(e){}}//Fallback:demanderàl'utilisateurconstinput=prompt('Token non trouvé automatiquement.\n\n'+'Pour le récupérer :\n'+'1. F12 > onglet Réseau\n'+'2. Rafraîchis la page\n'+'3. Clique sur une requête /backend/...\n'+'4. Copie le header Authorization\n\n'+'Colle le token ici (Bearer eyJ...):');if(input){AUTH_TOKEN=input.replace(/^Bearer\s+/i,'').trim();returnAUTH_TOKEN;}console.error(' ❌ Pas de token. Annulation.');returnnull;}//---FetchAPIavecauth---asyncfunctionapiFetch(url){consttoken=awaitgetAuthToken();constheaders={};if(token)headers['Authorization']='Bearer '+token;//oai-device-idrequisparcertainsendpointsconstdeviceId=localStorage.getItem('oai-did')||'';if(deviceId)headers['oai-device-id']=deviceId;constresp=awaitfetch(url,{method:'GET',credentials:'include',headers});if(!resp.ok)thrownewError(`HTTP${resp.status}for${url}`);returnresp.json();}//---Paginationgénérique---asyncfunctionfetchAllPages(baseUrl,dataField='data',cursorParam='after',cursorField='last_id'){letallItems=[];letcursor='';letpage=0;while(true){leturl=baseUrl;if(cursor)url+=`&${cursorParam}=${cursor}`;console.log(`📄Page${++page}(${allItems.length}itemssofar)...`);constjson=awaitapiFetch(url);constitems=json[dataField];if(!Array.isArray(items)||items.length===0)break;allItems=allItems.concat(items);cursor=json[cursorField]||'';if(!json.has_more&&!cursor)break;awaitsleep(DELAY_MS);}returnallItems;}//Variantepourlesendpointsproject_y(cursor-based)asyncfunctionfetchAllPagesCursor(baseUrl){letallItems=[];letcursor='';letpage=0;while(true){leturl=baseUrl;if(cursor)url+=`&cursor=${cursor}`;console.log(`📄Page${++page}(${allItems.length}itemssofar)...`);constjson=awaitapiFetch(url);constitems=json.items;if(!Array.isArray(items)||items.length===0)break;allItems=allItems.concat(items);cursor=json.cursor||'';if(!cursor)break;awaitsleep(DELAY_MS);}returnallItems;}functionsleep(ms){returnnewPromise(r=>setTimeout(r,ms));}//---ExtraireURLdumédiadepuisunegeneration---functiongetMediaUrl(gen){returngen?.encodings?.source?.path||gen?.downloadable_url||gen?.url||'';}//---Extraireleprompt(peutêtredansactions,prompt,ouinput_text)---functiongetPrompt(item,gen){//Promptdirectif(gen?.prompt)returngen.prompt;if(item?.prompt)returnitem.prompt;if(item?.input_text)returnitem.input_text;//Storyboard:lesactionssontlesdescriptionsdesscènesif(item?.actions&&typeofitem.actions==='object'){returnObject.entries(item.actions).sort((a,b)=>Number(a[0])-Number(b[0])).map(([frame,desc])=>`[frame${frame}]${desc}`).join(' | ');}if(gen?.actions&&typeofgen.actions==='object'){returnObject.entries(gen.actions).sort((a,b)=>Number(a[0])-Number(b[0])).map(([frame,desc])=>`[frame${frame}]${desc}`).join(' | ');}return'';}//---DéroulerlesitemsduprofilSoraenitemsplats---functionflattenProfileItems(items){constflat=[];for(constitemofitems){constpost=item.post||item;constattachments=post.attachments||[];if(attachments.length===0)continue;for(constattofattachments){consturl=att.encodings?.source?.path||att.downloadable_url||att.url||'';if(!url)continue;flat.push({id:post.id||att.generation_id||'',generation_id:att.generation_id||'',task_id:att.task_id||'',title:att.title||post.discovery_phrase||'',prompt:post.text||'',emoji:post.emoji||'',type:att.generation_type||att.kind||'',width:att.width||0,height:att.height||0,duration_s:att.duration_s||0,is_public:!!post.posted_to_public,created_at:post.posted_at?newDate(post.posted_at*1000).toISOString():'',url:url,permalink:post.permalink||'',username:item.profile?.username||'',});}}returnflat;}//---Sanitizefilename---functionsanitize(name){returnname.replace(/[<>:"\/\\|?*\x00-\x1f]/g, '_').substring(0, 100);}//---AjouterunfichierauZIP---asyncfunctionaddToZip(url,filename){try{constresp=awaitfetch(url);if(!resp.ok)thrownewError(`HTTP${resp.status}`);constbuf=awaitresp.arrayBuffer();constdata=newUint8Array(buf);zipFiles.push({name:filename,data,crc:crc32(data),size:data.length});totalDownloaded++;returntrue;}catch(e){console.warn(`⚠️Erreur${filename}:`,e.message);totalErrors++;returnfalse;}}//---Déduirel'extension ---functiongetExt(url,type){if(!url)returntype==='video'?'.mp4':'.png';constm=url.match(/\.(mp4|webm|mov|png|jpg|jpeg|webp|gif)/i);returnm?'.'+m[1].toLowerCase():(type==='video'?'.mp4':'.png');}//==========================================================//MAIN//==========================================================constorigin=window.location.origin;console.log('🎬 SORA BACKUP - Démarrage');console.log('='.repeat(50));//1.MespostsSora(profil)console.log('\n📦 1/2 - Récupération de mes posts Sora...');letmyPosts=[];try{myPosts=awaitfetchAllPagesCursor(`${origin}/backend/project_y/profile_feed/me?limit=${PAGE_SIZE}&cut=nf2`);console.log(`✅${myPosts.length}postsdeprofil`);//Debugpremieritemif(myPosts.length>0){constfirst=myPosts[0];console.log(' 🔍 Premier item - clés:',Object.keys(first).join(', '));console.log(' 🔍 URL:',first.url?.substring(0,80)||'none');console.log(' 🔍 DL:',first.downloadable_url?.substring(0,80)||'none');console.log(' 🔍 ENC:',first.encodings?.source?.path?.substring(0,80)||'none');console.log(' 🔍 GENS:',first.generations?.length||'none');console.log(' 🔍 TITLE:',first.title||'none');}}catch(e){console.warn(' ⚠️ profil failed:',e.message);}//2.MeslikessurSoraconsole.log('\n📦 2/2 - Récupération de mes likes Sora...');letmyLikes=[];try{myLikes=awaitfetchAllPagesCursor(`${origin}/backend/project_y/profile_feed/me?limit=${PAGE_SIZE}&cut=appearances`);if(myCameos.length)console.log(`✅${myCameos.length}cameostrouvés`);}catch(e){}//---Déroulerlesgenerationsetdédupliquer---console.log('\n🔄 Extraction des vidéos...');constrawAll=[...myPosts,...myLikes];constflatItems=flattenProfileItems(rawAll);constseen=newSet();constallItems=[];for(constitemofflatItems){if(item.id&&seen.has(item.id))continue;//Filtrer:vidéosuniquementconstisVideo=item.type==='video_gen'||item.url.includes('/videos/')||item.url.includes('.mp4');if(!isVideo)continue;if(item.id)seen.add(item.id);allItems.push(item);}console.log(`📊Totalunique:${allItems.length}vidéosàtélécharger`);console.log('='.repeat(50));//---Construirelemanifestettélécharger---console.log('\n⬇️ Téléchargement en cours...');console.log('(Les fichiers arrivent dans ton dossier Downloads)');for(leti=0;i<allItems.length;i++){constmeta=allItems[i];consturl=meta.url;if(!url){console.log(`⏭️[${i+1}/${allItems.length}]${meta.id}-pasd'URL, skip`);meta.downloaded=false;manifest.push(meta);continue;}consttype=(meta.task_type==='image_gen'||url.match(/\.(png|jpg|jpeg|webp|gif)/i))?'image':'video';constext=getExt(url,type);constnameBase=meta.title?sanitize(meta.title):(meta.prompt?sanitize(meta.prompt.substring(0,60)):meta.id);constfilename=`sora_${String(i+1).padStart(4,'0')}_${nameBase}${ext}`;console.log(`⬇️[${i+1}/${allItems.length}]${filename}`);meta.filename=filename;meta.downloaded=awaitaddToZip(url,filename);manifest.push(meta);//Pauseentredownloadspourpassurchargerif(i<allItems.length-1)awaitsleep(800);}//---AjouterlemanifestauZIP---console.log('\n📝 Ajout du manifest au ZIP...');constmanifestData=newTextEncoder().encode(JSON.stringify(manifest,null,2));zipFiles.push({name:'manifest.json',data:manifestData,crc:crc32(manifestData),size:manifestData.length});//---GénérerleZIP(formatSTORE,pasdecompression)---console.log('\n📦 Génération du ZIP...');constenc=newTextEncoder();constblobParts=[];constcentralParts=[];letoffset=0;for(constfofzipFiles){constnameBytes=enc.encode(f.name);//Localfileheader(30bytes+name)constlh=newArrayBuffer(30);constlv=newDataView(lh);lv.setUint32(0,0x04034b50,true);lv.setUint16(4,20,true);lv.setUint16(8,0,true);//STORElv.setUint32(14,f.crc,true);lv.setUint32(18,f.size,true);lv.setUint32(22,f.size,true);lv.setUint16(26,nameBytes.length,true);blobParts.push(newUint8Array(lh),nameBytes,f.data);//Centraldirectoryentry(46bytes+name)constch=newArrayBuffer(46);constcv=newDataView(ch);cv.setUint32(0,0x02014b50,true);cv.setUint16(4,20,true);cv.setUint16(6,20,true);cv.setUint16(10,0,true);//STOREcv.setUint32(16,f.crc,true);cv.setUint32(20,f.size,true);cv.setUint32(24,f.size,true);cv.setUint16(28,nameBytes.length,true);cv.setUint32(42,offset,true);centralParts.push(newUint8Array(ch),nameBytes);offset+=30+nameBytes.length+f.size;}constcentralSize=centralParts.reduce((s,p)=>s+p.length,0);consteocd=newArrayBuffer(22);constev=newDataView(eocd);ev.setUint32(0,0x06054b50,true);ev.setUint16(8,zipFiles.length,true);ev.setUint16(10,zipFiles.length,true);ev.setUint32(12,centralSize,true);ev.setUint32(16,offset,true);constzipBlob=newBlob([...blobParts,...centralParts,newUint8Array(eocd)],{type:'application/zip'});constzipName=`sora_backup_${newDate().toISOString().split('T')[0]}.zip`;consta=document.createElement('a');a.href=URL.createObjectURL(zipBlob);a.download=zipName;document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(a.href);//---Résumé---constsizeMB=(zipBlob.size/1024/1024).toFixed(1);console.log('\n'+'='.repeat(50));console.log('🎬 SORA BACKUP TERMINÉ');console.log(`✅VidéosdansleZIP:${totalDownloaded}`);console.log(`❌Erreurs:${totalErrors}`);console.log(`📦Fichier:${zipName}(${sizeMB}MB)`);console.log(`📝manifest.jsoninclusdansleZIP`);console.log('='.repeat(50));})();
Quelques précisions
Si le token n’est pas récupéré automatiquement (ça peut arriver selon votre config), le script vous demandera de le coller manuellement. Pour le trouver, c’est simple : F12 > onglet Réseau > rafraîchissez la page > cliquez sur n’importe quelle requête vers /backend/... > copiez le header Authorization.
D’ailleurs, si la vidéo IA vous branche toujours,
Higgsfield
propose des séries entièrement générées par IA. C’est pas la même approche que Sora, mais c’est un signe que la vidéo IA ne meurt pas avec la fermeture d’un seul service.
Bon, bref, c’est la fin d’un truc sympa. Moi je préférais largement scroller sur Sora sur d'aller sur TikTok ou Instagram parce qu'au moins c'était drôle !
Merci à mes
Patreons
qui me permettent de prendre le temps de développer ce genre de petits outils pour vous. Sans eux, j’aurais jamais pu me poser une après-midi pour coder ça.
Apple is reportedly preparing a major Siri overhaul with chatbot-style features, deeper app awareness, and possible Google Gemini support later in 2026.