L'actualité de Contao

Vous trouverez ici une liste d‘annonces officielles de Contao

Contao 4.8.0 est disponible

par

La version 4.8.0 de Contao est disponible. Cette version contient de nouvelles fonctionnalités telles que le redimensionnement d'image différé, l'authentification à deux facteurs dans le front office, les splash screens pour les vidéos YouTube et Vimeo, le taggage de service avec des annotations et bien plus encore.

Vous trouverez plus d'informations sur la plupart des fonctionnalités suivantes dans le récapitulatif de la réunion de développeurs de Yanick.

Redimensionnement d'image différée # 354

Dans Contao 4.8, la création de vignettes est différée et ne fait plus partie du processus de rendu de page. Cela ne fait pas seulement que la page se charge beaucoup plus rapidement, cela permet également de ne générer que les images qui ont été réellement demandées. Ainsi, dans un ensemble source avec différentes résolutions (par exemple, 1x, 1,5x, 2x), seules les images correspondant au périphérique seront générées.

Par conséquent, il ne peut plus arriver qu'un utilisateur cliquant accidentellement sur le lien "Tout basculer" dans le gestionnaire de fichiers, bloque ainsi le fonctionnement du serveur principal, car il y a trop peu de RAM ou de temps d'exécution de script pour générer toutes les vignettes.

Le redimensionnement différé des images ne doit pas être confondu avec le « lazy-loading » des images, qui charge uniquement les images du serveur une fois qu'elles sont affichées dans la vue du visiteur. Nous allons implémenter le « lazy-loading » dès que les navigateurs le supportent de manière native (voir # 433).

Authentification à 2 facteurs dans le front office # 363

Depuis Contao 4.6, les utilisateurs du back office ont pu sécuriser leurs comptes avec une authentification à 2 facteurs. La même fonctionnalité est désormais disponible pour les utilisateurs frontaux. L'administrateur peut décider par page racine de site Web si l'authentification à 2 facteurs est facultative ou obligatoire pour tous.

Cache HTTP

Le dernier obstacle majeur à l'utilisation efficace du cache HTTP était les cookies inutiles qui empêchent la mise en cache d'une page (plus à ce sujet dans l'article de Yanick). Nous avons résolu ce problème - du moins pour la distribution principale - dans Contao 4.8. Vous pouvez deviner la somme de travail que cela représentait d'après le nombre de billets liés : # 351, # 365, # 389, # 467, # 468, # 471, # 482, # 483, # 515, # 551, # 553, # 565 et # 594.

Les valeurs absolues ne sont pas complétement pertinentes, car dépendantes de nombreux facteurs techniques tels que la charge de travail du serveur. Dans la comparaison relative, toutefois, vous pouvez voir que Contao 4.8 avec cache rend les pages environ 40% plus rapidement que Contao 4.7 avec cache !

Si vous souhaitez en savoir plus sur la "Mise en cache avec Contao", assurez-vous de réserver la date de la présentation de Yanick à la conférence de Contao de cette année.

Amélioration de mode debug # 544

Vous pouvez activer le mode debug dans Contao 4.8 avec un simple clic de souris dans le back office, sans avoir à utiliser un fichier app_dev.php pour lequel un mot de passe doit d'abord être défini. De plus, la section « Traduction » affiche maintenant les traductions Contao.

Amélioration du traitement des images # 529 et # 552

Dans Contao 4.8, les images téléchargées pivotent automatiquement en fonction de leurs données EXIF. Contao peut également créer des versions optimisées WEBP des images et les ajouter automatiquement à un élément picture si nécessaire. Les navigateurs modernes ne chargent que l'image optimisée.

Dans le cadre de cette modification, la zone Taille de l'image par défaut a été déplacée des paramètres de thème aux paramètres de présentation de page.

Splash screen pour vidéos YouTube / Vimeo # 300

Afin d’empêcher le transfert de données au fournisseur en intégrant une vidéo YouTube ou Vimeo, Contao 4.8 peut être précédé d’une image de démarrage. La vidéo est ensuite chargée uniquement après que le visiteur a cliqué sur l'image de démarrage.

Vous trouverez un exemple concret de cette fonctionnalité dans la section "Redimensionnement d'image différé" de cet article.

Plage de numéros pour les entrées numériques # 437

Dans le générateur de formulaire, il existe deux nouveaux champs de saisie "Valeur minimale" et "Valeur maximale", que vous pouvez utiliser pour définir le nombre de caractères numériques que peux saisir un internaute.

Longueur minimale des termes de recherche # 274

Si vous le souhaitez, le module de recherche de Contao 4.8 peut être configuré pour que les termes de recherche inférieurs à une certaine longueur minimale soient ignorés lors de la recherche.

Afficher les actualités en vedette en premier # 371

Le module "Liste d’actualités" comprend désormais une option permettant d'afficher les actualités en vedette avant les informations habituelles.

Composants Contao # 332

Dans Contao 4.8, plusieurs composants de Contao ont été supprimés, car ils étaient obsolètes ou fournissaient une fonction que les navigateurs implémentent maintenant de manière native.

Structuration des dossiers dans Symfony 4 # 566

Dans Symfony 4, les fichiers de configuration sont stockés dans le dossier /config et non dans le dossier /app/config. Même si Contao 4.8 continue de prendre en charge les anciens emplacements, l’utilisation du dossier /app est obsolète et n’est plus recommandée.

  • Les fichiers de configuration Symfony personnalisés (par exemple, config.yml ou services.yml) doivent être stockés dans le dossier /config et non plus dans le dossier /app /config.
  • Les fichiers Contao personnalisés (fichiers DCA, traductions ou modèles, par exemple) doivent être stockés dans le dossier /contao et non plus dans les dossiers /app/Resources/contao ou /src/Resources/contao.

Taggage de service avec des annotations # 540

En alternative au marquage d'un service en tant que hook, callback ou fragment dans le fichier services.yml, il peut être marqué avec des annotations dans Contao 4.8.

use Contao\CoreBundle\ServiceAnnotation\Hook;
use Terminal42\ServiceAnnotationBundle\ServiceAnnotationInterface;

class MyListener implements ServiceAnnotationInterface
{
    /**
     * @Hook("getPageLayout")
     */
    public function onGetPageLayout()
    {
    }

    /**
     * @Hook("loadPageDetails", priority=32)
     */
    public function onLoadPageDetails()
    {
    }
}

Vous pouvez trouver la documentation du paquet ici : terminal42/service-annotation-bundle

Insert tags personnalisé # 450

Dans Contao 4.8 il est possible de surcharger la valeur par défaut pour les insert tags et par exemple utiliser un tag différent en fonction du contexte.

// Adds the |absolute flag to the link_url tag
'eval' => [
    'dcaPicker' => [
        'insertTag' => '{­{link_url::%s|absolute}­}',
    ],
],

// Uses either the link_url or news_url tag depending on the context
'eval' => [
    'dcaPicker' => [
        'pagePicker' => [
            'insertTag' => '{­{link_url::%s}­}',
        ],
        'newsPicker' => [
            'insertTag' => '{­{news_url::%s}­}',
        ],
    ],
],

Tailles d'image prédéfinies # 537

La taille des images peut maintenant aussi être définies dans un fichier de configuration, au cas où vous voudriez le versionner et les réutiliser.

contao:
  image:
    sizes:
      foobar:
        width: 100
        height: 200
        resizeMode: 'box'
        zoom: 100
        cssClass: 'foobar-image'
        densities: '1x, 2x'
        sizes: '100vw'
        items:
          - width: 50
            height: 50
            resizeMode: 'box'
            zoom: 100
            cssClass: 'foobar-image'
            densities: '0.5x, 2x'
            sizes: '50vw'
            media: '(max-width: 900px)'
          - width: 25
            height: 25
            resizeMode: 'box'
            zoom: 100
            densities: '0.5x, 2x'
            sizes: '25vw'
            media: '(max-width: 450px)'

Label DCA génériques # 532

Dans Contao 4.8, il n'est plus nécessaire d'ajouter un label à chaque action DCA et à chaque champ DCA. Contao trouvera les labels par leurs clés et retombera automatiquement sur les labels d'action génériques si le fichier de langue correspondant ne les définit pas.

Ainsi, vous pouvez supprimer les lignes commentées dans l'exemple suivant :

'list' => [
    'operations' => [
        'edit' => [
//          'label'     => &$GLOBALS['TL_LANG']['table']['edit'],
            'href'      => 'act=edit',
            'icon'      => 'edit.svg'
        ],
    ],
],
'fields' => [
    'title' => [
//      'label'         => &$GLOBALS['TL_LANG']['table']['title'],
        'exclude'       => true,
        'inputType'     => 'text',
        'eval'          => array('mandatory'=>true 'tl_class'=>'w50'),
        'sql'           => "varchar(255) NOT NULL default ''"
    ],
],

Et bien plus encore

Un aperçu des autres modifications est disponible dans le changelog.

Notes de mise à jour

Martin a publié la version 1.0 de sa bibliothèque d’images contao/image. Il y a eu quelques modifications de l'API que vous devriez prendre en compte lorsque vous travaillez avec cette bibliothèque.

De plus, la mise en page mobile ne fait plus partie de la distribution principale à partir de Contao 4.8. Si vous avez besoin de cette fonctionnalité, installez le paquet contao/mobile-page-layout-bundle soit depuis le Contao Manager, soit en ligne de commande (composer require contao/mobile-page-layout-bundle). Veuillez noter que vous ne pouvez pas utiliser le cache HTTP si vous travaillez avec des présentations de page mobiles !

Compatibilité Symfony

Contao 4.8 est compatible avec les versions suivantes de Symfony: 4.2, 4.3

Voir aussi : Tickets GitHub | Vue comparative GitHubn | Contao changelog

Retour à la liste des nouvelles.

Commentaires

Ajouter un commentaire

Veuillez additionner 1 et 9.