IMNInfos Média Nantes
INFOS MÉDIA NANTES

LA SUITE DU MAGAZINE

À la une

L’accueil d’Infos Média Nantes, à feuilleter : les dernières informations locales, les rendez-vous et les initiatives du territoire. Actualités récentes · à lire et à partager
  • Nantes : Micr’Home, micro-architecture emblématique, du Voyage à Nantes quitte…
  • Ponts de Mauves-sur-Loire : réouverture, priorité signalée et restrictions toujours…

Faites glisser le coin de la page pour la tourner, ou cliquez sur Suivant

L’ACTU DU MOMENT

À la une, en un seul feuilletage.

SOMMAIREINFOS MÉDIA NANTES

Culture

997
Nantes : Micr’Home, micro-architecture emblématique, du Voyage à Nantes quitte son site

Nantes : Micr’Home, micro-architecture emblématique, du Voyage à Nantes quitte son site

Bouygues Immobilier et Le Voyage à Nantes ont annoncé le démontage prochain de la micro-architecture Micr’Home, conçue par l’architecte d’intérieur Myrtille Drouet. Installée depuis 2017 au croisement de la rue du Puits-d’Argent et de la rue de la Fosse, cette structure de 26 m², pensée comme une habitation miniature, quittera son site entre le lundi 2 et le vendredi 13 février 2026. Ce retrait s’inscrit dans un calendrier technique lié à des travaux de voirie, mais aussi dans la logique initiale du projet, conçu dès l’origine comme démontable.

Un projet né du concours « Génération Développement Durable »

Micr’Home trouve ses racines dans le concours « Génération Développement Durable », organisé par Bouygues Immobilier. Lauréate en 2016, Myrtille Drouet avait proposé d’expérimenter une architecture à très petite échelle, capable de révéler les interstices de la ville et d’interroger nos façons d’habiter l’espace urbain. Bouygues Immobilier a accompagné le projet en mettant à disposition ses équipes pour concrétiser cette vision. Le Voyage à Nantes a ensuite rejoint l’aventure afin de lui apporter visibilité, médiation et inscription dans le parcours artistique de la métropole.

Une micro-architecture devenue expérience

Au fil des années, Micr’Home a dépassé le simple statut d’installation architecturale pour devenir un lieu d’expérience. Exploitée comme un micro-hôtel à l’unique chambre, elle a attiré de nombreux visiteurs curieux de tester un habitat minimaliste en plein cœur de Nantes. La majorité des personnes séduites par cette expérience provenait de Loire-Atlantique. En décembre 2025, à l’approche de son démontage annoncé, le taux d’occupation a atteint 93 %, le niveau le plus élevé enregistré sur l’ensemble de l’année.

Une structure pensée pour une vie semi-pérenne

Dès sa conception, Micr’Home avait été imaginée comme une construction démontable. Son succès a toutefois permis de prolonger sa présence rue du Puits-d’Argent pendant près de dix ans, entre 2017 et 2026. Cette longévité exceptionnelle pour une œuvre de ce type s’explique par son intégration dans le paysage urbain et par l’intérêt constant du public. Néanmoins, des travaux programmés dans la rue rendent son démontage nécessaire avant la fin du mois de février.

Le calendrier précis du démontage

Du lundi 2 au vendredi 13 février 2026, les équipes procéderont d’abord au retrait des oiseaux décoratifs ainsi qu’au débranchement des réseaux d’eau et d’électricité alimentant la structure. Une nacelle sera installée au pied de Micr’Home pendant toute cette phase préparatoire. Les mardi 10 et mercredi 11 février, un camion-grue interviendra pour déposer les modules principaux, entraînant la fermeture temporaire de la rue de la Fosse le temps des opérations de levage. Si les conditions météorologiques l’exigent, ces grutages pourront se prolonger sur la journée du jeudi 12 février.

Quelle suite pour Micr’Home ?

Après son démontage, Micr’Home sera dans un premier temps stockée. Bouygues Immobilier envisage ensuite de la repositionner au sein d’un projet immobilier neuf sur la métropole nantaise, potentiellement comme logement étudiant ou hébergement touristique. Cette future implantation se fera en concertation étroite avec Myrtille Drouet afin de préserver l’esprit du projet. L’identification du site idéal constitue désormais la prochaine étape de son parcours.

Mini-jeu : « Attrape les modules et les oiseaux ! »

Fais bouger l’ouvrier 👷 pour attraper un maximum de 🏠 et 🐦 avant qu’ils ne touchent le sol ! Trois ratés et c’est fini. Chrono, score et meilleur score sont affichés. Bonne chance !

👷

Score : 0 | Meilleur : 0 | Temps : 0 s

article a{color:#5532F0;font-weight:bold;text-decoration:underline;} .imn-btn{background:#5532F0;color:#fff;border:2px solid #5532F0;border-radius:12px;padding:8px 16px;font-size:15px;cursor:pointer;} #imn-burger{touch-action:none;user-select:none;} (function(){ window.imnTrack = window.imnTrack || function(){}; const box=document.getElementById("imn-burger"); const mouth=document.getElementById("imn-mouth"); const scoreEl=document.getElementById("imn-score"); const overlay=document.getElementById("imn-end"); const endMsg=document.getElementById("imn-endmsg"); const restartBtn=document.getElementById("imn-restart");let score=0,best=0,missed=0,px=180,items=[],loop=null,startTime=null,playing=false; let speed=4, spawnChance=0.05, nextAccel=0, nextMore=0, nextSwitch=0; const types=["🏠","🐦","🏗️"]; let typeIndex=0;function spawn(){ const f=document.createElement("div"); f.textContent=types[typeIndex]; f.style.position="absolute"; f.style.left=Math.random()*(box.clientWidth-24)+"px"; f.style.top="0px"; f.style.fontSize="26px"; box.appendChild(f); items.push(f); }function update(){ const now=Date.now(); const elapsed=Math.floor((now-startTime)/1000);if(elapsed>=nextAccel){ speed+=1; nextAccel=elapsed+15; } if(elapsed>=nextMore){ spawnChance=Math.min(0.2,spawnChance+0.01); nextMore=elapsed+20; } if(elapsed>=nextSwitch){ typeIndex=(typeIndex+1)%types.length; nextSwitch=elapsed+30; }scoreEl.textContent=`Score : ${score} | Meilleur : ${best} | Temps : ${elapsed}s`;items.forEach((f,i)=>{ const t=parseFloat(f.style.top)+speed; f.style.top=t+"px"; const fy=t, fx=parseFloat(f.style.left);if(fy>260 && Math.abs(fx-px)310){ missed++; imnTrack("burger_miss",missed); f.remove(); items.splice(i,1); if(missed>=3){ endGame(); } } });if(Math.random(){ const rect=box.getBoundingClientRect(); movePlayer(e.clientX-rect.left-20); });function startGame(){ score=0; missed=0; speed=4; spawnChance=0.05; nextAccel=15; nextMore=20; nextSwitch=30; items.forEach(f=>f.remove()); items=[]; startTime=Date.now(); playing=true; overlay.style.display="none"; imnTrack("burger_start","begin"); if(loop) clearInterval(loop); loop=setInterval(update,40); }function endGame(){ playing=false; clearInterval(loop); const time=Math.floor((Date.now()-startTime)/1000); if(score>best) best=score; endMsg.textContent=`Partie terminée 👷\nScore : ${score} | Temps : ${time}s`; overlay.style.display="flex"; imnTrack("burger_end",{score,time}); }restartBtn.addEventListener("click",()=>{imnTrack("burger_restart","click");startGame();}); startGame(); })();
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Faire vivre la culture, c’est aussi la faire connaître. »

Lire l’article complet →
À la une02.02.26

Les News

998
Ponts de Mauves-sur-Loire : réouverture, priorité signalée et restrictions toujours en vigueur

Ponts de Mauves-sur-Loire : réouverture, priorité signalée et restrictions toujours en vigueur

Depuis ce lundi 2 février 2026 à 17 h 45, les ponts de Mauves-sur-Loire sont de nouveau accessibles à la circulation. Le passage s’effectue toutefois en alternat, avec une nouvelle signalisation de priorité destinée à fluidifier le trafic et éviter les situations de blocage. La mairie appelle les automobilistes au civisme afin de limiter les embouteillages dans un secteur déjà très fréquenté aux heures de pointe.

Un alternat maintenu jusqu’à fin avril

Conformément au calendrier annoncé par Atlantic’eau, cette organisation en alternat doit se poursuivre jusqu’à la fin du mois d’avril 2026. Des fermetures ponctuelles en journée pourront intervenir si des interventions techniques l’exigent. Les autorités locales invitent donc les usagers à anticiper leurs déplacements et à privilégier, lorsque c’est possible, des itinéraires alternatifs.

Pour encadrer ce dispositif, de nouveaux panneaux de priorité ont été installés aux abords des ouvrages. La mairie insiste sur un principe simple : laisser passer les véhicules arrivant en sens inverse dès que la file d’attente s’allonge. Ce comportement collectif doit permettre de réduire les temps d’attente et d’éviter les blocages inutiles.

Restrictions et vigilance renforcée

La circulation reste strictement interdite aux véhicules de plus de 3,5 tonnes jusqu’à nouvel ordre. Cette limitation vise à protéger la structure des ponts, fragilisée par les travaux en cours et les contraintes mécaniques qu’ils subissent quotidiennement.

Par mesure de précaution, un géomètre procède chaque jour à des relevés matin et soir afin de vérifier la stabilité de la dalle. En cas de détection d’un désordre, les ponts pourraient être fermés en urgence. La mairie s’est engagée à informer immédiatement la population par ses canaux officiels si une telle situation devait se produire.

Un enjeu de mobilité pour tout le territoire

Les ponts de Mauves-sur-Loire constituent un axe stratégique pour de nombreux habitants, travailleurs et entreprises du secteur. Leur réouverture, même partielle, représente donc un soulagement après plusieurs semaines de perturbations. Elle reste néanmoins conditionnée à une gestion prudente et à la coopération des usagers.

Dans les prochaines semaines, l’évolution de la situation dépendra à la fois des résultats des mesures techniques et du comportement des automobilistes. Si le dispositif en alternat fonctionne correctement et que la structure se révèle stable, la circulation pourra être progressivement normalisée. À l’inverse, toute dégradation entraînera des restrictions supplémentaires.

Mini-jeu : « Attrape les panneaux et les voitures ! »

Fais bouger la route 🛣️ pour attraper un maximum de 🚗 et 🚦 avant qu’ils ne touchent le sol ! Trois ratés et c’est fini. Chrono, score et meilleur score sont affichés. Bonne chance !

🛣️

Score : 0 | Meilleur : 0 | Temps : 0 s

article a{color:#5532F0;font-weight:bold;text-decoration:underline;} .imn-btn{background:#5532F0;color:#fff;border:2px solid #5532F0;border-radius:12px;padding:8px 16px;font-size:15px;cursor:pointer;} #imn-burger{touch-action:none;user-select:none;} .imn-readmore{border:2px solid #5532F0;padding:12px 16px;margin:20px 0;border-radius:10px;background:#f8f7ff;} .imn-readmore h3{margin-top:0;color:#5532F0;font-size:18px;} (function(){ window.imnTrack = window.imnTrack || function(){}; const box=document.getElementById("imn-burger"); const mouth=document.getElementById("imn-mouth"); const scoreEl=document.getElementById("imn-score"); const overlay=document.getElementById("imn-end"); const endMsg=document.getElementById("imn-endmsg"); const restartBtn=document.getElementById("imn-restart"); let score=0,best=0,missed=0,px=180,items=[],loop=null,startTime=null,playing=false;function spawn(){ const f=document.createElement("div"); f.textContent=Math.random(){ const t=parseFloat(f.style.top)+4; f.style.top=t+"px"; const fy=t, fx=parseFloat(f.style.left); if(fy>260 && Math.abs(fx-px)310){ missed++; imnTrack("burger_miss",missed); f.remove(); items.splice(i,1); if(missed>=3){ endGame(); } } }); if(Math.random(){ if(!playing) startGame(); if(e.key==="ArrowLeft") movePlayer(px-20); if(e.key==="ArrowRight") movePlayer(px+20); }); box.addEventListener("pointermove",e=>{ const rect=box.getBoundingClientRect(); movePlayer(e.clientX-rect.left-20); });function startGame(){ score=0; missed=0; items.forEach(f=>f.remove()); items=[]; startTime=Date.now(); playing=true; overlay.style.display="none"; imnTrack("burger_start","begin"); if(loop) clearInterval(loop); loop=setInterval(update,40); }function endGame(){ playing=false; clearInterval(loop); const time=Math.floor((Date.now()-startTime)/1000); if(score>best) best=score; endMsg.textContent=`Partie terminée 🛣️\nScore : ${score} | Temps : ${time}s`; overlay.style.display="flex"; imnTrack("burger_end",{score,time}); }restartBtn.addEventListener("click",()=>{imnTrack("burger_restart","click");startGame();}); startGame(); })();
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Les bonnes nouvelles circulent mieux quand on les transmet. »

Lire l’article complet →
À la une02.02.26

Les News

999
Un hôtel particulier classé à Nantes vendu aux enchères en ligne, mise à prix 1,96 million d’euros

Un hôtel particulier classé à Nantes vendu aux enchères en ligne, mise à prix 1,96 million d’euros

L’État s’apprête à céder un ensemble immobilier situé place Général Mellinet, à l’ouest de Nantes. L’opération concerne l’hôtel Maës, un hôtel particulier inscrit au titre des monuments historiques, ainsi que des bâtiments annexes. La vente se fera par enchères en ligne du 17 au 19 mars 2026, avec une mise à prix de 1 960 000 euros.

Un ensemble rare, au coeur d’un parc de plus de 4 000 m²

D’après la présentation de la vente, l’ensemble affiche une surface d’environ 1 466 m² et s’inscrit dans un environnement exceptionnel pour le secteur : un parc arboré de plus de 4 000 m², avec étang et espaces boisés classés. Derrière ses façades protégées, le site est décrit comme composé de plusieurs bâtiments, incluant l’hôtel particulier, des espaces de bureaux et une maison de gardien.

Le bien est annoncé comme lumineux, avec de vastes volumes, mais il nécessitera une rénovation. Comme il s’agit d’un monument protégé, les travaux devront s’inscrire dans un cadre patrimonial précis, avec des contraintes liées à la conservation et à la qualité des interventions.

Une vente organisée sur Agorastore

La mise aux enchères sera organisée sur la plateforme Agorastore, selon un calendrier déjà fixé : ouverture des enchères le 17 mars et clôture le 19 mars 2026. L’objectif affiché est de trouver un acquéreur capable de redonner vie à cet ensemble patrimonial, tout en respectant son statut et ses particularités architecturales.

Pour les candidats acheteurs, l’enjeu est double : porter un projet cohérent avec un bâtiment protégé, et intégrer la réalité d’un chantier de rénovation potentiellement lourd. Pour la ville, cette vente remet aussi en lumière le patrimoine privé du quartier Mellinet, connu pour ses hôtels particuliers et ses grandes propriétés.

À retenir

  • Bien concerné : hôtel Maës et bâtiments annexes (ensemble immobilier).
  • Localisation : place Général Mellinet, Nantes.
  • Surface annoncée : 1 466 m², parc de plus de 4 000 m² avec étang.
  • Vente : enchères en ligne du 17 au 19 mars 2026.
  • Mise à prix : 1 960 000 euros.

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« L’information utile commence souvent à deux pas de chez soi. »

Lire l’article complet →
À la une31.01.26

En famille · Sorties / Agenda

1000
Festival des jeux à Saint-Herblain : un week-end immersif à la Carrière pour lancer l’édition 2026

Festival des jeux à Saint-Herblain : un week-end immersif à la Carrière pour lancer l’édition 2026

Les 14 et 15 février, la ville de Saint-Herblain ouvre le Festival des jeux avec un week-end grand public à la Carrière. Gratuit et ouvert à tous, l’événement propose une programmation dense, pensée pour les familles, les enfants, les passionnés de jeux et les curieux.

Ce week-end festif marque le point de départ du Festival des jeux “20 000 jeux sous les mers”, dont le thème invite à explorer des univers ludiques inspirés du monde subaquatique. Jeux de société, jeux de rôle, espaces sensoriels et rencontres avec des auteurs rythmeront ces deux journées.

Une programmation pour tous les âges

À la Carrière, tous les publics trouveront des espaces adaptés. Les plus jeunes pourront profiter d’un espace sensoriel et motricité destiné aux enfants de 3 mois à 6 ans. Des animations autour de la construction de créatures sous-marines en LEGO seront également proposées.

Les amateurs de jeux de société et de narration pourront participer à des séances de jeu de rôle, accessibles aux débutants comme aux joueurs plus expérimentés. Le samedi soir, la programmation se prolonge avec des parties de jeux de société et de jeu de rôle.

Rencontres, prototypes et auteurs à l’honneur

Le festival met aussi en avant la création ludique. Le public pourra découvrir des prototypes de jeux présentés par le Cercle des auteurs de Jeux à l’Ouest, échanger avec des créateurs et assister à des rencontres et dédicaces avec les auteurs sélectionnés pour le Double6.

Plusieurs acteurs locaux du jeu seront présents, dont le magasin Sortilèges. Une vente et collecte de jeux sera également organisée par Joujou. Un bar et une petite restauration seront accessibles sur place tout au long du week-end.

Un festival qui se prolonge jusqu’au 28 février

Le week-end des 14 et 15 février lance un festival plus large qui se déroulera du 14 au 28 février dans différents lieux de la ville et chez les partenaires. Les espaces de jeux du réseau de la Bibliothèque, les centres socioculturels et plusieurs structures accueilleront des animations autour du thème “20 000 jeux sous les mers”.

Infos pratiques

  • Lieu : Salle de la Carrière, rue du Souvenir-français, Saint-Herblain
  • Horaires : samedi de 14h à 1h, dimanche de 10h à 18h
  • Entrée : gratuite
  • Découvrez le programme : festival-des-jeux.saint-herblain.fr

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();

Sources officielles

  • Ville de Saint-Herblain – Agenda et programme du Festival des jeux
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Les artistes racontent aussi la ville qui les entoure. »

Lire l’article complet →
À la une31.01.26

PAUSE JEU 4 · Mémoire

Memory

Retrouve les paires du dossier.

PAUSE LUDIQUEIMN

LE TERRITOIRE AU QUOTIDIEN

IMN Proximité

Une plateforme territoriale pour mettre en relation particuliers et professionnels locaux.

IMN PROXIMITÉ · SERVICES LOCAUX

Les bonnes personnes, au bon endroit, au bon moment. Transport de soins ou immobilier à la carte : déposez votre demande et recevez les réponses de professionnels vérifiés près du lieu concerné. 100 % gratuit · Sans abonnement
IMN ProximitéINFOS MÉDIA NANTES

Entreprises locales · Les News

1001
Municipales 2026 : la CCI Nantes St-Nazaire fait remonter les priorités des entreprises aux futurs élus

Municipales 2026 : la CCI Nantes St-Nazaire fait remonter les priorités des entreprises aux futurs élus

À l’approche des élections municipales de 2026, la Chambre de commerce et d’industrie Nantes St-Nazaire a engagé une démarche de consultation inédite afin de porter la voix des entreprises auprès des futurs élus locaux. Une initiative destinée à ancrer les programmes municipaux dans les réalités économiques du territoire.

Dans un contexte où les décisions locales jouent un rôle déterminant sur l’attractivité et le développement économique, la CCI Nantes St-Nazaire a souhaité donner la parole aux chefs d’entreprise de Loire-Atlantique. L’objectif est clair : identifier leurs attentes prioritaires et les transmettre aux candidats aux élections municipales de 2026, afin d’éclairer les choix à venir en matière d’action publique locale.

Cette consultation s’inscrit pleinement dans la mission de représentation des entreprises portée par la CCI. Elle vise à nourrir les débats et à renforcer le dialogue entre le monde économique et les collectivités, à l’échelle des communes comme des intercommunalités.

38 propositions, dont 12 jugées prioritaires à l’échelle départementale

Au total, 451 chefs d’entreprise ont participé à cette large consultation menée à l’échelle de la Loire-Atlantique. De leurs contributions sont ressorties 38 propositions relevant des compétences des communes et des intercommunalités. Parmi elles, 12 propositions ont recueilli un très large consensus et sont considérées comme prioritaires à l’échelle départementale.

Ces propositions couvrent des leviers essentiels du développement économique local, avec pour ambition de soutenir durablement l’activité des entreprises et la création d’emplois sur l’ensemble du territoire. À côté de ces priorités communes, la CCI a également recueilli des attentes plus ciblées, exprimées territoire par territoire, afin de tenir compte des spécificités locales.

Cinq grands axes au cœur des attentes des entrepreneurs

Lors d’une rencontre organisée à la Maison de l’Entreprise de Saint-Nazaire, 45 candidats et colistiers représentant 12 communes de la Presqu’île Estuaire, couvrant notamment les périmètres de CAP Atlantique et de Saint-Nazaire Agglomération, ont découvert les principaux enseignements de cette démarche.

Les attentes des entreprises s’articulent autour de cinq grands axes structurants : l’attractivité du territoire, la mobilité, le foncier économique, la transition environnementale et sociétale, ainsi que la fiscalité locale. Ces thématiques reflètent des préoccupations très concrètes, directement liées aux conditions d’implantation, de développement et de pérennité des activités économiques.

Un calendrier de rencontres dans tout le département

Afin de présenter ces propositions locales et départementales, la CCI Nantes St-Nazaire a programmé une série de rencontres avec les candidats aux élections municipales, réparties sur l’ensemble du territoire de la Loire-Atlantique. Ces échanges doivent permettre d’adapter les propositions aux réalités de chaque bassin de vie et d’enrichir les programmes municipaux à partir des besoins exprimés par les entrepreneurs.

Cette démarche se veut résolument constructive. Elle repose sur la conviction que les orientations prises lors du prochain mandat municipal auront un impact direct sur les conditions du développement économique local pour les années à venir.

La CCI dans son rôle de porte-voix des entreprises

Par cette action, la CCI Nantes St-Nazaire entend exercer pleinement son rôle de porte-parole des entreprises du territoire. En faisant remonter leurs priorités auprès des futurs élus, elle souhaite contribuer activement aux réflexions et aux débats qui façonneront le territoire de demain.

Au-delà de l’échéance électorale, cette démarche illustre la volonté de renforcer un dialogue durable entre acteurs économiques et collectivités, dans un contexte où les enjeux d’attractivité, de transition et d’emploi sont plus que jamais au cœur des politiques locales.

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();

Sources

  • CCI Nantes St-Nazaire – Consultation des entreprises en vue des élections municipales 2026
  • Enquête départementale auprès de 451 chefs d’entreprise en Loire-Atlantique
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Chaque quartier a des idées à raconter. »

Lire l’article complet →
À la une31.01.26

Les News

1002
À Saint-Nazaire, la mairie et les chantiers navals s’allient pour acheter des logements

À Saint-Nazaire, la mairie et les chantiers navals s’allient pour acheter des logements

À Saint-Nazaire, la question du logement s’impose désormais comme un enjeu central du développement local. Face à une pénurie persistante et à une demande en forte progression, la municipalité et les chantiers navals ont décidé d’agir conjointement en achetant des logements sur le territoire.

La ville de Saint-Nazaire connaît depuis plusieurs années une pression immobilière soutenue. L’attractivité économique du bassin nazairien, portée notamment par l’activité industrielle et les grands projets en cours, attire de nouveaux habitants et salariés, tandis que l’offre de logements progresse plus lentement. Ce déséquilibre alimente des tensions sur le marché, avec des délais de recherche qui s’allongent et des prix orientés à la hausse.

Les acteurs locaux estiment que le manque de logements se chiffre à plusieurs centaines d’unités. Cette situation complique l’installation durable des travailleurs et pèse sur l’équilibre social du territoire, en particulier pour les ménages modestes ou les nouveaux arrivants.

Une initiative conjointe pour répondre à l’urgence

Pour tenter d’enrayer cette dynamique, la mairie de Saint-Nazaire et les chantiers navals ont choisi de s’associer afin d’acheter des logements. Cette démarche vise à constituer un parc mobilisable rapidement, destiné en priorité à répondre aux besoins des salariés, dont la présence est indispensable au fonctionnement et à la pérennité de l’activité industrielle locale.

L’objectif affiché est double. D’une part, soulager la pression exercée sur le marché privé en retirant une partie de la demande. D’autre part, sécuriser les parcours résidentiels des travailleurs, en leur proposant des solutions de logement à proximité des zones d’emploi. Une stabilité jugée essentielle pour fidéliser les compétences et garantir la continuité des projets industriels.

Un rôle renforcé des acteurs publics et économiques

Dans ce partenariat, la collectivité apporte sa connaissance du territoire, de ses équilibres urbains et sociaux, ainsi que ses outils d’intervention en matière de logement. Les chantiers navals, de leur côté, agissent en tant que grand employeur confronté à des besoins croissants de main-d’œuvre, et pour lequel la question du logement devient un facteur stratégique.

Cette coopération illustre une évolution des réponses apportées à la crise du logement. Lorsque les dispositifs classiques peinent à produire suffisamment de logements, certaines collectivités et entreprises choisissent d’intervenir plus directement pour préserver l’attractivité et la cohésion du territoire.

Un phénomène qui dépasse le cadre local

La situation observée à Saint-Nazaire s’inscrit dans une tendance plus large. Dans plusieurs villes industrielles françaises, la croissance de l’emploi dépasse la capacité du parc immobilier à absorber la demande. Cette tension structurelle pose la question de l’adaptation des politiques locales de l’habitat aux réalités économiques.

L’initiative engagée à Saint-Nazaire pourrait ainsi servir de référence pour d’autres territoires confrontés à des difficultés similaires. Reste à savoir si ce type d’action pourra être déployé à une échelle suffisante pour produire des effets durables sur le marché du logement.

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();

Sources officielles

  • Ville de Saint-Nazaire – politiques locales de l’habitat
  • Saint-Nazaire Agglomération – Programme local de l’habitat
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Une ville se découvre aussi dans les détails qui la font bouger. »

Lire l’article complet →
À la une31.01.26

LE RENDEZ-VOUS DU JOUR

Votre horoscope

Une parenthèse légère pour regarder la journée autrement, signe après signe.

L’horoscope IMN · 20/09/2026

Bélier, votre journée en perspective

Une lecture claire et moderne de vos tendances du jour.

♈︎ Bélier

Laissez-vous guider par votre intuition. Elle ne vous trompera pas aujourd'hui, posez-vous les bonnes questions. Votre hygiène de vie mérite quelques changements, c'est le moment idéal d'entreprendre un régime et de faire attention à la qualité de votre sommeil.

Amour

Une ambiance remplie de sagesse s'annonce aujourd'hui. Vos sentiments sont remplis de tendresse, exprimez-les pleinement. Les élans du cœur véritables se voient couronnés de succès grâce à des énergies d'ancrage, bénéfiques à toute relation pérenne. Vous aimez profondément !

Travail

Votre humour très personnel fait mouche à tous les coups. Vos proches connaissent vos blagues par cœur. Aujourd'hui, vous y allez de votre talent pour vous faire pardonner votre absence.

Finances

Vous finissez par vous débarrasser des croyances qui vous limitent et vous débordez d'énergie et d'enthousiasme pour gagner plus d'argent et aider les autres à réussir. Vous vous faites un beau cadeau en repoussant toujours plus loin les bornes de la réussite et cela vous enrichit.

Bien-être

Aujourd'hui, vous aurez des idées bien précises en ce qui concerne le futur, vous êtes bien inspiré. Vous aurez également l'occasion de mûrir ou d'approfondir vos connaissances. Elles vous seront utiles à l'avenir.

Vous êtes décidé à sortir de votre cocon pour vous organiser un petit week-end à la campagne et partir à la découverte de la nature environnante. Bonne idée ! Vous pourrez également apprécier les bonnes tables du coin.

Horoscope de la semaine

Du 21 septembre au 27 septembre 2026

♈︎ Bélier

Uranus charrie un courant puissant d'énergies, cette semaine. Vous en profitez pour renouveler vos relations et pour faire avancer vos projets les plus personnels. Autant dire que votre programme s'annonce chargé, c'est une ambiance propice à la créativité : des changements de cap et de taille sont à votre portée.

Amour

Vous êtes pressé, espérons que vous tombiez sur la bonne personne pour transformer cette impatience en volupté et en sensualité. Vous mettez votre énergie au service de stratégies minutieuses destinées à faire tomber la bonne personne dans vos filets. Vous alternez force puis persuasion pour amener l'objet de vos désirs à partager vos fantasmes, les résultats sont inégaux.

Finances

Très habilement vous négociez un nouveau contrat, vous signez un nouvel accord, toutes les chances sont de votre côté. Sur le plan des finances c'est une semaine radieuse, une belle situation financière récompense tous vos efforts. En gardant une certaine régularité et une gestion rigoureuse, vos comptes montent en puissance. En milieu de semaine, vous pourriez recevoir des propositions alléchantes, n'attendez pas pour donner votre réponse.

Bien-être

Si vous usez à bon escient de vos atouts pour enchanter le quotidien et faire plaisir à votre entourage, vous n'en retirerez que des avantages et vous terminez la semaine en accord avec le monde. Vous devriez faire évoluer vos relations ou dénicher la perle rare, celle qui pourrait vous accompagner sur le chemin du quotidien et alimenter durablement votre vie sentimentale.

Travail

Vous fréquentez avec bonheur votre cercle habituel et vous multipliez vos contacts. Vous avez envie de sortir, de manifester votre enthousiasme. Vous jouissez d'une position enviable et, dans ces moments-là, mieux vaut compter ses alliés que les jaloux, prêts à tout pour se venger de votre opiniâtreté qui frise parfois la tyrannie !

Le conseil de la semaine

Travaillez sur vos projets sans hâte pour cerner progressivement comment vous pourriez donner vie à vos idées et les voir se concrétiser. Le cap que vous souhaitez atteindre n'est pas si ambitieux si vous savez vous entourer des bonnes personnes et si vous ne négligez aucun axe de réflexion.

Source astrologique autorisée : Mon Horoscope du Jour.

Votre horoscopeINFOS MÉDIA NANTES

Les News

1003
Travailleurs étrangers : pourquoi la baisse des titres de séjour fragilise certains secteurs clés

Travailleurs étrangers : pourquoi la baisse des titres de séjour fragilise certains secteurs clés

Alors que la France continue de faire face à des pénuries de main-d’œuvre dans plusieurs métiers dits « en tension », les derniers chiffres de l’immigration publiés par le ministère de l’Intérieur mettent en lumière une évolution contrastée. En 2025, le nombre de titres de séjour pour motif économique a nettement reculé, suscitant de vives inquiétudes dans certains secteurs fortement dépendants des travailleurs étrangers.

Une immigration globale en hausse, mais des déséquilibres marqués

Selon les données officielles rendues publiques mardi 27 janvier, près de 385 000 titres de séjour ont été accordés en France en 2025. Ce volume représente une hausse de 11 % par rapport à 2024. Dans le même temps, le nombre d’expulsions progresse fortement, avec une augmentation de 15 %, tandis que les régularisations enregistrent un recul de 10 %.

Derrière cette tendance globale, un indicateur retient particulièrement l’attention des acteurs économiques. Les titres de séjour délivrés pour motif économique sont en effet en net recul sur un an. En 2025, 51 190 titres de ce type ont été attribués, soit 13 % de moins qu’en 2024.

Des secteurs en tension de plus en plus fragilisés

Cette baisse intervient alors même que plusieurs secteurs peinent déjà à recruter. L’hôtellerie-restauration, les services à la personne ou encore les entreprises de propreté ont régulièrement recours à des travailleurs étrangers pour maintenir leur activité.

Pour Jean-Marie Cezian, représentant de la Fédération des services à la personne et de proximité, la situation est préoccupante. Il souligne qu’un déficit de recrutement dans ce secteur peut avoir des conséquences directes sur les publics les plus fragiles, notamment les personnes âgées en perte d’autonomie ou en situation de handicap.

Des métiers peu attractifs face à un vieillissement de la main-d’œuvre

Dans l’aide à la personne comme dans la propreté, le constat est partagé. Ces métiers, souvent peu qualifiés et faiblement rémunérés, attirent de moins en moins de candidats, qu’ils soient français ou étrangers.

Loys Guyonnet, délégué général de la fédération des entreprises de propreté, alerte sur le vieillissement rapide des effectifs. De nombreux départs à la retraite sont attendus dans les années à venir, avec des besoins de recrutement estimés à plusieurs centaines de milliers d’emplois sur la prochaine décennie. Certaines entreprises signalent déjà des difficultés croissantes pour renouveler les titres de séjour économiques.

Un enjeu durable pour l’économie et les politiques publiques

La baisse des titres de séjour pour motif économique pose ainsi la question de la capacité de ces secteurs à répondre à la demande dans les années à venir. Pour les professionnels concernés, l’enjeu dépasse le simple recrutement et interroge plus largement l’articulation entre politique migratoire et besoins structurels du marché du travail.

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();

Sources officielles

  • Ministère de l’Intérieur – Chiffres de l’immigration en France, année 2025
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Ce qui se passe près de chez nous mérite du temps et de l’attention. »

Lire l’article complet →
À la une31.01.26

PAUSE JEU 7 · Observation

Mots mêlés

Trouve les mots cachés dans une grille tactile.

PAUSE LUDIQUEIMN

Les News

1004
Sécurité publique : ce que disent réellement les chiffres 2024 à Nantes et Saint-Nazaire

Sécurité publique : ce que disent réellement les chiffres 2024 à Nantes et Saint-Nazaire

Longtemps présentée comme une ville « basculant dans l’insécurité » après plusieurs faits de violence très médiatisés à partir de 2019. Nantes continue pourtant d’afficher, selon les données officielles, une évolution globale de la délinquance en recul sur le long terme. Le bilan départemental de la délinquance 2024, publié par la préfecture de Loire-Atlantique, consacre un focus spécifique à Nantes et Saint-Nazaire, deux territoires qui concentrent une part importante des faits enregistrés dans le département.

Nantes : un volume élevé, mais une tendance orientée à la baisse

En 2024, 23 888 faits de délinquance ont été recensés à Nantes. Ce chiffre marque une baisse de 2,87 % par rapport à 2023 et surtout une diminution de 22,56 % par rapport à 2019, année souvent citée comme un point de bascule dans le débat public.

La délinquance nantaise représente à elle seule 28,85 % de l’ensemble des faits constatés en Loire-Atlantique. Dans le détail, les atteintes aux biens reculent de 4,63 %, tandis que les atteintes à l’intégrité physique des personnes enregistrent également une baisse de 3,02 %.

Les services de l’État soulignent par ailleurs l’impact de la présence renforcée de la Direction interdépartementale de la police nationale (DIPN), régulièrement appuyée par des unités de force mobile, notamment dans le centre-ville et les quartiers sensibles. Cette intensification de l’action policière se traduit par une hausse de 14,12 % des infractions révélées par l’activité des services.

En matière de lutte contre les stupéfiants, le constat est plus contrasté. Les faits constatés progressent de 25,22 % et le nombre de personnes mises en cause augmente de 32,44 %, une évolution que les autorités relient à une stratégie assumée de contrôles et d’interpellations ciblées.

Saint-Nazaire : des indicateurs globalement en recul

À Saint-Nazaire, 5 217 faits de délinquance ont été enregistrés en 2024. Là aussi, la tendance est à la baisse, avec -1,32 % par rapport à 2023 et -3,12 % par rapport à 2019.

Les atteintes aux biens diminuent de 3,85 %. En revanche, les atteintes à l’intégrité physique des personnes progressent légèrement, avec une hausse de 0,78 %.

Depuis l’été 2024, la présence policière renforcée dans plusieurs quartiers sensibles de la ville produit des effets visibles dans les statistiques. Les infractions révélées par l’action des services augmentent de 14,26 %, un niveau supérieur à la moyenne départementale. Les infractions liées aux stupéfiants atteignent 472 faits, en hausse de 9,51 % sur un an.

Entre perception et réalité statistique

Si certains faits violents survenus depuis 2019 ont profondément marqué l’opinion publique, les données consolidées du ministère de l’Intérieur indiquent une évolution différente de celle souvent véhiculée dans le débat médiatique. À Nantes, le nombre de crimes et délits est passé de 32 697 en 2019 à 24 126 en 2024, soit une baisse de 26,2 % en cinq ans.

Ces chiffres, parfois légèrement différents de ceux publiés par la préfecture en raison des méthodes de comptabilisation, confirment néanmoins une tendance de fond à la diminution, malgré une concentration persistante de certains phénomènes et une visibilité accrue des actions de police.

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Un sujet local peut ouvrir une conversation qui compte. »

Lire l’article complet →
À la une31.01.26

À SUIVRE AUJOURD’HUI

Le fil local

Les repères du jour, les rendez-vous et les informations qui font vivre le territoire.

Le fil localINFOS MÉDIA NANTES

Les News

1005
Cathédrale de Nantes : la Ville valide le financement d’une verrière contemporaine

Cathédrale de Nantes : la Ville valide le financement d’une verrière contemporaine

Plus de quatre ans après l’incendie qui a détruit la grande verrière de la cathédrale Saint-Pierre-et-Saint-Paul, la Ville de Nantes vient d’approuver sa participation financière à un projet de remplacement par une création contemporaine.

Une verrière historique irrémédiablement perdue

Le 18 juillet 2020, un incendie s’est déclaré dans la cathédrale Saint-Pierre-et-Saint-Paul de Nantes, provoquant d’importants dégâts sur la façade occidentale. La grande verrière a été particulièrement touchée, subissant des altérations incompatibles avec une restauration à l’identique.

Les expertises menées après le sinistre ont confirmé l’impossibilité de remettre en place les verres anciens. Leur fragilisation, combinée aux exigences de sécurité et de conservation, a conduit les autorités à écarter toute solution de restitution historique.

Le choix assumé d’une création contemporaine

Maître d’ouvrage du chantier de restauration, la Direction régionale des affaires culturelles (DRAC) des Pays de la Loire a retenu le principe d’une verrière contemporaine pour remplacer l’ouvrage détruit. Ce choix s’inscrit dans une démarche désormais courante sur les monuments historiques, consistant à distinguer clairement les ajouts contemporains des éléments d’origine.

La future verrière devra dialoguer avec l’architecture gothique de l’édifice, sans chercher à reproduire les vitraux disparus. Le projet fera l’objet d’un concours de commande publique, garantissant une sélection encadrée et transparente.

Un soutien financier acté par le conseil municipal

Lors du conseil municipal du vendredi 30 janvier, la Ville de Nantes a approuvé sa participation au financement de cette nouvelle verrière. La collectivité s’est engagée à hauteur de 100 000 euros, aux côtés de l’État.

Cette décision marque une étape concrète dans l’avancement du projet. Le lauréat du concours de commande publique chargé de concevoir la verrière sera désigné début 2027, avant le lancement des phases de fabrication et d’installation.

Un chantier patrimonial toujours en évolution

Si la cathédrale a rouvert au public après plusieurs années de travaux, certains éléments, comme la façade et sa verrière, continuent de faire l’objet d’interventions programmées sur le long terme.

Le remplacement de la verrière constitue ainsi l’un des derniers grands volets du chantier engagé après l’incendie, avec l’enjeu de concilier création artistique, respect patrimonial et intégration urbaine.

Mini-jeu IMN – Math Rush spécial patrimoine

Mini-jeu IMN : Math Rush

Score 0 Série 0/3 Temps 30s
/* Boutons IMN : lisibles partout */ .imn-btn{ background:#5532F0; color:#fff !important; border:1px solid #5532F0; padding:10px 18px; border-radius:999px; font-weight:700; font-size:15px; cursor:pointer; appearance:none; -webkit-appearance:none; line-height:1; } .imn-btn:hover{opacity:.92;} .imn-btn:active{transform:scale(.96);} .imn-btn:focus{outline:3px solid rgba(85,50,240,.25); outline-offset:2px;}.mr-answer{ background:#ffffff !important; color:#222 !important; border:2px solid #5532F0 !important; border-radius:12px; padding:10px; font-size:18px; font-weight:700; cursor:pointer; text-align:center; appearance:none; -webkit-appearance:none; }.mr-good{background:#dff5e7 !important;border-color:#4CAF50 !important;} .mr-bad{background:#ffe0e0 !important;border-color:#e53935 !important;}#imn-mathrush.flash-good{box-shadow:0 0 0 4px rgba(76,175,80,.35);} #imn-mathrush.flash-bad{box-shadow:0 0 0 4px rgba(229,57,53,.35);}(function(){ // Sécurité : évite double init si WP ré-injecte le contenu if(window.__imnMathRushAltV2) return; window.__imnMathRushAltV2 = true;const root=document.getElementById('imn-mathrush'); const qEl=document.getElementById('mr-question'); const aEl=document.getElementById('mr-answers'); const bar=document.getElementById('mr-bar'); const scoreEl=document.getElementById('mr-score'); const streakEl=document.getElementById('mr-streak'); const timeEl=document.getElementById('mr-time'); const fb=document.getElementById('mr-feedback'); const startBtn=document.getElementById('mr-start'); const restartBtn=document.getElementById('mr-restart');if(!root||!qEl||!aEl||!bar||!scoreEl||!streakEl||!timeEl||!fb||!startBtn||!restartBtn) return;let score=0, streak=0; let totalTime=30; // seconds let currentAnswer=0; let ended=false;let tickTimer=null; // 1s global countdown let qTimeout=null; // per-question timeout let barTimer=null; // per-question progress bar let qMs=4500; // base ms/question (visible + jouable) let qLeft=4500; // ms remaining for bar let nextOp='add'; // alternance stricte + puis ×function imnTrackSafe(ev,data){ try{ if(typeof window.imnTrack === 'function'){ window.imnTrack(ev, data||{}); } }catch(e){} }function r(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } function shuffle(arr){ for(let i=arr.length-1;i>0;i--){ const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } }function flash(good){ root.classList.remove('flash-good','flash-bad'); root.classList.add(good?'flash-good':'flash-bad'); setTimeout(()=>root.classList.remove('flash-good','flash-bad'),250); }function clearQuestionTimers(){ clearTimeout(qTimeout); clearInterval(barTimer); qTimeout=null; barTimer=null; }function clearAllTimers(){ clearQuestionTimers(); clearInterval(tickTimer); tickTimer=null; }function updateHUD(){ scoreEl.textContent=String(score); streakEl.textContent=String(streak); timeEl.textContent=String(totalTime); }function endGame(){ if(ended) return; ended=true; clearAllTimers();fb.innerHTML='Partie terminée. Score : '+score+''; startBtn.style.display='none'; restartBtn.style.display='inline-block';// Désactive réponses aEl.querySelectorAll('button').forEach(b=>b.disabled=true);imnTrackSafe('mathrush_end',{score:score}); }function startGlobalTimer(){ clearInterval(tickTimer); tickTimer=setInterval(()=>{ if(ended) return; totalTime--; if(totalTime<0) totalTime=0; timeEl.textContent=String(totalTime); if(totalTime{ qLeft-=100; const pct=Math.max(0,(qLeft/qMs)*100); bar.style.width=pct+'%'; },100);qTimeout=setTimeout(()=>timeout(),qMs); }function genQuestion(){ if(ended) return;// Ajuste léger difficulté au score (sans casser la lisibilité) if(score<5) qMs=4800; else if(score.5 ? delta1 : -delta1); let w2 = res + (Math.random()>.5 ? delta2 : -delta2);// Evite doublons / négatifs bizarres if(w1===res) w1=res+delta1; if(w2===res || w2===w1) w2=res+delta2; if(w1<0) w1=Math.abs(w1)+r(1,3); if(w2{ const b=document.createElement('button'); b.className='mr-answer'; b.type='button'; b.textContent=String(v); b.addEventListener('click',()=>choose(v,b)); aEl.appendChild(b); });startQuestionTimer(); }function applyBonus(){ totalTime += 5; timeEl.textContent=String(totalTime); fb.textContent='Bonus +5s !'; imnTrackSafe('mathrush_bonus',{bonus_seconds:5, score:score, streak:streak}); }function choose(v,btn){ if(ended) return; clearQuestionTimers();const ok = (v===currentAnswer);if(ok){ score++; streak++; btn.classList.add('mr-good'); flash(true);fb.textContent = (streak%3===0) ? 'Série parfaite !' : 'Bonne réponse';imnTrackSafe('mathrush_answer',{ok:1,score:score,streak:streak});if(streak>0 && (streak%3===0)){ applyBonus(); } } else { streak=0; btn.classList.add('mr-bad'); fb.innerHTML = 'Mauvaise réponse. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_answer',{ok:0,score:score}); }updateHUD(); if(totalTime<=0){ endGame(); return; }setTimeout(genQuestion,650); }function timeout(){ if(ended) return; streak=0; fb.innerHTML='Temps écoulé. '+currentAnswer+''; flash(false); imnTrackSafe('mathrush_timeout',{score:score}); updateHUD();setTimeout(genQuestion,650); }function start(){ ended=false; score=0; streak=0; totalTime=30; nextOp='add';updateHUD(); fb.textContent=''; startBtn.style.display='none'; restartBtn.style.display='none';imnTrackSafe('mathrush_start',{}); startGlobalTimer(); genQuestion(); }startBtn.addEventListener('click', start); restartBtn.addEventListener('click', function(){ imnTrackSafe('mathrush_restart',{}); clearAllTimers(); start(); });})();

Sources

  • Direction régionale des affaires culturelles (DRAC) des Pays de la Loire
  • Ville de Nantes – délibérations du conseil municipal
  • Communications officielles sur l’incendie de la cathédrale Saint-Pierre-et-Saint-Paul de Nantes
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Une ville se découvre aussi dans les détails qui la font bouger. »

Lire l’article complet →
À la une31.01.26

Les News

1006
La gratuité des parkings des hôpitaux publics adoptée par l’Assemblée nationale

La gratuité des parkings des hôpitaux publics adoptée par l’Assemblée nationale

Les députés ont adopté, ce jeudi 29 janvier, une proposition de loi visant à garantir la gratuité des parkings dans les hôpitaux publics. Porté par le Parti socialiste, le texte entend limiter le coût du stationnement pour les patients, les visiteurs et les personnels hospitaliers.

Déposée en septembre dernier, cette proposition de loi a recueilli un large soutien à l’Assemblée nationale, à l’issue d’un vote transpartisan. Elle prévoit notamment deux heures gratuites par jour pour les visiteurs ainsi qu’un mécanisme de compensation financière pour les établissements concernés.

Deux heures gratuites et un plafonnement des tarifs

Dans le détail, le texte adopté instaure plusieurs mesures destinées à encadrer les frais de stationnement dans les hôpitaux publics. Les patients bénéficieront de la gratuité totale du parking pendant la durée de leur séjour.

Pour les visiteurs, deux heures de stationnement gratuites par jour sont prévues. Le texte fixe également un plafond tarifaire pour les périodes dépassant cette durée, avec un maximum de 15 euros par jour ou 100 euros par mois pour un abonnement.

Le personnel hospitalier pourra, de son côté, stationner gratuitement pendant son temps de service.

Une loi portée par un large consensus

Défendant ce texte, Stéphane Hablot, député socialiste de Meurthe-et-Moselle, a rappelé que la mesure vise avant tout à soulager les proches des patients.

« Ce n’est pas aux visiteurs de payer. Ce que je propose, c’est un coût raisonnable après deux heures de gratuité, puisque 80 % des visiteurs utilisent les deux premières heures », a-t-il expliqué, précisant avoir obtenu 80 % des voix en commission.

Une compensation financière pour les hôpitaux

Le texte prévoit une compensation financière de l’État pour les établissements de santé, notamment ceux qui ont confié la gestion de leurs parkings à des opérateurs privés.

Depuis plusieurs années, de nombreux hôpitaux ont en effet délégué cette gestion, avec des tarifs parfois jugés excessifs par les usagers. « Le fait d’être un CHU de centre-ville nous contraint à devoir faire payer le parking. Cela nécessite des investissements. Le CHU préfère concentrer ses investissements sur son cœur de métier, qui est le soin », explique Rémy Heym, directeur de la communication du CHU de Rouen.

Des pratiques contrastées en Europe

Les règles de stationnement autour des hôpitaux varient fortement selon les pays européens. En Écosse, le stationnement hospitalier est gratuit. En Allemagne, les tarifs oscillent généralement entre 5 et 10 euros par jour.

À titre de comparaison, le stationnement peut atteindre 90 euros pour 24 heures au Guy’s and St. Thomas Hospital, à Londres.

Memory du service public hospitalier

Retrouve les paires liées à l’hôpital et au service public.

Coups : 0 • Temps : 0s
#imn-mem6x6-hopital .imn-card{ width:100%; aspect-ratio:1/1; border-radius:8px; background:#f4f4f6; border:1px solid rgba(0,0,0,.08); display:flex; align-items:center; justify-content:center; cursor:pointer; user-select:none; } #imn-mem6x6-hopital .imn-emoji{ font-size:34px !important; line-height:1 !important; pointer-events:none; } #imn-mem6x6-hopital .up{background:#5532F0;color:#fff;} #imn-mem6x6-hopital .matched{background:#4CAF50;color:#fff;} @media(max-height:520px){ #imn-mem6x6-hopital .imn-emoji{font-size:28px !important;} }(function(){ const root=document.getElementById("imn-mem6x6-hopital"); const grid=root.querySelector(".imn-grid"); const movesEl=root.querySelector("[data-moves]"); const timeEl=root.querySelector("[data-time]"); const btn=root.querySelector(".imn-btn");const PAIRS=["🏥","🚑","🅿️","🩺","👩‍⚕️","👨‍⚕️","📋","💶","🏛️","⚖️","📄","🕒","🏥","🚑","🅿️","🩺","👩‍⚕️","👨‍⚕️","📋","💶","🏛️","⚖️","📄","🕒","🧾","🧾","📍","📍","👥","👥","🚗","🚗","🛑","🛑","🟢","🟢"];let first=null,lock=false,moves=0,matched=0,time=0,timer=null;function track(e,d){if(window.imnTrack)try{imnTrack(e,d||{});}catch(e){}} function shuffle(a){for(let i=a.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[a[i],a[j]]=[a[j],a[i]];}} function startTimer(){if(timer)return;timer=setInterval(()=>{time++;timeEl.textContent=time;},1000);}function makeCard(icon){ const c=document.createElement("button"); c.type="button"; c.className="imn-card"; c.dataset.icon=icon; const s=document.createElement("span"); s.className="imn-emoji"; s.textContent="❓"; c.appendChild(s);c.addEventListener("pointerdown",()=>{ if(lock||c.classList.contains("matched")||c===first)return; startTimer(); c.classList.add("up"); s.textContent=icon;if(!first){first=c;return;} moves++;movesEl.textContent=moves;if(first.dataset.icon===icon){ c.classList.add("matched"); first.classList.add("matched"); matched+=2; track("memory_match",{game:"hopital"}); first=null; if(matched===PAIRS.length){ clearInterval(timer); track("memory_complete",{moves,time}); } }else{ lock=true; setTimeout(()=>{ [c,first].forEach(x=>{ x.classList.remove("up"); x.querySelector(".imn-emoji").textContent="❓"; }); first=null;lock=false; },650); } }); return c; }function reset(){ if(timer){clearInterval(timer);timer=null;} time=0;moves=0;matched=0;first=null;lock=false; timeEl.textContent="0";movesEl.textContent="0"; grid.innerHTML=""; const deck=[...PAIRS]; shuffle(deck); deck.forEach(i=>grid.appendChild(makeCard(i))); track("memory_start",{game:"hopital"}); }btn.addEventListener("click",()=>{ track("memory_restart",{game:"hopital"}); reset(); });document.addEventListener("DOMContentLoaded",reset); })();

Sources

  • Assemblée nationale – adoption de la proposition de loi (29 janvier 2026)
  • Déclarations de Stéphane Hablot, député PS
  • Déclarations du CHU de Rouen
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Une ville se découvre aussi dans les détails qui la font bouger. »

Lire l’article complet →
À la une30.01.26

PAUSE JEU 10 · Quiz rapide

Quiz Rush

Réponds aux questions avant la fin du temps.

PAUSE LUDIQUEIMN

Les News

1007
N165 à Missillac : des obstacles volontaires signalés sur la route, la gendarmerie appelle à la vigilance

N165 à Missillac : des obstacles volontaires signalés sur la route, la gendarmerie appelle à la vigilance

La gendarmerie de Loire-Atlantique alerte les usagers de la route après la découverte de plusieurs obstacles volontairement placés sur la N165, à hauteur de la commune de Missillac, dans les deux sens de circulation.

Selon les informations communiquées par les forces de l’ordre, des objets appartenant à des riverains ainsi que du matériel de signalisation ont été disposés sur la chaussée au cours de deux week-ends consécutifs, avec pour objectif d’entraver la circulation.

Un accident matériel déjà survenu

Ces actes malveillants ont déjà eu des conséquences concrètes. Dans la nuit du 23 au 24 janvier 2026, vers 4 heures du matin, un accident matériel s’est produit sur ce secteur, nécessitant l’intervention de la gendarmerie.

Les objets retrouvés sur la chaussée comprenaient notamment des poubelles, des panneaux de signalisation et des cônes de balisage, placés de manière à surprendre les automobilistes, en particulier de nuit.

Un danger majeur pour les usagers

La gendarmerie insiste sur le caractère extrêmement dangereux de ces pratiques, qui exposent les conducteurs à un risque élevé d’accident, notamment sur un axe rapide et très fréquenté comme la N165.

Les forces de l’ordre appellent les automobilistes à faire preuve d’une vigilance accrue lors de leurs déplacements dans ce secteur, particulièrement en horaires nocturnes.

Tout obstacle suspect doit être signalé immédiatement aux forces de l’ordre afin de permettre une intervention rapide et éviter de nouveaux incidents.

Memory sécurité routière

Retrouve les paires liées à la sécurité routière le plus rapidement possible.

Coups : 0 • Temps : 0s
(function(){ const icons = ['🚓','🚨','🛑','⚠️','🦺','🚧','🚗','🛣️','🔦','📞','📍','🛢️','🚓','🚨','🛑','⚠️','🦺','🚧','🚗','🛣️','🔦','📞','📍','🛢️']; const grid = document.getElementById('imn-mem-grid'); const movesEl = document.querySelector('[data-moves]'); const timeEl = document.querySelector('[data-time]'); const restartBtn = document.getElementById('imn-mem-restart');let first=null, lock=false, moves=0, matched=0, time=0, timer;function shuffle(a){return a.sort(()=>Math.random()-0.5);}function start(){ grid.innerHTML=''; first=null;lock=false;moves=0;matched=0;time=0; movesEl.textContent=0;timeEl.textContent=0; clearInterval(timer); timer=setInterval(()=>{time++;timeEl.textContent=time;},1000);shuffle([...icons]).forEach(icon=>{ const card=document.createElement('div'); card.textContent=''; card.dataset.icon=icon; card.style.cssText=` aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-size:32px; background:#f3f3f3; border-radius:8px; cursor:pointer; user-select:none; `; card.addEventListener('pointerdown',()=>flip(card)); grid.appendChild(card); });if(window.imnTrack){imnTrack('memory_start',{id:'n165'});} }function flip(card){ if(lock||card.classList.contains('done')||card===first) return; card.textContent=card.dataset.icon; card.style.background='#5532F0'; card.style.color='#fff';if(!first){first=card;return;}moves++;movesEl.textContent=moves;if(first.dataset.icon===card.dataset.icon){ first.classList.add('done'); card.classList.add('done'); matched+=2; if(window.imnTrack){imnTrack('memory_match',{id:'n165'});} first=null; if(matched===icons.length){ clearInterval(timer); if(window.imnTrack){imnTrack('memory_complete',{moves,time});} } } else { lock=true; setTimeout(()=>{ [first,card].forEach(c=>{ c.textContent=''; c.style.background='#f3f3f3'; c.style.color='#222'; }); first=null;lock=false; },700); } }restartBtn.addEventListener('click',()=>{ if(window.imnTrack){imnTrack('memory_restart',{id:'n165'});} start(); });start(); })();
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Nantes se lit autant dans les initiatives que dans les grands rendez-vous. »

Lire l’article complet →
À la une30.01.26

Les News

1008
Élections municipales 2026 : jusqu’au 6 février pour t’inscrire et pouvoir voter

Élections municipales 2026 : jusqu’au 6 février pour t’inscrire et pouvoir voter

Les élections municipales de mars 2026 approchent. Pour pouvoir voter lors de ce scrutin, une condition est indispensable : être inscrit sur les listes électorales. Si ce n’est pas encore le cas, il reste encore quelques jours pour effectuer les démarches.

Le premier tour des élections municipales aura lieu le dimanche 15 mars 2026, suivi d’un second tour le dimanche 22 mars 2026 dans les communes concernées. Pour participer au vote, l’inscription sur les listes électorales doit être finalisée avant les dates limites fixées par la loi.

Jusqu’à quand peut-on s’inscrire ?

Pour voter aux municipales de 2026, les dates limites d’inscription sont les suivantes :

  • Jusqu’au 4 février 2026 pour une inscription en ligne
  • Jusqu’au 6 février 2026 pour une inscription en mairie

L’inscription est automatique à 18 ans pour les citoyennes et citoyens français ayant effectué leur recensement à 16 ans. Toutefois, il est recommandé de vérifier que la démarche a bien été prise en compte.

Comment vérifier que tu es bien inscrit ?

La vérification se fait uniquement via le site officiel du ministère de l’Intérieur : service-public.gouv.fr .

Si ton nom apparaît et que la commune indiquée est correcte, aucune démarche supplémentaire n’est nécessaire. En revanche, si ton nom n’apparaît pas ou si la commune n’est pas la bonne, il faudra procéder à une inscription ou à une mise à jour.

Deux possibilités existent :

Conditions pour s’inscrire

  • Avoir au moins 18 ans
  • Disposer d’une adresse dans la commune où tu souhaites voter
  • Être de nationalité française ou citoyen d’un pays de l’Union européenne

Quels documents sont demandés ?

  • Une pièce d’identité en cours de validité
  • Ou un acte de naissance accompagné d’un autre document officiel (permis de conduire, carte Vitale, carte d’invalidité)
  • Un justificatif de domicile de moins de trois mois

Faire une procuration pour voter

Il est désormais possible, pour tous les scrutins, d’établir ou de résilier une procuration entièrement en ligne. La seule condition est de disposer d’une identité numérique certifiée via France Identité.

La démarche s’effectue sur le site officiel : maprocuration.gouv.fr .

La personne chargée de voter à ta place devra se rendre dans ton bureau de vote avec sa pièce d’identité. Aucun autre document n’est requis.

Cas particuliers et dérogations

  • Si tu atteins 18 ans avant le 15 mars 2026, l’inscription doit être faite avant le 6 février.
  • En cas de déménagement avant le 6 février, l’inscription doit être réalisée dans la nouvelle commune.
  • Si le déménagement intervient après le 6 février, le vote reste possible dans l’ancienne commune.
  • Une acquisition récente de la nationalité française après le 6 février permet une inscription jusqu’au 5 mars.
  • La récupération du droit de vote après le 6 février ouvre également un délai jusqu’au 5 mars.

Memory des municipales 2026

Retrouve les paires liées au vote et aux élections.

Coups : 0 • Temps : 0s
document.addEventListener('DOMContentLoaded', function () {const icons = ['🗳️','📄','🏛️','📅','🪪','✍️','📬','👥','🏠','⏰','📍','🇫🇷','🗳️','📄','🏛️','📅','🪪','✍️','📬','👥','🏠','⏰','📍','🇫🇷']; const grid = document.querySelector('#imn-mem-municipales .imn-mem6x6-grid'); const movesEl = document.querySelector('#imn-mem-municipales [data-moves]'); const timeEl = document.querySelector('#imn-mem-municipales [data-time]'); const restartBtn = document.querySelector('#imn-mem-municipales .imn-mem6x6-btn');let first = null, lock = false, moves = 0, matched = 0, time = 0, timer;function shuffle(arr) { return arr.sort(() => Math.random() - 0.5); }function startTimer() { clearInterval(timer); timer = setInterval(() => { time++; timeEl.textContent = time; }, 1000); }function reset() { grid.innerHTML = ''; moves = 0; matched = 0; time = 0; movesEl.textContent = 0; timeEl.textContent = 0; clearInterval(timer); first = null; lock = false;shuffle(icons).forEach(icon => { const card = document.createElement('div'); card.className = 'imn-mem6x6-card'; card.textContent = '❓'; card.dataset.icon = icon; card.style.cssText = ` aspect-ratio:1/1; background:#f2f2f2; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:26px; cursor:pointer; user-select:none; `; card.addEventListener('click', () => flip(card)); grid.appendChild(card); });if (window.imnTrack) imnTrack('memory_start',{widget:'municipales_2026'}); }function flip(card) { if (lock || card.classList.contains('matched') || card === first) return;if (moves === 0 && !timer) startTimer();card.textContent = card.dataset.icon; card.style.background = '#5532F0'; card.style.color = '#fff';if (!first) { first = card; return; }moves++; movesEl.textContent = moves;if (card.dataset.icon === first.dataset.icon) { card.classList.add('matched'); first.classList.add('matched'); matched += 2; if (window.imnTrack) imnTrack('memory_match',{widget:'municipales_2026'}); first = null;if (matched === icons.length) { clearInterval(timer); if (window.imnTrack) imnTrack('memory_complete',{moves,time}); } } else { lock = true; setTimeout(() => { card.textContent = '❓'; first.textContent = '❓'; card.style.background = '#f2f2f2'; first.style.background = '#f2f2f2'; card.style.color = '#222'; first.style.color = '#222'; first = null; lock = false; }, 700); } }restartBtn.addEventListener('click', () => { if (window.imnTrack) imnTrack('memory_restart',{widget:'municipales_2026'}); reset(); });reset(); });

Sources

  • Service public – Ministère de l’Intérieur
  • maprocuration.gouv.fr
Dans ce magazineCet aperçu présente une partie de l’article. Continuez la lecture sur Infos Média Nantes pour découvrir l’intégralité du sujet.

« Les bonnes nouvelles circulent mieux quand on les transmet. »

Lire l’article complet →
À la une30.01.26

INFOS MÉDIA NANTES · À LA UNE

À très bientôt
pour de nouvelles
actualités locales.

Actualités, personnalités, événements, culture : à découvrir au fil des publications.infos-media-nantes.fr
Couverture