jairo777/ampere-lyon
Ampère Lyon
Site vitrine statique (HTML + CSS) pour un électricien à Lyon et en métropole.
Déploiement sur Hugging Face Spaces
Space cible : [jairo777/ampere-lyon](https://huggingface.co/spaces/jairo777/ampere-lyon).
Ce dépôt est un site Static (sdk: static dans le YAML ci-dessus). Ne crée pas de `app.py` Gradio : les modèles d’accueil Hugging Face qui montrent import gradio ne s’appliquent pas ici. Le Space doit servir index.html à la racine.
1. Vérifier le Space sur Hugging Face
- Créer / ouvrir le Space SDK : Static (pas Gradio).
- À la racine du dépôt du Space :
index.html,README.md(avec ce YAML), dossierassets/.
2. Cloner ou lier Git avec un access token (mot de passe Git)
- Crée un token avec la permission Write.
- Clone (ou ajoute le remote) avec HTTPS :
git clone https://huggingface.co/spaces/jairo777/ampere-lyon
# Identifiant : ton nom d’utilisateur Hugging Face (ex. jairo777)
# Mot de passe : colle le token (pas le mot de passe du compte)Pour éviter de retaper le token à chaque push, tu peux utiliser le credential helper Hugging Face ou stocker l’URL avec token (attention : ne commite jamais l’URL avec token) :
git remote add hf https://huggingface.co/spaces/jairo777/ampere-lyon
git push hf mainÀ l’invite « Password », colle encore une fois le token avec droit write.
(Si ta branche locale s’appelle master, utilise git push hf master.)
3. Depuis ce dossier projet (déjà un dépôt Git local)
Option A — Git + token (mot de passe = token)
git remote add hf https://huggingface.co/spaces/jairo777/ampere-lyon
# si 'hf' existe déjà : git remote set-url hf https://huggingface.co/spaces/jairo777/ampere-lyon
git add index.html README.md assets .gitignore
git commit -m "Deploy Ampère Lyon static site" # seulement s’il y a des changements
git push hf mainOption B — CLI `hf upload` (recommandé si le token Git pose problème)
Un script pousse uniquement index.html, README.md et assets/ (rien de .git ni scripts/).
export HF_TOKEN=hf_xxxxxxxx # token write : https://huggingface.co/settings/tokens
./scripts/push_hf_space.sh # message de commit optionnel : ./scripts/push_hf_space.sh "Ma mise à jour"Le site est accessible à https://huggingface.co/spaces/jairo777/ampere-lyon (et souvent aussi via un sous-domaine *.hf.space).
Token : même compte que le Space
Le Space est `jairo777/ampere-lyon` : l’HF_TOKEN doit être créé sur le compte `jairo777` (rôle Write), ou être un token fine-grained qui inclut explicitement `repo.write` sur le dépôt jairo777/ampere-lyon (collaborateur). Un token d’un autre utilisateur sans droit sur ce repo provoque un 403. Vérifie avec hf auth whoami après hf auth login --token "$HF_TOKEN".
git push refusé à cause des fichiers binaires (Xet)
Si le Hub répond que les images doivent passer par Xet, utilise plutôt `./scripts/push_hf_space.sh` (hf upload), ou configure Git Xet comme indiqué dans la doc Hub Xet + Git.
CLI hf (optionnel)
Installation : documentation hf CLI. Exemple pour télécharger une copie du Space (pas obligatoire si tu pousses depuis ce repo) :
hf download jairo777/ampere-lyon --repo-type=spaceCela ne remplace pas un git push pour publier tes modifications.
Open Graph / partage social
Dans index.html, les balises Open Graph utilisent l’URL canonique du Space : https://huggingface.co/spaces/jairo777/ampere-lyon et une image en …/resolve/main/assets/images/hero-electrician.webp. Si le Space est privé, les réseaux sociaux ne pourront pas récupérer l’aperçu sans authentification : mets le Space en public pour le partage, ou adapte les meta avec une image hébergée ailleurs.
Fichiers optionnels (non requis pour le Space)
scripts/: génération d’images FLUX (local uniquement)dev/: captures d’écran de dev (ignoré par Git par défaut)
Images (assets/images/)
- `hero-electrician.webp`, `service-prises.webp` : générées avec FLUX.2 Klein (Space BFL) via
scripts/generate_flux_images.py. - `detail-prises-luminaires.jpg` : photo d’intérieur haut de gamme (Unsplash), recadrée au format de la section détail « prises et luminaires » pour ne pas dupliquer la vignette
service-prises.webp. - `exterieur-luxe-flux.webp` (1024×1024, terrasse / piscine / éclairage extérieur) : présent dans le dépôt pour éviter un 404 sur la balise
<picture>; tu peux le remplacer en relançant le job FLUXexterieur-luxe(plus extravagance IA). Tant que le.webpmanque, le .jpg de secours s’affiche. - Les autres fichiers .jpg sont des photos stock (Pexels / Unsplash) en attendant une regénération FLUX.
Pour régénérer (quota GPU Hugging Face requis) :
pip install -r scripts/requirements.txt
export HF_TOKEN=ton_token_hf # recommandé
python3 scripts/generate_flux_images.py --force --only exterieur-luxe
python3 scripts/generate_flux_images.py --force --only visiophone,detail-visiophoneListe des jobs : python3 scripts/generate_flux_images.py --list
Licence
Contenu du site : adapte selon ton usage commercial. Photos tiers : respecte les licences Pexels / Unsplash.
Formulaire de contact
Le formulaire utilise [FormSubmit](https://formsubmit.co/) (POST vers andranik.hakobyan42@gmail.com). Lors du premier message, FormSubmit envoie souvent un lien d’activation à cette adresse avant de relayer les demandes.
