[escal] 4 commits

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=-x en plus du chmod : git ne versionne que
    le bit x, pas les permissions complètes. Le chmod seul suffit quand
    core.fileMode vaut true, mais update-index garantit 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

Détails : Suppression du bit exécutable sur les fichiers non-scripts (7d44dc9a) · Validations · Gilles Vincent / escal · GitLab

==============================
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

Détails : Simplification de .gitattributes + normalisation des fichiers en LF (2d676fa9) · Validations · Gilles Vincent / escal · GitLab