{"id":2019,"date":"2026-10-05T14:38:50","date_gmt":"2026-10-05T12:38:50","guid":{"rendered":"https:\/\/lnx.marmotest.com\/fr\/consulenza-e-ispezioni-indipendenti\/ricostruzione-3d-dei-blocchi\/"},"modified":"2026-10-05T18:55:13","modified_gmt":"2026-10-05T16:55:13","slug":"ricostruzione-3d-dei-blocchi","status":"publish","type":"page","link":"https:\/\/lnx.marmotest.com\/en\/fr\/consulenza-e-ispezioni-indipendenti\/ricostruzione-3d-dei-blocchi\/","title":{"rendered":"Reconstruction 3D des blocs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2019\" class=\"elementor elementor-2019\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000000 e-con-boxed e-flex e-con e-parent\" data-id=\"d3000000\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000001 elementor-widget elementor-widget-text-editor\" data-id=\"d3000001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>INSPECTIONS IND\u00c9PENDANTES \u00b7 \u00c9VALUATION DES BLOCS<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000002 elementor-widget elementor-widget-heading\" data-id=\"d3000002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Reconstruction 3D des blocs<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000003 elementor-widget elementor-widget-text-editor\" data-id=\"d3000003\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La reconstruction g\u00e9om\u00e9trique tridimensionnelle, partielle ou compl\u00e8te, documente le bloc et apporte une aide technique \u00e0 l\u2019\u00e9valuation de son achat. Le mod\u00e8le permet d\u2019observer les surfaces repr\u00e9sent\u00e9es sous diff\u00e9rents angles et de partager une r\u00e9f\u00e9rence g\u00e9om\u00e9trique pendant l\u2019inspection.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000004 elementor-widget elementor-widget-heading\" data-id=\"d3000004\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reconstructions partielles et compl\u00e8tes<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000005 elementor-widget elementor-widget-text-editor\" data-id=\"d3000005\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Une reconstruction partielle repr\u00e9sente les parties relev\u00e9es du bloc ; une reconstruction compl\u00e8te repr\u00e9sente toutes les surfaces relev\u00e9es. L\u2019\u00e9tendue du relev\u00e9 est d\u00e9finie selon le bloc disponible et les besoins de la v\u00e9rification.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000006 elementor-widget elementor-widget-heading\" data-id=\"d3000006\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Deux exemples \u00e0 explorer<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000007 elementor-widget elementor-widget-text-editor\" data-id=\"d3000007\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Le mod\u00e8le est fourni au format <strong>PDF 3D<\/strong>, consultable par tous avec <strong>Adobe Acrobat Reader gratuit<\/strong>. Pour l\u2019explorer en 3D, t\u00e9l\u00e9chargez le fichier et ouvrez-le dans Acrobat Reader. Vous pouvez aussi essayer les aper\u00e7us ci-dessous : faites glisser le bloc pour le faire tourner et utilisez la molette de la souris, ou deux doigts, pour zoomer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000008 elementor-widget elementor-widget-heading\" data-id=\"d3000008\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Exemple 1<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000009 elementor-widget elementor-widget-html\" data-id=\"d3000009\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"mt-block-model\" data-front-basis='[-0.09616277211430556,0.7052378028406291,0.7024189367491559,-0.9912222339691523,-0.13217221734412285,-0.0029979739060159286,0.09072598384418472,-0.6965415611482638,0.7117574372274901]' data-model-zip=\"https:\/\/lnx.marmotest.com\/wp-content\/uploads\/2026\/10\/blocco-esempio-1-viewer.zip\" style=\"width:100%;border:1px solid #d8e1e6;border-radius:12px;overflow:hidden;background:#f0f4f6\">\n<model-viewer alt=\"Reconstruction tridimensionnelle d\u2019un bloc de pierre, exemple 1\" camera-controls touch-action=\"pan-y\" camera-orbit=\"0deg 90deg auto\" field-of-view=\"35deg\" shadow-intensity=\"0.5\" exposure=\"1\" style=\"display:block;width:100%;height:520px;min-height:340px;background:linear-gradient(#e5edf2,#f7fafb)\"><\/model-viewer>\n<canvas role=\"img\" aria-label=\"Mod\u00e8le 3D du bloc, exemple 1. Faites glisser pour tourner ou utilisez les fl\u00e8ches ; appuyez sur plus ou moins pour zoomer.\" tabindex=\"0\" style=\"display:none;width:100%;height:520px;touch-action:none;cursor:grab\"><\/canvas>\n<div style=\"padding:16px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap\"><button type=\"button\" style=\"padding:10px 16px;border:0;border-radius:4px;background:#172b42;color:#fff;cursor:pointer\">R\u00e9initialiser la vue<\/button><p role=\"status\" style=\"margin:0;color:#52636c;font-size:15px\">Chargement du mod\u00e8le 3D\u2026<\/p><\/div><div style=\"padding:0 20px 20px\"><p style=\"margin:0 0 10px;font-size:19px;font-weight:700;color:#b42318\">Essayez vous aussi !<\/p><a href=\"https:\/\/lnx.marmotest.com\/wp-content\/uploads\/2026\/10\/modello-3d-blocco-parziale.pdf\" download=\"modello-3d-blocco-parziale.pdf\" style=\"display:inline-block;padding:12px 18px;border-radius:4px;background:#172b42;color:#fff;text-decoration:none;font-weight:700\">T\u00e9l\u00e9charger le PDF 3D \u2013 Exemple 1<\/a><p style=\"margin:10px 0 0;color:#52636c;font-size:15px\">Ouvrez le fichier dans Adobe Acrobat Reader gratuit pour faire tourner le mod\u00e8le et zoomer.<\/p><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000010 elementor-widget elementor-widget-heading\" data-id=\"d3000010\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Exemple 2<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000011 elementor-widget elementor-widget-html\" data-id=\"d3000011\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"mt-block-model\" data-front-basis='[-0.2333380387042615,0.972320719044698,0.012073897881394447,-0.9702309819418303,-0.233628692078738,0.06379244404918986,0.06484752403784945,0.003170733981258328,0.9978901467958186]' data-model-zip=\"https:\/\/lnx.marmotest.com\/wp-content\/uploads\/2026\/10\/blocco-esempio-2-viewer.zip\" style=\"width:100%;border:1px solid #d8e1e6;border-radius:12px;overflow:hidden;background:#f0f4f6\">\n<model-viewer alt=\"Reconstruction tridimensionnelle d\u2019un bloc de pierre, exemple 2\" camera-controls touch-action=\"pan-y\" camera-orbit=\"0deg 90deg auto\" field-of-view=\"35deg\" shadow-intensity=\"0.5\" exposure=\"1\" style=\"display:block;width:100%;height:520px;min-height:340px;background:linear-gradient(#e5edf2,#f7fafb)\"><\/model-viewer>\n<canvas role=\"img\" aria-label=\"Mod\u00e8le 3D du bloc, exemple 2. Faites glisser pour tourner ou utilisez les fl\u00e8ches ; appuyez sur plus ou moins pour zoomer.\" tabindex=\"0\" style=\"display:none;width:100%;height:520px;touch-action:none;cursor:grab\"><\/canvas>\n<div style=\"padding:16px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap\"><button type=\"button\" style=\"padding:10px 16px;border:0;border-radius:4px;background:#172b42;color:#fff;cursor:pointer\">R\u00e9initialiser la vue<\/button><p role=\"status\" style=\"margin:0;color:#52636c;font-size:15px\">Chargement du mod\u00e8le 3D\u2026<\/p><\/div><div style=\"padding:0 20px 20px\"><p style=\"margin:0 0 10px;font-size:19px;font-weight:700;color:#b42318\">Essayez vous aussi !<\/p><a href=\"https:\/\/lnx.marmotest.com\/wp-content\/uploads\/2026\/10\/modello-3d-blocco-lapideo.pdf\" download=\"modello-3d-blocco-lapideo.pdf\" style=\"display:inline-block;padding:12px 18px;border-radius:4px;background:#172b42;color:#fff;text-decoration:none;font-weight:700\">T\u00e9l\u00e9charger le PDF 3D \u2013 Exemple 2<\/a><p style=\"margin:10px 0 0;color:#52636c;font-size:15px\">Ouvrez le fichier dans Adobe Acrobat Reader gratuit pour faire tourner le mod\u00e8le et zoomer.<\/p><\/div><\/section><script type=\"module\">\nfunction readStoredZip(buffer) {\n  const v = new DataView(buffer), entries = new Map();\n  let offset = 0;\n  while (offset + 30 <= buffer.byteLength && v.getUint32(offset,true) === 0x04034b50) {\n    if (v.getUint16(offset+8,true) !== 0) throw new Error('Formato archivio non supportato');\n    const size=v.getUint32(offset+18,true), nl=v.getUint16(offset+26,true), el=v.getUint16(offset+28,true);\n    const name=new TextDecoder().decode(new Uint8Array(buffer,offset+30,nl));\n    const start=offset+30+nl+el;\n    entries.set(name,buffer.slice(start,start+size));\n    offset=start+size;\n  }\n  if(!entries.has('model.glb')||!entries.has('preview.json'))throw new Error('Modello incompleto');\n  return entries;\n}\n\nfunction frontBasis(section){return JSON.parse(section.dataset.frontBasis);}\nfunction alignGLB(buffer,basis){\n const view=new DataView(buffer),jsonLength=view.getUint32(12,true);\n const data=JSON.parse(new TextDecoder().decode(new Uint8Array(buffer,20,jsonLength)));\n const matrix=[basis[0],basis[3],basis[6],0,basis[1],basis[4],basis[7],0,basis[2],basis[5],basis[8],0,0,0,0,1];\n for(const scene of data.scenes){const index=data.nodes.length;data.nodes.push({matrix,children:scene.nodes});scene.nodes=[index];}\n const json=new TextEncoder().encode(JSON.stringify(data)),padded=(json.length+3)&~3,tail=new Uint8Array(buffer,20+jsonLength);\n const result=new ArrayBuffer(20+padded+tail.length),out=new DataView(result),bytes=new Uint8Array(result);\n bytes.set(new Uint8Array(buffer,0,12));out.setUint32(8,result.byteLength,true);out.setUint32(12,padded,true);out.setUint32(16,0x4e4f534a,true);\n bytes.fill(32,20,20+padded);bytes.set(json,20);bytes.set(tail,20+padded);return result;\n}\nfunction softwareView(section, model) {\n  const viewer=section.querySelector('model-viewer');\n  viewer.style.display='none';\n  const canvas=section.querySelector('canvas');\n  canvas.style.display='block';\n  const ctx=canvas.getContext('2d',{alpha:false});\n  const p=new Float32Array(model.positions), faces=new Uint32Array(model.faces);\n  const colors=model.colors, projected=new Float32Array(p.length);\n  let yaw=0, pitch=0, zoom=1, pending=false;\n const basis=frontBasis(section);\n for(let i=0;i<p.length;i+=3){const x=p[i],y=p[i+1],z=p[i+2];p[i]=basis[0]*x+basis[1]*y+basis[2]*z;p[i+1]=basis[3]*x+basis[4]*y+basis[5]*z;p[i+2]=basis[6]*x+basis[7]*y+basis[8]*z;}\n  let radius=0;\n  for(let i=0;i<p.length;i+=3) radius=Math.max(radius,Math.hypot(p[i],p[i+1],p[i+2]));\n  const triangles=Array.from({length:faces.length\/3},(_,i)=>i);\n  function draw() {\n    pending=false;\n    const bounds=canvas.getBoundingClientRect(), w=Math.round(bounds.width),h=Math.round(bounds.height);\n    const dpr=Math.min(window.devicePixelRatio||1,1.5);\n    if(canvas.width!==Math.round(w*dpr)||canvas.height!==Math.round(h*dpr)){\n      canvas.width=Math.round(w*dpr);canvas.height=Math.round(h*dpr);\n    }\n    ctx.setTransform(dpr,0,0,dpr,0,0);\n    const bg=ctx.createLinearGradient(0,0,0,h);bg.addColorStop(0,'#e5edf2');bg.addColorStop(1,'#f7fafb');\n    ctx.fillStyle=bg;ctx.fillRect(0,0,w,h);\n    const scale=Math.min(w,h)*.44\/radius*zoom,cy=Math.cos(yaw),sy=Math.sin(yaw),cp=Math.cos(pitch),sp=Math.sin(pitch);\n    for(let i=0;i<p.length;i+=3){\n      const x=cy*p[i]+sy*p[i+2],z=-sy*p[i]+cy*p[i+2],y=cp*p[i+1]-sp*z;\n      projected[i]=w\/2+x*scale;projected[i+1]=h\/2-y*scale;projected[i+2]=sp*p[i+1]+cp*z;\n    }\n    const depth=t=>projected[faces[t*3]*3+2]+projected[faces[t*3+1]*3+2]+projected[faces[t*3+2]*3+2];\n    triangles.sort((a,b)=>depth(a)-depth(b));\n    for(const t of triangles){\n      const a=faces[t*3]*3,b=faces[t*3+1]*3,c=faces[t*3+2]*3;\n      ctx.beginPath();ctx.moveTo(projected[a],projected[a+1]);ctx.lineTo(projected[b],projected[b+1]);ctx.lineTo(projected[c],projected[c+1]);ctx.closePath();\n      ctx.fillStyle=colors[t];ctx.fill();ctx.strokeStyle=colors[t];ctx.lineWidth=.6;ctx.stroke();\n    }\n    canvas.dataset.yaw=String(yaw);canvas.dataset.zoom=String(zoom);\n  }\n  function schedule(){if(!pending){pending=true;requestAnimationFrame(draw);}}\n  const pointers=new Map();let previousDistance=0;\n  canvas.addEventListener('pointerdown',e=>{canvas.focus();pointers.set(e.pointerId,[e.clientX,e.clientY]);canvas.setPointerCapture(e.pointerId);});\n  canvas.addEventListener('pointermove',e=>{\n    if(!pointers.has(e.pointerId))return;\n    const last=pointers.get(e.pointerId);pointers.set(e.pointerId,[e.clientX,e.clientY]);\n    if(pointers.size===1){yaw+=(e.clientX-last[0])*.006;pitch=Math.max(-1.45,Math.min(1.45,pitch+(e.clientY-last[1])*.006));}\n    else {const [a,b]=Array.from(pointers.values());const distance=Math.hypot(a[0]-b[0],a[1]-b[1]);if(previousDistance)zoom=Math.max(.35,Math.min(5,zoom*distance\/previousDistance));previousDistance=distance;}\n    schedule();\n  });\n  const end=e=>{pointers.delete(e.pointerId);previousDistance=0;};\n  canvas.addEventListener('pointerup',end);canvas.addEventListener('pointercancel',end);\n  canvas.addEventListener('wheel',e=>{e.preventDefault();zoom=Math.max(.35,Math.min(5,zoom*Math.exp(-e.deltaY*.001)));schedule();},{passive:false});\n  canvas.addEventListener('keydown',e=>{\n    if(!['ArrowLeft','ArrowRight','ArrowUp','ArrowDown','+','-','='].includes(e.key))return;\n    e.preventDefault();\n    if(e.key==='ArrowLeft')yaw-=.12;if(e.key==='ArrowRight')yaw+=.12;\n    if(e.key==='ArrowUp')pitch=Math.max(-1.45,pitch-.12);if(e.key==='ArrowDown')pitch=Math.min(1.45,pitch+.12);\n    if(e.key==='+'||e.key==='=')zoom=Math.min(5,zoom*1.15);if(e.key==='-')zoom=Math.max(.35,zoom\/1.15);\n    schedule();\n  });\n  section.querySelector('button').addEventListener('click',()=>{yaw=0;pitch=0;zoom=1;schedule();});\n  new ResizeObserver(schedule).observe(canvas);\n  section.querySelector('[role=\"status\"]').textContent='Mod\u00e8le pr\u00eat. Faites glisser pour tourner ; utilisez la molette ou deux doigts pour zoomer.';\n  section.dataset.loaded='true';section.dataset.renderer='canvas';draw();\n}\n\nlet webgl=false;\ntry{\n  const probe=document.createElement('canvas'),gl=probe.getContext('webgl2');\n  webgl=!!gl;gl?.getExtension('WEBGL_lose_context')?.loseContext();\n}catch(error){webgl=false;}\nif(webgl){\n  try{await import('https:\/\/ajax.googleapis.com\/ajax\/libs\/model-viewer\/4.3.1\/model-viewer.min.js');await customElements.whenDefined('model-viewer');}\n  catch(error){webgl=false;}\n}\nfor(const section of document.querySelectorAll('.mt-block-model')){\n  const status=section.querySelector('[role=\"status\"]');\n  try{\n    const response=await fetch(section.dataset.modelZip);\n    if(!response.ok)throw new Error('Modello non disponibile');\n    const entries=readStoredZip(await response.arrayBuffer());\n    const fallback=()=>softwareView(section,JSON.parse(new TextDecoder().decode(entries.get('preview.json'))));\n    if(!webgl){fallback();continue;}\n    const viewer=section.querySelector('model-viewer');\n    viewer.addEventListener('load',()=>{status.textContent='Mod\u00e8le pr\u00eat. Faites glisser pour tourner ; utilisez la molette ou deux doigts pour zoomer.';section.dataset.loaded='true';section.dataset.renderer='webgl';},{once:true});\n    viewer.addEventListener('error',fallback,{once:true});\n    section.querySelector('button').addEventListener('click',()=>{viewer.cameraTarget='auto auto auto';viewer.cameraOrbit='0deg 90deg auto';viewer.fieldOfView='35deg';});\n    viewer.src=URL.createObjectURL(new Blob([alignGLB(entries.get('model.glb'),frontBasis(section))],{type:'model\/gltf-binary'}));\n  }catch(error){status.textContent='\u00c9chec du chargement. Rechargez la page pour r\u00e9essayer.';console.error(error);}\n}\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000012 elementor-widget elementor-widget-heading\" data-id=\"d3000012\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Une aide \u00e0 l\u2019inspection avant l\u2019achat<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3000013 elementor-widget elementor-widget-text-editor\" data-id=\"d3000013\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La documentation tridimensionnelle compl\u00e8te les observations et les photographies du bloc, pour une communication plus claire entre acheteur, fournisseur et technicien. Le mod\u00e8le d\u00e9crit les surfaces relev\u00e9es ; les caract\u00e9ristiques internes et les performances du mat\u00e9riau n\u00e9cessitent des \u00e9valuations sp\u00e9cifiques.<\/p><p>Pour d\u00e9finir l\u2019inspection et la reconstruction du bloc : <a href=\"mailto:info@marmotest.com\">info@marmotest.com<\/a>.<\/p><p><a href=\"https:\/\/lnx.marmotest.com\/fr\/consulenza-e-ispezioni-indipendenti\/\">Retour aux inspections ind\u00e9pendantes<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>INSPECTIONS IND\u00c9PENDANTES \u00b7 \u00c9VALUATION DES BLOCS Reconstruction 3D des blocs La reconstruction g\u00e9om\u00e9trique tridimensionnelle, partielle ou compl\u00e8te, documente le bloc et apporte une aide technique \u00e0 l\u2019\u00e9valuation de son achat. Le mod\u00e8le permet d\u2019observer les surfaces repr\u00e9sent\u00e9es sous diff\u00e9rents angles et de partager une r\u00e9f\u00e9rence g\u00e9om\u00e9trique pendant l\u2019inspection. Reconstructions partielles et compl\u00e8tes Une reconstruction partielle [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2012,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_siteseo_robots_primary_cat":"","footnotes":""},"folder":[],"class_list":["post-2019","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/pages\/2019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/comments?post=2019"}],"version-history":[{"count":2,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/pages\/2019\/revisions"}],"predecessor-version":[{"id":2133,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/pages\/2019\/revisions\/2133"}],"up":[{"embeddable":true,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/pages\/2012"}],"wp:attachment":[{"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/media?parent=2019"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/lnx.marmotest.com\/en\/wp-json\/wp\/v2\/folder?post=2019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}