Application GestResid - Gestion résidentielle
- PHP 77.5%
- JavaScript 12.2%
- CSS 7.3%
- HTML 1.7%
- Shell 1.3%
- Table ASVP : table-layout fixed avec largeurs de colonnes définies - Correction icônes actions qui dépassaient du bord droit - CLAUDE.md : port staging corrigé 8080 → 8443 - Mot de passe ASVP : minimum 8 caractères Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| Docs | ||
| public | ||
| scripts | ||
| src | ||
| .env.production | ||
| .gitignore | ||
| .htaccess | ||
| AIDE-MEMOIRE-BASH.md | ||
| CLAUDE.md | ||
| composer.json | ||
| composer.lock | ||
| deploy-vps.sh | ||
| INSTALLATION-VPS.md | ||
| promote-to-prod.sh | ||
| README.md | ||
| transfer-to-vps.sh | ||
GestResid - Ville de Fontaine
Application de gestion des cartes de stationnement résidents pour la Ville de Fontaine (38600).
Prérequis
- PHP 8.0+
- MongoDB 5.0+
- Composer
- Extensions PHP : mongodb, gd, mbstring, intl
Installation
1. Cloner le projet
cd /chemin/vers/votre/serveur/web
git clone <repository> gestresid
cd gestresid
2. Installer les dépendances PHP
composer install
3. Configurer l'environnement
cp .env .env.local
# Éditer .env.local avec vos paramètres
4. Initialiser la base MongoDB
mongosh gestresid < scripts/init-mongodb.js
5. Configurer Apache
Pointer le DocumentRoot vers /gestresid/public
Exemple de VirtualHost :
<VirtualHost *:80>
ServerName gestresid.local
DocumentRoot /chemin/vers/gestresid/public
<Directory /chemin/vers/gestresid/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
6. Permissions
chmod -R 755 public/uploads
chown -R www-data:www-data public/uploads
Première connexion
- URL : http://gestresid.local/
- Email : admin@fontaine.fr
- Mot de passe : Admin123!
Important : Changez le mot de passe après la première connexion !
Structure du projet
gestresid/
├── public/ # Fichiers accessibles web
│ ├── api/ # Endpoints API
│ ├── css/ # Styles
│ ├── js/ # Scripts JavaScript
│ └── uploads/ # Fichiers uploadés
├── src/
│ ├── config/ # Configuration
│ ├── controllers/ # Contrôleurs
│ ├── models/ # Modèles MongoDB
│ ├── utils/ # Utilitaires
│ └── views/ # Vues PHP
├── admin/ # Administration
├── scripts/ # Scripts utilitaires
└── vendor/ # Dépendances Composer
Fonctionnalités
Espace public (citoyens)
- Formulaire de demande de carte en ligne
- Suivi de demande
Espace agents
- Traitement des demandes
- Gestion des résidents
- Gestion des cartes (émission, modification immatriculation)
- Import des rues depuis Excel
- Dashboard avec statistiques
Sécurité
- Authentification par session
- Protection CSRF
- Rate limiting sur les demandes publiques
- Validation stricte des uploads (PDF uniquement)
- Validation des adresses dans le secteur autorisé
Import des rues
Format Excel attendu :
| nom_rue | numero_debut | numero_fin | type |
|---|---|---|---|
| rue Henri BARBUSSE | 1 | 49 | impairs |
| rue Henri BARBUSSE | 2 | 50 | pairs |
API
Endpoints publics
GET /api/rues/search.php?q=...- Autocomplete ruesGET /api/validate-adresse.php?numero=...&rue=...- Validation adressePOST /api/demandes/create.php- Créer une demandeGET /api/demandes/status.php?numero=...&email=...- Statut demande
Endpoints authentifiés
POST /api/auth/login.php- Connexion- Autres endpoints nécessitent une session valide
Maintenance
Sauvegardes MongoDB
mongodump --db gestresid --out /chemin/backup/$(date +%Y%m%d)
Restauration
mongorestore --db gestresid /chemin/backup/YYYYMMDD/gestresid
Support
Mairie de Fontaine 89 Mail Marcel Cachin 38600 FONTAINE Tél : 04 76 28 75 75