Aveline v2

Aveline est une collection de noisettes hautement paramétrables, compatibles avec les thèmes Z et à inclure dans vos pages avec le noiZetier.

Compatibilité

Cette version 2 du plugin Aveline s’utilise, sous SPIP 3, avec la version 2 du noizetier, la version 2 de Zpip-vide et la version 1 de Zpip-dist.

Cette version, comme la précédente, est compatible avec les thèmes Z pour Zpip v1.

Cette version n’est pas compatible avec Zpip 2 (toujours en développement) ni avec Z-core.

Cette version 2 d’Aveline nécessite dorénavant le plugin Calendrier Mini 2.0.

Nouveautés

Cette version 2 conserve les mêmes fonctionnalités que la version 1. Il s’agit toujours d’une collection de noisettes Z.

Les icônes des noisettes ont été modifiées au profit des icônes FatCowRetro assurant ainsi une cohérence graphique avec le reste de l’interface privée de SPIP 3.

Le mini-calendrier des évènements a été réécrit et utilise dorénavant le plugin Calendrier Mini. Un mini-calendrier des articles et un mini-calendrier des brèves ont été ajoutés.

Des noisettes additionnelles sont disponibles pour prendre en compte le fait que les mots-clés et les documents peuvent être activés sur presque tous les objets SPIP.

updated on 2 October 2019

Discussion

25 discussions

  • 5

    Bonjour

    Merci pour ce plugin qui m’est très utile.

    J’ai un problème avec la noizette “Liste d’évènements”.

    La balise <h3 class="h3 vevent id_#ID_EVENEMENT"> générée par le squelette “evenement-resume.html” semble être refermée trop tôt (ligne 28).

    De ce fait les données structurées de type hcalendar (balisage : microformats.org) ne sont pas reconnues.

    Un déplacement de cette fermeture </h3> entre les lignes 53 et 54 du squelette d’origine (avant la fermeture de la balise </li>) semble résoudre le problème.

    Par contre je ne sais pas si le déplacement de la fermeture de la balise ne cause pas d’autres soucis dans l’architecture du plugin.

    Encore Merci pour ce plugin.

    Christian

    • Re-bonjour

      Désolé j’ai posté un peu vite et surtout sur le mauvais forum.

      Il suffit de déplacer la class “vevent” dans la balise <li class="vevent item">

      Je reposte sur le bon forum

      Merci

      Christian

    • Faut-il donc déplacer la classe vevent du h3 ligne 17 au li de la ligne 16?

    • Oui le déplacement dans <li ...> fonctionne, et ne modifie pas l’habillage de la noisette.

      Merci pour la réactivité

    • Correction effectuée. version 2.5.3

    • Version 2.5.3 installée et testée —> OK

      Merci beaucoup

      Christian

    Reply to this message

  • 9

    bonjour,
    je veux afficher des photos incluses dans des albums (du plugins “album”) d’un article. Aucune noisette existant pour cette fonction, j’ai modifié la noisette aveline-document comme suit (ci-dessous avec les limitations d’affichage des < et autres crochets )

    B_liste_documents>
    BOUCLE_liste_documents(ALBUMS) {id_objet?}>
    [(#MODELEalbum, id_album)]
    /BOUCLE_liste_documents>
    /B_liste_documents>
    //B_liste_documents>

    qui m’affiche bien les phtos des divers albums de l’article

    ne sachant pas comment écrire une nouvelle noisette, j’ai voulu utiliser la noisette “CodeSpipLibre” et y ai insérer le meme code.
    Le résultat est cependant pas conforme. En effet au lieu d’afficher les albums de l’article, j’obtiens tous les albums du site.
    J’ai remarqué le meme probleme avec nivoslider qui au lieu de m’afficher le portefolio de l’article, m’affiche le portefolio de l’article Numero 1 si j’utilise “CodeSpipLibre”.

    Est-ce unbug ou bien mon code est-il erroné ?
    Merci de votre réponse

    • Bonjour.

      En premier lieu, il y a le raccourci SPIP <cadre></cadre> spécialement prévu pour afficher du code SPIP.

      Deuxièmement, il faut bien transmettre l’id_article à votre boucle.

      <BOUCLE_albums(ALBUMS){id_article}{vu=non}>
          [(#MODELE{album_liste, id_album})]
      </BOUCLE_albums>
    • toujours le meme probleme
      si je mets id_article?
      j’obtiens l’ensemble des albums du site
      si j’utilise id_article
      je n’obtiens aucun album

      <B_albums>
         <BOUCLE_albums(ALBUMS) {id_article}{vu=non}>
             [(#MODELE{album, id_album})]
         </BOUCLE_albums>
      </B_albums>

      merci pour le cadre :)

    • En essayant :

      <BOUCLE_albums(ALBUMS){id_article=#ENV{id_article}}{vu=non}>

      ou

      <BOUCLE_albums(ALBUMS){objet=article}{id_objet=#ENV{id_article}}{vu=non}>

      ?

    • toujours pareil, pas d’album, ni avec la 1ere ou 2eme proposition dans "CodeSpipLibre>
      tandis que fonctionnement correct dans les 2 cas pour noisette aveline-documents modifiée

      site http://mazier.ferraton.info/spip.php?article7

    • Possible de recevoir un login/mdp avec statut de webmaster par message privé ?

    • Oui bien reçu. Il semble que la noisette ne reçoive pas les variables d’environnement et n’a donc pas l’id_article dans son contexte.

      Je creuse la question

    • Ok bug trouvé dans le noizetier (en même temps cette noisette était en test).

      je commite le correctif dans la soirée (pas d’accès SVN actuellement)

    • Merci, tout fonctionne ici et me permet d’utiliser nivoslider dans la noisette “CodeSpipLibre”
      Je mettrais un autre site à jour dès que le svn sera commité pour tester.

      la noisette

      <B_albums>
      <BOUCLE_albums(ALBUMS){objet=article}{id_objet=#ENV{id_article}}{vu=non}>
      [ (#MODELE{album_nivoslider}{id_album}{width=440}{height=300}{directionNav=true}{manuel=oui} ) ]
      </BOUCLE_albums>
      </B_albums>

    Reply to this message

  • 1

    Si je peux me permettre une nouvelle idée ou question.

    Comment fait pour que les articles qui apparaissent dans la noisette sélection d’articles (très utiles pour faire un edito qui ne bouge pas), n’apparaissent pas ensuite dans la liste d’article (surtout si c’est le dernier... il apparait 2 fois de suite !).

    Ce sont deux noisettes différentes ...

    • hmmmm

      je suppose qu’il faudrait prévoir une noisette avec les articles qui ne sont pas sélectionnés ou bien ajouté un critère d’exclusion à la noisette liste d’articles.

    Reply to this message

  • 12
    Stéphane Santon

    Bonjour,

    Pour la noisette article-portfolio, y a-t-il une option pour avoir des vignettes carrées non pas coupées (retaillées), mais carrées qui intègrent l’image complète dans le carré ?

    Merci

    • Tu veux dire déformées avec modication du ratio de l’image ?

    • Stéphane Santon

      Non, pas avec l’image déformée, mais en ajoutant des marges en latéral ou dessus-dessous pour que la vignette finale soit carrée.
      Ainsi les vignettes carrées sur plusieurs lignes sont bien alignées...

    • Et tu as le code pour ça ?

    • Stéphane Santon

      Bonjour,

      Dans aveline-portfolio, dans le code des vignettes carrées, au lieu des 4 lignes

      [(#SET{ratio_x,#LARGEUR|div{#GET{hauteur_max_images}}})][(#SET{ratio_y,#HAUTEUR|div{#GET{hauteur_max_images}}})]
      
      [(#SET{ratio,#GET{ratio_x}|<={#GET{ratio_y}}|?{#GET{ratio_x},#GET{ratio_y}}})]
      [(#SET{taille_recadre,#LARGEUR|<={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center}|image_reduire_par{#GET{ratio}}

      il suffit d’avoir ces 2 lignes

      [(#SET{taille_recadre,#LARGEUR|>={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center,'transparent'}|image_reduire{#GET{hauteur_max_images},#GET{hauteur_max_images}}

      Donc on recadre sur la plus grande dimension au lieu de la plus petite,
      puis on réduit l’image à la même valeur dans les 2 dimensions.

      L’option supplémentaire pourrait être la couleur de remplissage des marges ajoutées.
      Ici j’ai mis ’transparent’, mais d’autres pourraient avoir envie de couleurs personnalisées.

    • Stéphane Santon

      D’ailleurs dans le code d’origine, je me demande pourquoi calculer ratio_x et ratio_y.

      Lorsque l’image a été recadrée, elle est carrée.
      Ensuite il suffirait de image_reduire avec hauteur_max_images.
      Donc tes 4 lignes ne pourraient-elles pas passer à 2 avec :

      [(#SET{taille_recadre,#LARGEUR|<={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center}|image_reduire{#GET{hauteur_max_images},#GET{hauteur_max_images}}

      ?

    • Stéphane Santon

      Donc finalement la différence entre la vignette carrée coupée et la vignette carrée incluse, c’est le signe de comparaison sur taille_recadre : <= ou >=

    • En premier lieu, il ne faut pas remplacer l’option existante mais ajouter une nouvelle option (maintient de l’existant).

      Concernant les vignettes carrées, j’avais repris le code... (je ne sais plus où !!!). Je vois que utilisations des filtres pour créer des vignettes sur mesure offre une solution encore plus élégante pour le faire (je ne connaissais pas le filtre image_passe_partout).

      Concernant ce que tu veux faire, il ne serait pas plus simple de faire d’abord image_reduire (on met aux dimensions, par exemple pour une taille de 80 on va obtenir une image de 60x80) puis image_recadre (à 80 x 80). Voir http://forum.spip.net/fr_212446.html#forum221475

    • Stéphane Santon

      Bonjour,

      En premier lieu, il ne faut pas remplacer l’option existante mais ajouter une nouvelle option (maintient de l’existant).

      Oui bien sûr, c’est bien ce que je proposais : une option supplémentaire

      image_passe_partout est effectivement le filtre de vignettes carrées coupées.

      Pour mes vignettes carrées incluses, on peut effectivement réduire d’abord. Ça ne me semble pas plus simple dans le code (autant d’opérations), mais ça évite le risque de faire travailler le moteur graphique sur des trop grandes images.

    • Pour mes vignettes carrées incluses, on peut effectivement réduire d’abord. Ça ne me semble pas plus simple dans le code (autant d’opérations), mais ça évite le risque de faire travailler le moteur graphique sur des trop grandes images.

      Il me semble que tu peux te passer ainsi de taille_recadre. Il te suffit de faire :

      [(#FICHIER|image_reduire{#GET{hauteur_max_images}}|image_recadre{#GET{hauteur_max_images}})]

    • Stéphane Santon

      Super !
      Nickel !
      Merci.

    • Option disponible à partir d’Aveline 2.4.0.

      En bonus, des vignettes rondes. S’applique aussi aux listes d’articles sous forme de vignettes.

    • Stéphane Santon

      Waouhh ! On ne l’arrête plus ! A quand les vignettes en forme de cœur ?? ;-)

    Reply to this message

  • 5

    Deux suggestions qui me paraissent importantes :

    1. détecter et supporter la polyhierarchie qui est maintenant très utilisée.
      Peut-être y a t il une astuce que je ne connais pas pour voir aussi les articles et rubriques liés.
    2. créer une noizette générique permettant d’inclure un noisette de type balise.
      A moins qu’il y est un autre moyen simple.
      J’ai essayé avec la noizette “Bloc de texte libre” mais la balise que j’y mets n’est jamais interprété (c’est #FORMULAIRE_NEWSLETTER_SUBSCRIBE).
    • détecter et supporter la polyhierarchie qui est maintenant très utilisée.
      Peut-être y a t il une astuce que je ne connais pas pour voir aussi les articles et rubriques liés.

      Le support de polyhiérarchie n’est pas forcément simple. Il faudrait évaluer s’il s’agit plutôt de créer des noisettes spécifiques ou bien s’il faut modifier les noisettes existantes.

      Néanmoins, un tel support ne peut se faire sans une réflexion préalable indiquant quels sont les besoins et identifier les noisettes qui seraient impactées.

      Assez évident, il faudrait proposer des fils d’ariane polyhéirarchiques.

      Plus compliqué est d’identifier les options de branches (branche complète, branche principale, etc.) à mettre en place et à prendre en compte dans le critère aveline_branche.

      Y aurait-il d’autres éléments à prendre en compte ? Options à ajouter ?

      créer une noizette générique permettant d’inclure un noisette de type balise.
      A moins qu’il y est un autre moyen simple.
      J’ai essayé avec la noizette « Bloc de texte libre » mais la balise que j’y mets n’est jamais interprété (c’est #FORMULAIRE_NEWSLETTER_SUBSCRIBE).

      La noisette bloc de texte libre prend en entrée de la syntaxe rédactionnelle SPIP et non un squelette SPIP.

      Ceci étant posé, il avait été discuté à un moment la possibilité de passer à récupérer fond non pas le nom d’un fichier html mais directement une variable chaine avec le contenu du squelette. Je vais essayer de retrouver cette conversation. Une telle option permettrait en effet d’avoir une noisette où on saisi directement un squelette SPIP.

      En attendant, la solution consiste à créer ses propres noisettes (facile avec squelette editeur).

    • Le fil d’arianne je ne pense pas, c’est toujours le lien principal.
      A mon avis cela impacte plus les listes de type branche ou par exemple il faut faire à peu près la même chose mais en remplacant “calcul_branche_in” par “calcul_branche_polyhier_in”.

      Pour le deuxième point, c’est vraiment dommage car il y a beaucoup de “noisette” de plugin qui sont sous forme de balise.

    • La version 2.3.0 du noizetier intègre une noisette expérimentale Code Spip libre où l’on peut saisir directement un squelette SPIP.

      Attention : c’est à tester. Il peut y avoir des bugs.

    • La version 2.5.0 intègre un support des branches de polyhéarchie dans les listes d’objets.

      ATTENTION : c’est expérimental, il est préférable de tester que tout fonctionne comme désiré

    • Wow ! Quel réactivité. impressionant.

      Je viens de tester “Code spip libre” cela marche super bien (inscription à la newsletter sur http://unsa-orange.org).
      Cela permet à aveline de naturellement incorporer un gros paquet de plugins

      Pour la polyhierarchie, je testerais dès que la version sera visible (je crois qu’il faut un petit délai).

      Encore merci beaucoup. Un sacré boulot pour de super plugins !

    Reply to this message

  • 6
    Stéphane Santon

    Bonjour,

    Sur la noisette “Liste d’articles syndiqués”, on a le choix exclusif entre “Nombre limité d’éléments” et “utiliser une pagination”.
    Ne pourrait-on pas avoir les 2 options ?

    • Limiter ou non à un certain nombre d’éléments ?
    • Utiliser ou non la pagination ?

    Car si l’on utilise la pagination seule, on peut avoir des dizaines de pages, et si l’on limite le nombre d’éléments, on réduit à une seule page.

    Quelquefois j’aimerais par exemple limiter à 21 éléments mais affichés par pages de 3 éléments (donc limiter le nombre de pages à 7)...

    Merci

    • Bonjour cela n’est pas possible aujourd’hui. Mettre en place une telle chose compliquerai de manière importante le code et la maintenance des boucles. En effet, la limitation du nombre d’éléments est reproduite ici en créant un pas de pagination correspondant à ce nombre d’éléments mais en masquant les liens de paginations.

      Par ailleurs, l’usage d’un nombre limité d’éléments avec une pagination reste un cas vraiment atypique. Pour quels motifs mettre en place une pagination imparfaite ? Cela n’a que peu de sens pour les visiteurs d’un site.

      Bien cordialement

    • Stéphane Santon

      OK je comprends pour l’implémentation du nombre limité d’éléments.

      Dans le cas d’articles syndiqués, cela ne me paraît pas si atypique..
      Lorsque l’on affiche divers flux rss, la quantité d’articles peut être très différente d’une source à l’autre.
      Donc lorsque dans une page je désire afficher l’actualité par source, et qu’il a 20 syndic_articles pour l’une, 200 syndic_articles pour l’autre à afficher par paquet de 5, ça fait 4 pages pour la première (OK) et 40 pages pour la seconde, et là, ça surcharge un peu l’affichage.
      Voilà
      Merci

    • Stéphane Santon

      Mais j’y repense, la limitation du nombre d’éléments (critère 0,n ) est-elle incompatible avec la pagination ??

    • La limitation est possible avec la pagination. Vous pouvez toujours écrire votre propre boucle et votre propre noisette.

      Pour Aveline, la complexité vient de la quantité de paramètres disponibles. Ce qui rend son code plus complexe et ce qui fait que des critères spécifiques ont été écrits. cf. http://zone.spip.org/trac/spip-zone/browser/_squelettes_/aveline/trunk/noisettes/liste_syndic_articles.html

      Vous parlez de la surcharge de l’affichage. Si pour vos deux listes vous êtes en pagination, le nombre de pages joue peu, à part pour la liste des liens de pagination. La seconde liste sera plus importante que la première. Sauf si vous changez le style de pagination en précédent / suivant ou bien en < 1/10 >.

      Autrement dit, en changeant le style de pagination, vous n’avez pas de surcharge de l’affichage, quel que soit le nombre de pages.

      Cordialement

    • Stéphane Santon

      Vous parlez de la surcharge de l’affichage. Si pour vos deux listes vous êtes en pagination, le nombre de pages joue peu, à part pour la liste des liens de pagination. La seconde liste sera plus importante que la première. Sauf si vous changez le style de pagination en précédent / suivant ou bien en < 1/10 >.

      Aaahhhh ben ouiiiii ! Je n’avais pas fait attention à ce modèle de pagination... c’est bien plus léger en effet ! Même encombrement quel que soit le nombre de pages !

      Est-ce une pagination standard de spip ? Je ne le trouve pas dans Le système de pagination de spip. Ou bien est-il créé dans Aveline ?

      En tout cas ça résout mon problème, merci. :-)

    • Il s’agit de Pagination_simple qui a été intégré dans Aveline et légèrement adapté.

    Reply to this message

  • 2
    Guillaume

    Bonjour
    J’ai spip et tout les plugins nécessaires à jour (noizetier, zpip-vide et zpip-dist)

    Mon problème est que la noisette “sous rubrique” me liste mes rubriques “racines” et pas les rubriques contenues dans ma rubrique en cours.

    Merci de votre aide.

    • Guillaume

      Je ne sais pas si c’est la bonne méthode mais je me suis un peu documenté sur les boucles et j’ai créé une variante du fichier “rubrique-sous_rubriques.html” dans le dossier noisette d’aveline. j’ai modifié le fichier en remplaçant le critère id_parent en id_parent=ID_RUBRIQUE.
      A priori, cela semble fonctionner et j’obtiens bien les sous rubriques de ma rubrique.

    • Merci pour le retour. C’est corrigé dans la version 2.3.5.

      Bien cordialement

    Reply to this message

  • 3
    raphael

    Bonjours, j’ai un gros souci avec le squelette zpip vide , je n’ai aucune noisette de disponible dans le noizetier v2 à part les noisette bloc de texte libres, formulaire de contact et bloc de texte libre malgré le fait que j’ai installé aveline v2, que faire ?

    merci à vous

    • Quelle version des plugins ? Sous SPIP 3 ?
      Tous les plugins sont bien actifs ?
      Le cache a-t-il été vidé ?

    • raphael

      Bonjour, merci de votre réponse,
      spip 3.08
      Aveline 2.3.4
      composition 3.3.2
      zpip vide 2.1.2
      zpip-dist v1
      yalm1.5.0
      noizetier 2.2.0

      cache vidé 3 ou 4 fois
      j’ai supprimé et réinstallé les plugings
      malheureusement sans effet

      merci à vous

    • Vous n’avez pas le plugin saisies ? SPIP-Bonux ?

      Le site est en ligne ou en local ?

    Reply to this message

  • 1
    anetschl

    Bonjour,
    merci beaucoup pour ce plugin!
    Est-ce qu’il y a une possibilité d’afficher avec l’interface “édition des noisettes” une liste de (sous-)rubriques d’une rubrique définie (autre que les rubriques du secteur)?

    Merci d’avance pour votre aide!

    Reply to this message

  • 4
    Olivier Tétard

    Bonjour,

    Il y a une petite erreur dans avec le squelette « inclure/site-resume.html » dans lequel certaines parenthèses sont ajouté en trop dans les liens vers les sites.

    J’ai fait un petit correctif qui est disponible à l’adresse suivante : https://gist.github.com/otetard/5133036

    Olivier;

    • Merci pour la détection du bug. Si tu as accès à SPIP-Zone, n’hésite pas à faire la modification toi-même. Sinon, je ferai cela ce soir.

      Cordialement

    • Olivier Tétard

      Salut,

      Merci pour la correction !

      Il me semble qu’une petite erreur s’est glissée dans le correctif #70606 : une espace a été supprimée entre la classe « spip_out » et la classe « on ».

      (Désolé, je n’ai pas accès à la zone...)

      Olivier;

    • Oui j’ai supprimé cet espace inutile. En effet, il sera créé par le filtre |oui si nécessaire.

    • Olivier Tétard

      Au temps pour moi, je n’avais pas ce paramètre en tête :).

      Olivier;

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom