spip-contrib-extensions/page_mobiles
Par JuLBLoBuL, le 8 juin 2026 à 15h25min :
feat: compatibilite PHP 8.4 / SPIP 4.4 + detection Client Hints - v2.0.0
BREAKING CHANGE: version majeure 2.0.0 — compatibilite [3.2.0;4.4.*]
Detection modernisee (pages_mobiles_options.php)
- feat: priorite aux Client Hints W3C (Sec-CH-UA-Mobile) avant le User-Agent
. ?0 => retour immediat ‹ web › (evite tout parsing UA)
. ?1 => confirme ‹ autre_mobile › si aucun type precis detecte - feat: detection generique ‹ mobi › dans l’UA (standard W3C/IETF RFC 7231)
couvrant tous les navigateurs mobiles modernes non identifies individuellement - fix: variable \ non initialisee quand court-circuitage par GET/cookie
- fix: variable \ non initialisee (avertissement PHP 8)
- fix: appel errone pages_mobiles_groupes_mobiles() — la fonction
ne prend pas d’argument ; remplace par une boucle de recherche correcte - fix: comparaison [‹ page ›] == false remplacee par empty()
- fix: securite URL — rawurlencode() sur chemin mobile et parametres de contexte
- refactor: operateur ?? (null coalescing) partout
- refactor: comparaisons strictes (===, !==, in_array(…, true))
- chore: suppression des plateformes eteintes (BlackBerry, Windows Phone,
WebOS/Palm, Symbian, Opera Mini dedie, Nuvifone, Sony Mylo, Nokia Maemo,
Archos, liste 4-chars feature phones des annees 2000)
Groupes de mobiles mis a jour
- ios_phones : iphone, ipod
- tablettes : ipad, androidtablette (+ Kindle Fire via Silk)
- smartphones : android, autre_mobile
pages_mobiles_fonctions.php
- fix: type hints + return types PHP 7+
- fix: comparaison stricte dans pages_mobiles_verification_chemin()
- chore: suppression balise ?> en fin de fichier
paquet.xml
- chore: version 2.0.0, etat stable, compatibilite [3.2.0;4.4.*]
lang/paquet-pages_mobiles_fr.php
- docs: description mise a jour (Client Hints, plateformes actuelles)
Fichiers ajoutes
- docs: CHANGELOG.md
- docs: DOCUMENTATION.md (documentation technique complete)
Ajouté
CHANGELOG.md
DOCUMENTATION.md
Modifié
lang/paquet-pages_mobiles_fr.php
pages_mobiles_fonctions.php
pages_mobiles_options.php
paquet.xml