No description
Find a file
2024-03-29 11:41:50 +01:00
.github Fix project name 2024-03-29 11:36:08 +01:00
assets fix unseen link (#696) 2024-03-26 14:43:32 +01:00
bin First commit of project EBS 2023-12-21 08:49:38 +01:00
config chore: replace "PlatformCoop" by "Plateform EBS" (#694) 2024-03-26 14:44:08 +01:00
docker First commit of project EBS 2023-12-21 08:49:38 +01:00
docs Update README.md (#702) 2024-03-29 11:29:27 +01:00
fixtures Update page.yaml 2024-03-26 14:44:45 +01:00
helm/chart Fix project name 2024-03-29 11:36:08 +01:00
migrations First commit of project EBS 2023-12-21 08:49:38 +01:00
public Restore storage volumes docker-compose-override (#701) 2024-03-26 14:44:57 +01:00
src Add image in fixtures (#699) 2024-03-26 14:44:20 +01:00
templates fix: change "A récupérer" by "Lieu de la prestation" for services (#698) 2024-03-26 14:43:46 +01:00
tests chore: some changes for test fixtures (#697) 2024-03-26 14:43:59 +01:00
translations chore: replace "PlatformCoop" by "Plateform EBS" (#694) 2024-03-26 14:44:08 +01:00
.dockerignore First commit of project EBS 2023-12-21 08:49:38 +01:00
.editorconfig First commit of project EBS 2023-12-21 08:49:38 +01:00
.env Fix project name in doc 2024-03-29 11:27:12 +01:00
.env.test First commit of project EBS 2023-12-21 08:49:38 +01:00
.eslintrc.json First commit of project EBS 2023-12-21 08:49:38 +01:00
.gitattributes First commit of project EBS 2023-12-21 08:49:38 +01:00
.gitignore First commit of project EBS 2023-12-21 08:49:38 +01:00
.php-cs-fixer.dist.php First commit of project EBS 2023-12-21 08:49:38 +01:00
.trivyignore First commit of project EBS 2023-12-21 08:49:38 +01:00
composer.json First commit of project EBS 2023-12-21 08:49:38 +01:00
composer.lock First commit of project EBS 2023-12-21 08:49:38 +01:00
composer.md First commit of project EBS 2023-12-21 08:49:38 +01:00
docker-compose.override.yml Restore storage volumes docker-compose-override (#701) 2024-03-26 14:44:57 +01:00
docker-compose.override.yml.dist First commit of project EBS 2023-12-21 08:49:38 +01:00
docker-compose.prod.yml First commit of project EBS 2023-12-21 08:49:38 +01:00
docker-compose.yml First commit of project EBS 2023-12-21 08:49:38 +01:00
Dockerfile First commit of project EBS 2023-12-21 08:49:38 +01:00
ERRORS.md Fix project name in doc 2024-03-29 11:27:12 +01:00
LICENSE fixed: LICENSE 2023-12-21 10:08:22 +01:00
Makefile First commit of project EBS 2023-12-21 08:49:38 +01:00
package.json First commit of project EBS 2023-12-21 08:49:38 +01:00
phpstan.neon First commit of project EBS 2023-12-21 08:49:38 +01:00
phpunit.xml.dist First commit of project EBS 2023-12-21 08:49:38 +01:00
README.md Update README.md 2024-03-27 12:17:29 +01:00
rector.php First commit of project EBS 2023-12-21 08:49:38 +01:00
symfony.lock First commit of project EBS 2023-12-21 08:49:38 +01:00
webpack.config.js First commit of project EBS 2023-12-21 08:49:38 +01:00
yarn.lock First commit of project EBS 2023-12-21 08:49:38 +01:00

EBS - Plateforme d'échange de Biens & Services

Contexte

Le logiciel est destiné aux porteurs de projets qui souhaitent développer une plateforme coopérative à une échelle territoriale locale (ville, EPCI, département, région Hauts-de-France) et ce dans une fédération dinstances de plateformes coopératives.

Ce logiciel propose une plateforme d'échange de biens et services au sein d'une communauté. La plateforme propose un moyen de rentrer en contact avec quelquun pour permettre cet échange : soit en tant que prêteur, qui propose un objet, soit en tant quemprunteur, qui lutilise.

Pour les administrateur·rice·s de la plateforme, elle est personnalisable en configurant les fonctionnalités disponibles et en personnalisant les contenus via lespace dadministration.

La plateforme a été conçue au format responsive pour être utilisée tant sur ordinateur quappareil mobile (tablette ou smartphone).

Une démo de la plateforme est disponible : Voir la démo.

Licence

Le code est disponible sous licence AGPL (Affero General Public License). Voir les détails sur cette page.

Fonctionnalités

Interface dadministration

La plateforme dispose dune interface dadministration, utilisant EasyAdmin, accessible aux utilisateur·rice·s disposant du rôle “administrateur·rice”.

Les administrateur·rice·s peuvent être ajoutés ou supprimés via linterface dadministration.

Utilisateur·rice·s

Les utilisateur·rice·s peuvent sinscrire librement sur la plateforme avec une adresse e-mail valide. Le processus de création de compte se fait en 2 étapes : saisie de ladresse e-mail, envoi dun lien de vérification de ladresse e-mail, puis saisie du profil.

La plateforme propose aux utilisateur·rice·s de choisir entre 2 types de profils : individuel ou lieu

  • Utilisateur·rice individuel Un individu sinscrit en saisissant : prénom, nom, adresse e-mail, mot de passe (8 caractères minimum). Il pourra compléter ensuite son profil en ajoutant les données optionnelles : avatar, description, catégorie dobjets/services préférée, numéro de téléphone. Pour créer des objets/services, il devra également saisir une adresse.

  • Utilisateur·rice de type lieux Un lieu partenaire est un espace physique qui sert de stockage et de récupération des objets proposés dans les annonces, comme par exemple une objetothèque. Il est possible de filtrer le formulaire de recherche dannonce par lieu partenaire.

Un lieu sinscrit en saisissant : nom, adresse e-mail, mot de passe (8 caractères minimum). Il pourra compléter ensuite son profil en ajoutant les données optionnelles : avatar, description, catégorie dobjets/services préférée, horaires, numéro de téléphone. Pour créer des objets/services, il devra également saisir une adresse.

Les utilisateur·rice·s disposent dun profil visible via la fiche de ses objets ou lannuaire des groupes dont il est membre.

Chaque utilisateur·rice pourra se connecter à son espace en ligne, ainsi que demander la réinitialisation de son mot de passe via la plateforme.

Les profils des utilisateur·rice·s peuvent être consultés dans linterface dadministration. Il est également possible de transformer un compte utilisateur·rice en compte administrateur·rice via linterface dadministration.

Système déchange

Objets et services

Un bien ou un service peut être proposé par un utilisateur·rice Prêteur à des utilisateur·rice·s Emprunteurs.

Il peut être créé par un utilisateur·rice individuel ou lieu librement via son compte utilisateur·rice, en saisissant les informations suivantes :

Champ Obligatoire / Facultatif Détails
Titre Obligatoire
Catégorie Obligatoire
Description Obligatoire
Âge de lobjet Objet uniquement
Durée de la prestation Service uniquement
Montant de la caution
Durée demprunt souhaité
Photos Si aucune photo nest saisie, limage par défaut de la catégorie sera utilisée.
Visibilité : publique ou uniquement pour certains groupes

Lobjet ou service peut avoir le statut : en ligne ou en pause. Lutilisateur·rice propriétaire de lobjet/service peut modifier librement le statut via son compte utilisateur·rice.

Lutilisateur·rice peut également renseigner des périodes dindisponibilités de lobjet ou service, il ne sera alors pas possible de faire une demande demprunt à ces dates.

La plateforme propose un traitement similaire aux objets et aux services.

Les objets et services peuvent être consultés par les administrateur·rice·s dans linterface dadministration. Les services peuvent être activés ou désactivés pour l'instance, via l'espace d'administration.

Catégories

Chaque objet ou service est associé à une catégorie ou sous-catégorie. Les catégories et sous-catégories sont administrables dans linterface dadministration : nom de la catégorie, image par défaut, catégorie parente (si sous-catégorie).

Limage par défaut de la catégorie/sous-catégorie est affichée pour les objets et services de cette catégorie nayant pas ajouté dimage.

Rechercher un objet ou un service

La plateforme permet de parcourir les objets ou services proposés librement sans être connecté. Les objets et services affichés seront tous ceux disponibles pour lutilisateur·rice qui consulte. Seront donc masqués : les objets et services en pause, ceux dutilisateurs “en vacances” ou désactivés, les objets et services dont la visibilité est restreinte à certains groupes dont lutilisateur·rice qui consulte ne fait pas partie.

Il est également possible de filtrer les objets et services par : catégorie, utilisateur·rice·s de type lieu (exemple : consulter tous les objets de lobjetothèque de ma ville), par une ville et rayon autour de la ville. Pour cela, la plateforme utilise le service MellieSearch.

Faire une demande demprunt

Depuis la fiche dun objet il est possible de faire une demande demprunt. Le calendrier des disponibilités de lobjet/service affiche les jours disponibles et indisponibles (saisis par le prêteur ou ayant déjà un emprunt en cours). Lemprunteur saisit les dates de début et fin souhaitées pour lemprunt, et envoie sa demande au prêteur.

Une conversation entre le prêteur et lemprunteur est alors créée, il sagit dun espace libre de conversation entre eux.

Le prêteur devra autoriser la demande demprunt, qui sera ensuite confirmée par lemprunteur. Les 2 utilisateur·rice·s se mettent alors daccord entre eux sur les détails de lemprunt. Le jour de la fin de lemprunt, lemprunt est automatiquement terminé, aucune action spécifique des 2 utilisateur·rice·s nest nécessaire.

Lemprunt peut être annulé ou refusé, les dates peuvent être modifiées avant la confirmation de lemprunt. Lemprunt peut également être terminé manuellement (si lobjet est restitué avant la date de fin initialement prévue par exemple).

Les utilisateur·rice·s reçoivent des notifications par e-mail et SMS (si activé) à chaque étape de lemprunt.

Les emprunts peuvent être consultés par les administrateur·rice·s dans linterface dadministration. Les conversations peuvent ou non être consultées également dans linterface dadministration (cette option est activable par instance de la plateforme).

Mode vacances

Un utilisateur·rice peut activer le mode vacances dans son compte utilisateur·rice, cela masque alors automatiquement tous ses objets et services de la recherche. Il pourra le désactiver à la date de son choix dans son compte utilisateur·rice.

Groupes

La plateforme propose de gérer des groupes dutilisateur·rice·s. La création de groupe peut être autorisée librement pour tous les utilisateur·rice·s, ou uniquement par les administrateur·rice·s. Cette option se configure dans les paramètres de linstance.

Les groupes peuvent être privés ou publics. Un groupe public est en accès libre : les utilisateur·rice·s peuvent le rejoindre librement. Un groupe privé peut être rejoint à partir dune invitation.

Un groupe dispose dun·e gérant·e, de modérateur(s) et de membres. Les gérant·e·s et modérateurs de groupes ont accès aux options de gestion du groupe, et ils peuvent inviter des membres.

Ladhésion à un groupe peut être gratuite ou payante. Si elle est payante, le tarif des adhésions est personnalisable dans linterface dadministration des groupes, et le paiement devra se faire par lutilisateur·rice invité au moment de rejoindre le groupe via le module de paiement sécurisé Mollie. Une adhésion peut être unique ou à durée fixe (mensuelle, annuelle). Si ladhésion a une date de fin, lors de lexpiration de celle-ci, lutilisateur·rice sera automatiquement retiré du groupe, il devra rejoindre à nouveau le groupe pour renouveler son adhésion et son paiement.

Les utilisateur·rice·s reçoivent les invitations à des groupes par email ainsi que les rappels dexpiration de leur adhésion le cas échéant.

Chaque groupe dispose dune fiche descriptive et dun annuaire de ses membres.

Notifications

La plateforme gère lenvoi de notifications automatiques par e-mail et SMS pour les cas suivants :

Fonctionnalité Type
Mot de passe oublié E-mail
Création de compte (utilisateur·rice et administrateur·rice) E-mail
Nouvelle demande demprunt E-mail et SMS
Modification des dates de lemprunt (x2) E-mail et SMS
Validation de lemprunt E-mail et SMS
Confirmation de lemprunt E-mail et SMS
Emprunt refusé / annulé E-mail et SMS
Rappel 1 jour avant le début demprunt E-mail et SMS
Rappel 1 jour avant fin demprunt E-mail et SMS
Demande de création dun groupe privé E-mail
Nouveau gérant·e ou administrateur·rice de groupe E-mail et SMS
Invitation dans un groupe E-mail et SMS
Rappel expiration dadhésion à 1 groupe J-7 J E-mail et SMS

Lenvoi demail devra être configuré pour chaque instance avec un service tiers dédié (envoi serveur, Mailgun, Sendinblue, Mailchimp, …) Lenvoi de SMS devra être configuré pour chaque instance avec un service tiers dédié (Twillio, Sendinblue, OVH, …)

Contenu personnalisables

Pages de contenu

Par défaut, la plateforme inclut 2 pages : la page daccueil et la page de conditions générales dutilisation. Linterface dadministration permet de modifier le contenu de ces pages grâce à léditeur de contenu wysiwyg CKEditor4 : textes mis en forme, images, tableau etc. Elle permet également de créer librement de nouvelles pages.

NB : la page daccueil affichera toujours en bas de page le bandeau de logos des financements du projet. Il nest pas désactivable.

Menu (header)

Linterface dadministration permet de configurer les liens du menu. Le menu peut comporter des menus et sous-menus (libellé + URL) ainsi que des pictogrammes (choix du pictogramme + URL).

Linterface dadministration permet de configurer les liens du menu. Le pied de page peut comporter des liens (libellé + URL) ainsi que des pictogrammes (choix du pictogramme + URL).

Configuration de linstance

Fonctionnalités configurables

Les options suivantes peuvent être configurées manuellement dans lespace dadministration :

  • Activation des services
  • Gestion des administrateur·rice·s de linstance
  • Expéditeur des notifications (e-mail, nom)
  • Activation du lien de contact dans le menu
  • Activation des groupes
  • Création de groupe : Ouverte à tous ou uniquement par les administrateur·rice·s de l'instance
  • Création de groupe payante ou gratuite (NB : le paiement se fait hors de la plateforme)
  • Conversations demprunt visibles ou masquées dans lespace dadministration

Personnalisation du thème

Lapparence globale du site (couleurs, disposition) est elle seulement modifiable par un technicien qui proposerait un « thème » Bootstrap.

Possibilité dextension

Il est possible de mettre en place une instance du logiciel Libre et Open Source Plateforme EBS puis de développer des pages supplémentaires sur-mesure. Il est par exemple possible de rajouter un fichier PHP et de lui attribuer une route sur le serveur HTTP, afin de permettre aux utilisateur·rice·s de charger cette page dans leur navigateur. La page en question bénéficiera de laccès au reste du framework, à la base de données et au contexte de session de lutilisateur·rice connecté·e.

Installation et documentation technique

La documentation d'installation et configuration technique de la plateforme est disponible sur cette page.