Boutons Contacts & Rendez-vous

Un plugin pour faciliter l’ajout d’un rendez-vous à un agenda ou d’une carte de visite à un carnet de contacts. Les rendez-vous sont fournis au format ICS ou Google Agenda et les cartes de visite au format vCard.

Objet

Ce plugin facilite l’interaction entre le site et les internautes en permettant de mettre à disposition un contact ou un rendez-vous afin de les intégrer dans ses carnets d’adresses ou dans ses calendriers personnels.

Installation

Le plugin s’installe comme n’importe quel plugin SPIP.

Fonctionnement

Le plugin met à disposition différents outils :

  • des modèles qui affichent un lien de téléchargement ou de remplissage d’un rendez-vous ou de la carte de visite ;
  • un traitement automatique pour insérer la vCard d’un auteur dans sa boite d’infos.
  • un traitement automatique pour insérer le rendez-vous iCal d’un évènement du plugin Agenda dans sa boite d’infos.

Les modèles

Les modèles vous permettent de faire apparaitre dans vos textes des boutons de téléchargement.

icône par défautnom du modèleeffet
bouton_rdv permet de télécharger le fichier .ics correspondant au rendez-vous défini.
bouton_rdv_google permet d’ouvrir un formulaire Google pour saisir un rendez-vous qui sera ajouter l’agenda de son choix (API Google)
bouton_vcard permet de télécharger le fichier .vcf correspondant à la vCard définie
bouton_vcard_auteur permet de télécharger le fichier .vcf correspondant à la vCard de l’auteur spip choisi
bouton_rdv_evenement permet de télécharger le fichier .ics correspondant au rendez-vous de l’évènement du plugin Agenda choisi

Les exemples qui suivent permettent d’identifier l’ensemble des paramètres utilisables dans les modèles, donc le périmètre strictement utilisé par le plugin pour les vCard et les rendez-vous. A cet égard, le plugin n’autorise aujourd’hui que les mails, adresses et numéros de téléphone dont le type est personnel (home) et professionnel (work).

Les paramètres label et icone ne sont pas liés au rendez-vous ou à la carte de visite mais permettent de choisir le libellé ou l’icone affiché. Ces paramètres ne sont pas obligatoires, le plugin pouvant afficher un icone et un label par défaut.

<bouton_rdv
  |debut=9/3/2022 10:00
  |fin=9/3/2022 11:00
  |titre=Mon beau RDV
  |lieu=Chez mon pote Roger
  |description=je suis une description sur
plusieurs lignes. Cette ligne doit dépasser les 75 caractères pour tester la découpe. Et même pire cette ligne va être plus grande que deux fois afin de tester encore mieux.
Encore une petite pour la route.
  |label=Mon RDV
  |icone=agenda-xx.svg
>
<bouton_rdv_google
  |debut=9/3/2022 10:00
  |fin=9/3/2022 11:00
  |titre=Mon beau RDV
  |lieu=Chez mon pote Roger
  |description=je suis une description sur
plusieurs lignes. Cette ligne doit dépasser les 75 caractères pour tester la découpe. Et même pire cette ligne va être plus grande que deux fois afin de tester encore mieux.
Encore une petite pour la route.
  |label=Mon RDV Google
  |icone=agenda-xx.svg
>
<bouton_vcard
  |nom=Martin
  |prenom=Jean-Charles
  |employeur=Alstom
  |fonction=Directeur technique
  |telhome=+33142729663
  |telwork=+33612345678
  |mailwork=jcmartin@alstom.com
  |adrhome=13 rue Charles Vincennes;75015;PARIS;;France
  |site=http://blog.martin.net/
  |naissance=12/3/1998
  |note=je suis une note sur
plusieurs lignes.
Encore une petite pour la route.
  |label=Ma belle vCard
  |icone=article-xx.svg
>
<bouton_vcard_auteur
  |id_auteur=10
>
<bouton_rdv_evenement
  |id_evenement=11
>

Ajout de la vCard dans la boite d’infos d’un auteur

Pour un auteur affichant sa propre fiche, le plugin insère le lien de téléchargement de sa vCard dans la boite d’infos. Il n’est donc pas possible pour un auteur donné de télécharger dans le privé la vCard d’un autre auteur (RGPD).

Cependant, rien n’empêche un auteur donné de publier sa propre carte de visite en utilisant les modèles précités dans une page de son site.

Utilisation des plugins Contacts et Organisations et Coordonnées

Les plugins Contacts & Organisations et Coordonnées sont compatibles avec le plugin Boutons Contacts & Rendez-vous. En effet, si un auteur est configuré comme un contact, les données du contact sont utilisées en priorité pour créer la vCard.
De même pour Coordonnées, les mails, téléphones et adresses postales de type personnel et professionnel sont utilisées en priorité pour compléter la vCard de l’auteur concerné.

Ces plugins ne sont opérationnels que pour la vCard liée à un auteur. Ils fonctionnent avec le modèle bouton_vcard_auteur et le lien automatique vCard de la page auteur uniquement.

Ajout du rdv iCal dans la boite d’infos d’un évènement d’Agenda

Pour un évènement du plugin Agedna affichant sa propre fiche, le plugin insère le lien de téléchargement de son iCal dans la boite d’infos si l’autorisation voir est accordée.

Principes de développement

Le plugin aurait pu utiliser des librairies en javascript ou des class PHP pour gérer les normes ICS, vCard ou GoogleAgenda, mais l’idée est de rester simple et léger en ne proposant que les options principales de ces normes.

Discussion

3 discussions

  • Bonsoir, si j’essaye d’utiliser le plugin seul ( pas d’activation de Plugin Contacts & Organisations, et/ou de Plugin Coordonnées) pour appeler par exemple une vCard dans un squelette grâce à la balise #ARRAY, c’est-à-dire grâce un ensemble de paires clé/valeur à fournir au modèle bouton_vcard, comme dans la démo :

    #SET{args,#ARRAY{ nom,Lupin, prenom,Arsène, label,La vCard du gentleman cambrioleur } } #MODELE{bouton_vcard,args=#GET{args},icone=attachment-24.svg,label=La vCard d'Arsène Lupin} 

    et si je ne fourni pas intégralement TOUTES les clé/valeur dans l’ordre, la vCard obtenue n’est plus renseignée correctement. Il va manquer des infos.

    Meme en spécifiant une chaine vide (qui s’écrira ’’) comme valeur d’une clé et ainsi court-circuiter une paires clé/valeur que je ne peux pas effacer, la vCard devient incorrecte. Les caractères ’’ vont apparaitre dans la vCard ! Im-pos-sible de ne pas renseigner certaines valeurs du tableau. Est-ce vraiment ainsi : toutes les valeurs doivent être renseignées obligatoirement ??? Comment peut-on choisir seulement les paires clé/valeur qui m’intéressent et rendre optionnelles toutes les autres ?

    Répondre à ce message

  • 6

    Ce plugin ne fonctionne tout simplement pas ! il demande CONTACTS en version 5.1.0, version qui n’existe pas !

    • Bonjour,

      Merci pour ce commentaire pas très encourageant !

      Plusieurs choses :

      • c’est mieux si tu précises quelle version de spip tu utilises
      • en fait ce n’est pas ce plugin qui ne fonctionne pas mais c’est le plugin Contacts & Organisations qui n’a pas créé d’archive compatible avec SPIP 4.0 ou SPIP 4.1. Et donc la version 5.1.0 existe bien mais le tag n’est pas créé.
      • enfin, le plugin ne nécessite pas Contacts & Organisations mais l’utilise si besoin. Donc il est possible de faire sans.

      En conclusion, par rapport à ton commentaire, je dirais que le plugin fonctionne, tout simplement. Par contre, je t’enjoins de laisser un message sur la page du plugin Contacts & Organisations.

    • Merci pour ta réponse. Je comprends. Par contre force est de constater une fois de plus le manque de concertation entre les développeurs de plugins (pourquoi mettre une dépendance avec un plugin qui n’est pas tagué ? Dans ce cas autant prévenir afin que les pauvres utilisateurs désactivent l’autre plugin s’ils veulent utiliser le tien) ... J’utilise SPIP 4.0.7 et 4.1.2
      En tout cas merci pour ta réactivité.

    • Oui comme j’utilise pas les zips mais toujours git pour mes sites je ne pense pas toujours à vérifier ça et en fait j’avais besoin d’une version compatible 4.0.

      J’ai pas vérifié mais j’ai laissé un message pour ceux qui s’en occupe. Après le manque de concertation c’est pas le sujet, le sujet c’est la maintenance des plugins et la logique de distribution.

    • Bonjour, j’ai la même problématique pour installer le plugin

    • Bonjour,

      Il n’y a pas besoin d’installer Contacts & Organisations pour installer ce plugin. Il fonctionne très bien sans. Le seul plugin qu’il nécessite est Cache Factory, les autres sont optionnels donc ils ne peuvent pas bloquer l’installation.

    • Le problème est maintenant être résolu car le TAG 5.1.2 a été fait pour le plugin Contacts.

    Répondre à ce message

  • 4

    Dans une thématique similaire, voici un projet javascript que l’on pourrait porter en plugin SPIP
    https://github.com/jekuer/add-to-calendar-button

    • Dans le même esprit, il serait top d’avoir un modèle qui fonction avec le plugin Agenda et qui permet de télécharger l’ICS de l’événement ou d’ajouter l’événement à un calendrier Google (ou autre...)

    • Absolument, c’est dans la Todo. En plus, il n’est pas utile de développer un modèle, il existe déjà, il suffit de développer la fonction d’extraction des données. Après on peut aussi faire un modèle bouton_rdv_agenda qui serait l’équivalent de bouton_vcard_auteur.

      Je t’avoue que je n’ai plus utilisé Agenda depuis des lustres donc il faudrait juste spécifier un peu mieux le besoin et le périmètre exact.

    • Un besoin fréquent : sur un site qui présente des événements à venir gérés avec Agenda, permettre à l’utilisateur d’importer automatiquement l’événement dans son agenda perso. C’est justement ce que propose le script https://github.com/jekuer/add-to-calendar-button

    • Je viens d’intégrer le plugin Agenda comme source de rdv au même titre que l’auteur. Donc la boite d’infos d’un évènement affiche le lien de téléchargement du fichier ics associé et il est possible d’insérer un lien évènement via un modèle comme pour la vCard d’un auteur.

    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