» AMAP Spip » utilisation du plugin
 
utilisation du plugin

 

Ce qui suit est extrait du manuel :

opendocument text - 427.7 ko
PDF - 937.8 ko

Utilisation dans l’espace rédacteurs

Une fois le plugin et la base installés, vous allez pouvoir commencer à gérer votre Amap. Le plugin propose deux types de formulaires : les formulaires accessibles dans la partie rédacteur d’un site Spip et les formulaires publics.

Pour accéder aux formulaires rédacteurs, vous devez au préalable vous être connecté à l’espace rédacteur du site. Ensuite vous pouvez accéder au gestionnaire AMAP via le bouton « Configuration ». Le choix a été fait de restreindre cet outil aux administrateurs du site. Nous verrons plus tard comment modifier le code si vous souhaitez adopter un autre comportement.

Les formulaires rédacteurs peuvent être complètement indépendants du reste du site. Les formulaires publics reposent eux sur un lien explicite entre certains articles et une saison. C’est ce lien que nous allons aborder dans un premier temps.

La page configuration

Cette page va vous permettre de configurer les saisons et les articles éventuellement associés.

Figure 1 : page configuration / saisons

La table amap_saison La table amap_saison comporte cinq attributs (id_agenda, id_contrat, id_sortie, id_responsable, id_vacance) qui permettent de faire le lien avec cinq articles de Spip.

Chaque article devra être associé à un mot clé : l’article correspondant aux distributions d’une saison donnée sera associé au mot clé « amap_agenda » (c’est à cet article qu’on associera, à l’aide du plugin Agenda, les différentes dates de distribution de la saison) ; L’article « contrat d’une saison donnée » sera associé au mot clé « amap_contrat » ; L’article des « sorties à la ferme » d’une saison donnée sera associé au mot clé « amap_sortie » ; L’article des « responsables de distributions » d’une saison donnée sera associé au mot clé « amap_responsable » ; Enfin l’article des « vacances de paniers » sera associé au mot clé « amap_vacance ».

Vous devez donc définir au préalable ces cinq mots clés dans la partie réservés à cet effet de Spip (via le bouton Édition).

Les articles n’ont pas besoin de contenu. En effet celui-ci sera implémenté via le squelette article.html que vous devrez modifier un peu afin qu’il prenne en compte les données des tables amap. Nous reviendrons sur ce sujet un peu plus tard…

Une fois la saison créée, vous pouvez modifier les attributs en éditant la ligne concernée. Un simple clic sur la ligne correspondant à la saison vous mène alors à ce nouveau formulaire.

Pour créer une nouvelle saison, vous n’avez qu’à appuyer sur le bouton envoyer du formulaire du bas de la page (voir Figure 1).

la table amap_produit C’est grâce à cette table que vous allez pouvoir définir les différents produits de votre AMAP et les associer à un paysan dont le nom sera recherché dans l’annuaire (voir la section III.2 du document).

Figure 2 : page configuration / produits

Bien que ces formulaires soient dans l’ensemble très respectueux de la charte des AMAP, ce dernier point est en contradiction avec le principe 11 de la charte. J’assume cet écart car il correspond en fait au pratique de l’AMAP. En effet sous le terme AMAP, on réunit souvent dans les faits plusieurs paysans à un même groupe de mangeurs/consommateurs. Cette contradiction vient de la confusion historique entre le terme association de l’Association pour le Maintien d’une Agriculture Paysanne (AMAP) qui désigne en fait le partenariat entre le paysan et les mangeurs/consommateurs et l’association loi 1901 qui donne bien souvent un statut officiel au groupe de consommateurs. C’est pourquoi je conseille toujours de nommer l’association de mangeurs/consommateurs « panier de .. ».

Vous pouvez également modifier une ligne de la table amap_produit en cliquant sur la ligne correspondant au produit.

Les autres tables de la page configuration La table amap_banque, accessible via la rubrique « Banques » vous permet de gérer les banques qui seront associées ensuite au règlement des contrats (voir la section III.4 du document).

La table amap_lieu, accessible via la rubrique « Lieux » permet de gérer les différents lieux de distribution. Ces lieux pourront être affectés à différents évènements (voir la section III.3 du document).

Enfin la table amap_type_contrat, accessible via la rubrique « Types de contrat » permet de gérer les différents types de contrat qu’un paysan peut passer avec un mangeur/consommateur : contrat normal, solidaire, etc… Ces types de contrats pourront ensuite être affectés à un tarif (voir la section III.4 du présent document).

La page annuaire

Cette page va vous permettre de gérer l’annuaire de votre Amap. Elle est donc particulièrement destinée aux référents adhérents de l’Amap, chargés d’accueillir les nouveaux amapiens.

Figure 3 : page annuaire

Vous pouvez dans un premier temps lister les personnes présentes dans l’annuaire. Vous avez le choix entre trois statuts : tous, intermittent et paysan.

Les intermittents correspondent aux personnes présentes dans l’annuaire mais qui n’ont pas de contrats. Nous reviendrons sur cette notion dans la partie III.4 du document.

Une fois les personnes de l’annuaire listées, pour pouvez éditer la fiche d’une personne en cliquant sur la ligne correspondante. L’enregistrement d’une nouvelle personne dans l’annuaire se fait à l’aide du dernier formulaire reproduit sur la figure 3.

Le champ auteur vous permet de faire le lien entre l’annuaire de l’Amap et l’identifiant de l’auteur. Ce lien vous permettra notamment de proposer des formulaires publics permettant aux amapiens de s’enregistrer pour des sorties à la ferme, ou pour signaler un panier vacant pour une distribution. Nous reverrons cela dans la partie IV du document.

Je vous conseille donc de créer dans un premier temps les auteurs dans Spip (ou de demander aux amapiens de s’inscrire sur le site). Puis ensuite, de renseigner les personnes dans l’annuaire. Cela évitera ensuite des confusions entre les identifiants d’auteurs et de personnes dans l’annuaire.

La page distribution

Figure 4 : page distribution

Cette page se destine particulièrement aux responsables des distribution de l’Amap. Elle va en effet permettre de définir les différentes distributions d’une saison, puis d’y associer des produits. Enfin, vous pourrez gérer les vacances des différents amapiens, c’est à dire enregistrer dans un premier temps les paniers en vacances, puis dans un second temps les personnes (qui seront souvent des intermittents du panier) qui prendront le panier laissé vacant.

La table amap_evenements La rubrique « Évènements », vous permet de gérer cette table. Le premier formulaire vous permet de lister tous les évènements (c’est à dire les dates) des distributions d’une saison donnée. En éditant une ligne du tableau, vous pouvez par exemple préciser des nouveaux responsables où les changer.

Le formulaire « Mise à jour des évènements à partir de l’agenda » Ce formulaire permet de mettre à jour les distributions enregistrées pour une saison donnée à partir des évènements agenda associés à l’article dont l’identifiant a été renseigné dans la table amap_saison sous l’attribut id_agenda.

La logique est la suivante, si vous souhaitez pouvoir afficher dans votre agenda la composition des paniers, les lieux de distribution, les responsables des distributions etc… Vous allez dans un premier temps créer un article et y associer les différents évènements d’une saison (ces évènements sont stockés dans la table spip_evenements). Cette chose étant faite, vous pouvez maintenant associer les identifiants de ces évènements à la table amap_evenements. En effet, le plugin Agenda gère ses évènements dans la table spip_evenements, le plugin Amap gère ses évènements dans la table amap_evenements. Il est donc intéressant d’établir une correspondance entre les deux tables : c’est le rôle de ce formulaire.

Cela vous permettra en plus d’enregistrer de nouveaux éléments pour chaque événement : le lieu de distribution, les responsable de la distribution.

L’action est la suivante : une boucle parcourt toutes les dates de la table spip_evenements. Si la date d’une ligne de la table spip_evenements est identique à une date d’une ligne de la table amap_evenements, on va seulement mettre à jour les champs de la table amap_evenements correspondant à la ligne donnée (numéro d’identifiant, heure). Si la date de la ligne n’a pas de correspondance dans la table amap_evenements, c’est une nouvelle date, on crée alors une ligne supplémentaire dans la table amap_evenements (reprenant l’identifiant de l’évènement de la ligne de la table spip_evenements et la date).

Ceci vous permet d’avoir une correspondance transparente entre le plugin Agenda et le plugin Amap :
- vous modifiez dans un premier temps les données de la table spip_evenements du plugin Agenda
- vous répercutez ensuite ces changements dans la table amap_evenements du plugin AMAP.

On évite ainsi l’écrasement des données qui peut entraîner des conséquences fâcheuses. En effet, quand vous supprimez une distribution, le moteur de la base de données supprime également toutes les dépendances présentes dans les autres tables… enregistrement d’un nouvel événement Selon le cas, vous pouvez aussi vouloir ajouter un événement supplémentaire en dehors d’un lien explicite à la table spip_evenements. Ce formulaire est fait pour cela..

La table amap_produit_distribution Elle est gérée via la rubrique « Produits » de la page distribution. Vous pouvez ici associer autant de produits que présents à chaque date de distribution. Une date de distribution reste accessible à la sélection tant qu’il existe un produit qui n’a pas été associé à cette date de distribution.

La table amap_vacance Elle est gérée via la rubrique « Vacances » de la page distribution. Une fois la saison et le produit sélectionnés, vous ne trouvez dans le champ de sélection du contrat que les nom des personnes qui ont pris un contrat du produit donné sur la saison sélectionnée. Vous pouvez alors enregistrer les vacances de ces personnes, c’est à dire les distributions où les personnes ne pourront pas venir et où donc ces personnes sont donc en recherche d’un remplacement.

En effet, l’Amap fonctionnant sur le partage de récolte. Les mangeurs/consommateurs pré-achètent une partie de la récolte. Il n’est alors plus question en cours de saison de se faire rembourser un panier parce qu’on ne peut pas venir. D’où l’utilité pour l’Amap de gérer les vacances temporaires de ses adhérents.

Vous pouvez choisir le remplaçant en sélectionnant une personne dans l’annuaire de l’Amap. Une indication « intermittent » vous aidera à trouver plus facilement les intermittents dans la liste (rappel : un intermittent est une personne, présente dans l’annuaire de l’Amap, mais qui n’a pas de contrat). Si le remplaçant est un voisin, un ami, bref que cette personne ne figure pas dans l’annuaire de l’Amap. Vous pouvez utiliser le champ « remplacant externe » prévu à cet effet. Enfin un dernier champ « payé » permet éventuellement pour le(s) responsable(s) de suivre le remboursement des paniers ainsi cédés.

La page contrats

Figure 5 : page de gestion des contrat

La table amap_contrat La rubrique « liste des contrats » va permettre de gérer cette table. Une fois la saison et les produits choisis, vous pouvez ajouter des nouveaux contrats (pour le produit et la saison donnée). Vous pouvez également modifier un contrat en cliquant sur une ligne de la liste.

Chaque contrat peut être ici associé à un type de contrat (définie dans la page Configuration), mais également à une date de début qui correspond à une date de distribution. Le nombre de distributions s’il est indiqué va permettre au programme de vérifier que le règlement est correct.

La table amap_prix La rubrique « tarifs de contrats » va permettre de gérer cette table. Vous pouvez gérer ici le tarif de chaque type de contrat et ceci pour un produit et une saison donnée. Les types de contrat correspondent à ceux définies dans la page Configuration.

La table amap_reglement La rubrique « règlement » va permettre de gérer cette table. En plus de sélectionner une saison et un produit. Vous devez choisir également un contrat sur lequel travailler. Vous pouvez alors préciser les chèques versés pour le contrat (en indiquant éventuellement une banque, une référence et bien sûr le montant).

Le programme effectue un calcul, si la somme des chèques est inférieure à la multiplication du nombre de distributions par le tarif du contrat (pour la saison donnée), le programme vous alerte en indiquant la différence (surlignée en rouge).

La table amap_sortie La rubrique « sorties à la ferme » va permettre de gérer cette table. Vous pouvez définir ici les dates de contrat associées à un produit (et donc à un paysan) et une saison.

La table amap_participation_sortie La rubrique « participations aux sorties » va permettre de gérer cette table. Une fois les dates de sorties définies pour un produit et une saison donnés. On peut alors sélectionner les amapiens qui y participent. Cela permet notamment de mieux gérer le co-voiturage. Cela permettra aussi en fin de saison de voir qui a bien honoré sa part de contrat (qui comporte forcément un minimum d’engagement sur du travail à la ferme).

La page paniers

Figure 6 : page de gestion des paniers

La table amap_panier La rubrique « paniers » va permettre de gérer cette table. Une fois les familles et les variétés définies pour un produit donné, vous allez pouvoir indiquer la composition des paniers pour toutes les distributions de la saison. Comme dans les autres formulaires, vous pouvez également éditer une ligne de la table et ainsi modifier la composition d’un panier.

La table amap_famille_variete La rubrique « familles de produits » va permettre de gérer cette table. Vous pouvez gérer ici les différentes familles de produit. Par exemple pour les légumes : les courges, les radis, les pommes de terre etc..

La table amap_variete La rubrique « variétés de famille » va permettre de gérer cette table. Dans chaque famille, vous pouvez préciser des variétés. Par exemple pour les radis : les roses, les noirs etc..

Utilisation des squelettes

Afin de permettre une exploitation du système d’information à deux niveaux (une partie administrateur et une partie visiteur), les formulaires de l’espace rédacteur ont été complétés par des formulaires simplifiés dans la partie publique. Cette partie du document va se borner à présenter les différents squelettes proposés.

Chacun des cinq squelettes suivants va correspondre en fait aux cinq mots clés présentés dans la partie III. Ces mots clés permettent d’associer des articles (vides) à une saison. Le but de ces squelettes est de justement remplir dynamiquement ces articles à partir des données des tables amap.

Vous retrouverez les squelettes présentés ci-dessous dans le dossier « includes » du plugin. Ces squelettes pourront être appelés par le code suivant judicieusement placé dans votre squelette article.html :

Si vous souhaitez également pouvoir générer des pdf à partir de ces articles, vous devrez de même modifier votre squelette article_pdf.html.

IMPORTANT : Les squelettes amap_agenda et amap_contrat dépendent du plugin agenda et de la table spip_evenements du plugin. Ils ne fonctionneront donc pas si ce plugin n’a pas été installé et que le lien entre la table spip_evenements et la table amap_evenements n’a pas été fait.

Cependant dans une configuration sans le plugin agenda, vous pouvez créer un article par exemple intitulé « Agenda des distributions de la saison 1 » dans lequel vous pouvez insérer l’appel du modèle suivant :

Les dates de distributions pour la saison 1 sont :

date  
17 novembre 2008 composition des paniers
24 novembre 2008 composition des paniers
1er décembre 2008 composition des paniers
8 décembre 2008 composition des paniers
15 décembre 2008 composition des paniers
22 décembre 2008 composition des paniers
29 décembre 2008 composition des paniers
5 janvier 2009 composition des paniers
12 janvier 2009 composition des paniers
19 janvier 2009 composition des paniers
26 janvier 2009 composition des paniers
2 février 2009 composition des paniers
9 février 2009 composition des paniers
16 février 2009 composition des paniers
23 février 2009 composition des paniers
2 mars 2009 composition des paniers
7 mars 2009 composition des paniers
9 mars 2009 composition des paniers
16 mars 2009 composition des paniers
23 mars 2009 composition des paniers
30 mars 2009 composition des paniers
6 avril 2009 composition des paniers
13 avril 2009 composition des paniers
20 avril 2009 composition des paniers
27 avril 2009 composition des paniers
4 mai 2009 composition des paniers
11 mai 2009 composition des paniers
18 mai 2009 composition des paniers
25 mai 2009 composition des paniers
1er juin 2009 composition des paniers
8 juin 2009 composition des paniers
15 juin 2009 composition des paniers
22 juin 2009 composition des paniers
29 juin 2009 composition des paniers
6 juillet 2009 composition des paniers
13 juillet 2009 composition des paniers
20 juillet 2009 composition des paniers
27 juillet 2009 composition des paniers
3 août 2009 composition des paniers
10 août 2009 composition des paniers
17 août 2009 composition des paniers
24 août 2009 composition des paniers
31 août 2009 composition des paniers
4 septembre 2009 composition des paniers
7 septembre 2009 composition des paniers
14 septembre 2009 composition des paniers
21 septembre 2009 composition des paniers
28 septembre 2009 composition des paniers
5 octobre 2009 composition des paniers
12 octobre 2009 composition des paniers
19 octobre 2009 composition des paniers
26 octobre 2009 composition des paniers
2 novembre 2009 composition des paniers
9 novembre 2009 composition des paniers
16 novembre 2009 composition des paniers
23 novembre 2009 composition des paniers
30 novembre 2009 composition des paniers
7 décembre 2009 composition des paniers
14 décembre 2009 composition des paniers
21 décembre 2009 composition des paniers

De plus, vous pouvez exploiter le modèle « amap_contrat » présent dans le dossier modèles, qui permet d’afficher les contrats pour un produit et une saison donnée en paramètre de l’appel du modèle :

Les personnes en contrat pain pour la saison 1 sont :

début contrat 1/2 panier personne tel. fixe tel. portable
24 novembre 2008 oui Stéphane Moulinet 09xxxxxxxx
1er décembre 2008 René Binamé 01xxxxxxxx
24 novembre 2008 oui Jules Tartempion 0476999849
17 novembre 2008 Herka 2
17 novembre 2008 oui Mireille Abeille 5556667770

Squelette amap_agenda Ce squelette est appelé via l’agenda. En effet, si vous avez associé des évènements agenda à un article et que vous avez bien défini le mot clé « amap_agenda » pour cet article, quand vous cliquerez dans l’agenda public sur un événement, l’article correspondant sera automatiquement appelé.

L’url appelé doit comporter l’identifiant de l’article et l’identifiant de l’évènement (c’est à dire le numéro de l’évènement sur lequel l’internaute a cliqué).

Pour cela, vous devez modifier le squelette agenda_mois ainsi : >

#DATE_DEBUT|Agenda_memo_full#DATE_FIN,#TITRE,#DESCRIPTIF,#LIEU,#URL_ARTICLE&id_evenement=#ID_EVENEMENT, calendrier-couleur(#ID_SECTEUR,#HORAIRE
(#DATE

Vous devrez également modifier les squelettes agenda_semaine et agenda_jour afin de prévoir toutes les interactions possibles entre l’internaute et l’agenda.

Ces modifications sont nécessaires car par défaut les squelettes du plugin Agenda ne créent pas de liens comportant l’identifiant de l’évènement appelant.

Squelette amap_contrat Ce squelette est appelé via un lien situé dans le squelette précédent. Il permet d’afficher les contrats (et donc les personnes associées) pour un produit et une saison donnés. Seules les personnes (contrats) qui ont un panier pour la date de distribution choisie sont affichées. Ainsi, le squelette permet de filtrer les contrats débutant un peu plus tard dans la saison.

Le responsable de la distribution n’aura donc plus qu’à imprimer le tableau avant la distribution et à cocher au fur et à mesure que les amapiens viendront chercher leur panier pendant la distribution. Le tableau présente également les vacances et les remplaçants éventuellement associés, si ceux-ci ont été au préalable enregistrés dans le système d’information.

Squelette amap_responsable Ce squelette va permettre de lister les responsables des distributions portant sur des dates postérieures à la date du jour.

De plus les visiteurs pourront se proposer pour assurer une distribution pour chaque date des distributions à venir, à l’aide du formulaire « inscription ». La cohérence du système d’information oblige donc à bien faire correspondre les auteurs de spip avec les identifiants des personnes dans l’annuaire (table amap_personne).

En effet quand un visiteur se connecte au site, Spip ne connaît que l’identifiant de l’auteur connecté. C’est donc le seul lien que le programme a pour identifier l’internaute…

Squelette amap_sortie Ce squelette va lister par produit toutes les sorties à le fermes prévues pour la saison. Un formulaire permet de plus de s’inscrire aux sorties postérieures à la date de connexion.

Une fois encore le formulaire repose sur une correspondance entre les auteurs spip et l’annuaire de l’AMAP. Nous recommandons donc une nouvelle fois de créer les fiches dans l’annuaire à partir des logins des auteurs (voir la section III.2 du document).

Squelette amap_vacance Ce squelette liste toutes les vacances de la saison (seules les dates de distribution postérieures à la date de connexion sont en fait listées), c’est à dire toutes les personnes qui ne pourront pas venir chercher leur panier à une distribution de la saison. C’est pourquoi le squelette propose une formulaire qui permet aux personnes connectées de se proposer pour prendre le panier vacant.

Un deuxième formulaire permet à la personne connectée d’inscrire une vacance pour la saison, c’est à dire de proposer son panier aux autres amapiens.

 
 
Publié le samedi 15 novembre 2008
Mis à jour le vendredi 21 novembre 2008

 
 
 
Les autres articles de cette rubrique :
 
Publié le samedi 15 novembre 2008 par stephane
Mis à jour le vendredi 12 juin 2009
 

 
Accueil     |    Plan du site     |    Espace rédacteurs     |    Se connecter