SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 266 visiteurs en ce moment

Accueil > Dates, calendriers et agendas > Calendriers > Archives Calendriers > L’agenda de Div Yezh

L’agenda de Div Yezh

1er juin 2005 – par perig – commentaires

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Doté de champs spécifiques pour la date de début et la date de fin, cet agenda permet de gérer des événements qui seront affichés par ordre de leur date de début dans un calendrier du même type que la première version de l’agenda de gasteroprod (avec glissement éventuel sur le premier mois suivant si l’événement dure plusieurs jours), et classés par date dans la rubrique pour disparaître une fois leur date de fin dépassée (selon le modèle de l’agenda séquentiel).

NOTE DES ADMINS : il est maintenant (26 mai 2005) possible d’utiliser un squelette de calendrier dans la partie publique ... voir "détail" sur la liste spip-core

Dans la version développée pour Div Yezh, l’agenda permet aussi de rattacher un événement à un des cinq départements bretons (Loire-Atlantique incluse), à un canton et à une commune.

Exemple

Vous pouvez voir comment tout cela fonctionne à l’adresse suivante :

http://agenda.div-yezh.org.

L’accès à l’espace privé se fait via le lien « Admin » dans le bas de la colonne de gauche. Utilisez le login « invite », mot de passe « invite ».

Une rubrique « TEST » est à votre disposition. Merci de ne pas perturber le reste du fonctionnement du site par des créations intempestives qui m’obligeraient à supprimer cet accès.

Description

L’agenda permet la publication d’événements qui s’étendent sur plusieurs jours. Toutefois, l’affichage de ces événements dans le calendrier ne s’effectue pas au délà du second mois.

Une fois leur date de fin passée, les événements ne s’affichent plus dans les rubriques concernées (sur le principe de l’agenda séquentiel), mais demeurent visbles et accessibles dans le calendrier (sur le même principe que celui de gasteroprod).

Opérationelle sur la seule version 1,8 beta de Spip, cette contribution fonctionne grâce aux possibilités ouvertes par le nouveau compilo, décrites sur spip-lab (Voir également la contribution de Déesse A), qui permet la création de nouveaux champs dans une BDD. Les nouveaux champs créés sont les suivants :

-  date_debut, pour gérer la date de début d’un événement.
-  date_fin, pour gérer la date de fin du même événement.
-  duree, pour lequel est calculé, via javascript, la différence en nombre de jours entre la date de fin et la date de début.

Les lieux sont également gérés grâce aux champs suivants :

-  departement
-  canton
-  code postal
-  commune

ATTENTION !

Cette contribution, qui se veut expérimentale, modifie le noyau de Spip par modification des fichiers suivants :

-  inc_criteres.php3
-  inc_serialbase.php3
-  articles_php3
-  articles_edit.php3

Dans le source de chacun des fichiers, les modifications apportées sont précédées de la mention Ajout sur distrib pour gerer agenda pour permettre à ceux qui le souhaitent d’améliorer facilement cette contribution.

Pour la gestion des communes, il est indispensable de placer, en plus, les fichiers suivants (fichiers javascript) dans le répertoire écrire :

-  agenda_edit.js
-  agenda.js

qui gèrent l’affichage des communes,
et

-  agenda_22.js
-  agenda_29.js
-  agenda_35.js
-  agenda_44.js
-  agenda_56.js

qui contiennent, chacun, les informations utiles pour l’ensemble des communes de chaque département breton. S’en inspirer pour d’autres départements.

Utilisation

A la création d’un nouvel article dans l’interface privée, de nouveaux champs apparaissent, permettant de sélectionner un département.

Une fois un département sélectionné (ici, les Côtes d’Armor), la page se recharge et affiche une liste de lettres.

En cliquant sur une lettre, le SELECT affiche la liste des communes correspondantes (cela évite d’avoir des listes trop longues) dans laquelle on choisit celle qui nous intéresse (ici, DInan)

La saisie continue ensuite avec les champs habituels de Spip jusqu’à la sélection de la rubrique. On peut ensuite sélectionner la date de début d’événement.

A la création d’article, l’année affichée est celle de l’année en cours. Le jour et le mois sont marqués NC. (non connus). A noter qu’une fois qu’une première date a été affichée, les jours disponibles tiennent compte du mois affiché (par exemple, 30 jours en avril, 28 en février les années bisextiles, 29 en 2005).

Il faut ensuite saisir de la même façon la date de fin d’événement (obligatoire, même si l’événement ne dure qu’une journée).

Puis la saisie peut continuer selon les rêgles habituelles de Spip, tous les champs demeurant disponibles. Une fois la saisie validée, on se retrouve sur la page articles_php3 de l’interface privée.

Les modifications apportées permettebt de visualiser

-  le nom de la commune (avec le département entre parenthèses)
-  le code postal
-  le canton (ou, comme dans l’exemple, la mention "Commune scindée en plusieurs cantons" quand c’est le cas)

-  la date de l’évenement (ou la date de début)
-  la date de fin (ou la mention "Cet événement ne dure q’une journée" si tel est le cas)

Il est possible sur cette page de modifier directement les dates de début ou de fin.

Par copntre, pour modifier la commune, il faudra passer par la procédure habioituelle de Spip Modifier cet article.

Tous les autres champs, dont la date de rédaction antérieure, demeurent disponibles pour leur utilisation habituelle.

Une fois l’article publié, il apparaitra dans le calendrier (basé sur celui de gasteroprod) et dans la rubrique correspondante tant que la date de fin ne sera pas échue (selon le principe de l’agenda séquentiel).

Remerciements et remarques

Les explications d’Arno sur le nouveau compilo, de Déesse A sur la création de nouvelles tables ont servi de bases à la réflexion aboutissant à cette contrib qui ne fait que compléter le travail de Nicolas Hoizey (Gasteroprod) et de Robert (agenda séquentiel).

La création de tables supplémentaires, et surtout la possibilité de connecter Spip a plusieurs tables de façon simultanée, doit permettre de dépasser rapidement cette contribution pour avancer vers des solutions autrement plus performantes. Il serait intéressant que les modifications apportées à l’interface de l’espace privé puisse être gérées via un plugin. De façon évidente, ceci n’est qu’une étape.

Fichiers à télécharger

Le package ci-dessous contient tous les éléments nécessaires à la mise en œuvre.

Zip - 81.6 ko

Les squelettes (rubrique.html et sommaire.html) sont ceux de Div Yezh et devront être adaptés à vos propres besoins.

Installation

Pour un nouveau site, c’est très simple :

1. En local, faire une SAUVEGARDE des fichiers de la distrib : à la racine de votre site : inc_criteres.php3 ; dans le répertoire écrire : inc_serialbase.php3, articles_php3 et articles_edit.php3. Cette sauvegarde vous permettra de retrouver facilement votre configuration initiale si vous ne souhaitez pas bénéficier de cette contrib.

2. Placer ensuite les fichiers de la contrib à la racine de votre site sauf ceux qui sont dans le répertoire ecrire à placer dans votre répertoire écrire (sic !). Ces nouveaux fichiers écraseront donc ceux de la distrib que vous avez sauvegardés.

3. Télécharger en ftp l’ensemble des fichiers incluant les fichiers modifiés à la racine de votre site et procéder à l’installation standard de Spip. Les nouveaux xhamps seront automatiquement crées dans votre base de données.

Sur un site existant, procéder en trois étapes :

1. Faire une SAUVEGARDE des fichiers de la distrib : à la racine de votre site : inc_criteres.php3, rubrique.html, sommaire.html ; dans le répertoire écrire : inc_serialbase.php3, articles_php3 et articles_edit.php3. Cette sauvegarde vous permettra de retrouver facilement votre configuration initiale si vous ne souhaitez pas bénéficier de cette contrib.

2. Placer ensuite les fichiers de la contrib à la racine de votre site sauf ceux qui sont dans le répertoire ecrire à placer dans votre répertoire écrire (sic !). Ces nouveaux fichiers écraseront donc ceux de la distrib que vous avez sauvegardés.

3. Il faut maintenant créer les nouveaux champs dans votre base de données.
Pour ce faire, via php-my admin (ou équivalent), accédez à votre base de données, puis cliquez (à gauche) sur spip_articles. Après chargement, la structure de la table apparait sous la forme d’une liste des champs actuellement disponibles. Le bas de cette liste doit se présenter de cette façon :

Sur l’image, j’ai entouré ce qui vous intéresse ! Pour ajouter 1 champ en fin de table, cliquez sur "Exécuter". Un nouvel écran apparait.

Créer le champ date_debut :

-  Dans le champ 1 Champ, tapez date_debut
-  Dans le champ 2 Type, sélecionnez DATETIME
-  Dans le champ 3 Null, sélectionnez not null
-  Dans le champ 4 Defaut, tapez 0000-00-00:00:00:00

Puis, cliquez sur Exécuter. Une nouvelle page vous confirmera que votre requête sql a été exécutée.

Créer le champ date_fin : la procédure est la même.

-  Dans le champ 1 Champ, tapez date_fin
-  Dans le champ 2 Type, sélecionnez DATETIME
-  Dans le champ 3 Null, sélectionnez not null
-  Dans le champ 4 Defaut, tapez 0000-00-00:00:00:00

Puis, cliquez sur Exécuter. Une nouvelle page vous confirmera que votre requête sql a été exécutée.

Créer le champ durée : c’est encore plus simple.

-  Dans le champ 1 Champ, tapez durée
-  Dans le champ 2 Type, sélecionnez TEXTE
-  Dans le champ 3 Null, sélectionnez not null

Puis, cliquez sur Exécuter. Une nouvelle page vous confirmera que votre requête sql a été exécutée.

Ces trois éléments sont suffisants pour gérer les dates. Si vous souhaitez utiliser les fonctionnalités de gestion des communes, code postaux, cantons et departements, ajoutez les champs suivants sur le même principe que ce que je viens de vous expliquer pour le champ durée.

-  departement => "text NOT NULL",
-  canton => "text NOT NULL",
-  code_postal => "text NOT NULL",
-  commune_bzh => "text NOT NULL",
-  commune => "text NOT NULL".

NOTA. commune_bzh ne vous est pas forcément utile. il sert, pour Div Yezh, à gérer le nom de la commune en breton.

Quand l’ensemble de ces éléments sont en place, retournez dans l’espace privé de votre site. Créez un nouvel article. Vous verrez les nouvelles fonctionnalités... fonctionner. Magique !

NOTE DES AMINS : il est maintenant (26 mai 2005) possible d’utiliser un squelette de calendrier dans la partie publique ... voir "détail" sur la liste spip-core

Dernière modification de cette page le 2 juin 2016

Retour en haut de la page

Vos commentaires

  • Le 17 mars 2006 à 15:01, par mimi5 En réponse à : L’agenda de Div Yezh

    bonjour,
    j’ai installé votre agenda sur spip version 1.8.2. Après quelques modifications, cela fonctionne dans la partie publique. Par contre, un bug javascript empêche son utilisation dans la partie privée. Le bug concerne la variable dep22 qui semble indéfinie. Quelqu’un pourrait-il m’aider car je ne suis pas une flèche en javascript ?
    Merci d’avance,
    Excellente journée

    Répondre à ce message

  • Le 11 septembre 2005 à 13:25, par Jem En réponse à : > L’agenda de Div Yezh

    Bonjour,

    Je viens d’installer l’agenda sur un nouveau site en local.

    J’ai suivi les trois étapes : Je n’ai pas sauvegardé mes fichiers originaux (pour une installation d’essai en local, je n’en ai pas besoin), j’ai copié les fichiers à leur place. J’ai fait une installation de Spip (tout c’est très bien passé, j’ai configuré identifiant, mot de passe et tout et tout)...

    Problème : Lorsque je veux me connecter à l’espace privé le login n’est pas reconnu (« l’identifiant « mon_login » est inconnu »).!?!!! y aurait-pas un truc à faire...

    merci.

    • Le 11 septembre 2005 à 17:02, par Jem En réponse à : > L’agenda de Div Yezh

      re-bonjour,

      bon, je viens de trouver la réponse à mon problème...

      Le fichier inc_serialbase.php3 du présent package de l’agenda causait mon souci. J’ai ajouté les lignes suivantes (récupérées sur le fichier qui me posait souci) au fichier d’origine (sur spip-v1-8-2d/ecrire/inc_serialbase.php3) dans la table « $spip_articles = array » (ici, sous le champ « titre »)

      // Ajout sur distrib pour gerer agenda
      « date_debut » => « datetime DEFAULT ’0000-00-00 00:00:00’ NOT NULL »,
      « date_fin » => « datetime DEFAULT ’0000-00-00 00:00:00’ NOT NULL »,
      « duree » => « text NOT NULL »,
      « commune » => « text NOT NULL »,
      « commune_bzh » => « text NOT NULL »,
      « canton » => « text NOT NULL »,
      « code_postal » => « text NOT NULL »,
      « departement » => « text NOT NULL »,
      // Fin ajout

      Et bien entendu, lors de la deuxième étape d’installation j’ai tout fait comme indiqué, sauf pour le fichier inc_serialbase.php3. J’ai juste ajouté les lignes précédentes au fichier déjà existant...
      (j’espère que j’ai été clair...)

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mailsubscribers

    16 janvier 2013 – 274 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • noiZetier v2

    9 novembre 2012 – 36 commentaires

    Le noiZetier offre une interface d’administration permettant d’insérer au choix des éléments modulaires de squelettes (noisettes) et de les ajouter ainsi à ses squelettes. Compatibilité La version 2 du noizetier fonctionne sous SPIP 3. Elle est (...)

  • cirr : plugin « rédacteur restreint »

    29 octobre 2010 – 60 commentaires

    Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur (...)

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

Ça spipe par là