{"id":1768,"date":"2013-12-31T21:57:58","date_gmt":"2013-12-31T20:57:58","guid":{"rendered":"http:\/\/pirem.org\/?page_id=1768"},"modified":"2026-10-14T11:53:48","modified_gmt":"2026-10-14T11:53:48","slug":"france","status":"publish","type":"page","link":"http:\/\/pirem.org\/index.php\/adherents\/individus\/france\/","title":{"rendered":"Annuaire du r\u00e9seau Pirem"},"content":{"rendered":"\n<style>\n.pirem-annuaire{max-width:1000px;margin:auto;font-family:inherit;color:#252B30}\n.pirem-annuaire *{box-sizing:border-box}\n.pirem-annuaire .pr-intro{font-size:1.1rem;line-height:1.65;margin:0 0 24px}\n.pirem-annuaire .pr-recherche{display:grid;grid-template-columns:2fr 1fr;gap:18px;padding:24px;background:#EEE7DD;border-radius:18px}\n.pirem-annuaire label{display:block;font-size:1rem;font-weight:600;margin-bottom:9px;color:#173F50}\n.pirem-annuaire input,.pirem-annuaire select{font:inherit;font-size:1rem;width:100%;min-height:52px;padding:12px;background:white;color:#252B30;border:1px solid #B8B0A4;border-radius:9px}\n.pirem-annuaire :is(input,select,button,a):focus-visible{outline:3px solid #A44732;outline-offset:3px}\n.pirem-annuaire .pr-etat{font-size:1rem;line-height:1.5;margin:20px 0}\n.pirem-annuaire .pr-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}\n.pirem-annuaire .pr-fiche{padding:24px;background:white;border:1px solid #DDD5C9;border-radius:16px;display:flex;flex-direction:column;min-width:0}\n.pirem-annuaire .pr-region{color:#173F50;font-size:.9rem;margin:0 0 10px}\n.pirem-annuaire h2{font-size:1.25rem;line-height:1.4;color:#A44732;margin:0 0 12px}\n.pirem-annuaire .pr-description{font-size:1rem;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 20px}\n.pirem-annuaire .pr-fiche a{font-weight:600;font-size:1rem;color:#A44732;margin-top:auto;text-underline-offset:4px}\n.pirem-annuaire button{font:inherit;font-size:1rem;padding:12px 20px;border:0;border-radius:9px;background:#A44732;color:white;cursor:pointer;margin-top:20px}\n.pirem-annuaire button:disabled{opacity:.65;cursor:wait}\n.pirem-annuaire .pr-note{font-size:.95rem;line-height:1.6;margin-top:26px;color:#454545}\n.pirem-annuaire [hidden]{display:none!important}\n@media(max-width:700px){.pirem-annuaire .pr-recherche,.pirem-annuaire .pr-grille{grid-template-columns:1fr}.pirem-annuaire .pr-recherche,.pirem-annuaire .pr-fiche{padding:20px}}\n<\/style>\n\n<section class=\"pirem-annuaire\" aria-label=\"Annuaire du r\u00e9seau Pirem\">\n  <p class=\"pr-intro\">Retrouvez les personnes du r\u00e9seau Pirem par leur nom, leur ville, leur d\u00e9partement ou leur r\u00e9gion. Leur pr\u00e9sentation pr\u00e9cise leur activit\u00e9 et leur parcours.<\/p>\n  <div class=\"pr-recherche\">\n    <div><label for=\"pr-terme\">Nom, ville, d\u00e9partement\u2026<\/label><input id=\"pr-terme\" type=\"search\" placeholder=\"Ex. : Toulouse, Colmar, 31\u2026\" autocomplete=\"off\" aria-controls=\"pr-resultats\"><\/div>\n    <div><label for=\"pr-region\">R\u00e9gion<\/label><select id=\"pr-region\" aria-controls=\"pr-resultats\"><option value=\"\">Toutes les r\u00e9gions<\/option><\/select><\/div>\n  <\/div>\n  <p class=\"pr-etat\" id=\"pr-etat\" role=\"status\" aria-live=\"polite\">Chargement des fiches du r\u00e9seau\u2026<\/p>\n  <div class=\"pr-grille\" id=\"pr-resultats\"><\/div>\n  <button type=\"button\" id=\"pr-plus\" hidden>Afficher davantage de r\u00e9sultats<\/button>\n  <button type=\"button\" id=\"pr-reessayer\" hidden>R\u00e9essayer le chargement<\/button>\n  <p class=\"pr-note\">Cet annuaire reprend les informations publi\u00e9es dans les fiches du r\u00e9seau. Certaines peuvent \u00eatre anciennes : consultez la fiche d\u2019origine et v\u00e9rifiez les coordonn\u00e9es ainsi que l\u2019activit\u00e9 actuelle aupr\u00e8s de la personne.<\/p>\n  <noscript><p>Activez JavaScript pour utiliser la recherche. Vous pouvez aussi consulter les fiches depuis le menu Adh\u00e9rents.<\/p><\/noscript>\n<\/section>\n\n<script>\n(()=>{\n  const racine=document.currentScript.previousElementSibling;\n  if(!racine||!racine.classList.contains('pirem-annuaire'))return;\n  const champ=racine.querySelector('#pr-terme'),filtre=racine.querySelector('#pr-region'),etat=racine.querySelector('#pr-etat'),grille=racine.querySelector('#pr-resultats'),plus=racine.querySelector('#pr-plus'),retry=racine.querySelector('#pr-reessayer');\n  \/\/ Les fiches restent dans les pages existantes : pas de seconde base \u00e0 entretenir.\n  const sources=[\n    ['Alsace','Grand Est','alsace-2'],\n    ['Aquitaine','Nouvelle-Aquitaine','aquitaine-2'],\n    ['Auvergne','Auvergne-Rh\u00f4ne-Alpes','auvergne'],\n    ['Basse-Normandie','Normandie','basse-normandie'],\n    ['Bourgogne','Bourgogne-Franche-Comt\u00e9','bourgogne'],\n    ['Bretagne','Bretagne','bretagne'],\n    ['Centre','Centre-Val de Loire','centre'],\n    ['Champagne-Ardenne','Grand Est','champagne-ardenne'],\n    ['Corse','Corse','corse'],\n    ['Franche-Comt\u00e9','Bourgogne-Franche-Comt\u00e9','franche-comte'],\n    ['Haute-Normandie','Normandie','haute-normandie'],\n    ['\u00cele-de-France','\u00cele-de-France','ile-de-france'],\n    ['Languedoc-Roussillon','Occitanie','languedoc-roussillon'],\n    ['Limousin','Nouvelle-Aquitaine','limousin'],\n    ['Lorraine','Grand Est','lorraine'],\n    ['Midi-Pyr\u00e9n\u00e9es','Occitanie','midi-pyrenees'],\n    ['Nord-Pas-de-Calais','Hauts-de-France','nord-pas-de-calais'],\n    ['Pays de la Loire','Pays de la Loire','pays-de-la-loire'],\n    ['Picardie','Hauts-de-France','picardie'],\n    ['Poitou-Charentes','Nouvelle-Aquitaine','poitou-charentes'],\n    ['Provence-Alpes-C\u00f4te d\u2019Azur','Provence-Alpes-C\u00f4te d\u2019Azur','provence-alpes-cotes-dazur'],\n    ['Rh\u00f4ne-Alpes','Auvergne-Rh\u00f4ne-Alpes','rhones-alpes','\/index.php\/adherentrhones\/individus\/france\/rhones-alpes\/']\n  ];\n  const normaliser=t=>t.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').toLowerCase().replace(\/[^a-z0-9]+\/g,' ').trim();\n  const regions=[...new Set(sources.map(s=>s[1]))].sort((a,b)=>a.localeCompare(b,'fr'));\n  regions.forEach(n=>{const o=document.createElement('option');o.value=n;o.textContent=n;filtre.append(o)});\n  let fiches=[],erreurs=[],limite=12,charge=false;\n  function afficher(){\n    const mots=normaliser(champ.value).split(' ').filter(Boolean);\n    const resultats=fiches.filter(f=>(!filtre.value||f.region===filtre.value)&&mots.every(m=>f.index.includes(m)));\n    grille.replaceChildren();\n    resultats.slice(0,limite).forEach(f=>{\n      const carte=document.createElement('article');carte.className='pr-fiche';\n      const region=document.createElement('p');region.className='pr-region';region.textContent=f.region;\n      const nom=document.createElement('h2');nom.textContent=f.nom;\n      const description=document.createElement('p');description.className='pr-description';description.textContent=f.description;\n      const lien=document.createElement('a');lien.href=f.url;lien.textContent='Consulter la fiche d\u2019origine \u2192';lien.setAttribute('aria-label','Consulter la fiche d\u2019origine de '+f.nom);\n      carte.append(region,nom,description,lien);grille.append(carte);\n    });\n    const nombre=resultats.length;\n    let message=nombre?nombre+' personne'+(nombre>1?'s':'')+' trouv\u00e9e'+(nombre>1?'s':'')+'. '+Math.min(limite,nombre)+' affich\u00e9e'+(Math.min(limite,nombre)>1?'s':'')+'.':'Aucun r\u00e9sultat. Essayez un autre nom, une ville ou \u00e9largissez la r\u00e9gion.';\n    if(!charge)message='Chargement des fiches\u2026 '+message;\n    if(erreurs.length)message+=' Recherche partielle : fiches indisponibles pour '+erreurs.join(', ')+'.';\n    etat.textContent=message;plus.hidden=nombre<=limite;retry.hidden=!erreurs.length;\n  }\n  function extraire(texte,source,url){\n    const doc=new DOMParser().parseFromString(texte,'text\/html');\n    const contenu=doc.querySelector('main .wp-block-post-content');\n    if(!contenu)throw new Error('Contenu introuvable');\n    const sortie=[];\n    contenu.querySelectorAll('p').forEach(p=>{\n      const copie=p.cloneNode(true);copie.querySelectorAll('br').forEach(b=>b.replaceWith('\\n'));\n      const lignes=copie.textContent.split(\/\\n\/).map(s=>s.replace(\/\\s+\/g,' ').trim()).filter(Boolean);\n      if(lignes.length<2||\/^aucun adh[e\u00e9]rent\/i.test(lignes[0]))return;\n      const nom=lignes[0];\n      \/\/ Les coordonn\u00e9es restent dans la fiche d'origine ; la recherche vise les noms, lieux et activit\u00e9s.\n      const presentation=lignes.slice(1).filter(s=>!\/@|\\[at\\]|\\[ar\\]|www\\.|https?:\\\/\\\/\/i.test(s));\n      sortie.push({nom,description:presentation.join('\\n'),region:source[1],url,index:normaliser([nom,...presentation,source[0],source[1]].join(' '))});\n    });\n    return sortie;\n  }\n  async function charger(){\n    charge=false;fiches=[];erreurs=[];limite=12;retry.hidden=true;retry.disabled=true;plus.hidden=true;\n    etat.textContent='Chargement des fiches du r\u00e9seau\u2026';grille.replaceChildren();\n    let prochain=0;\n    async function travailleur(){\n      while(prochain<sources.length){\n        const source=sources[prochain++],url=source[3]||'\/index.php\/adherents\/individus\/france\/'+source[2]+'\/';\n        const controle=new AbortController(),timer=setTimeout(()=>controle.abort(),25000);\n        try{const r=await fetch(url,{signal:controle.signal,credentials:'omit'});if(!r.ok)throw new Error('HTTP '+r.status);fiches.push(...extraire(await r.text(),source,url))}\n        catch(e){erreurs.push(source[0])}\n        finally{clearTimeout(timer)}\n      }\n    }\n    await Promise.all(Array.from({length:6},travailleur));\n    fiches.sort((a,b)=>a.nom.localeCompare(b.nom,'fr'));\n    charge=true;retry.disabled=false;afficher();\n  }\n  champ.addEventListener('input',()=>{limite=12;afficher()});\n  filtre.addEventListener('change',()=>{limite=12;afficher()});\n  plus.addEventListener('click',()=>{limite+=12;afficher()});\n  retry.addEventListener('click',charger);\n  charger();\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Retrouvez les personnes du r\u00e9seau Pirem par leur nom, leur ville, leur d\u00e9partement ou leur r\u00e9gion. Leur pr\u00e9sentation pr\u00e9cise leur activit\u00e9 et leur parcours. Nom, ville, d\u00e9partement\u2026 R\u00e9gionToutes les r\u00e9gions Chargement des fiches du r\u00e9seau\u2026 Afficher davantage de r\u00e9sultats R\u00e9essayer le chargement Cet annuaire reprend les informations publi\u00e9es dans les fiches du r\u00e9seau. Certaines peuvent [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":364,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1768","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/pages\/1768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/comments?post=1768"}],"version-history":[{"count":3,"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/pages\/1768\/revisions"}],"predecessor-version":[{"id":8125,"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/pages\/1768\/revisions\/8125"}],"up":[{"embeddable":true,"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/pages\/364"}],"wp:attachment":[{"href":"http:\/\/pirem.org\/index.php\/wp-json\/wp\/v2\/media?parent=1768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}