Configuration
La configuration du plugin permet d’ajouter, activer, ordonner et configurer les modules de paiement que vous souhaitez utiliser ainsi que les notifications [1].
L’ordre dans lequel vous positionnez les modules de paiement dans cette configuration sera l’ordre dans lequel ils seront proposés aux visiteurs sur les pages de paiement.
Paiements à l’acte
Paiements à l’acte par Carte Bancaire
Le plugin permet les paiements uniques par Carte Bancaire avec
- les banques Banque Populaire, Banque Postale, B.N.P., Caisse d’épargne, C.I.C., Crédit Agricole, Crédit du Nord, Crédit Mutuel, HSBC, LCL, Natixis, O.B.C., O.S.B., Société Générale ;
- Ogone, Paybox, Paypal, Paypal Express Checkout, Payzen, Stripe.
Paiements à l’acte par SEPA
Les paiements à l’acte sont possibles par SEPA via le prestataire Payzen.
Paiements à l’acte par Chèque
Les paiements par chèque sont pris en compte par un module dédié.
Paiements à l’acte par Virement
Les paiements par virement sont pris en compte par un module dédié.
Paiements à l’acte sur la facture du fournisseur Internet
Le module de paiement Internet+ permet le paiement des petits montants directement via la facture du fournisseur Internet du visiteur.
Simulation du paiement
Le plugin permet également la simulation du paiement en phase de développement du site.
Paiements récurrents
Paiements récurrents par Carte Bancaire
Les paiements récurrents sont possibles par Carte Bancaire via les prestataires Paybox, Payzen et Stripe.
Paiements récurrents par SEPA
Les paiements récurrents sont possibles par SEPA via le prestataire Payzen.
Paiements récurrents sur la facture du fournisseur Internet
Le module de paiement Internet+ permet le paiement récurrent de petits montants directement via la facture du fournisseur Internet du visiteur.
Notifications
Le plugin génère un ticket d’achat comportant les informations techniques de chaque paiement, et vous pouvez configurer l’adresse email qui recevra ce ticket ainsi que l’email expéditeur.
Il en est de même pour le récapitulatif journalier des paiements : indiquez l’adresse qui recevra ce récapitulatif par mail.
Suivi des transactions
Avant tout affichage du formulaire de paiement, une transaction est créée en base avec toutes les informations concernant le paiement (prix, prix HT, id_auteur ou email associé, date de la transaction).
Le menu Activités > Transactions permet de retrouver la liste de toutes les transactions et de les trier par statut :
- OK pour les transactions dont le paiement a été réalisé
- Commande pour les transactions créées mais qui restent en attente de paiement
- Attente pour les transactions dont le paiement a été initié par un mode qui ne permet pas l’encaissement instantané (chèque, virement)
- Echec lorsqu’une tentative de paiement a eu lieu mais n’a pas réussi. Le code d’erreur est alors visible au survol du statut de la transaction
- Abandon pour les transactions abandonnées (si votre site permet l’abandon de commandes par exemple)
- Remboursées pour les transactions remboursées à posteriori
Pour chaque transaction la liste affiche le mode de paiement utilisé (nom et identifiant du module de paiement), le numéro d’autorisation, dont le format dépend du module de paiement, et le lien vers l’auteur si il est connu.
Certaines transactions peuvent avoir le mode ’gratuit’ indiqué. Ce « mode de paiement » est automatiquement utilisé lorsqu’on demande le paiement d’une transaction dont le montant est nul (cas de remises ou cadeaux), il se compose d’un simple bouton de validation, mais permet le passage dans tout le processus de paiement, comme pour le paiement via une plateforme externe.
La recherche permet de retrouver une transaction par son numéro d’autorisation, ou toutes les transactions utilisant un mode de paiement particulier.
Squelettes
#FORMULAIRE_PAYER_ACTE
Ce formulaire permet de proposer un formulaire de paiement.
[(#FORMULAIRE_PAYER_ACTE{10,
#ARRAY{
montant_ht,8,
id_auteur,#ID_AUTEUR,
}
})]
La transaction est automatiquement créée. Les arguments sont les mêmes que pour l’API inserer_transaction ci-dessous.
modeles/payer_acte.html
Ce modèle permet d’afficher le formulaire de paiement pour une transaction existante :
<INCLURE{fond=modeles/payer_acte,id_transaction,env} />
Les modules de paiements à l’acte activés et configurés seront utilisés pour proposer les modes de paiement aux visiteur.
modeles/payer_abonnement.html
Ce modèle permet d’afficher le formulaire de paiement récurrent pour une transaction existante :
<INCLURE{fond=modeles/payer_abonnement,id_transaction,env} />
Les modules de paiements récurrents activés et configurés seront utilisés pour proposer les modes de paiement aux visiteurs.
modeles/transaction_details.html
Ce modèle est utilisé pour afficher le détail du paiement de la transaction, par exemple sur les factures (via un plugin externe). Vous pouvez le surcharger pour afficher une liste de produits associée à la transaction et qui en constituent le prix par exemple.
content/payer.html
Ce squelette affiche le contenu minimum d’une page de paiement d’une transaction.
content/bank_retour_ok.html
Ce squelette fournit le contenu de la page de retour après paiement réussi. Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_ok
fonctionnelle qui est nécessaire au fonctionnement du plugin.
content/bank_retour_attente.html
Ce squelette fournit le contenu de la page de retour après un paiement en attente d’encaissement (typiquement lors du paiement par chèque ou virement). Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_attente
fonctionnelle qui est nécessaire au fonctionnement du plugin.
content/bank_retour_echec.html
Ce squelette fournit le contenu de la page de retour après paiement échoué. Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_echec
fonctionnelle qui est nécessaire au fonctionnement du plugin.
API
inserer_transaction
$inserer_transaction = charger_fonction('inserer_transaction','bank');
$id_transaction = $inserer_transaction($montant,$options);
Paramètre | |
string $montant | montant a payer |
array $options | tableau d’options |
string montant_ht | Montant HT du paiement |
int id_auteur | id_auteur associé à la transaction |
string auteur_id | autre identifiant de l’auteur |
string auteur | nom ou email de l’auteur |
string parrain | parrain/tracking associé à la transaction |
int tracking_id | numéro de tracking |
bool force | false pour recycler une transaction identique encore au statut commande (par défaut), true pour forcer la creation d’une nouvelle transaction |
array champs | autre champs ajoutés a la transaction |
La fonction retourne l’id_transaction de la transaction créée, ou 0 en cas d’erreur.
Pipelines
Les pipelines suivants permettent de s’insérer dans le processus de paiement et de personnaliser selon vos besoins.
bank_dsp2_renseigner_facturation
Ce pipeline sert a renseigner les informations personnelles (nom et adresse de facturation, email) de la personne réalisant l’achat et avec le passage à la DSP2 il est fortement recommandé de les renseigner pour faciliter le paiement et éviter que les banques ne demandent systématiquement une authentification de type 3DSv2
bank_pre_facturer_reglement
Le pipeline est appelé après le règlement d’une transaction, avant facturation éventuelle de la transaction. Le pipeline peut servir a créer un compte client post-achat (mais avant facturation). Il a le même format de données que bank_traiter_reglement. Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']
bank_facturer_reglement
Le pipeline est appelé après le règlement d’une transaction, lorsqu’on peut facturer la transaction (si nécessaire). Le pipeline est utilisé par un éventuel plugin de facturation. Il a le même format de données que bank_traiter_reglement.
Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']
bank_traiter_reglement
Le pipeline est appelé lors du règlement d’une transaction
Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']
bank_traiter_remboursement
Le pipeline est appelé lors du remboursement d’une transaction. Le format des données est le même que pour le pipeline bank_traiter_reglement.
bank_editer_ticket_reglement
Le pipeline est appelé après le règlement d’une transaction, lors de l’édition du ticket de paiement (ticket interne, à destination des administrateurs du site et non du client).
bank_redirige_apres_retour_transaction
Le pipeline est appelé au moment de déterminer l’URL de retour après transaction. Par défaut on retourne vers l’une des URLs ?page=bank_retour_ok
, ?page=bank_retour_attente
ou ?page=bank_retour_echec
mais ce pipeline permet de modifier ce comportement pour changer la page de retour en fonction du module de paiement utilisé ou d’autres paramètres liés à la transaction.
trig_bank_notifier_reglement
Le pipeline est appelé après le règlement, pour notifier le bon règlement. Il a le même format de données que bank_redirige_apres_retour_transaction.
trig_bank_reglement_en_attente
Le pipeline est appelé lorsqu’une transaction est marquée en mode de paiement chèque ou virement, et que le règlement effectif devra attendre la réception du chèque ou virement. Cela permet par exemple d’envoyer un mail aux administrateurs ou au client.
trig_bank_reglement_en_echec
Le pipeline est appelé lorsqu’un échec ou un abandon de paiement est constaté sur une transaction.
API Abonnements
Le plugin prend en charge les paiements récurrents, mais pas du tout les abonnements associés à ces paiements récurrents qui sont du ressort d’un autre plugin.
Une API est fournie et doit être implémentée pour le bon fonctionnement des paiements récurrents.
Pour ces 4 fonctions une implémentation minimale incomplète est fournie dans le dossier abos/
du plugin et contient les informations nécessaires pour son implémentation complète. Pour chacune on pourra réaliser l’implémentation par le pipeline idoine, ou par surcharge du fichier, selon les cas.
abos/decrire_echeance
Cette fonction est appelée lors de l’affichage du formulaire de paiement récurrent, pour connaître le détail de la récurrence : périodicité, montant des échéances (qui peut être différent du montant du premier paiement), numéro d’offre abonnement pour Internet+
abos/activer_abonnement
Cette fonction est appelée après que le premier paiement ait été reçu. Elle a en charge l’activation de l’abonnement lié à la transaction.
Attention, dans le cas où le paiement de la première transaction est à encaissement différé (SEPA par exemple), la fonction sera appelée une première fois à l’enregistrement du mode de paiement (avec la transaction en statut attente
) et une seconde fois quand le paiement de la transaction sera effectivement encaissé. Il convient donc de vérifier le statut de la transaction pour décider d’activer ou non l’abonnement (avec une période d’essai par exemple).
abos/preparer_echeance
Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent. La fonction doit créer une nouvelle transaction correspondant à l’échéance attendue de l’abonnement concerné et la retourner pour permettre la prise en compte du bon paiement ou du rejet du paiement de cette transaction.
abos/renouveler_abonnement
Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent réussi, après avoir traiter le règlement de la transaction correspondant à l’échéance. Elle peut par exemple se charger de prolonger la date de validité de l’abonnement jusqu’à la prochaine échéance.
abos/resilier
Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent échoué.
Discussions par date d’activité
30 discussions
Re-bonjour, notre banque, la BNP, nous annonce qu’ils vont abandonner Mercatornet. Ils vont migrer à un système appelé AXEPTA ( ou Mercanet V2)
Avez-vous des infos sur sur nouveau système ? Sera-t-il compatible avec le plugin Bank ?
Merci encore,
Éric LM
De ce que je lis sur https://docs.axepta.bnpparibas/pages/viewpage.action?pageId=37193511 je ne pense pas que ça marchera et cela semble ne pas être une API déjà implémentée dans le plugin bank (ce serait basé sur PayGate ?). Il faudra(it) donc développer une version Mercanetv2 dans le plugin pour pouvoir continuer à utiliser le plugin avec cette nouvelle interface.
Bonjour @cerdic merci pour ta réponse. Je vais apporter une précision à ma question :
- Il y a effectivement le nouveau système de paiement appelé Axepta, et je comprends qu’elle ne fonctionnera pas avec le plugin Bank.
- Mais on peut également remplacer la plateforme de paiement existante Mercanet par une plateforme Mercanet V2, différente de Axepta. La documentation de Mercanet 2 est ici : https://documentation.mercanet.bnpparibas.net/index.php?title=Accueil
Il y a déjà des plugins développés pour certains CMS
Est-ce que cette plateforme Mercanet V2 pourra fonctionner avec Bank ?
Merci, très bonne journée !
Éric LM
Ah oui j’avais mal compris ta phrase initiale : il y a donc 2 possibilités.
Mercanet reposait sur SIPS, si Mercanet v2 repose bien sur SIPS v2 alors ça devrait pouvoir marcher cf Module de Paiement SIPS
De ce que je vois j’avais bien prévu le support de mercanet dans le module SIPSv2, mais je me souviens plus si c’est par mimétisme des autres banques ou si j’ai eu un cas d’utilisateur réel.
A tester...
(mais bon les banques ne sont pas les interlocuteurs les plus réactifs et souples sur le paiement en ligne...)
Merci @cerdic ! Si j’ai des retours de la banque, je te tiens au courant. Bonne journée !
Bonjour, j’ai mis un message sur le Git du plugin https://github.com/nursit/bank/issues mais je ne suis pas trop habitué à Git, et je ne sais (je pense que oui...) si les auteurs du plugin sont prévenus.
Simplement, pour donner suite à cette conversation, et pour signaler qu’il y a un problème avec la version Mercanet 2 de la BNP. (expliqué sur le ticket ouvert)
Si je peux être utile pour des tests, je suis à votre disposition, mais compte-tenu de la complexité du problème, je ne sais pas trop où regarder.
Éric LM
Répondre à ce message
Bonjour,
pour info et aide si possible ;) je viens de mettre à jour le plugin version 5.1.1 sur un SPIP 3.2.14 et j’obtiens une page d’erreur :
L210 : You passed an empty string for ’line_items[0][description]’. We assume empty values are an attempt to unset a parameter ; however ’line_items[0][description]’ cannot be unset. You should remove ’line_items[0][description]’ from your request or supply a non-empty value.
sur un autre SPIP 3.2.14 avec plugin version 5.0.13 ça roule.
Laëtitia
Bonjour,
je rajoute une info à l’erreur que je rencontre, une fois que les adresses de livraison et facturation sont remplies on passe au paiement c’est a ce moment que la page de debug s’affiche,
il s’agirait d’un souci stripe : squelettes/presta/stripe/lib/stripe-php-6/lib/ApiRequestor.php
je vois pas quoi faire.
Laëtitia
Répondre à ce message
Bonjour,
Est-ce que ce module peut fonctionner avec UP2PAY E-TRANSACTIONS DU Crédit Agricole ?
En principe oui, via le module Paybox https://contrib.spip.net/Module-de-Paiement-Paybox car le module de paiement du Crédit Agricole utilise les services de Paybox en marque blanche
Merci pour l’information, je vais tester de ce pas.
Je confirme que UP2PAY du Crédit Agricole fonctionne parfaitement avec le module paybox.
Il faut simplement laisser le champ DIRECT_PLUS_CLE vide.
Merci pour ce plugin !
Répondre à ce message
Bonjour à tous, j’ai un problème avec Formidable + paiement avec Formidable + Bank
Versions utilisées :
Spip 3.2.14 - PHP 7.2
Formidable 4.15.4
Formulaire de paiement 2.0.0
Banque&paiement 5.0.13
J’ai mis à jours ces plugins il y a quelques temps, ainsi que le PHP.
Je gère un formulaire d’adhésion et de règlement en ligne de la cotisation.
Dernièrement, nous avons constaté que le passage au paiement ne se fait plus, et lorsqu’il valide son le formulaire, l’utilisateur reçoit le message : Fichier inserer_transaction introuvable
La page d’adhésion est ici : https://www.lappel.org/spip.php?page=adhesion
J’ai voulu redescendre à des versions inférieures des plugins, (avant tout fonctionnait) mais cela n’est pas possible.
Avez-vous une idée de l’origine de ce problème ?
Merci, et bonne journée,
Éric LM
PS : j’ai mis ce message sur le forum Spip, mais n’étant pas sûr d’être au bon endroit, je le poste à nouveau ici. Je vous prie de m’excuser si cela fait double emploi.
Ce n’est pas un message normal. Avec un peu plus d’infos qu’il doit y avoir dans les logs ce serait plus facile, mais je suppose que l’erreur se produit là
https://git.spip.net/spip-contrib-extensions/formidablepaiement/src/branch/master/traiter/paiement.php#L64
mais la fonction et le fichier sont bien dans le plugin
https://github.com/nursit/bank/blob/master/bank/inserer_transaction.php#L32
sauf si tu as fait la mise à jour par FTP et que ça a foiré et il te manque un fichier, ou bien parce que il y a un opcache qui colle chez ton hébergeur et il faut restart php suite à la mise à jour du plugin ?
Merci. Alors j’ai tout désinstallé, j’ai tout ré-installé, et cela fonctionne. Je suppose qu’il y a eu « un truc » à la mise à jour. Merci pour ta remarque, c’est elle qui m’a poussé à faire le ménage, partant du principe que « cela devait fonctionner ! »
Bonne journée,
Éric LM
Répondre à ce message
Bonjour à tous, j’ai fait une mise à jour du plugin bank, et depuis, je ne peux plus accéder à la configuration.
Le plugin bank est dans sa version 5.0.13
La page / ?exec=configurer_bank me renvoit le message suivant :
Parse error: syntax error, unexpected '*' in /home/lappel/www/plugins/auto/bank/v5.0.13/inc/bank_devises.php on line 213
Est-ce que cette erreur pourrait être due à un PHP trop ancien ?
Merci,
Éric LM
Bon, j’ai corrigé. À la ligne 213 de
/inc/bank_devises.php
Il y a une * en trop.$coeff = 10 ** $fraction;
J’ai corrigé. ça marche pour moi, mais je pense que d’autres vont avoir des surprises
Merci,
Éric LM
Il semble que $fraction soit la puissance de 10. Exemple : $fraction = 3 => $coeff = 1000. Donc ** serait bon.
Merci !... Est-ce que cette erreur pourrait être liée à la version de PHP ?
Manifestement, avec un PHP 7.2, ça fonctionne. Désolé pour le bruit. Merci !
Répondre à ce message
Bonjour,
Un client souhaite intégré https://www.helloasso.com/ comme mode de paiement.
Cette plateforme propose une solution d’encaissement en ligne sans frais pour les associations, classe non ?
Quelqu’un connait ?
Cordialement.
JuL
helloasso n’est pas un prestataire de paiement proprement dit, ie il n’a pas à ma connaissance d’API pour gérer des paiements que l’on pourrait utiliser.
C’est une plateforme qui propose des solutions prêtes à l’emploi pour les associations, dont des formulaires de paiement ou d’adhésion ou don.
Mais je crois que tout doit se passer sur leur plateforme et donc tu peux pas connecter helloasso avec SPIP.
Dans le meilleur des cas tu dois pouvoir intégrer un formulaire de paiement en iframe sur ton site.
Helloasso « est partenaire de Lemonway, établissement de paiement agréé par l’ACPR en France le 24/12/2012 sous le numéro 16568J » (cf en bas de leur site).
Il est possible d’intégrer des boutons de paiment / des Iframe Helloasso sur son propre site d’association.
Ce serait donc l’API de LemonWay qu’il faudrait intégrer ?
https://apidoc.lemonway.com/
Je comprends bien que cela ne garantit pas de profiter des avantages d’HelloAsso en terme de gratuité.
Je vais creuser la question.
Bonjour !
La solution Helloasso a-t-elle pu être testée et intégrée finalement ?
Il y a effectivement un API disponible.
Merci !
Il y a un ticket ouvert https://github.com/nursit/bank/issues/78 mais encore faut-il que quelqu’un en ait besoin et soit suffisamment motivé pour faire le développement/proposer une PR (ou le financer)
Répondre à ce message
Bonjour
Est-ce qu’il est envisagé d’inclure la possibilité de paiement par PayPlug ?
Merci
Oui cela semble être l’alternative française à Stripe, la réponse à cette question m’intéresserait aussi :-)
J’ai pas eu de demande concrète d’utilisation de PayPlug, donc je n’ai pas regardé ; c’est bien de pouvoir rôder l’interface avec une API de paiement sur un projet réel, car dans la vraie vie c’est toujours un peu plus compliqué que ce que dit la doc de ces API et il y a des petits cas tordus par-ci par là.
Pour du paiement à l’acte ça doit pas être très compliqué cela dit, et c’est donc surement possible. Mais pas dans mon planning (pour le moment ;) )
Ok merci pour le retour.
J’ai exploré le site de Payplug mais j’ai quand même un peu des doutes sur le fait que ce soit une alternative réelle à Stripe.
Tout d’abord par le fait qu’il y ait un abonnement mensuel même pour la version « starter » ... ok c’est bas (10€/mois) mais la commission est alors de 1,6% + 0,25/transaction donc déjà plus cher que Stripe qui n’a pas d’abo et une commission à 1,4%+0,25/t. L’avantage décisif pour Stripe c’est l’absence d’abonnement, ce qui parle aux activités en démarrage, aux petits budgets, aux assocs, etc ...
Ensuite en Pro l’abo est de 30€/mois avec une commission de 0,8%+0,15/t et là ça devient plus cher que la solution Crédit Mutuel qui est à 20,40€/mois et 0,8%+0,10/t ...
Perso je n’arrive pas à croire que les banques françaises, y compris Natixis le propriétaire de Payplug, avec les marges et bénéfices qu’elles dégagent annuellement, ne soient pas capables de nous pondre un concurrent sérieux à Stripe, en terme de tarification pour Payplug qui semble ok techniquement et ergonomiquement, en terme de tarification et de techniques pour les autres Atos et consorts ... dans 10 ans ils vont tous pleurer que les jobs sont partis en Californie :-(
Bref ...
Effectivement auparavant PayPlug proposait une tarification sans abonnement idéale pour les petites structures, mais elle vient d’être supprimée. Ceux qui l’avaient souscrite peuvent encore en bénéficier mais elle n’est plus accessible aux nouveaux venus. :-((
Merci pour les retours.
Bonjour
j’ai conservé la tarification sans abonnement de Payplug et j’avais réussi à l’intégrer dans bank.
Leur API a bien changé avec l’objet Payment qui est devenu une classe (ce qui permet d’obtenir une adresse d’appel différente à chaque paiement)
Impossible de l’intégrer dans le module de paiement sans mettre le bazar.
Si quelqu’un a une piste :
https://docs.payplug.com/api/apiref.html
Répondre à ce message
Bonjour,
Sur GitHub il y a une version 5.0.3 annoncée compatible Spip4, mais comme je ne la vois pas ici, je pose la question :-) Elle est utilisable sur un site avec des paiements via Formidable ?
Merci d’avance ! Pierre
En effet, je suis toujours prudent avec les grosses nouvelles releases de ce plugin avant de les envoyer dans la nature.
Je n’ai donc pas encore taggué de version 5.0.x, j’attendais d’avoir un peu de recul sur le fonctionnement du plugin en production sur quelques sites que je gère. Mais je pense qu’on est bon, je vais donc m’occuper de publier une version 5 qui marche avec SPIP 4 et avec paiement avec formidable toujours
Bonjour,
Ok merci, je vais éventuellement mettre à jour, ça fera un test de plus :-) Merci pour la réponse et pour ce plugin que j’utilise sur une 10 aine de sites qui ne demandent qu’à passer en 4 !!
Pierre
Bonjour,
Ok j’ai mis ce site à jour en v4, tous mes tests (avec Stripe en test) sont bons ! Merci !
Pierre.
Répondre à ce message
Moyens de paiement disponibles
Bonjour à tous, j’utilise Formidable, Paiement avec Formidable, et Bank. Les plugins sont à jour, je suis sous Spip 3.2.11 Notre banque est la BNP et j’ai activé comme Prestataire de paiement SIPS, et j’ai renseigné les différents éléments pour MercatorNet.
Tout fonctionne, et lorsque j’arrive aux moyens de paiement proposés, je vois apparaître 3 logos de cartes bancaires : CB, Visa, Mastercard.
Or je voudrais également autoriser American Express. Où cela se fait-il ?
Merci pour votre aide. Et bonne journée !
Éric LM
Répondre à ce message
Bonjour,
Je souhaiterais pouvoir donner les droits a un admin ou admin restreint de pouvoir voir le bouton payer, sur la liste des transaction.
Je n’ai pas trouvé l’autorisation correspondante utilisé dans la liste
#AUTORISER{payer,transaction}
Une surcharge de celle ci dans les autorisations de mon plugin ne me donne pas de résultats ...
Merci de vos réponses éventuelles ou idées ;-)
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 :
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.
Suivre les commentaires : |