Agenda 2.0 et ultérieur

Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir.
La lecture de Calendrier Mini 2.0 est également chaudement recommandée, étant donné que Agenda 3 est dépendant de ce plugin.

Le portage du plugin Agenda pour SPIP 2.0 a été l’occasion de repenser et améliorer l’ergonomie de son interface. La version 2.0 du plugin agenda ne nécessite plus le plugin Widget Calendar, mais nécessite le plugin SPIP Bonux

Navigation dans les événements du site

La navigation dans les événements est directement accessible par un sous-menu du menu edition :

La présentation de ces événements délaisse le mode calendrier pour un affichage en liste plus pratiqe à l’usage.
Par défaut seuls les événements à venir sont affichés :

Ce fonctionnement évite d’encombrer l’affichage avec les événements passés toujours plus nombreux.

Un menu de navigation latéral permet d’afficher tous les événements, paginés, triés par date :

Le menu latéral inclut également une navigation antéchronologique par mois calendaire permettant l’affichage de tous les événements d’un mois

La liste centrale présente une vue résumée de chaque événement. Il est possible de voir plus de détails en cliquant sur le titre de l’événement :

Un lien [article] permet d’accéder à l’article qui contient cet événement :

On y retrouve exactement le même type de navigation, mais limitée aux événements de l’article.

Créer un nouvel événement

Le lien situé dans le bandeau titre de la boîte agenda permet de créer un nouvel événement

Modifier un événement

Lorsque vous dépliez un événement, un bouton [modifier] permet d’accéder à l’édition de l’événement.

Si l’événement est une répétition, il n’est pas possible de l’éditer directement. Dans ce cas le lien modifier est remplacé par un lien [source] qui permet d’accéder à l’événement source pour le modifier.

Edition d’un événement

Que ce soit lors de la création ou l’édition d’un événement, la saisie se déroule désormais sur une page indépendante dédiée :

Outre les champs habituels de titre et descriptif, vous y retrouverez la zone d’édition des dates de début et de fin. Une case à cocher toute la journée permet de ne pas sélectionner d’horaire.

Sur chaque champ de saisie de la date, une icone calendrier permet d’accéder à un mini calendrier de saisie.

Les répétitions sont saisies après la date de début et de fin, sur un calendrier de saisie dédié. Le principe des événements répétés et que l’heure de début et la durée sont toujours conservées de l’événement d’origine, mais seul les jours de début changent en prenant les valeurs cochées dans le calendrier des répétitions.

Après saisie, lorsque vous enregistrez votre événement, vous revenez sur la page d’origine avec ce seul événement affiché en détail :

Vous pouvez ainsi vérifier votre saisie.

Vous pouvez retrouver tous les événements, ou les événements à venir seulement, en cliquant sur les liens correspondants.

Squelettes et boucle EVENEMENTS

En ce qui concerne l’utilisation du plugin agenda dans les squelettes, vous pouvez vous référer à la documentation du Plugin Agenda pour SPIP 1.9.2.

Nouveaux critères

{evenement_a_venir} pour sélectionner les événements pas encore commencés à la date courante
{evenement_a_venir #ENV{date}} pour sélectionner les événements pas encore commencés à la date #ENV{date}
{!evenement_a_venir #ENV{date}} pour sélectionner les événements finis ou en cours à la date #ENV{date}

{evenement_en_cours} pour sélectionner les événements en cours à la date courante
{evenement_en_cours #ENV{date}} pour sélectionner les événements en cours à la date #ENV{date}
{!evenement_en_cours #ENV{date}} pour sélectionner les événements *pas* en cours à la date #ENV{date}

{evenement_passe} pour sélectionner les événements passés/finis à la date courante
{evenement_passe #ENV{date}} pour sélectionner les événements passés/finis à la date #ENV{date}
{!evenement_passe #ENV{date}} pour sélectionner les événements en cours ou pas encore commencés à
la date #ENV{date}

Il est possible combiner ces 3 critères pour effectuer une sélection fine.

Pour un affichage sous forme d’agenda en case, voir SPIP 3, Agenda et FullCalendar ou encore Agenda Fullcalendar facile.

Dernière modification de cette page le 8 mars 2018

Discussion

555 discussions

  • 5
    Jaseur Boréal

    Dé-publier automatiquement les événements de l’Agenda

    Bonjour, existe-t-il une solution stable sous spip 3.2 pour dé-publier automatiquement les événements après une durée fixée, par exemple 3 mois, 6 mois ?

    Comment ajouter dans Agenda, cette « fonction durée de parution » pour chaque événement ?
    Ou aussi, comment archiver en masse des événements terminés, passés ?

    Je relaye cette question qui se pose avec quelques utilisateurs d’ AGENDA sous Escal.
    On ne peut pas facilement archiver les événements de l’agenda, sauf à les dé-publier un par un. Or conserver en ligne de vieux événements passés dans l’agenda n’a pas beaucoup d’intérêt.

    Merci de toutes vos idées.

    • Le plus simple serait de modifier les boucle d’ISCAL pour qu’elles affichent uniquement les éevenemnt les plus récents.

    • Jaseur Boréal

      Merci Maïeul pour la célérité de la réponse.
      Changer l’affichage va résoudre pendant une période le besoin.

      Mais comme pour les articles, l’autre besoin reste vivant : supprimer les événements passés. La question se posera donc d’évacuer les événements/articles devenus inutiles.

      C’est à l’image des articles à archiver, car très anciens. Pour Spip3.2 et les articles, il y a bien quelques suggestions :
      -* https://contrib.spip.net/ciarchive-statut-archive-pour-les-articles
      -* https://contrib.spip.net/Plugin-Archive

      Avec le vieux spip1.7 existait cette archive « Système d’expiration automatique des articles » https://contrib.spip.net/Systeme-d-expiration-automatique
      De fait, pour les événements, l’idéal est très similaire.

      Maintenant, j’avoue que c’est parfois plus simple, d’aller nettoyer en direct une table avec phpMyAdmin. Il y a besoin de précautions élémentaires.

      @+

    • Quel est le besoin exacte
      1. Supprimer, ce qui signifie perdre toute trace ?
      2. Archiver, ce qui signife conserver une trace

      Si le besoin est archiver, alors ma réponse correspond au besoin pour toujours et pas seulement pendant un temps, même si on pourrait concevoir d’avoir un vrai statut d’archive. Dans ce cas il faudrait je penser améliorer le plugim « Archive » pour qu’il tiennet en compte les événements.

      S’il s’agit de supprimer, il faudrait écrire un genie qui efface les informations, en tenant compte du fait que certains evt sont des repétitions d’autres. En tout cas à ma connaissance il n’y a rien qui fait deja nativement cela.

    • Jaseur Boréal

      Les besoins vont différer selon chaque website.
      Certains n’auront pas besoin de garder les traces,
      d’autres souhaiteront garder les traces et dans ce cas, élargir aux événements le fonctionnement du plugin Archive solutionne tout : https://contrib.spip.net/Plugin-Archive

    • Je vois 2 choses différentes : un événement passé n’a pas nécessairement vocation à être archivé, sauf s’il existe des occurrences à venir. Auquel cas les occurrences passées pourraient être archivées tandis que les occurrences à venir resteraient publiées jusqu’à archivage de l’ensemble des occurrences et à partir de là suppression totale de l’événement « maître ». Pour les articles Agenda, le problème peut être légèrement différent. Un article agenda peut être publié et lié à un événement. Une fois l’événement passé on peut souhaiter supprimer l’événement mais archiver l’article pour une reprise future éventuelle avec création d’un nouvel événement. Dans l’absolu, l’idéal serait d’avoir la possibilité d’archiver et/ou supprimer aussi bien un événement qu’un article agenda. Après bien sûr, on peut faire en sorte de suivre « manuellement » chacun des évènements et articles agenda liés à des événements en utilisant des rappels de tâches à effectuer quotidiennement. L’avantage de l’archivage est de pouvoir retrouver facilement et rapidement quelque chose qui a deja Été publié. Yann

    Répondre à ce message

  • 6

    Bonjour,

    Petit détail : depuis la mise à jour d’agenda en version 3.19.3 à l’instant, il y a une erreur au niveau des blocs dépliables (prix objet par exemple).

    Yann

    • tu est sur que tu a pas fait une mise à jour d’autre chose ?

      parce que bon agenda 3.19.3 ce sont deux commits qui ne touchent absolument pas aux blocs dépliables.

      https://zone.spip.org/trac/spip-zone/changeset/110300
      https://zone.spip.org/trac/spip-zone/changeset/110300

      par contre prix objets vient également de connaitre un certain nombre de mis à jour....

    • J’avais une mise à jour de autorité vers la version 0.10.20. et Prix objets j’ai la version 1.8.0.

    • bizarre. Je vois vraiment pas ce que mes deux malheureux commits auraient pu changer chez toi. Je ne sais pas à quoi fait allusion ta capture (d’ailleurs je ne vois pas exactem,ent le problème).

      tu as quoi d’autre comme plugin liés aux prix ?

      eventuellement envoi moi à mon adresse (monprenom@monprenom.net) un extrait de ta base avec les exemples qui pose problème. Mais vraiment, je ne pense pas que cela vient d’agenda.

      le plugin declinaison prix à changé recemment. peut être ca le souci ?

    • peux tu faire un test temporaire en désactivant agenda ? cela confirmera sans doute mon scepticisme.

    • Je ne peux pas désactiver Agenda. Je suis sous escal et si je désactive Agenda, je désactive Escal.

    • Incompréhensible ! Ca Refonctionne normalement !

      En général lorsque je mets à jour les plugins, je vide mon cache, ce que j’ai fait. Et j’avais donc le petit souci signalé. Je me suis absenté 45 minutes et...j’ai revidé mon cache en rentrant et...tout est rentré dans l’ordre !
      Yann

    Répondre à ce message

  • Installé et désinstallé le plugin : au premier essai, erreur 404 à l’affichage de l’événement testé... : pas de squelette « evenement » précise le 404 !

    Répondre à ce message

  • Jaseur Boréal

    L’affichage de la page « AGENDA » sur petits écrans de tablettes devient illisible.

    Bonjour,
    Comment avez-vous solutionné cet affichage, pour qu’il soit « pratique » et simple ?

    Exemple, d’un affichage en semaine, de deux événements :
    https://www.lettonie-francija.fr/spip.php?page=agenda&lang=fr

    • l’un se déroulant chaque jour de la semaine s’affiche tout en haut des colonnes.
    • l’autre se déroulant un seul jour à 20h40. Il est invisible car son heure d’affichage est en dessous de ce qui est visible, et il faut vraiment savoir qu’il y a un événement pour aller le chercher en scrollant, car cela n’est pas évident de scroller à cet endroit.

    Comment avez-vous solutionné l’affichage des événements d’un « AGENDA » sur écrans de tablettes et smartphones ?

    Avez-vous des exemples ?
    Merci de toutes suggestions.

    Répondre à ce message

  • 11

    Bonjour
    Je constate que ma liste d’évènements dans la partie privée du site liste tous les évènement et pas seulement ceux à venir, voir copie écran jointe. Pas de soucis en « public ».
    Quand je sélectionne un mois, les (ou l’) évènements sont mis en exergue mais tous apparaissent tout de même sauf pour un seul mois, octobre 2018.
    Vu la doc du plg, cela ne me semble pas normal mais je ne vois pas pourquoi.
    Je suis en spip 3.1.7, serveur mutu chez OVH, PHP 5.6
    Merci de votre aide.
    Cordialement
    Jean-Luc

    • Bonsoir,
      Dans mon souvenir cela a toujours été le cas, le 1er événement qui correspond à la sélection est en gras, les autres non.

    • Il est dit dans la doc que seuls les événements futurs apparaissent !
      Dans la colonne de droite « à venir » ne fonctionne pas sur mon site, voir copie écran message précédent !

      Peut on changer l’ordre d’affichage dans l’espace privé en modifiant l’ordre de tri par défaut, si oui dans quel fichier ? Je m’y collerai, pour l’instant je n’ai pas su trouver le bon !
      Merci
      Jean-Luc

    • sur l’espace privé comme sur l’espace publique, tu peux toujours utiliser var_mode=inclure pour savoir quel squelette est appellé.

      Cela étant c’est un bug du plugin que je vais corriger sur le champ.

    • Ah non ce n’est pas un bug, c’est la doc qui n’est plus à jour. Je préfère mieux pas intervenir du coup.

      Mais bon tu a la réponse pour trouver le fichier.

      Et pour éviter qu’à une prochaine mis à jour les données soient perdus, il faut que tu reproduise l’arboresence menant au fichier dans ton dossier squelettes, voir https://programmer.spip.net/La-notion-de-chemin

    • Merci
      Mais comment expliquer que pour octobre 18 je ne vois que l’evenement d’octobre et pour les autres mois tous les evenements avec mise en exergue de celui du mois considéré ?

      Et comme je ne sais pas tous sur spip... désolé mais ou dois je mettre var_mode=inclure ? Q° de novice. Est-ce bien en fin d’URL &var_mode=inclure ?
      Est-il possible de mettre un tri double au niveau de la date (croissant et decroissant ?
      Merci
      Jean-Luc
      Pour les squelettes ensuite ça devrait aller.

    • J’avoue ne pas comprendre. Tu te demande si c’est bien un fin d’url que tu dois mettre le &var_mode=inclure. Pourquoi ne pas avoir testé ? tu aurais trouvé que oui, c’est bien là.

      Par ailleurs ce qui est utilisé dans le squelette c’est #TRI

      Et si je comprend bien la doc

      https://www.spip.net/fr_article5429.html, il n’y a pas (encore) d’option qui permettrait d’alterner entre les sens de tri, en modifiant date_sens passé à l’url

      Enfin pour ton problème de date du mois d’octobre, c’est que le système pagine de 15 en 15, et cherche tjr à afficher le gras. Donc il décale automatiquement pour aller à la bonne page, qui peut n’avoir que des evenements d’octobre 2018

    • Bon mais pourquoi le lien « à venir » ne fonctionne pas, il renvoie tous les evenements !

      Concernant l’affichage des evenements, Le fichier concerné est : ../plugins/auto/auteur_evenement/v1.1.0/prive/objets/liste/evenements.html
      J’ai trouvé ne solution dans la page que tu m’as indiquée

      Jai modifié la ligne de tri par date et je peux choisir mon sens de tri. J’ai remplacé tri croissant et tri décroissant de la doc par < et > et ça fonctionne.

      Pour le tri par defaut : date_sens passe à -1 au lieu de 1 en début de fichier.

      Voir copie jointe
      Cordialement
      Jean-Luc

    • chez moi « à venir » pointe le premier evenement à venir, en gras.

    • oui mais je n’arrive pas à me mettre en tete ue cela n’affiche pas QUE les evenements à venir. Cela ne me parait pas logique !

    • J’avoue que je ne trouve pas cela hyper pratique logique non plus, mais c’est le comportement qui a été introduit volontairement. Comme je ne suis pas l’auteur du plugin, je préfère ne pas y toucher : il doit y avoir une raison à cela.

    • sans doute.
      En tout cas merci pour ton aide.

    Répondre à ce message

  • 8

    Plugin Agenda a multi-langue

    Bonjour,
    J’utilise un site avec plusieurs langues (allemand & français), j’ai les langues au niveau de la racine (par secteur). J’utilise le plugin agenda pour les évènements

    Un évènement A est le même pour le même article dans les 2 langues

    Je fais mon article en allemand, j’ajoute les événements et je traduis l’article en français.

    Problème : les évènements restent liés à l’article allemand uniquement. Je voudrais pouvoir afficher les mêmes évènements pour les traductions.

    Est-ce possible de lier les événements à 2 articles comment c’est une traduction ? ou c’est une limitation du plugin ? car c’est 2 articles différents....

    Merci d’avance

    SPIP : 3.2 / Agenda 3.18.6

    • Bonjour,

      même question car même problème. Actuellement je duplique les événements. Pas pratique, pas efficient, et on a duplication à l’affichage des calendrier mini et autres fullcalendar.

      — > Dans le cas du multilingue, il y a quelque chose à penser, manifestement.

      Avez-vous des pistes, réflexions, technique pour s’en sortir ?
      Merci d’avance

    • Tu as déjà posé la question sur fullcalendar facile, je t’ai dit que j’avais une piste, mais que j’avais besoin de complément sur la manière dont tu compter déterminer la langue à afficher....

    • Bonjour Maïeul
      Merci pour ce retour, je veux bien le lien pour la suggestion et je vais fournir des détails car c’est un point bloquant et je voudrais trouver une solution.
      Merci
      Aurel

    • @abeautheac : je parlais uniquement pour la gestion de l’affichage avec fullcalendar, pas pour la question de la liaison evenement-article.
      https://contrib.spip.net/Agenda-Fullcalendar-facile#forum495209

    • Ah ok
      Donc je vais attendre voir si il y a une suggestion pour ce souci .

      Est-ce qu’il est possible de chercher l’événement traduit ??

    • très certainement. A partir de l’article B, tu peux remonter à A et du coup à l’évenement dans la langue qui t’intéresse.

    • Bonjour,

      Je voulais modifier calendrier_mini_event.json.html (pour permettre une sélection de certaines rubriques et en rejeter d’autres), donc placer le fichier à la racine de squelettes pour garder une compatibilité future. Mais alors il semble avoir un problème avec le filtre « |todate »...

      Bug ou normalité ?

    • Merci @Maieul

      Je pense avoir trouvé une solution de ce style dans mon article :

      	<BOUCLE_ev2(ARTICLES) {traduction} >
      		<BOUCLE_ev3(EVENEMENTS){id_article}{age<0}>
      		#TITRE
      		</BOUCLE_ev3>
      	</BOUCLE_ev2>

      Cela semble bien remonter l’ensemble des événements des traductions
      Mais si il y a une suggestion :) je suis preneur :)

      Merci :)

    Répondre à ce message

  • 7

    Bonsoir

    Si tout fonctionne parfaitement en spip 3.1, j’ai un souci avec spip 3.2 : les événements apparaissent bien sur le mini-calendrier mais pas sur l’agenda pleine page.

    J’utilise un fichier calendrier_quete.json.html modifié pour jouer avec les couleurs

    #HTTP_HEADER{Content-type:text/javascript;}
        [<BOUCLE_evenements(EVENEMENTS){', '}{par date_debut}{titre_mot?}{lang}
        {agendafull date_debut,date_fin, periode,
                #VAL{Y}|date{#ENV{start}}, #VAL{m}|date{#ENV{start}}, #VAL{d}|date{#ENV{start}},
                #VAL{Y}|date{#ENV{end}}, #VAL{m}|date{#ENV{end}}, #VAL{d}|date{#ENV{end}}}
          >
        <BOUCLE_mot(MOTS){id_evenement}{type=Agenda_couleur}{0,1}>
          [(#ARRAY{
          id,#ID_EVENEMENT,
          title,[(#_evenements:TITRE|html2unicode|unicode2charset)],
          allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],
          start,#DATE_DEBUT,end,#DATE_FIN,
          url,#URL_EVENEMENT,
          color,[(#DESCRIPTIF|PtoBR|html2unicode|unicode2charset)]
          }|json_encode)]
        </BOUCLE_mot>
        </B_mot>
          [(#ARRAY{
          id,#ID_EVENEMENT,
          title,[(#_evenements:TITRE|html2unicode|unicode2charset)],
          allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],
          start,#DATE_DEBUT,end,#DATE_FIN,
          url,#URL_EVENEMENT,
          color,#336699
          }|json_encode)]
        <//B_mot>
        </BOUCLE_evenements>]

    Et je ne vois pas ce qui coince.

    • Le Jaseur Boréal

      Bonjour,

      à @JCV,
      Je pense que cela n’est pas lié à la v3.2, avant sur la v3.0, & v3.1, cela ne fonctionnait pas non plus : https://www.lettonie-francija.fr/spip?page=agenda alors que mini-calendrier et événements à venir s’affichent.
      @+

    • Bon j’avance avec

      #SET{start,#ENV{start}|strtotime} 
      #SET{end,#ENV{end}|strtotime} 
      
      #HTTP_HEADER{Content-type:text/javascript;}
          [<BOUCLE_evenements(EVENEMENTS){', '}{par date_debut}{titre_mot?}{lang}
          {agendafull date_debut,date_fin, periode,
                      #VAL{Y}|date{#GET{start}}, #VAL{m}|date{#GET{start}}, #VAL{d}|date{#GET{start}}, 
                      #VAL{Y}|date{#GET{end}}, #VAL{m}|date{#GET{end}}, #VAL{d}|date{#GET{end}}} 
            >

      en début de fichier calendrier-quete-json.html

      Mes événements s"affichent bien !

      Me reste un souci : la couleur ...
      color,#336699 reste sans effet

    • Bon ça vient de mon squelette Escal ...
      Y’a plus qu’à corriger.

    • ça avance

      Me reste un souci avec l’affichage de l’heure : si un événement commence à 9h, l’affichage est « 09 » et je préférerais « 09h » ou mieux « 09h00 »

      Et j’aimerais aussi afficher l’heure de fin de l’événement.

      Enfin, si j’enlève les 2 lignes allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],, je ne vois pas de différence. A quoi sert cette ligne ?

    • Non non Jaseur, ça fonctionne très bien en spip 3.1, preuve en est sur le site d’Escal ...

    • Jaseur Boréal

      Bonjour @JCV,
      Je ne relatais que l’observation constatée antérieurement.
      Je suis prêt à tester la nouvelle version de l’agenda sous Escal
      @+ ;-))

    • <et moi je te parles bien de « l’ancienne » version qui est toujours l’actuelle. La nouvelle est encore en gestation et n’existe que sur mon ordi ;-)

    Répondre à ce message

  • 1

    Bonjour,
    J’ai un site avec spip 3.2, et dernières versions d’Agenda, MiniCalendrier, Full calendar Facile, Zpip, Aveline, NoiZetier, etc.

    Pour les articles, j’ai mis une noisette qui liste les événements de l’article.

    Si des articles n’ont pas d’événements liés, ils s’affichent en page blanche, même chose pour la rubrique de l’article. (mais le reste du site ok)
    Dès que je met un événement dans l’article, l’article s’affiche normal, et sa rubrique aussi.

    Si je supprime la noisette « liste d’événements » de l’article (sans événements), il s’affiche alors correct.

    Si je met une noisette « liste d’événements » avec paramètre « tous les événements », là ça marche car j’ai d’autres événements ailleurs.

    Je vois pas quoi faire...?
    pas sûr que ce soit lié à un problème des évémenents ?
    Plutôt des noisettes, d’Aveline ?

    Répondre à ce message

  • 1

    Bonjour,

    Ayant absolument besoin d’un plugin agenda avec des événements liés aux rubriques, j’ai entrepris un plugin avec La Fabrique et les Champs etra.
    Il me reste juste le mécanisme des répétitions de date.

    Comment obtenir un tel champ avec Champs extra ?

    • Je peux pas aider, mais je trouve que c’est une bonne idée de pouvoir utiliser les rubriques.
      J’espère que tu pourras finaliser et qu’on pourra tester ça
      Bravo

    Répondre à ce message

  • 2

    Bonjour,

    une mise à jour de ce super plugin est-elle prévue pour SPIP 3.2 ?

    merci

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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