SPIP - français, ces 365 derniers jours

SPIP est un système de publication pour l’Internet qui s’attache particulièrement au fonctionnement collectif, au multilinguisme et à la facilité (…)



jeudi 8 mai 2025

  • #VIRTUEL

    Cette balise renvoie la valeur du champ de redirection saisi pour un article (cette saisie se fait dans la colonne secondaire de la page d'édition d'un article).

    Cette possibilité doit avoir été activée dans la page de configuration "Contenu du site".


  • {virtuel}

    Le critère {virtuel} d'une boucle ARTICLES permet de ne retenir que les articles virtuels (qui redirigent vers une autre url).

    Inversement, avec {virtuel=''} ou {!virtuel} , la boucle ne retournera que les articles non redirigés.

    Voir : #VIRTUEL


jeudi 20 mars 2025

  • Utiliser Rector

    Rector est un outil de refactoring et d'amélioration automatisé de code PHP ; SPIP s'est doté d'un jeu de règles : https://git.spip.net/spip-league/rector.

    Préalable

    Il faut un fichier composer.json à la racine du plugin, dans lequel on déclare le dépôt composer propre à SPIP :

    { "repositories": { "spip": { "type": "composer", "url": "https://get.spip.net/composer" } } } 

    Installation

    composer require --dev rector/rector spip-league/rector:"dev-main" 

    Configuration

    La configuration se fait dans le fichier rector.php à la racine de votre plugin :

    <?php declare(strict_types=1); use Rector\Config\RectorConfig; use Rector\Set\ValueObject\LevelSetList; use SpipLeague\Component\Rector\Set\SpipSetList; return RectorConfig::configure() ->withPaths([__DIR__]) ->withRootFiles() ->withSets([SpipSetList::SPIP_41, LevelSetList::UP_TO_PHP_74]) ->withSkip([ __DIR__ . '/lang', __DIR__ . '/vendor', ]) ; 

    On peut configurer des scripts dans le fichier composer.json :

     "scripts": { "rector": "vendor/bin/rector process --ansi", "rector-dry-run": "vendor/bin/rector process --dry-run --ansi" } 

    Usage

    composer rector-dry-run composer rector composer rector dossier/fichier 

  • Utiliser ECS

    SPIP propose un jeu de règles pour Easy Coding Standard (https://github.com/easy-coding-standard/easy-coding-standard) via le dépôt spip-league/easy-coding-standard.

    L'utiliser permet de s'assurer de respecter les conventions d'écriture PHP utilisées dans la communauté SPIP.

    Préalable

    Il faut un fichier composer.json à la racine du plugin, dans lequel on déclare le dépôt composer propre à SPIP :

    { "repositories": { "spip": { "type": "composer", "url": "https://get.spip.net/composer" } } } 

    Installation

    L'installation se fait avec la commande :

    composer require --dev spip-league/easy-coding-standard 

    Configuration

    Créez le fichier ecs.php à la racine de votre plugin :

    <?php use SpipLeague\EasyCodingStandard\Set\SetList; use Symplify\EasyCodingStandard\Config\ECSConfig; return ECSConfig::configure() ->withSets([SetList::SPIP]) ->withPaths([__DIR__]) ->withRootFiles() ->withSkip([__DIR__ . '/lang', __DIR__ . '/vendor']) ; 

    Usage

    Pour en faciliter l'usage, on peut ajouter des "alias" dans les scripts du fichier composer.json :

     "scripts": { "check-cs": "vendor/bin/ecs check --ansi", "fix-cs": "vendor/bin/ecs check --fix --ansi" } 
    composer fix-cs composer fix-cs inc/inc.inc 

mercredi 19 mars 2025

  • _AUTORISER_TELECHARGER_PLUGINS

    La constante _AUTORISER_TELECHARGER_PLUGINS a comme valeur par défaut true, ainsi les admins d'un site peuvent ajouter ou mettre à jour les plugins du site.

    Si vous souhaitez désactiver le chargement des plugins, elle peut être définie à false dans votre fichier config/mes_options.php (voir l'article qui lui est consacré).

    define('_AUTORISER_TELECHARGER_PLUGINS', false); 

jeudi 6 mars 2025

  • Que bonitos são os meus formulários !

    Personalizou o layout e a tipografia do seu site, mas agora são os formulários do SPIP que entrama em conflito com todo o resto ! Sem pânico, aqui também as folhas de estilo remediam o problema.

    Diversos formulários são usados no site público, pelo motor de busca interno, a redação das mensagens dos fóruns, as inscrições para a área restrita etc.
    Différents formulaires sont utilisés dans le site public, pour le moteur de recherche interne, la rédaction des messages des forums, les inscriptions à l'espace privé, etc. O mesmo se aplica para os formulários SPIP como para o resto : a sua aparência gráfica pode ser alterada via CSS para se adaptar corretamente ao seu design.

    Para aproveitar esta matéria, é melhor conhecer as tags HTML próprias dos formulários.

    A cada formulário o seu estilo

    Todos os formulários SPIP usados no site público estão envolvidos numa div com o mesmo estilo, .formulaire_spip, que permite aplicar facilmente uma alteração a todo o conjunto de formulários.

    Por exemplo, para por em negrito todas as descrições dos campos de entrada () dos seus formulários, deve estilizá-los assim :

    .formulaire_spip label { font-weight: bold; } 

    Cada formulário tem também o seu próprio estilo. Isto permite, inversamente, alterar cada a aparência de certos formulários individualmente, sem interferir nos outros.

    Cada um desses estilos é nomeado com o mesmo nome da tag que chama o formulário e o seu template. Por exemplo, o ficheiro HTML do formulário de busca é formulaire_recherche.html ; este é inserido nos templates graças à tag #FORMULAIRE_RECHERCHE ; e o estilo a que está associado é, portanto, .formulaire_recherche.

    Após o SPIP 1.9, os templates foram recolocados e assim renomeados : dist/formulaires/recherche.html.

    Estilos dos campos de entrada

    O estilo .forml é aplicado aos campos de entrada dos formulários. Isto permite definir a cor de fundo e a largura dos campos de entrada, bem como o tamanho e a fonte de caracteres. Por exemplo :

    .forml { width: 99%; padding: 1px; border: 1px solid #666; font-family: Verdana; font-size: 11px; } 

    Este estilo é particularmente útil para unificar o conjunto dos campos de entrada, sejam quais forem as tags que os recebem, tais como e ambos presentes no formulário de fórum.

    Cada campo de entrda é rotulado com um termo explicativo, envolvido numa tag HTML . Pode-se alterar a aparência desses tótulos com esta definição de estilo : .formulaire_spip label.

    Os estilos CSS permitem não apenas alterar as cores e as fontes de caracteres, mas também gerir o posicionamento relativo dos objetos na página. É possível mesmo definir com precisão a disposição dos elementos entre eles (por exemplo : , e ), sem usar

    para a montagem do layout.

    Botões com as suas cores

    Uma novidade que empolgará os iniciantes em CSS : pode-se alterar a cor dos campos, mas também dos botões dos formulários [1]. O estilo .spip_bouton é o usado pelos botões dos formulários SPIP.

    Por exemplo, para que os botões tenham um fundo azul claro e uma borda suficientemente visível (espessura, relevo e azul escuro), altere a regra como a seguir na sua folha de estilo :

    .spip_bouton { background-color: #b0d0FF; border: 2px outset #000060; color: black; } 

    O formulário de fórum oferece uma barra de atalhos tipográficos. A sua aparência é controlada pelo estilo .spip_barre. Assim, para alterar a aparência dos ícones que a compõem e, por exemplo, destacá-los ao sobrepor o rato, defina os estilos para .spip_barre a img e .spip_barre a:hover img.

    Organizar esses elementos de modo visivelmente lógico

    Os diferentes elementos de um formulário são mais rigorosamente reagrupados em « blocos lógicos » com as tags HTML dedicadas

    e . A aparência delas é controlada por .formulaire_spip fieldset e .formulaire_spip legend, simplesmente (novamente realizado com .spip_encadrer). Útil para enquadrar cada parte de uma borda e arejar os seus formulários, espaçando estes blocos entre si, por exemplo.

    Alguns estilos complementares permitem ajustar ainda mais a apresentação dos seus formulários :

    - A aparência das mensagens de erro e outras respostas reenviadas pelos formul ;arios podem ser personalizadas pelo estilo .reponse_formulaire.

    - Alguns formulários permitem visualizar os dados informados antes do envio. A aparência dessa visualização é controlada pelo estilo .previsu.

    - Por fim, este último estilo não é usado nos formulários, mas está relacionado ao formulário de busca interno do site : .spip_surligne permite destacar os termos buscados nas páginas de resultado.


    [1] Note, no entanto, que certos navegadores impõem os seus próprios botões estilizados e não permitirão que mude o seu aspecto.


vendredi 14 février 2025

  • SPIP 4.4

    Cette branche LTS [1] va bénéficier d'un support étendu jusqu'en juillet 2027.

    Compatibilité PHP 7.4 à 8.4

    SPIP 4.4 nécessite PHP 7.4 minimum, et fonctionne jusqu'à PHP 8.4.
    Il nécessite les extensions PHP : sodium, Zlib, Zip et Phar.

    Changements apportés par SPIP 4.4

    Les changements les plus marquants sont le fait que SPIP n'envoie plus de mot de passe en clair dans les mails d'inscription et de rappel de mot de passe.

    Côté technique on peut noter que les dossiers ecrire, prive, squelettes-dist ainsi que l'écran de sécurité s'installent avec Composer. Cela ne change rien pour les personnes qui utilisent spip_loader. À noter aussi, l'introduction des balises #LAYOUT_PRIVE, #TRAD et #URL_DOCUMENT_FICHIER.

    On peut également noter une série d'optimisations pour les filtres d'images.

    La balise #LAYOUT_PRIVE remplace #LARGEUR_ECRAN et permet d'utiliser de nouvelles dispositions pour les pages de l'espace privé :

    #LAYOUT_PRIVE{fluide}, le contenu central s'adapte selon la présence ou pas de contenu dans #extra et #navigation.

    #LAYOUT_PRIVE{pleine-largeur}

    #LAYOUT_PRIVE{complements-gauche}

    #LAYOUT_PRIVE{complements-droite}

    #LAYOUT_PRIVE{complements-bas}

    #LAYOUT_PRIVE{complements-bas-inverse}

    La balise #TRAD permet d'éviter les écriture du style #VAL{module:cle}|_T, exemple #TRAD{module:cle, #ARRAY{param, val, ..}, #ARRAY{option, val..}}.

    Répertoires

    - Le répertoire vendor/ se complète, avec l'arrivée de premières librairies spip-league, qui vont faire une première passerelle vers des éléments du futur SPIP 5.0
    - À ce titre, un répertoire config/spip est maintenant présent également


    Cette version apporte également d'autres améliorations ou corrections de bugs.

    Sécurité

    • Nettoyer certaines entrées auteurs sur le formulaire d'édition d'auteur (évite de se retrouver dans des logs, si des logs verbeux sont activés)
    • Mise à jour de la liste des bots & ajout de antennapod (lecteur RSS) comme bot licite

    Ajouts

    • Ne pas envoyer de mot de passe en clair, mais plutôt des liens pour définir son mot de passe
    • copie_locale() passe une clé action au pipeline post_edition
    • Chaînes de langue supplémentaire pour les listes d'articles
    • Balise #LAYOUT_PRIVE
    • Balise #TRAD{module:cle, #ARRAY{param, val, ..}, #ARRAY{option, val..}}
    • Balise #MIME_TYPE calculée
    • Balise #URL_DOCUMENT_FICHIER renvoyant toujours le fichier d'un document, ce qui permet quand on le souhaite d'utiliser #URL_DOCUMENT pour renvoyer vers une page web. Les modèles de document sont mis à jour pour utiliser cette balise.
    • Les actions ajouter_lien et supprimer_lien peuvent gérer un qualificatif
    • Pipeline ajouter_menus_args, en complément au pipeline ajouter_menus, qui transmet les arguments de definir_barre_boutons()
    • Purger les variables de var_nullify du contexte dans traiter_appels_inclusions_ajax
    • Balise #PARAM pour récupérer les paramètres du container de services
    • Le filtre |affdate accepte un timestamp en entrée
    • Fonction _image_extensions_logos() et pipeline image_extensions_logos
    • Commande cli pour purger les images cache trop anciennes (cache-gd2 et cache-vignettes)
    • Filtre image_oriente_selon_exif() pour réorienter automatiquement une image selon son exif

    Changements

    • Les dossiers ecrire, prive, squelettes-dist s'installent avec Composer
    • L'écran de sécurité s'installe avec Composer
    • Mise à jour des chaînes de langues depuis trad.spip.net
    • Utiliser le pipeline compter_contributions_auteur dans la boite d'info d'un auteur
    • Possibilité de personnaliser les chaînes de langue singulier et pluriel du titre de toutes les listes d'objets
    • Nouveaux layouts pour le privé (#LAYOUT_PRIVE) : defaut, fluide, pleine-largeur, complements-droite, complements-bas, complements-bas-inverse
    • Les valeurs d'environnement explicitement vidées en ajax passent par var_nullify pour en être totalement expurgées
    • Permettre de trier les comptes visiteurs "nouveau" par date d'inscription-relance
    • Ajouter l'heure de publication à côté de la date
    • Utiliser des variables CSS et propriétés logiques dans l'espace privé pour éviter la compilation des fichiers CSS
    • La page de contrôle des tâches utilise le layout complement-gauche
    • Utilisation de image_extensions_logos() à la place de $GLOBALS['formats_logos']
    • Les filtres d'images tel que image_recadre réorientent l'image selon l'exif d'orientation

    Corrections

    • Dans l'espace privé, éviter une scrollbar horizontale dans certaines configurations de systèmes d'exploitation.
    • Aligner le contenu de la bande en_lignes avec celui du bandeau
    • Meilleur affichage des listes d'objets sur petit écran
    • Pas de marge basse sur les derniers éléments des réponses
    • Charger l'autoloader dans le fichier prive.php
    • Éviter un warning PHP si le fichier du logo n'est pas présent
    • Suivre medias sur inc_vignette_dist qui attend un paramètre medias
    • Rétablir le masquage des documents vus dans le bloc des documents
    • Ne plus déclarer de z-index sur les colonnes qui sont déjà en flex
    • Réparer la rotation des images avec convert
    • Pouvoir scroller après avoir quitté le mode plein écran via la touche
    • Utiliser pour IMAGETYPE_SVG une valeur qui ne risque pas une collision avec un futur ajout de format image (19 a été pris par IMAGETYPE_AVIF entre temps)
    • Correction d'une erreur fatale sur l'appel à phraser_champs_interieurs()
    • Utiliser fpassthru() pour livrer directement les fichiers et éviter un memory limit plutôt que readfile() qui passe par un chargement en mémoire du fichier
    • Requêter les fichiers distants avec STREAM_CRYPTO_METHOD_TLS_CLIENT
    • Remplacer les balises tt obsolètes par code
    • Les emails des auteurs sont masqués par défaut
    • Transmettre au pipeline compter_contributions_auteur le nombre de contribution sur les articles
    • Passer l'url à l'item de langue pass_reset_url
    • Pour le formulaire générique d'institution d'objet, tester l'autorisation publierdans en utilisant le parent déclaré par l'API de parenté
    • Dans le formulaire générique d'institution d'un objet, utiliser le même jeu de test pour l'affichage du statut publie dans charger et pour la validation dans verifier
    • Pouvoir supprimer l'image de l'écran de connexion
    • Pouvoir modifier logo principal quand il y a un logo de survol
    • Inclusion manquante dans certains contextes ajax pour bigup
    • Vérifier l'existence de exif_read_data()
    • Éviter des warnings sur image_oriente_selon_exif() en absence d'image
    • Optimisation des filtres image_aplatir(), image_renforcement(), image_flou(), image_sepia(), image_flip_vertical(), image_flip_horizontal(), image_nb(), image_gamma() & image_rotation()
    • Correction du paramètre crop de image_rotation()
    • Message de retour des formulaires en div plutot qu'en p
    • Le mimetype audio/x-m4a est un alias de audio/mp4a-latm
    • Appel à la globale $formats_logos remplacée par _image_extensions_acceptees_en_entree()
    • Corriger la duplication (plugin Duplicator par exemple) de logo si le dossier tmp/upload n'existe pas
    • Affichage du sélecteur de rôles de documents (avec le plugin en question)
    • Affichage des aperçus dans les modèles emb
    • Correction du chemin des plugins de la librairie mediaelements et suppression du fallback Flash
    • Ajouter le pipeline afficher_config_objet qui manquait sur les pages mots et groupes_mots.
    • Dédoublonner test de statut dans une requête SQL.
    • Support de la branche 4.4 de SPIP dans le référentiel des plugins
    • Invalider le cache (même pour les bots) lorsqu'une URL permanente est ajoutée

    Dépréciations

    • Inclusion de fichier PHP via ou
    • Balise fermante
    • Balise #LARGEUR_ECRAN pour les squelettes du privé à remplacer par #LAYOUT_PRIVE
    • À partir de SPIP 5, l'appel des chaînes de langues en squelette sera sensible à la casse de la déclaration, il n'y aura plus de conversion automatique en minuscule
    • Fonction interne phraser_boucle_placeholder() à remplacer par phraser_placeholder_memoriser() ou phraser_placeholder_reinjecter()
    • Fonction interne public_generer_boucle_placeholder() à remplacer par public_placeholder_generer()
    • Les fichiers de langue peuplant une $GLOBALS sont dépréciés ; renvoyer directement un tableau
    • Constante obsolète _DIR_IMG_PACK
    • Globales $traiter_math, $tex_server, fonctions produire_image_math(), traiter_math() et replace_math(), utiliser le plugin mathjax à la place
    • Modifier la globale $formats_logos est déprécié : utiliser le pipeline image_extensions_logos
    • Appeler la globale $formats_logos est déprécié, utiliser la fonction _images_extensions_logos()
    • Dépréciation de la constante _DIR_RESTREINT_ABS
    • Filtre |image_typo, et fonctions rtl_mb_ord(), rtl_reverse(), rtl_visuel(), printWordWrapped(), produire_image_typo(), installer le plugin Images typographiques

    Retraits

    • Fonctions verif_butineur(), editer_texte_recolle() et environnement _texte_trop_long des formulaires (inutilisé — servait pour IE)
    • Prise en compte de l'environnement de formulaire _texte_trop_long (servait pour IE)
    • Un fichier de langue obsolète et non traduit.

    Plugins compatibles

    Comme pour la version précédente, la plupart des plugins sont déjà compatibles avec SPIP 4.4, ce qui facilitera les mises à jour.
    Voir : Effectuer une mise à jour



mardi 14 janvier 2025

mercredi 20 novembre 2024

  • Comprendre les versions de SPIP

    Comment comprendre les numéros de version de SPIP ? Comment savoir s'il faut mettre à jour ?

    Versionnement sémantique

    Depuis 2024, SPIP a adopté le versionnement sémantique.

    Voici un résumé de son fonctionnement, pour les détails on se réferera à la documentation officielle .

    Chaque version de SPIP est désignée par 3 nombres, séparés par un point : x.y.z.

    Lorsque le z est augmenté, c'est une mise à jour corrective. Cela peut corriger des bugs ou bien une faille de sécurité. La fréquence de sortie des versions correctives est d'environ une fois par mois.

    Lorsque le y est augmenté, c'est une mise à jour mineure. De nouvelles fonctionnalités sont ajoutées et des bugs résolus, mais il n'y a pas besoin d'adapter son code / ses squelettes. La fréquence de sortie des versions mineures est approximativement une fois tous les six mois.

    Lorsque le x est augmenté, c'est une mise à jour majeure. Des nouvelles fonctionnalités sont ajoutées, d'anciennes sont retirées, certaines changent. Il peut y avoir besoin d'adapter son code / ses squelettes. Une note de version indique les changements à faire. La fréquence de sortie des versions majeures est d'environ tous les 24 mois.

    Les mises à jours sont annoncées sur le blog de SPIP. Il est fortement conseillé de s'inscrire à la mailing list d'annonce.

    Les surcharges et le versionnement sémantique

    Le principe du versionnement sémantique permet de s'assurer qu'il n'y ait pas de rupture de compatibilité / de changement à faire lorsqu'on augmente un y ou un z.

    Toutefois, il est possible dans SPIP de surcharger des squelettes. Mais attention aux surcharges des squelettes de l'espace privé. Ce mécanisme de surcharge, puissant, est ici dérogatoire au versionnement sémantique : il peut y avoir des modifications dans les paramètres passés à un squelette lors d'une mise à jour corrective ou mineure.

    Une personne surchargeant un squelette de SPIP le fait donc à ses risques et périls, et en conscience.

    Notions de branche

    Une combinaison d'un x et d'un y correspond à une branche de SPIP. En général, deux branches sont maintenues en même temps, permettant ainsi aux personnes de prendre le temps de migrer. Voir à ce sujet l'article Versions maintenues.


lundi 4 novembre 2024

  • #NULL

    La balise #NULL renvoie la valeur null PHP. Elle est donc équivalente à #EVAL{null}.

    Elle a différents usages :

    - passer une valeur null à un filtre ou comme argument d'une balise SPIP.
    Par exemple dans le plugin acces_restreint :

    [(#AUTORISER{affecterzones,rubrique,#ID_RUBRIQUE,#NULL,#ARRAY{id_zone,#ID_ZONE}}|oui) ...] 


    - appeler un filtre sans argument :

    [(#NULL|lister_tables_objets_sql)] 

    - annuler une variable d'environnement lors d'une inclusion :

    documents,id_article,ajax,env,id_rubrique=#NULL} /> 

vendredi 6 septembre 2024

  • |balise_img_svg

    Le filtre balise_img_svg permet d'insérer une balise ou une balise selon que son argument est un fichier SVG ou un autre format d'image.

    En effet :

    • le filtre balise_img insère une balise quel que soit le type de l'image reçue en argument, y compris lorsque c'est un fichier SVG
    • le filtre balise_svg insère toujours une balise .

    Le filtre balise_img_svg est donc utile quand on l'applique à une image dont on ne sait pas le format à l'avance et qu'on souhaite que les images SVG soient insérées avec une balise .

    Ce filtre s'applique sur l'url relative d'un fichier image ou d'une balise image déjà formée. Il accepte les paramètres optionnels qui suivent :

    • alt : un texte alternatif (ou une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image au lieu d'un alt vide)
    • class : null par défaut
    • size : permettant de spécifier la taille du rendu (voir les détails de syntaxe : |balise_img)

    Exemples d'usage :

    [(#LOGO_ARTICLE|balise_img_svg{'ici application sur une balise img', 'spip_logo'})] [(#FICHIER|balise_img_svg{'ici application sur un fichier', 'spip_doc'})] [(#CHEMIN{#GET{uneimage}}|balise_img_svg)] 

vendredi 26 juillet 2024

  • _MAJ_NOTIF_EMAILS

    Par défaut, SPIP 4.3 envoie un email à tou⋅tes les webmestres du site quand une mise à jour de SPIP est disponible.

    Sujet : [SPIP-Contrib] La mise à jour 4.3.0 de SPIP est disponible Bonjour, Le site https://contrib.spip.net peut être mis à jour vers une nouvelle version de SPIP. Pour des questions de sécurité, il est important de garder votre site à jour. 

    La constante _MAJ_NOTIF_EMAILS permet de personnaliser la liste des adresses auxquelles seront envoyés ces emails. Elle peut être personnalisée dans votre fichier config/mes_options.php (voir l'article qui lui est consacré).

    Par exemple, si on souhaite désactiver ces notifications (ce qui n'est pas une bonne idée) :

    // désactiver les notifications de mise à jour define('_MAJ_NOTIF_EMAILS', ''); 

    mais aussi

    // n'envoyer les notifications de mise à jour qu'aux adresses séparées par une virgule define('_MAJ_NOTIF_EMAILS', 'contact@example.com,test@example.com'); 

  • SPIP 4.3

    Compatibilité PHP 7.4 à 8.3

    SPIP 4.3 nécessite PHP 7.4 minimum, et fonctionne jusqu'à PHP 8.3.
    Il nécessite les extensions PHP : sodium, Zlib, Zip et Phar.

    Changements apportés par SPIP 4.3

    Les changements les plus importants concernent

    • le bandeau de l'espace privé plus condensé,
    • le formulaire de changement de statut des objets éditoriaux revu,
    • les filtres d'image plus rapides,
    • une écriture plus inclusive de certaines formulations,
    • l'envoi d'une notification par mail lorsqu'une mise à jour de SPIP est disponible, ainsi qu'une indication visuelle plus grande dans l'espace privé,

    Le bandeau de l'espace privé prend moins de place en hauteur

    La création rapide des contenus passe dans un menu dépliant

    Le formulaire de changement de statut est revu

    Présentation initiale du formulaire de changement de statut
    Formulaire de changement de statut déplié

    Un message avertissant d'une nouvelle version disponible

    Cette version apporte également d'autres améliorations ou corrections de bugs.

    Ajouts

    • Afficher un encart pour signaler les nouvelles versions dans toutes les pages de l'espace privé pour les webmestres, et un bouton pointant vers spip_loader(voir Utiliser spip_loader) s'il est présent
    • Notifier par email les webmestres du site lorsque SPIP dispose d'une mise à jour (désactivable avec la constante _MAJ_NOTIF_EMAILS, voir la documentation)
    • Améliorer l'ergonomie du formulaire instituer (changement de statut d'un objet éditorial, voir plus haut)
    • Le formulaire d'identité du site permet de configurer la timezone utilisée
    • Nouveau filtre |balise_img_svg pour insérer une image ou un SVG inline sans savoir d'avance le format
    • Ajouter une option à find_all_in_path() pour renvoyer tous les fichiers répondant à un pattern
    • Filtre |propre qui applique propre() & safehtml() (cela permet de dés-échapper le code de confiance des modèles)
    • Débugueur : Afficher le nombre d'occurrences et temps total des inclusions de squelettes
    • La constante _DEBUG_MINIPRES définie à true active l'affichage d'un debug visible lorsqu'une erreur de type Minipage survient
    • Pipeline get_spip_doc pour manipuler le résultat natif de la fonction get_spip_doc()

    Changements

    • Le bandeau de navigation de l'espace privé est réduit en hauteur (2 lignes au lieu de 3, voir plus haut)
    • Le menu de création rapide passe en menu déroulant avec des labels explicites (voir plus haut)
    • Écriture plus inclusive de certaines formulations
    • Optimisation des boucles avec pagination, en forçant une clause limit automatique dessus
    • Dans un plugin, si l'attribut logo d'un paquet.xml est absent, et qu'il existe un fichier {prefixe}.svg dans le plugin, il est utilisé comme logo
    • Les fonctions extraire_balise() et extraire_balises() peuvent gérer des balises imbriquées

    Corrections

    • Améliorer la conformité HTML5
    • Icône Tâches de fond qui n'évoque pas les bases de données
    • Refactoring de ecrire_fichier()
    • Combinaison des critères {pagination} et {limit}
    • Ne pas conserver un double des fichiers calculés inchangés (#PRODUIRE_FOND)
    • Mise à jour de la bibliothèque mediaelement en version 7.0.3
    • Correction de inserer_attribut() sur un cas dérogatoire : les balises (même non autofermante)

    Dépréciations

    • Déprécier les fonctions désuètes de ecrire/inc/presentation
    • La globale auteur_session (dépréciée depuis SPIP 2.0 !) sera supprimée en SPIP 5.0. Utiliser visiteur_session.
    • Déprécier la classe .label au profit de .editer-label dans les formulaires

    Retrait

    • Retrait des options d'affichage des icônes dans les préférences

    Plugins-dist

    Images

    Les performances du plugin-dist Filtres Images ont été très nettement optimisées, certains filtres images sont désormais jusqu'à 10 fois plus rapides grâce à l'utilisation des fonctions natives de PHP GD

    • Un nouveau filtre, |image_oriente_selon_exif pour réorienter automatiquement une image selon son exif
    • Les filtres d'images tel que |image_recadre réorientent l'image selon l'exif d'orientation
    • Optimisation des filtres |image_aplatir, |image_renforcement, |image_flou, |image_sepia, |image_flip_vertical, |image_flip_horizontal, |image_nb, |image_gamma, |image_rotation
    • Correction du paramètre crop de |image_rotation

    Plugins compatibles

    Dès sa sortie SPIP 4.3 bénéficie d'environ 700 plugins compatibles, ce qui facilitera les mises à jour.
    Voir : Effectuer une mise à jour


Traduction

Publications

Derniers articles publiés

Agenda

<<

2025

 

<<

Juillet

 

Aujourd’hui

LuMaMeJeVeSaDi
30123456
78910111213
14151617181920
21222324252627
28293031123
Aucun évènement à venir les 12 prochains mois

Sites favoris


134 sites référencés au total

Brèves

30 mai 2014 - Sur Facebook : Lac de Créteil - 94000 - Val de Marne -…

Lac de Créteil - 94000 - Val de Marne - France

24 février 2014 - Nous contacter

Pour nous contacter, cliquez sur l’enveloppe.http://laccreteil.fr/spip.php?page=…