Files
mathieuandClaude Sonnet 5 aed16efdfc Ajoute le script de publication vers akbar (SFTP via rclone)
Le compte SSH de déploiement est restreint au SFTP côté serveur
(ForceCommand internal-sftp, YunoHost) : rsync/scp échouent car ils ont
besoin d'exécuter une commande shell distante. rclone en backend SFTP
ne parle que le protocole SFTP et fonctionne avec ce type de compte.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 01:25:47 +02:00

98 lines
2.8 KiB
Markdown

# Site Sillycone-village
- [Hugo](https://gohugo.io/) en version 160 + [thème nojs](https://nojs.andy.sb/)
- Toute la création via images Docker
- Pas de js
- Image en AVIF et fallback en JPEG
- Site vitrine
- Annonce de moins d'un mois sur page principale
- Menus:
1. Accueil
2. Services
3. Réalisations
4. À propos
5. Contact
- [Todo liste ici](TODO.md)
## Environment .env.example
Modifier `.env.exemple` en `.env`
## Scripts
### create.sh
`./script/create.sh` : Permet de créer correctement le site from scratch dans _site_ de _.env_
### init.sh
`./script/init.sh` : Initialise Hugo avec les bons modules Go.
### dev.sh
`./script/dev.sh` : Lance le site avec la commande `hugo server`
### hugo.sh
`./script/hugo.sh` : Si jamais je dois lancer une commande spécifique de hugo.
### publish.sh
`./script/publish.sh` : Publie le site dans le _PUBLISH_DIR_ de _.env_
### publish-akbar.sh
`./script/publish-akbar.sh` : build (`publish.sh`) puis déploiement de `PUBLISH_DIR` vers akbar via `rclone`/SFTP (`SSH_USER`, `SSH_HOST`, `SSH_PORT`, `SSH_REMOTE_PATH` dans `.env`). Le compte de déploiement est restreint au SFTP côté serveur (YunoHost), d'où `rclone` plutôt que `rsync`/`scp` qui nécessitent un shell distant.
Ne pas oublier de vérifier que les
- dossiers sont en 755 (`find /var/www -type d -exec chmod 755 {} \;`)
- fichiers sont en 644 (`find /var/www -type f -exec chmod 644 {} \;`)
## Spécificités
### Page 404 et Yunohost
La page 404.html, si l'option _Activer l'utilisation du fichier d'erreur personnalisé_ est activée, doit être déplacée sur www/error/404.html
## Tests
Travailler sur le site version production. `./script/publish.sh`.
### Pas de javascript
Tout doit être sans résultat.
```
grep -R "<script" publish/
grep -R "javascript:" publish/
grep -R "cdn" publish/
grep -R "google" publish/
grep -R "analytics" publish/
```
### Vérifier les liens morts
Dans un terminal, lancer `python3 -m http.server 1313 --directory publish`, puis dans un autre
```
docker run --rm \
--network host \
lycheeverse/lychee \
http://localhost:1313
```
### Vérifier flux RSS
- Vérifier sur [le site officiel de validation de flux rss](https://validator.w3.org/feed/check.cgi?url=https%3A//monsite.be/index.xml) une fois mis sur le site monsite.be
- `grep -R "rss" publish/` ne doit pas être vide.
### Lighthouse
En mode incognito sur Chromium, <kbd>F12</kbd> puis Lighthouse. Tester smartphone et Pc.
### Éco-score
- https://www.websitecarbon.com/ :
- https://www.ecoindex.fr/
### Test d'accessibilité
- Tester la navigation au clavier via <kbd>TAB</kbd> et <kbd>SHIFT</kbd> + <kbd>TAB</kbd>
- Vérifier les contrastes: sur Firefox, <kbd>F12</kbd> puis contraste.
Document does not have a meta description
## Idées d'évolutions
- Témoignages
- Questions fréquentes (FAQ)
- Actualités / Blog?
- Documentation
- Ressources