API Documentation
Table of Contents
Constants
- _CSS_EMBARQUE_FICHIER_MAX_SIZE = 4 * 1024
Functions
- minifier() : string
- Minifier un fichier JS ou CSS
- compacte() : string
- Synonyme historique de minifier, pour compatibilite
- compacte_head() : string
- Compacte les éléments CSS et JS d'un <head> HTML
- filtre_embarque_fichier() : string
- Embarquer sous forme URI Scheme un fichier
- filtre_embarque_src() : string
- Embarquer le 'src' d'une balise html en URI Scheme
- compresseur_ieconfig_metas() : array<string|int, mixed>
- Ajoute les metas sauvegardables du Compresseur pour le plugin IEConfig
- compresseur_affichage_final() : string
- Transformer toutes les URLs relatives image,js en url absolues qui pointent sur le domaine statique on applique pas a l'URL de la CSS, car on envoie un header http link qui permet au navigateur de la pre-fetch sur le meme domaine, sans avoir a faire de requete DNS
- compresseur_header_prive() : string
- Compression des JS et CSS de l'espace privé
- compresseur_insert_head() : string
- Compression des JS et CSS de l'espace public
- compresseur_affiche_milieu() : string
- Afficher le formulaire de configuration sur la page de configurations avancées
- compresseur_configurer_liste_metas() : array<string|int, mixed>
- Lister les metas du compresseur et leurs valeurs par défaut
- formulaires_configurer_compresseur_charger_dist() : array<string|int, mixed>
- Chargement du formulaire de configuration du compresseur
- formulaires_configurer_compresseur_verifier_dist() : array<string|int, mixed>
- Vérifications du formulaire de configuration du compresseur
- formulaires_configurer_compresseur_traiter_dist() : array<string|int, mixed>
- Traitement du formulaire de configuration du compresseur
- front_ou_back() : string
- compresseur_ecrire_balise_js_dist() : string
- Ecrire la balise javascript pour insérer le fichier compressé
- compresseur_ecrire_balise_css_dist() : string
- Ecrire la balise CSS pour insérer le fichier compressé
- compresseur_extraire_balises_css_dist() : array<string|int, mixed>
- Extraire les balises CSS à compacter
- compresseur_extraire_balises_js_dist() : array<string|int, mixed>
- Extraire les balises JS à compacter
- compacte_head_files() : string
- Compacter (concaténer+minifier) les fichiers format CSS ou JS du head.
- compresseur_liste_fonctions_prepare_css() : array<string|int, mixed>
- Lister les fonctions de préparation des feuilles css avant minification
- compresseur_callback_prepare_css() : bool|int|null|string
- Préparer un fichier CSS avant sa minification
- compresseur_callback_prepare_css_inline() : string
- Préparer du contenu CSS inline avant minification
- css_resolve_atimport() : string
- Resoudre et inliner les @import ceux-ci ne peuvent etre presents qu'en debut de CSS et on ne veut pas changer l'ordre des directives
- css_regroup_atimport() : bool|string
- Regrouper les @import restants dans la CSS concatenee en debut de celle-ci
- css_url_statique_ressources() : mixed
- Remplacer l'URL du site par une url de ressource genre static.example.org qui evite les echanges de cookie pour les ressources images (peut aussi etre l'URL d'un CDN ou autre provider de ressources statiques)
- concatener_fichiers() : array<string|int, mixed>
- Concaténer en un seul une liste de fichier, avec appels de callback sur chaque fichier, puis sur le fichier final
- concatener_nom_fichier_concat() : array<string|int, mixed>
- Calculer le nom de fichier concatene en tenant compte des timestamps : un changement de timestamp ne doit pas modifier le nom mais bien forcer une mise a jour du fichier concat si besoin
- concatener_callback_identite() : string
- Une callback pour la minification par défaut
- array_replace_key() : array<string|int, mixed>
- Une callback pour ?
- compresseur_embarquer_images_css() : string
- Embarque en base64 les images png|gif|jpg présentes dans un fichier CSS
- minifier_css() : string
- Minifier un contenu CSS
- minifier_js() : string
- Compacte du javascript grace a Dean Edward's JavaScriptPacker
- callback_minifier_css_file() : string
- Une callback applicable sur chaque balise link qui minifie un fichier CSS
- callback_minifier_js_file() : string
- Une callback applicable sur chaque balise script qui minifie un JS
- minifier_html() : string
- Minifier du HTML
Constants
_CSS_EMBARQUE_FICHIER_MAX_SIZE
public
mixed
_CSS_EMBARQUE_FICHIER_MAX_SIZE
= 4 * 1024
Functions
minifier()
Minifier un fichier JS ou CSS
minifier(string $source[, string $format = null ]) : string
Si la source est un chemin, on retourne un chemin avec le contenu minifié dans DIR_VAR/cache$format/ Si c'est un flux on le renvoit compacté Si on ne sait pas compacter, on renvoie ce qu'on a recu
Parameters
- $source : string
-
Contenu à minifier ou chemin vers un fichier dont on veut minifier le contenu
- $format : string = null
-
Format de la source (js|css).
Return values
string —- Contenu minifié (si la source est un contenu)
- Chemin vers un fichier ayant le contenu minifié (si source est un fichier)
compacte()
Synonyme historique de minifier, pour compatibilite
(SPIP3.1)
compacte(string $source[, string $format = null ]) : string
Parameters
- $source : string
- $format : string = null
Tags
Return values
stringcompacte_head()
Compacte les éléments CSS et JS d'un <head> HTML
compacte_head(string $flux) : string
Cette fonction vérifie les réglages du site et traite le compactage des css et/ou js d'un
Parameters
- $flux : string
-
Partie de contenu du head HTML
Tags
Return values
string —Partie de contenu du head HTML
filtre_embarque_fichier()
Embarquer sous forme URI Scheme un fichier
filtre_embarque_fichier(string $src[, string $base = '' ][, int $maxsize = 4096 ]) : string
Une URI Scheme est de la forme data:xxx/yyy;base64,....
Experimental
Parameters
- $src : string
-
Chemin du fichier
- $base : string = ''
-
Le chemin de base à partir duquel chercher $src
- $maxsize : int = 4096
-
Taille maximale des fichiers à traiter
Tags
Return values
string —URI Scheme du fichier si la compression est faite, URL du fichier sinon (la source)
filtre_embarque_src()
Embarquer le 'src' d'une balise html en URI Scheme
filtre_embarque_src(string $img[, int $maxsize = 4096 ]) : string
Experimental
Parameters
- $img : string
-
Code HTML d'une image
- $maxsize : int = 4096
-
Taille maximale des fichiers à traiter
Return values
string —Code HTML de l'image, avec la source en URI Scheme si cela a été possible.
compresseur_ieconfig_metas()
Ajoute les metas sauvegardables du Compresseur pour le plugin IEConfig
compresseur_ieconfig_metas(array<string|int, mixed> $table) : array<string|int, mixed>
Parameters
- $table : array<string|int, mixed>
-
Déclaration des sauvegardes
Tags
Return values
array<string|int, mixed> —Déclaration des sauvegardes complétées
compresseur_affichage_final()
Transformer toutes les URLs relatives image,js en url absolues qui pointent sur le domaine statique on applique pas a l'URL de la CSS, car on envoie un header http link qui permet au navigateur de la pre-fetch sur le meme domaine, sans avoir a faire de requete DNS
compresseur_affichage_final(string $flux) : string
Parameters
- $flux : string
Return values
stringcompresseur_header_prive()
Compression des JS et CSS de l'espace privé
compresseur_header_prive(string $flux) : string
Parameters
- $flux : string
-
Partie de contenu du head HTML de l'espace privé
Tags
Return values
string —Partie de contenu du head HTML de l'espace privé
compresseur_insert_head()
Compression des JS et CSS de l'espace public
compresseur_insert_head(string $flux) : string
Injecter l'appel au compresseur sous la forme de filtre pour intervenir sur l'ensemble du head du squelette public
Parameters
- $flux : string
-
Partie de contenu du head HTML de l'espace public
Tags
Return values
string —Partie de contenu du head HTML de l'espace public
compresseur_affiche_milieu()
Afficher le formulaire de configuration sur la page de configurations avancées
compresseur_affiche_milieu(string $flux) : string
Parameters
- $flux : string
-
Données du pipeline
Tags
Return values
string —Données du pipeline
compresseur_configurer_liste_metas()
Lister les metas du compresseur et leurs valeurs par défaut
compresseur_configurer_liste_metas(array<string|int, mixed> $metas) : array<string|int, mixed>
Parameters
- $metas : array<string|int, mixed>
-
Couples nom de la méta => valeur par défaut
Tags
Return values
array<string|int, mixed> —Couples nom de la méta => valeur par défaut
formulaires_configurer_compresseur_charger_dist()
Chargement du formulaire de configuration du compresseur
formulaires_configurer_compresseur_charger_dist() : array<string|int, mixed>
Return values
array<string|int, mixed> —Environnement du formulaire
formulaires_configurer_compresseur_verifier_dist()
Vérifications du formulaire de configuration du compresseur
formulaires_configurer_compresseur_verifier_dist() : array<string|int, mixed>
Return values
array<string|int, mixed> —Tableau des erreurs
formulaires_configurer_compresseur_traiter_dist()
Traitement du formulaire de configuration du compresseur
formulaires_configurer_compresseur_traiter_dist() : array<string|int, mixed>
Return values
array<string|int, mixed> —Retours du traitement
front_ou_back()
front_ou_back(string $url) : string
Parameters
- $url : string
Return values
stringcompresseur_ecrire_balise_js_dist()
Ecrire la balise javascript pour insérer le fichier compressé
compresseur_ecrire_balise_js_dist(string &$flux, int $pos, string $src[, string $comments = '' ]) : string
C'est cette fonction qui décide où il est le plus pertinent d'insérer le fichier, et dans quelle forme d'ecriture
Parameters
- $flux : string
-
Contenu du head nettoyé des fichiers qui ont été compressé
- $pos : int
-
Position initiale du premier fichier inclu dans le fichier compressé
- $src : string
-
Nom du fichier compressé
- $comments : string = ''
-
Commentaires à insérer devant
Return values
string —Code HTML de la balise <script>
compresseur_ecrire_balise_css_dist()
Ecrire la balise CSS pour insérer le fichier compressé
compresseur_ecrire_balise_css_dist(string &$flux, int $pos, string $src[, string $comments = '' ][, string $media = '' ]) : string
C'est cette fonction qui décide ou il est le plus pertinent d'insérer le fichier, et dans quelle forme d'écriture
Parameters
- $flux : string
-
Contenu du head nettoyé des fichiers qui ont ete compressé
- $pos : int
-
Position initiale du premier fichier inclu dans le fichier compressé
- $src : string
-
Nom du fichier compressé
- $comments : string = ''
-
Commentaires à insérer devant
- $media : string = ''
-
Type de media si précisé (print|screen...)
Return values
string —Code HTML de la balise
compresseur_extraire_balises_css_dist()
Extraire les balises CSS à compacter
compresseur_extraire_balises_css_dist(string $flux, string $url_base) : array<string|int, mixed>
Parameters
- $flux : string
-
Contenu HTML dont on extrait les balises CSS
- $url_base : string
Return values
array<string|int, mixed> —Couples (balise => src)
compresseur_extraire_balises_js_dist()
Extraire les balises JS à compacter
compresseur_extraire_balises_js_dist(string $flux, string $url_base) : array<string|int, mixed>
Parameters
- $flux : string
-
Contenu HTML dont on extrait les balises CSS
- $url_base : string
Return values
array<string|int, mixed> —Couples (balise => src)
compacte_head_files()
Compacter (concaténer+minifier) les fichiers format CSS ou JS du head.
compacte_head_files(string $flux, string $format) : string
Repérer fichiers statiques vs. url squelettes Compacte le tout dans un fichier statique posé dans local/
Parameters
- $flux : string
-
Contenu du
de la page html - $format : string
-
css ou js
Return values
string —Contenu compressé du
de la page htmlcompresseur_liste_fonctions_prepare_css()
Lister les fonctions de préparation des feuilles css avant minification
compresseur_liste_fonctions_prepare_css() : array<string|int, mixed>
Return values
array<string|int, mixed> —Liste des fonctions à appliquer sur les feuilles CSS
compresseur_callback_prepare_css()
Préparer un fichier CSS avant sa minification
& compresseur_callback_prepare_css(string &$css[, bool|string $is_inline = false ][, string $fonctions = null ]) : bool|int|null|string
Parameters
- $css : string
- $is_inline : bool|string = false
- $fonctions : string = null
Return values
bool|int|null|stringcompresseur_callback_prepare_css_inline()
Préparer du contenu CSS inline avant minification
& compresseur_callback_prepare_css_inline(string &$contenu, string $url_base[, string $filename = '' ][, array<string|int, mixed> $fonctions = null ]) : string
Parameters
- $contenu : string
-
contenu de la CSS
- $url_base : string
-
url de la CSS ou de la page si c'est un style inline
- $filename : string = ''
-
nom du fichier de la CSS (ou vide si c'est un style inline)
- $fonctions : array<string|int, mixed> = null
-
liste des fonctions appliquees a la CSS
Return values
stringcss_resolve_atimport()
Resoudre et inliner les @import ceux-ci ne peuvent etre presents qu'en debut de CSS et on ne veut pas changer l'ordre des directives
css_resolve_atimport(string $contenu, string $url_base, string $filename) : string
Parameters
- $contenu : string
- $url_base : string
- $filename : string
Return values
stringcss_regroup_atimport()
Regrouper les @import restants dans la CSS concatenee en debut de celle-ci
css_regroup_atimport(string $nom_tmp, string $nom) : bool|string
Parameters
- $nom_tmp : string
- $nom : string
Return values
bool|stringcss_url_statique_ressources()
Remplacer l'URL du site par une url de ressource genre static.example.org qui evite les echanges de cookie pour les ressources images (peut aussi etre l'URL d'un CDN ou autre provider de ressources statiques)
css_url_statique_ressources(string $contenu, string $url_base, string $filename) : mixed
Parameters
- $contenu : string
- $url_base : string
- $filename : string
concatener_fichiers()
Concaténer en un seul une liste de fichier, avec appels de callback sur chaque fichier, puis sur le fichier final
concatener_fichiers(array<string|int, mixed> $files[, string $format = 'js' ][, array<string|int, mixed> $callbacks = [] ]) : array<string|int, mixed>
Gestion d'un cache : le fichier concaténé n'est produit que si il n'existe pas pour la liste de fichiers fournis en entrée
Parameters
- $files : array<string|int, mixed>
-
Liste des fichiers à concatener, chaque entrée sour la forme html=>fichier
- string $key : html d'insertion du fichier dans la page
- string|array $fichier : chemin du fichier, ou tableau (page,argument) si c'est un squelette
- $format : string = 'js'
-
js ou css utilisé pour l'extension du fichier de sortie
- $callbacks : array<string|int, mixed> = []
-
Tableau de fonctions à appeler :
- each_pre : fonction de préparation à appeler sur le contenu de chaque fichier
- each_min : fonction de minification à appeler sur le contenu de chaque fichier
- all_min : fonction de minification à appeler sur le contenu concatene complet, en fin de traitement
Return values
array<string|int, mixed> —Tableau a 2 entrées retournant le nom du fichier et des commentaires HTML à insérer dans la page initiale
concatener_nom_fichier_concat()
Calculer le nom de fichier concatene en tenant compte des timestamps : un changement de timestamp ne doit pas modifier le nom mais bien forcer une mise a jour du fichier concat si besoin
concatener_nom_fichier_concat(string $dir, array<string|int, mixed> $files, array<string|int, mixed> $callbacks, string $format) : array<string|int, mixed>
Parameters
- $dir : string
- $files : array<string|int, mixed>
- $callbacks : array<string|int, mixed>
- $format : string
Return values
array<string|int, mixed>concatener_callback_identite()
Une callback pour la minification par défaut
& concatener_callback_identite(string &$contenu) : string
Mais justement, par défaut on ne minifie rien !
Parameters
- $contenu : string
-
Contenu à minifier
Return values
string —Contenu à minifier
array_replace_key()
Une callback pour ?
& array_replace_key(array<string|int, mixed> $tableau, string $orig_key, string $new_key[, mixed $new_value = null ]) : array<string|int, mixed>
Parameters
- $tableau : array<string|int, mixed>
- $orig_key : string
-
Index dont on cherche la valeur actuelle
- $new_key : string
-
Nouvel index que l'on veut voir affecter de la valeur de la clé d'origine
- $new_value : mixed = null
-
Si rempli, la nouvelle clé prend cette valeur à la place de la valeur de la clé d'origine
Return values
array<string|int, mixed>compresseur_embarquer_images_css()
Embarque en base64 les images png|gif|jpg présentes dans un fichier CSS
compresseur_embarquer_images_css(string $contenu, string $source[, string $source_file = null ]) : string
Extrait les images décrites par 'url(...)' d'un fichier CSS pour les faire embarquer directement dans le fichier
Parameters
- $contenu : string
-
Contenu d'un fichier CSS
- $source : string
-
URL Source de ce fichier CSS
- $source_file : string = null
-
filename Source de ce fichier CSS, si connu
Tags
Return values
string —Contenu du fichier CSS avec les images embarquées
minifier_css()
Minifier un contenu CSS
minifier_css(string $contenu[, mixed $options = '' ]) : string
Si $options est vide on utilise la methode regexp simple
Si $options est une chaine non vide elle definit un media à appliquer à la css. Si la css ne contient aucun @media ni @import, on encapsule tout dans "@media $option {...}" et on utilise regexp sinon on utilise csstidy pour ne pas faire d'erreur, mais c'est 12 fois plus lent
Si $options sous forme de array() on passe par csstidy pour parser le code et produire un contenu plus compact et prefixé eventuellement par un @media options disponibles :
- string media : media qui seront utilisés pour encapsuler par @media les selecteurs sans media
- string template : format de sortie parmi 'low','default','high','highest'
Parameters
- $contenu : string
-
Contenu CSS
- $options : mixed = ''
-
Options de minification
Return values
string —Contenu CSS minifié
minifier_js()
Compacte du javascript grace a Dean Edward's JavaScriptPacker
minifier_js(string $flux) : string
Bench du 15/11/2010 sur jQuery.js : JSMIN (https://github.com/rgrove/jsmin-php/) 61% de la taille initiale / 2 895 ms JavaScriptPacker 62% de la taille initiale / 752 ms
Parameters
- $flux : string
-
Contenu JS
Return values
string —Contenu JS minifié
callback_minifier_css_file()
Une callback applicable sur chaque balise link qui minifie un fichier CSS
callback_minifier_css_file(string $contenu, string $balise) : string
Parameters
- $contenu : string
- $balise : string
Return values
stringcallback_minifier_js_file()
Une callback applicable sur chaque balise script qui minifie un JS
callback_minifier_js_file(string $contenu, string $balise) : string
Parameters
- $contenu : string
- $balise : string
Return values
stringminifier_html()
Minifier du HTML
minifier_html(string $flux) : string
Parameters
- $flux : string
-
HTML à compresser
Return values
string —HTML compressé