Sign inSign up

matau/inspecteur-mes-demarches

By matau

•Updated about 6 hours ago

Buildkit cache
Image
0

10K+

matau/inspecteur-mes-demarches repository overview

Continuous Integration

⁠Inspecteur Mes-Démarches

Inspecteur Mes-Démarches est un système automatisé de validation et de traitement des dossiers pour la plateforme gouvernementale mes-démarches.gov.pf de la Polynésie française. L'application effectue des contrôles automatiques, des calculs et des tâches de workflow sur les dossiers soumis par les utilisateurs.

⁠Fonctionnalités principales

  • Validation automatique des dossiers et de leurs pièces jointes
  • Calculs automatisés (montants, taxes, subventions)
  • Gestion des workflows (acceptation, refus, instruction)
  • Intégration de paiement via PayZen
  • Génération de documents Excel et publipostage
  • Intégration Baserow pour la gestion de données
  • Traitement spécialisé par ministère/direction

⁠Technologies

  • Ruby 3.1.2
  • Rails 7.0.4
  • PostgreSQL 16.9
  • Docker pour le déploiement

⁠Développement

⁠Prérequis
  • Ruby 3.1.2
  • PostgreSQL 16.9
  • Bundle
⁠Installation
# Cloner le projet
git clone <repository-url>
cd inspecteur-mes-demarches

# Installer les dépendances
bundle install

# Configurer la base de données
rails db:create db:migrate db:seed

# Lancer l'application
rails server
# ou avec webpack dev server
bin/dev
⁠Tests
# Tous les tests
bundle exec rspec

# Test spécifique
bundle exec rspec spec/path/to/file_spec.rb

# Test à une ligne précise
bundle exec rspec spec/path/to/file_spec.rb:LINE_NUMBER
⁠Linting
# Tous les linters
bundle exec rake lint

# Rubocop uniquement
bundle exec rubocop --parallel

# SCSS linter
bundle exec scss-lint app/assets/stylesheets/
⁠Jobs
# Programmer les tâches cron
rails jobs:schedule

# Afficher le planning
rails jobs:display_schedule

# Lancer le worker
rails jobs:work

⁠Tâches disponibles

Les tâches suivantes sont organisées par catégorie et héritent de la classe InspectorTask :

⁠Gestion des dossiers
TâcheDescription
DossierAccepterAccepte automatiquement un dossier
DossierRefuserRefuse un dossier avec motivation
DossierClasserSansSuiteClasse un dossier sans suite
DossierPasserEnInstructionPasse un dossier en instruction
DossierRepasserEnInstructionRemet un dossier en instruction
⁠Validation et contrôles
TâcheDescription
MandatoryFieldCheckVérifie la présence des champs obligatoires
RegexCheckValide les champs avec des expressions régulières
ExcelCheckContrôle la validité des fichiers Excel
ConditionalFieldValidation conditionnelle de champs
⁠DAF (Direction des Affaires Foncières)
TâcheDescription
Daf::InstructionGestion du processus de paiement pour l'enregistrement foncier
Daf::AmountCalcul des montants des droits d'enregistrement
Daf::BillValuesTraitement et calcul des factures
Daf::ActCopyAmountCalcul des montants pour copies d'actes
Daf::CopyOrderTraitement des commandes de copies
Daf::RejectInvalidFilesRejet des fichiers invalides (limites de nombre)
Daf::IfAdministrationExécution conditionnelle pour entités administratives
Daf::MessageFonctionnalités de messagerie DAF
⁠Santé
TâcheDescription
Sante::InstructionTraitement des instructions secteur santé
Sante::IbanValuesValidation et traitement IBAN
Sante::SubsidyValuesCalcul des subventions santé
⁠CIS (Formation)
TâcheDescription
Cis::ConsolidationConsolidation des données de formation
Cis::GenererModeleEtatReelGénération de modèles d'état réel
Cis::CalculeActiviteCalculs d'activité
Cis::PosterEtatsReelsPublication des états réels
⁠DESETI (Services sociaux)
TâcheDescription
Deseti::InstructionAutomatisation instruction DESETI/mini-DESETI
Deseti::MessageDesetiMessagerie DESETI
⁠DJS (Jeunesse et Sports)
TâcheDescription
Djs::IfCompanyAgeValidation âge entreprise pour programmes jeunesse/sport
⁠PayZen (Paiements)
TâcheDescription
Payzen::PaymentOrderCréation et gestion des ordres de paiement
Payzen::TaskFonctionnalités de base PayZen
Payzen::TaxesCalculs de taxes pour paiements
⁠Calculs
TâcheDescription
Calculs::AmountInLettersConversion montants en lettres
Calculs::EmailToNamesExtraction noms depuis emails
Calculs::FloatToPercentConversion décimaux en pourcentages
Calculs::RepetitionCountComptage répétitions dans formulaires
Calculs::SumsCalculs de sommes sur champs
⁠Excel
TâcheDescription
Excel::FromRepetitionsGénération Excel depuis données répétitives
Excel::GroupGroupement de données pour Excel
Excel::PartitionPartitionnement de données Excel
Excel::GetSheetsExtraction informations feuilles Excel
⁠Actions et utilitaires
TâcheDescription
SendMailEnvoi d'emails automatiques
SetAnnotationDéfinition d'annotations
SetFieldModification de champs
PublipostagePublipostage/mail merge
NumeroDnTraitement numéros DN
DateDeNaissanceTraitement dates de naissance
CopyFileFieldCopie de champs fichiers
⁠Intégration
TâcheDescription
Baserow::Examples::BaserowIntegrationTaskIntégration base de données Baserow

⁠Configuration

⁠Variables d'environnement

Créer un fichier .env avec les variables suivantes :

ROOT=chemin vers le répertoire contenant le .env
IMAGE=matau/imd
TAG=latest

DB_DATABASE=Nom de la base à créer
DB_HOST=db
DB_USERNAME=postgres
DB_PASSWORD=mot_de_passe

PORT=3000

# Paramètres GraphQL
GRAPHQL_HOST=https://www.mes-demarches.gov.pf
GRAPHQL_BEARER=Token Mes-Démarches permettant l'accès aux démarches

# Accès CPS pour les numéros DN
API_CPS_USERNAME=
API_CPS_PASSWORD=
API_CPS_CLIENT_ID=
API_CPS_CLIENT_SECRET=

# Baserow (optionnel)
BASEROW_URL=https://baserow.mes-demarches.gov.pf
BASEROW_API_TOKEN=your_token
BASEROW_TOKEN_TABLE=table_id
⁠Fichier de configuration

Placer le fichier auto-instructeur.yml dans le répertoire /storage pour définir la liste des contrôles à effectuer.

⁠Architecture

L'application est organisée autour de deux concepts principaux :

  1. FieldChecker : Classes de validation et traitement des champs de formulaire
  2. InspectorTask : Tâches automatisées sur les dossiers

Les tâches sont organisées par ministère/direction (DAF, Santé, CIS, DESETI, DJS) et par type de fonctionnalité (validation, calculs, paiements, etc.).

⁠Contribution

  1. Créer une branche feature
  2. Implémenter les modifications avec tests
  3. Vérifier le linting : bundle exec rake lint
  4. Soumettre une pull request

⁠Licence

Ce projet est développé pour l'administration de la Polynésie française.

Tag summary

Content type

Image

Digest

sha256:677346009…

Size

527.4 MB

Last updated

about 6 hours ago

docker pull matau/inspecteur-mes-demarches:sha-4f05c20