"""
Exporte chaque page Django en HTML autonome (CSS + JS inline).
Usage : python3 export_pages.py
"""
import os, re, base64, mimetypes
from pathlib import Path
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse
BASE_URL = 'http://127.0.0.1:8000'
OUT_DIR = Path(__file__).parent / 'figma_export'
OUT_DIR.mkdir(exist_ok=True)
PAGES = [
('home', '/'),
('a-propos', '/a-propos/'),
('kiriq', '/produits/kiriq/'),
('monitor', '/produits/monitor/'),
('joolid', '/produits/joolid/'),
('carrieres','/carrieres/'),
]
session = requests.Session()
def fetch(url):
r = session.get(urljoin(BASE_URL, url), timeout=10)
r.raise_for_status()
return r
def to_data_uri(url_or_path):
"""Convertit une URL de ressource en data URI base64."""
try:
r = fetch(url_or_path)
mime = r.headers.get('Content-Type', 'application/octet-stream').split(';')[0]
b64 = base64.b64encode(r.content).decode()
return f"data:{mime};base64,{b64}"
except Exception as e:
print(f" ⚠️ Impossible de charger {url_or_path}: {e}")
return url_or_path
def inline_css(soup, base_url):
"""Remplace les par des