Aveline v1 : collection de noisettes Z

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

Mise à jour : Aveline a connu une restructuration entre sa version 0.6 et sa version 1.0. Pour les personnes utilisant une version 0.6, la procédure de mise à jour est décrite ici : Mettre à jour Aveline d’une version 0.X en version 1.X.

Principes généraux

Aveline est une collection de noisettes pour le noiZetier permettant de gérer l’ensemble des contenus de votre site.

Chaque noisette est hautement paramétrable. Vous pouvez, par exemple, choisir comment trier vos listes, ajouter une pagination, permettre aux utilisateurs de modifier le tri des listes, etc.

Les noisettes d’Aveline suivent la nomenclature CSS Z et peuvent donc être utilisées avec les thèmes Z.

En interfaçant Aveline avec le noiZetier et le plugin Compositions, il est aisé de produire des pages différentes selon les articles ou les rubriques. De fait, à aucun moment Aveline n’utilise de mots-clés « techniques » pour configurer les contenus affichés. Ce choix est volontaire, l’objectif étant de conserver le rôle éditorial et sémantique des mots-clés [1].

Utilisation typique

Dans le cas plus courant, Aveline sera utilisée pour gérer l’ensemble de ses contenus via l’interface privée de SPIP, sans avoir besoin de toucher au code. Certains plugins ne sont pas obligatoires pour utiliser Aveline mais sont recommandés pour profiter pleinement de cette collection de noisettes.

Pour les usages les plus courant, se référer à Installation typique d’Aveline pas à pas sous SPIP 2.1. Pour plus de détails, lire ci-dessous.

Utilisation (précisions)

Pour utiliser la collection de noisettes Aveline, vous devez avoir installé le noiZetier qui permet de positionner les noisettes dans les pages et de les paramétrer, et disposer d’un squelette Z.

Aveline prends tout son sens pour gérer tous les contenus de votre site sous forme de noisettes. Pour cela, vous devez installer ZPIP-vide qui fournit une structure Z vide de contenus.

Pour gérer l’ensemble des contenus sous forme de noisettes, l’installation typique la plus courante sera :

Voir Installation typique d’Aveline pas à pas sous SPIP 2.1 pour plus de détails.

Il est également possible d’utiliser Aveline pour compléter les contenus par défaut et non débrayables fournis par ZPIP-dist ou votre squelette Z personnalisé. Dès lors, une installation typique sera :

Installation

Aveline s’installe comme n’importe quel autre plugin.

Pour aller plus loin

Contributions intégrées à Aveline

Notes

[1À ce sujet voire la discussion, déjà ancienne, sur Le Plugin Attributs (abandonné).

[2Actuellement, ZPIP-vide nécessite le squelette ZPIP-dist qui fournit les mécanismes Z de génération de page et que ZPIP-vide vient surcharger. Dans une future version, le mécanisme de génération de pages sera disponible dans un plugin Z-core. Dès lors, ZPIP-vide ne sera plus dépendant de ZPIP-dist.

[3Avec quelques modifications.

[4Dans l’attente de son intégration ou d’un équivalent dans le plugin Comments.

[5Légèrement modifié

Discussion

30 discussions

  • 2

    Bonjour,
    Je voulais créer deux sites avec Aveline/noisetier/Zpip/Compositions..., est-ce que cet ensemble de plugins sera opérationnel d’ici la fin de l’année pour Spip 3 ?
    Sinon, je chercherai une autre solution, ou alors j’utiliserai un spip 2.1 en attendant.

    Merci pour cet ensemble bien utile en tout cas !, et bon courage pour les développements.

    • Aveline, noiZetier, Zpip-vide sont disponibles pour SPIP 3 (voir par exemple http://plugins.spip.net/aveline.html). Ils sont en phase de test (quelques bugs pouvant subsister). La documentation mise à jour est disponible dans l’espace privé de Contrib et devrait être publiée prochainemet.

      Cordialement

    • Ok merci !
      Je vais tester ces versions alors.
      D’autant que je ne crois pas qu’il y ait d’autres systèmes de squelettes aussi biens, assez simples à configurer et bien modulables.

    Répondre à ce message

  • 1

    Bonjour,

    Message d’erreur lorsque je souhaite installer Aveline via l’installation « automatique » des plugins :

    erreur : impossible de charger http://files.spip.org/spip-zone/aveline.zip

    C’est pourtant le même lien que sur la page de Spip-contrib « Installation typique d’Aveline ».

    Le lien ne devrait-il pas être :
    http://files.spip.org/spip-zone/aveline_v1.zip ?

    C’est en tout cas celui que je vais installer.

    Merci.

    Répondre à ce message

  • 3
    Stéphane Santon

    Bonjour,
    Y a-t-il des noisettes de liens vers des traductions de l’article/rubrique en cours ?

    • les liens de traduction sont disponibles dans la noisette Article-Contenu Principal. Il n’y a par contre pas de noisettes avec seulement les liens de traduction.

    • Stéphane Santon

      Ah ok merci pour le contenu principal.
      C’est vrai qu’on pourrait avoir envie de mettre des noisettes de traductions dans #navigation.

    • Il est toujours possible de faire des noisettes personnelles. Ce n’est pas très compliqué et ca permet d’étendre facilement le squelette. Voir Déclarer des noisettes au noiZetier.

    Répondre à ce message

  • 3

    Bonjour Joseph :-)

    Je viens de faire un test sous spip3 [19073]
    il semble que Aveline est un problème, car SVP me sort deux messages

    L’activation du plugin « Aveline » (version : 2.0.0) s’est correctement déroulée
    L’installation du plugin « Aveline » (version : 2.0.0) a échoué

    J’ai été sur le tchat, il semble que cela viendrait d’un problème de création de base sous spip 3

    A savoir que j’ai fait l’essai sous easyphp 5.3.8.0
    En espérant que cela t’aide pour résoudre le problème
    Cordialement, Franck

    • Quelle version d’Aveline ?

      La version stable n’est pas compatible SPIP 3, et la version dev n’est pas encore compatible (NB : je viens seulement de récupérer le net après un mois sans connexion et le dev de la version pour SPIP 3 a de fait été bloqué).

      Cordialement

    • re :-)

      Je parlais de la version trunk

      http://zone.spip.org/trac/spip-zone/browser/_squelettes_/aveline/trunk/paquet.xml
      Dedans, cela dit :
      compatibilite=« [3.0.0-beta ;3.0.99] »

      Donc pour moi, elle était compatible, pas forcément parfaite car spip 3 lui-même n’étant pas encore dispo, elle était quand même un minimum fonctionnelle :-D

      En tout cas merci :-)

    • LOL oui c’est le piège, c’est une copie de la version stable dans le but de développer la version SPIP 3. Elle est marquée ’en dev’.

      dès qu’une version testable et fonctionnelle sera dispo, je passerai le statut en ’test’ et je générerai un ZIP.

      Amicalement

    Répondre à ce message

  • 4
    Metalrod11

    Bonjour,

    Je ne sais pas si je poste ma question au bon endroit. Je l’espère !

    J’utilise l’ensemble squelette Zpip + aveline + compositions + noizetier. J’aimerais faire apparaitre des blocs précis composés d’une image, un peu de texte et un lien. Ces « blocs libres » (comme ils étaient appelés autrefois dans le plugin Magusine) seraient ajoutés dans les compositions de certaines pages. J’ai des difficultés à trouver un moyen d’automatiser les choses ! J’ai essayé sous deux formes :
    -  brève
    -  bloc de texte libre

    Dans les deux cas, je ne vois pas comment automatiser la manœuvre car, dans les noisettes, je ne vois pas la possibilité d’ajouter une brève spécifique ou, alternative, d’indiquer le bloc de « texte libre » que j’ai défini ailleurs.

    Quelqu’un voit-il une solution (ou, à défaut, le bon endroit pour poser la question !) ?

    Merci d’avance !

    P.S. C’est mon seul point de blocage pour quitter le plugin Magusine qui n’est plus développé et basculer enfin vers l’architecture Z qui semble le bon compromis.

    • Bonjour,

      si j’ai bien compris, c’est un texte particulier et fixe que vous souhaitez afficher sur certaines pages ?

      Vous pouvez utiliser pour cela la noisette Bloc de texte libre. Effectivement, il n’est pas possible de télécharger directement depuis cette noisette des images. Mais, si vous utilisez la médiathèque, alors vous pouvez télécharger des images qui ne seront associées à aucun objet. Elles auront néanmoins un id_document et pourront donc très simplement être appelée dans votre noisette avec <img123>.

      Si jamais c’est le même texte qui apparait sur plusieurs compositions, vous devrez définir la noisette Bloc de texte libre pour chaque composition concernée. Ce qui peut être un peu répétitif mais dépend de la situation.

      Je suppose que votre recours aux brèves était une « astuce ». Un des objectifs d’Aveline est de ne pas détourner des objets de leur usage principal. Afin de mieux cerner votre besoin, il serait bonde mieux comprendre ce que vous souhaitez faire. Plusieurs solutions peuvent être envisagées, éventuellement via le développement de nouvelles noisettes (en cela aveline / noizetier est extrêmement souple).

    • Combien de textes fixes différents avez-vous besoin ? Combien de compositions sont concernées pour chaque texte ? Est-ce que ces textes sont amenés à changer souvent ? si oui, à quelle fréquence ?

      La solution des blocs de textes libres évoquées au début de ce message est tout à fait fonctionnelle. Son seul souci, c’est si un même texte est utilisé par un grand nombre de pages / compositions et que ce texte est amené à changer souvent, alors il faut aller modifier chaque composition, ce qui peut s’avérer rébarbatif. Si le texte ne change pas dans le temps, il n’est guère utile de développer un système complexe, puisque de toute façon il faut configurer chaque composition. Si le texte change régulièrement mais n’est utilisé que par une seule composition, il suffit de modifier la noisette en question.

      Bien cordialement

    • metalrod11

      Merci pour la réactivité !

      Mon utilisation serait la suivante : dans la composition des pages de certaines rubriques, j’utiliserais les « blocs libres » (Magusine les appelait comme ça) A, B et C. Dans d’autres, ce serait B, C et D ou encore A, C, E...

      Dans l’idéal, mon souhait serait donc de créer ces « blocs libres » comme des objets SPIP. C’est effectivement pour ça que j’ai imaginé avoir une utilisation détournée des brèves. Cela m’aurait permis de mettre à jour l’objet indépendamment de la composition.

      Dans le fonctionnement actuel, si je veux avoir le même bloc de texte libre dans plusieurs compositions, il faut que je le recrée à chaque fois... Une solution pourrait donc être d’adopter la même composition pour toutes les pages. Mais, ce faisant, je me priverais de la possibilité d’organiser une navigation améliorée par rapport à ce que propose basiquement le duo squelette/thème !

      Voyez-vous des solutions automatisées simples ?

      Bien cordialement,

    • Il y a un moyen assez simple, pour peu que vous maitrisiez un tout petit peu de HTML. Voici comment réaliser votre propre noisette personnalisée. Pour cela il vous faudra créer deux fichiers textebreve.yaml et textebreve.html dans un sous répertoire squelettes/noisettes.

      Le premier fichier textebreve.yaml va être utilisé pour déclarer les paramètres nécessaires à votre noisette, en l’occurence ici un id_breve. Le fichier sera ainsi (attention au nombre d’espaces pour l’indentation, yaml est pointilleux sur ce point) :

      nom: "Bloc libre (texte d'une brève)"
      contexte: 'aucun'
      ajax: 'non'
      parametres:
        -
          saisie: 'input'
          options:
            nom: 'id_breve'
            label: 'Identifiant de la brève'
            obligatoire: 'oui'
          verifier:
            type: 'entier'
            min: 1

      Le second fichier textebreve.html va se contenter d’afficher le texte de la brève. Le code peut être personnalisé en fonction des besoins.

      <BOUCLE_breve(BREVES){id_breve}>
      <div class="noisette_bloctexte">
      	[<h2 class="h2">(#TITRE|typo)</h2>]
      	[<div class="texte">(#TEXTE|image_reduire{500,0})</div>]
      	[<div class="notes surlignable"><h3 class="h3 pas_surlignable"><:info_notes:></h3>(#NOTES)</div>]
      </div>
      </BOUCLE_breve>

    Répondre à ce message

  • 3

    Bonjour

    J’ai mis à jour Aveline, Noizetier et Compositions, malheur à moi j’ai cette erreur PHP :

    Warning: Missing argument 14 for aveline_calcul_branche(), called in /ecrire/public/composer.php(49) : eval()'d code on line 31 and defined in /plugins/auto/aveline/aveline_fonctions.php on line 427

    qu’est-ce que ça peut bien être ?

    • Je me réponds : simplement les fichiers d’Aveline qui avaient été mal copiés, une MAJ manuelle à suffit à tout faire rentrer dans l’ordre ! merci et à la prochaine fois

    • Il aurait également pu s’agir d’un problème de cache, la signature de la fonction aveline_calcul_branche() ayant changé.

      Dans tous les cas, vider complètement le cache après une mise à jour est une habitude à prendre. Cela règle souvent une majorité des problèmes rencontrés.

      Cordialement

    • Quelques explications supplémentaires sur la manière dont je me suis embrouillé les pinceaux en utilisant Noizetier + Zpip-vide + Aveline

      déjà j’ai fait une erreur en utilisant aussi zpip-reset, c’est un pas vers les embrouilles, pas forcément nécessaire

      mais surtout je n’avais pas bien pris en compte le mécanisme de surcharge des squelettes SPIP, bien que je le connaisse sur le principe

      en modifiant ma page avec skeleditor je me retrouve avec un squelette qui surcharge celui d’aveline, ce qui ne clarifie pas les choses, ensuite je n’arrive même pas à comprendre pourquoi si je supprime tous mes inclures créés par skeleditor ça casse complètement ma page

      le mieux est certainement de ne pas se servir de cette fonction, et d’ajouter plutôt des noisettes en les déclarant à aveline comme expliqué ici : http://www.spip-contrib.net/Declarer-des-noisettes-au-noiZetier ( merci Joseph pour cette suggestion )

    Répondre à ce message

  • 4

    Je me suis mis à SPIP il y a peu et j’en suis à l’assemblage de brique ... pas au niveau de certains donc !
    Il me semble avoir scrupuleusement suivi les recommandations et j’aiinstallé les plugins demandés dans les versions demandées MAIS !
    Quand j’utilise la config « blog » d’Aveline, j’ai un bug d’affichage avec des choses en trop !
    Exemples :
    Page d’accueil du site (www.jpclerc.fr)

    Site destiné à partager des photos de voyages en famille ou pour le travail dans le cadre de missions
    Derniers articles
    0 |5 |10 |15


    Accès ancien site
    21 décembre 2002
    Lien permanent : : Accès ancien site


    Bananes
    23 novembre 2003
    contenu/Banane.htm
    Lien permanent : : Autres ....

    Sur la page de connexion, j’ai 2 fois le « module » « Se connecter »

    Merci pour votre aide
    Jean-Paul

    • Bonjour,

      êtes-vous allé dans la page noiZetier pour modifier les paramètres de vos noisettes afin de personnaliser l’affichage à votre convenance ?

      Bien cordialement,

    • oui, j’y suis allé et je ne parviens pas à faire « disparaitre » ce qui est en trop comme par exemple
      Site destiné à partager des photos de voyages en famille ou pour le travail dans le cadre de missions
      Derniers articles
      0 |5 |10 |15

      quand je regarde la page « Sommaire », dans le bloc « contenu », je n’ai QUE le liste des Articles

      Ce qui est en trop me semble issu de la présentation SPIP d’origine. Pour les pages « Rubriques », c’est pareil j’ai des « résidus »
      Dois-je me pencher sur le code ?

      Voulez-vous regarder en tant qu’administrateur ?
      Je vous ai créé un compte administrateur :-)

      Merci

    • Je viens d’installer zpip-vide et cela a apporter la solution mais sans que je comprenne pourquoi !

      Je n’avais pas compris qu’il soit indispensable

      Est-ce le cas ?

    • Oui tout à fait, si vous gérez l’ensemble des contenus sous forme de noisettes.

      Cordialement

    Répondre à ce message

  • 2

    Encore moi Joseph

    Y’a un petit souci si on veut avoir 2 listes d’articles paginées dans la même page : les 2 ancres de pagination ont le même id... Y’a peut être un début de solution la : http://www.mail-archive.com/spip@rezo.net/msg31789.html

    • En effet, la balise #PAGINATION utilise le nom de la boucle. On a un problème de doublon des id. Par contre, à la navigation, y a pas trop de soucis avec AJAX, ça fonctionne correctement.

      Par éviter les doublons, il faudrait introduire un id_unique. Eventuellement l’id_noisette. Ca doit pouvoir se faire via les balises déjà mises en place avec Aveline (afin d’aviter de modifier toutes les noisettes).

      Je creuse ça

    • Normalement, c’est réglé avec la version 1.8.0. Une mise à jour du noizetier est également nécessaire. La variable contenant le début de la pagination est suffixé avec l’id_noisette ==> identifiants différents même si la noisette est insérée en plusieurs endroits dans la page.

    Répondre à ce message

  • 2

    Hello

    Encore une demande d’avis, Joseph ;-)

    Soit un plugin ou un site qui rajoute un champ type à la table articles via le plugin champs extras par exemple. Ce plugin peut créer une noisette dont :

    • le YAML est une recopie du yaml liste_articles avec en plus une saisie sélection sur les valeurs possibles du champ type
    • le html une recopie aussi du liste_articles.html en rajoutant simplement le critère {type=#ENV{choix_type}} dans la boucle articles

    Mais c’est embêtant de recopier le fichier html... Y’a t-il une alternative ? Genre faire un inclure du fichier liste_articles d’Aveline en rajoutant un critere_extra dans l’environnement (tableau contenant le nom du critère et la valeur à tester) ? Mais après je ne sais pas comment faire...

    Si c’est faisable, ça pourrait être étendu à toutes les noisettes ?

    • Il est quasiment impossible de prendre en compte tous les cas de figure.

      Le plus simple consiste à recopier le fichier YAML et le fichier HTML en y faisant tes personnalisations (ajout d’un critère dans la boucle et d’une saisie supplémentaire). Dans la mesure où le code est déjà mutualisé pour quasiment toutes les options (via des critères / balises spécifiques, des inclusions de YAML et de squelettes), ta nouvelle noisette restera compatible avec les évolutions d’Aveline (sauf cas très particulier).
      .

    • Hello

      Oui, j’avais déjà fait la recopie. Je pensais que c’était peut être une piste à creuser de pouvoir passer un critère dans l’environnement

      A+

    Répondre à ce message

  • 5

    Hello Joseph

    Dans le squelette inc-documents de la dist (2.1), la boucle documents_joints exclue les images (les fichiers qui ont une extension jpg, gif ou png). Mais dans la noisette aveline_documents, ces images ne sont pas exclues directement. Si elles sont dans le portfolio ou dans l’article oui. Mais les images qui sont jointe à l’article ET pas (ou pas encore) dans le texte ou en portfolio sont listées...

    Je peux rajouter une option dans le yaml et d’ailleurs mutualiser les 3 paramètres (inclure_documents_vus, exclure_photos, et le nouveau) dans un inclure yaml ?

    • Effectivement, ces images sont exclues dans la dist.

      La question que je me pose c’est quel en est l’intérêt. Si une image n’est ni dans le portfolio ni vu dans le texte, du coup elle n’apparaît nulle part !!! Bref, à quoi cela peut-il servir ?

      Mais on en revient à l’éternel débat de ce mode des images (illustration et portfolio), la notion d’illustration n’ayant plus de sens depuis l’existence du critère vu. Il serait vraiment temps de pouvoir remettre ça à plat, mais..... il y a toujours cet épineux problème de la rétrocompatibilité.

      Bref, ajoutons encore de la complexité à Aveline, c’est déjà tellement dur pour le néophyte de comprendre les différents paramètres...

    • Tu as bien posé la question sur la liste zone... Comme tu le dis autant profiter de la sortie de spip3 pour corriger ce soucis...

      Tu me poses la question « quel en est l’intérêt ? »... En fait, je suis en train de reprendre un site spip et de le passer en zpip/noizetier/aveline... Et dans l’ancienne version, les images associées à des articles mais insérées ni dans le texte ni dans le portfolio, n’était jamais affichées... Et dans la nouvelle version, ben elles apparaissent dans les documents joints... Donc ça peut être utile dans ce cas là... Je proposais la modif de noisette car ça peut servir à d’autres. D’ailleurs, maintenant que j’ai pigé, ça me corrigerais 2 ou 3 autres sites.

      Sinon il doit y avoir moyen de retrouver toutes ces images inutilisées avec la médiathèque ou phpMyAdmin... Je peux faire comme ça aussi.

    • En fait, la question est peut-être de voir :

      • comment cela peut éventuellement évoluer en SPIP 3 ?
      • sur le site que tu mets à jour, y a-t-il bp d’images qui sont dans la situation décrite (une petite recherche SQL ou une boucle de test) ?
      • Si oui, est-ce pertinent (comportement voulu de les masquer) ou bien une erreur éditoriale ?

      En fait, je comprends bien que le comportement change. Mais le comportement précédent était-il désiré ? As-t-on un réel besoin éditorial de cette option (auquel cas il faut l’ajouter) ? ou bien est ce marginal et on complique inutilement des noisettes déjà complexes à comprendre ? (auquel cas on peut toujors surcharger la noisette).

      En ce moment, je commence à réfléchir à la prochaine version Aveline / noiZetier / Zpip-vide pour SPIP 3. Je me dis qu’il faut améliorer l’interface (déjà quelques idées) et l’ergonomie générale. Aveline est puissant mais en même temps diffacile à appréhender. Comment accompagner au mieux un utilisateur débutant ? rendre les options faciles à comprendre ?

      Amicalement

    • Dans un des cas, comme je te le disais, je peux retrouver ces documents et les supprimer. Ils sont présent suite à une erreur éditoriale effectivement.

      Par contre, j’ai d’autres exemples où les images sont présentes pour une bonne raison :
      -  Si je veux afficher un diaporama avec sjcycle, les documents utilisés ne sont pas cochés comme « vus ». Ils apparaissent donc dans les documents joints. Je crois que ça va être possible en spip3.
      -  Dans un site j’ai besoin d’associer à certains articles 3 images (pour des raisons de mise en page de squelette). J’utilise les 2 possible du logo et une 3e jointe à l’article avec un mot clé.

      Mais plutôt que de proposer un radio pour exclure les images de la boucle, ça serait plus pertinent de rajouter un champ input permettant de saisir des extensions à exclure. Je me rends compte que je suis obligé de surcharger la noisettes dans plusieurs sites pour exclure des docs joints les vidéos distantes insérées dans le texte (extensions dist_* du plugin Video(s)).

      En Spip3, le soucis du critère « vu » sera résolu, mais en attendant, dans Aveline pour spip2, ce champ input serait le bienvenu.

    • Ok, dans ce cas il s’agit d’ajouter une option plus générique permettant de fournir une liste de d’extensions à exclure.

      Ca me parait plus facile à comprendre comme option.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom