54 lines
2.4 KiB
Bash
Executable File
54 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# fetch_flags.sh — récupère les drapeaux en local, pour ne plus dépendre du CDN
|
|
#
|
|
# Par défaut la webapp charge les drapeaux depuis flagcdn.com (domaine public,
|
|
# libre d'usage, sans attribution). Ce script les rapatrie dans
|
|
# webapp/src/assets/flags/ pour un fonctionnement entièrement hors ligne.
|
|
#
|
|
# Après exécution, passer FLAG_LOCAL à true dans js/app.js :
|
|
# sed -i 's/const FLAG_LOCAL = false;/const FLAG_LOCAL = true;/' \
|
|
# /data/adsb/webapp/src/js/app.js
|
|
#
|
|
# Poids total : environ 200 Ko pour ~100 pays.
|
|
#
|
|
# Licence : les drapeaux nationaux sont des symboles d'État, non couverts par
|
|
# le droit d'auteur. flagcdn.com les distribue en domaine public.
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
set -euo pipefail
|
|
|
|
DEST="${1:-/data/adsb/webapp/src/assets/flags}"
|
|
BASE="https://flagcdn.com/24x18"
|
|
|
|
# Codes ISO alignés sur la table COUNTRY_ISO de app.js
|
|
CODES="fr de es it pt be nl lu ch at gb ie dk no se fi is pl cz sk hu ro bg gr
|
|
hr si rs ba al mt cy ee lv lt ua by ru tr us ca mx br ar cl co pe ve cn jp kr
|
|
in pk th vn sg my id ph au nz il sa qa ae kw bh om jo lb eg ma dz tn ly za ng
|
|
ke et gh sn ci cm ga mc sm ad li im gg je bm ky aw bs pa cr do cu jm kz uz az
|
|
ge am md me mk ir iq sy af bd lk np mm kh la mn tw hk mo"
|
|
|
|
mkdir -p "$DEST"
|
|
|
|
ok=0; ko=0
|
|
for c in $CODES; do
|
|
if [ -s "$DEST/$c.png" ]; then
|
|
ok=$((ok+1)); continue
|
|
fi
|
|
if curl -fsSL --max-time 10 "$BASE/$c.png" -o "$DEST/$c.png" 2>/dev/null; then
|
|
ok=$((ok+1))
|
|
else
|
|
rm -f "$DEST/$c.png"
|
|
echo " échec : $c" >&2
|
|
ko=$((ko+1))
|
|
fi
|
|
done
|
|
|
|
echo "$ok drapeau(x) disponible(s) dans $DEST"
|
|
[ "$ko" -gt 0 ] && echo "$ko échec(s) — ces pays retomberont sur le pictogramme « inconnu »"
|
|
|
|
echo
|
|
echo "Pour activer l'hébergement local :"
|
|
echo " sed -i 's/const FLAG_LOCAL = false;/const FLAG_LOCAL = true;/' \\"
|
|
echo " /data/adsb/webapp/src/js/app.js"
|
|
echo " docker cp /data/adsb/webapp/src/js/app.js adsb-webapp:/var/www/html/js/app.js"
|