CoolFace
Apppublic

jairo777/ampere-lyon

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
App README

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), dossier assets/.

2. Cloner ou lier Git avec un access token (mot de passe Git)

  1. 1.Crée un token avec la permission Write.
  2. 2.Clone (ou ajoute le remote) avec HTTPS :
bash
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) :

bash
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)

bash
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 main

Option 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/).

bash
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) :

bash
hf download jairo777/ampere-lyon --repo-type=space

Cela 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 FLUX exterieur-luxe (plus extravagance IA). Tant que le .webp manque, 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) :

bash
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-visiophone

Liste 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.