Skip to content

Repository files navigation

PIM — Petites infos marinoises

Annuaire des commerces de Marines (Val-d'Oise, 95640) : fiches commerçants, actualités, événements et promotions, carte interactive, et notifications push — installable comme application (PWA) sur mobile.

Site en production : petitesinfosmarinoises.fr

Fonctionnalités

  • Annuaire : fiches commerces (horaires, contact, galerie, carte Leaflet/OpenStreetMap).
  • Publications : actus, événements (JSON-LD pour les résultats enrichis Google) et promos, avec sondages, galeries photo/vidéo et embeds (YouTube, Vimeo, TikTok, Instagram).
  • Web Push : suivi de commerces sans compte (abonnement anonyme par appareil), notifications immédiates ou programmées, page « Mes favoris ».
  • Espace commerçant : gestion de fiche multi-gérants, publications, kits de communication (affiches, stories, QR codes), statistiques de fréquentation.
  • Administration : modération, journal d'activité, labo d'idées et signalements de bugs.
  • RGPD : IP hachées, journal anonymisé à la suppression de compte, suppression de compte en self-service, purges planifiées.

Stack

Installation locale

Prérequis : PHP 8.3+, Composer, Node 20+.

git clone https://github.com/cedric-duchemin/pim.git
cd pim

composer install
npm install

cp .env.example .env
php artisan key:generate

# Clés Web Push (VAPID) : copier les trois lignes affichées dans le .env
php artisan webpush:vapid

# Base SQLite + schéma + données de démo
touch database/database.sqlite
php artisan migrate --seed

# Compte super-admin : renseigner ADMIN_EMAIL et ADMIN_PASSWORD dans le .env, puis
php artisan db:seed --class=UserSeeder

npm run dev        # assets en mode watch
php artisan serve  # http://localhost:8000

Lancer les tests :

php artisan test

Contribuer

Les contributions sont bienvenues — corrections de bugs, accessibilité, performances, documentation…

  1. Ouvrez une issue avant tout gros chantier, pour en discuter.
  2. Forkez le dépôt et créez une branche depuis dev : feat/ma-fonctionnalite ou fix/mon-correctif.
  3. Codez en respectant les conventions du projet :
    • commits atomiques au format feat(...), fix(...), refactor(...) — messages en français ;
    • après toute modification JS/CSS : npm run build doit passer ;
    • toute logique nouvelle est couverte par un test (php artisan test doit rester vert) ;
    • le site respecte prefers-reduced-motion et vise le contraste AA : merci d'y veiller.
  4. Ouvrez une Pull Request vers dev (jamais vers main, qui reflète la production). Décrivez le problème résolu et comment vous l'avez testé.

Branches : main = production, dev = pré-production ; les releases sont taguées vX.Y.Z.

Sécurité

Pour signaler une vulnérabilité, n'ouvrez pas d'issue publique : écrivez à contact@petitesinfosmarinoises.fr.

Licence

Distribué sous licence AGPL-3.0 : vous pouvez réutiliser et adapter ce code (par exemple pour l'annuaire d'une autre commune), à condition de publier vos modifications sous la même licence, y compris pour un service hébergé.

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages