technova69/escal | 4 commits
Par gilles, le 21 août 2026 à 22h07min :
Suppression du bit exécutable sur les fichiers non-scripts
18 fichiers suivis étaient en mode 100755 sans raison (squelettes .html,
.php de plugin, CSS/JS, une police .woff, paquet.xml, une aide .spip) :
reliquat de copies depuis un système de fichiers sans permissions ou d’un
umask trop permissif. Aucun n’est un exécutable.
Le diff est purement un changement de mode : 0 ligne de contenu modifiée.
Commande générique réutilisable pour ce nettoyage :
git ls-files -s -z | while IFS= read -r -d '' e; do
mode=${e%% *}; path=${e#*$'\t'}
[ "$mode" = "100755" ] || continue
case "$path" in *.sh) continue;; esac
head -c2 "$path" 2>/dev/null | grep -q '#!' && continue
chmod a-x "$path"
git update-index --chmod=-x "$path"
done
Deux points la rendent fiable :
git update-index --chmod=-xen plus duchmod: git ne versionne que
le bit x, pas les permissions complètes. Lechmodseul suffit quand
core.fileMode vaut true, maisupdate-indexgarantit le résultat sur un
clone où il vaut false (Windows, WSL, partage réseau).- le garde-fou
.sh/ shebang : rien à préserver ici, mais il évite de
casser un script ou un hook si la commande est rejouée dans un autre
dépôt.
À noter : .gitattributes ne sait pas piloter le bit x, il n’existe donc pas
d’équivalent déclaratif à eol=lf pour ce cas. Comme git versionne ce bit,
le problème ne peut réapparaître que si un nouveau fichier est ajouté déjà
marqué +x.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Modifié
aide/fr/escalaide/_intro.spip
calendrier_quete.json.html
escal_administrations.php
escal_fonctions.php
fonts/OpenDyslexic-Regular.woff
formulaires/configurer_escal_contact_principal.html
formulaires/configurer_escal_menuh.html
inclusions/inc-calendrier_event.html
inclusions/inc-evenements_events.html
inclusions/inc-events_agenda.html
inclusions/inc-events_calendrier.html
inclusions/inc-events_mobile.html
inclusions/inc-sites_favoris_rub.html
modeles/tag.html
paquet.xml
scripts/accessconfig.min.js
styles/accessconfig.css
styles/general.css
==============================
Par gilles, le 21 août 2026 à 21h45min :
Convertion en utf8
script utilise :
find . -type f ! -path './.git/*' -exec sh -c '
for f; do
mime=$(file -bi "$f")
case "$mime" in
*charset=iso-8859-1*)
echo "Conversion: $f"
tmp="${f}.utf8-tmp"
if iconv -f ISO-8859-1 -t UTF-8 "$f" > "$tmp"; then
mv "$tmp" "$f"
else
echo "ERREUR: $f" >&2
rm -f "$tmp"
fi
;;
esac
done
' sh {} +
Verification : find . -type f ! -path './.git/*' -exec file -bi {} \; | sort | uniq -c
retourne maintenant
1 application/json; charset=us-ascii
3 application/octet-stream; charset=binary
1 application/vnd.ms-fontobject; charset=binary
5 application/vnd.ms-opentype; charset=binary
2 application/vnd.oasis.opendocument.spreadsheet; charset=binary
3 application/x-wine-extension-ini; charset=utf-8
1 font/sfnt; charset=binary
6 image/gif; charset=binary
12 image/jpeg; charset=binary
35 image/png; charset=binary
81 image/svg+xml; charset=us-ascii
3 image/svg+xml; charset=utf-8
1 image/vnd.microsoft.icon; charset=binary
25 inode/x-empty; charset=binary
51 text/html; charset=us-ascii
66 text/html; charset=utf-8
71 text/plain; charset=us-ascii
41 text/plain; charset=utf-8
3 text/x-asm; charset=utf-8
20 text/x-php; charset=us-ascii
42 text/x-php; charset=utf-8
Le charset ‹ us-ascii › est compatible ‹ utf-8 › puisse que le fichier n’a pas d’accents.
Pour la suite, il est important de configurer l’editeur en utf-8, par exemple a l’aide d’un fichier .editorconfig
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
Modifié
cadres.html
config.css.html
escal_options.php
forumSite-article.html
forumSite-rubrique.html
inclusions/inc-annonce_defilant.html
inclusions/inc-annonce_defilant_article.html
inclusions/inc-article.html
inclusions/inc-article_pleine_page.html
inclusions/inc-donnees_exif.html
inclusions/inc-meme_rub.html
inclusions/inc-menu.html
inclusions/inc-menu2eniveau.html
inclusions/inc-menu2eniveauH2.html
inclusions/inc-menu2eniveau_vertical.html
inclusions/inc-menu2eniveau_vertical_2.html
inclusions/inc-menuH2.html
inclusions/inc-menu_vertical.html
inclusions/inc-menu_vertical_2.html
inclusions/inc-menumobile.html
inclusions/inc-menumobile2eniveau.html
inclusions/inc-mon_article.html
inclusions/inc-mon_article2.html
inclusions/inc-mon_article3.html
inclusions/inc-mon_article4.html
inclusions/inc-mon_article5.html
inclusions/inc-nav_mots.html
inclusions/inc-nav_mots2.html
inclusions/inc-pied.html
inclusions/inc-plan_rub2eniveau.html
inclusions/inc-plan_secteur.html
inclusions/inc-portfolio.html
inclusions/inc-rubrique_forumSite.html
inclusions/inc-rubrique_normal.html
inclusions/inc-une_derniers.html
inclusions/inc-une_derniers_bis.html
inclusions/inc-une_derniers_ter.html
modeles/escal_conditions_tempsreel.html
mot.html
plan.html
prive/squelettes/navigation/configurer_escal.html
recherche.html
rubrique.html
rubrique_pleinepage.html
scripts/onglets.js
styles/imprime.css
Détails : Convertion en utf8 (77491fa1) · Validations · Gilles Vincent / escal · GitLab
==============================
Par gilles, le 21 août 2026 à 21h26min :
Normalisation des fichiers en LF (commande ‹ git add --renormalize . ›)
Modifié
401.html
404.html
agenda.html
annuaire.html
article_pleinepage.html
auteur.html
cadres.html
config.css.html
contact.html
escal_administrations.php
escal_fonctions.php
evenement.html
formulaires/configurer_escal_sommaire_principal.html
formulaires/contact.html
formulaires/recherche_multi.html
forum.css.html
forum.html
forumSite-article.html
forumSite-proposer.html
forumSite-rubrique.html
forumSite-sujet.html
inc/escal_autoriser.php
inc/escal_pipelines.php
inclusions/inc-a_la_une.html
inclusions/inc-acces_direct.html
inclusions/inc-actus.html
inclusions/inc-annonce.html
inclusions/inc-annonce_defilant.html
inclusions/inc-article.html
inclusions/inc-article_accueil.html
inclusions/inc-article_archive.html
inclusions/inc-article_forumSite.html
inclusions/inc-article_libre1.html
inclusions/inc-article_libre2.html
inclusions/inc-article_libre3.html
inclusions/inc-article_libre4.html
inclusions/inc-article_libre5.html
inclusions/inc-article_pleine_page.html
inclusions/inc-bandeau.html
inclusions/inc-calendrier.html
inclusions/inc-calendrier_art.html
inclusions/inc-calendrier_event.html
inclusions/inc-choixmenuV1.html
inclusions/inc-choixmenuV2.html
inclusions/inc-decouvrir_articles.html
inclusions/inc-decouvrir_articles_rub.html
inclusions/inc-decouvrir_articles_site.html
inclusions/inc-derniers_articles.html
inclusions/inc-derniers_comments.html
inclusions/inc-documents_article.html
inclusions/inc-documents_rubrique.html
inclusions/inc-donnees_exif.html
inclusions/inc-edito.html
inclusions/inc-entete.html
inclusions/inc-espace.html
inclusions/inc-espace_article.html
inclusions/inc-espace_self.html
inclusions/inc-evenements.html
inclusions/inc-evenements_articles.html
inclusions/inc-evenements_events.html
inclusions/inc-evenements_inscription.html
inclusions/inc-events_calendrier.html
inclusions/inc-events_mobile.html
inclusions/inc-forum_article.html
inclusions/inc-head.html
inclusions/inc-hierarchie_art.html
inclusions/inc-hierarchie_art_2eniveau.html
inclusions/inc-hierarchie_rub.html
inclusions/inc-hierarchie_rub_2eniveau.html
inclusions/inc-identification.html
inclusions/inc-identification_light.html
inclusions/inc-javascripts.html
inclusions/inc-liste_auteurs.html
inclusions/inc-meme_rub.html
inclusions/inc-menu.html
inclusions/inc-menu2eniveau.html
inclusions/inc-menu2eniveauH2.html
inclusions/inc-menu2eniveau_vertical.html
inclusions/inc-menu2eniveau_vertical_2.html
inclusions/inc-menuH2.html
inclusions/inc-menu_vertical.html
inclusions/inc-menu_vertical_2.html
inclusions/inc-menumobile.html
inclusions/inc-mon_article.html
inclusions/inc-mon_article2.html
inclusions/inc-mon_article3.html
inclusions/inc-nav_mots.html
inclusions/inc-nav_mots2.html
inclusions/inc-perso.html
inclusions/inc-photos.html
inclusions/inc-pied.html
inclusions/inc-plan.html
inclusions/inc-portfolio.html
inclusions/inc-rainette.html
inclusions/inc-recherche_multi.html
inclusions/inc-rubrique_accueil.html
inclusions/inc-rubrique_accueil2.html
inclusions/inc-rubrique_accueil3.html
inclusions/inc-rubrique_accueil4.html
inclusions/inc-rubrique_accueil5.html
inclusions/inc-rubrique_forumSite.html
inclusions/inc-rubrique_normal.html
inclusions/inc-rubrique_trombino.html
inclusions/inc-sites.html
inclusions/inc-sites_accueil.html
inclusions/inc-sites_favoris.html
inclusions/inc-sites_favoris_rub.html
inclusions/inc-sites_recents.html
inclusions/inc-stats.html
inclusions/inc-top.html
inclusions/inc-triurlrubrique.html
inclusions/inc-une_derniers.html
inclusions/inc-une_derniers_bis.html
inclusions/inc-une_derniers_ter.html
inclusions/inc-une_motcle.html
jour-art.html
jour-event.html
lang/paquet-escal_al.php
lang/paquet-escal_eo.php
lang/paquet-escal_ja.php
lang/paquet-escal_lv.php
lang/paquet-escal_nl.php
layoutMP.css.html
layoutMPP.css.html
layoutMPPfluide.css.html
layoutMPPmixte.css.html
layoutMPfluide.css.html
layoutPM.css.html
layoutPMP.css.html
layoutPMPfluide.css.html
layoutPMPmixte.css.html
layoutPMfluide.css.html
layoutPPM.css.html
layoutPPMfluide.css.html
layoutPPMmixte.css.html
mentions-legales.html
message.html
modeles/choix_article.yaml
modeles/choix_article_base.html
modeles/escal_conditions_tempsreel.html
modeles/galleria.html
mot.html
paquet.xml
persoconfig.css.html
plan.html
prive/squelettes/contenu/configurer_escal.html
recherche.html
rubrique.html
rubrique_pleinepage.html
scripts/bloc_depliant.js.html
scripts/changetaille.js
scripts/menu.js
scripts/menu_mots.js
scripts/menu_vertical.js
scripts/onglets.js
site.html
spip_pass.html
styles/agenda.css
styles/ie.css
styles/imprime.css
styles/menu.css
styles/mobile.css
styles/prive_perso.css
trombino-auteurs.html
Détails : https://git.spip.net/technova69/escal/-/commit/9b0a79a7e31e1a5587d34b763a1814a7192a0745
==============================
Par gilles, le 21 août 2026 à 21h24min :
Simplification de .gitattributes + normalisation des fichiers en LF
Modifié
.gitattributes