E.S
Retour aux réalisations
Stage 2026

Stage — Gestion budgétaire des Andelys

Application Web interne de préparation, arbitrage et export des budgets par section, exercice et type de dépense.

Compétences mobilisées — Bloc 1

Support et mise à disposition de services informatiques

C1

Gérer le patrimoine informatique

  • C1.1 Recenser et identifier les ressources numériques
  • C1.3 Mettre en place et vérifier les niveaux d'habilitation associés à un service
C2

Répondre aux incidents et aux demandes d'assistance et d'évolution

  • C2.1 Collecter, suivre et orienter des demandes
C3

Développer la présence en ligne de l'organisation

  • C3.3 Participer a l'évolution d'un site Web exploitant les données de l'organisation
C4

Travailler en mode projet

  • C4.1 Analyser les objectifs et les modalites d'organisation d'un projet
  • C4.2 Planifier les activités
  • C4.3 Evaluer les indicateurs de suivi d'un projet et analyser les ecarts
C5

Mettre a disposition des utilisateurs un service informatique

  • C5.2 Déployer un service
C6

Organiser son développement professionnel

  • C6.1 Mettre en place son environnement d'apprentissage personnel

Contexte

Le projet centralise les demandes budgétaires des sections de la ville et remplace les tableaux isoles par un cycle partage : saisie, soumission, arbitrage, décision et export. Les responsables travaillent sur l'exercice principal et peuvent comparer les annees de reference.

La conception s'appuie sur un modèle de données relationnel, des droits par rôle et un historique des décisions. La documentation du projet décrit egalement le déploiement Symfony/PostgreSQL dans Docker.

Environnement technologique

PHP Symfony Doctrine ORM PostgreSQL Twig PhpSpreadsheet Dompdf Docker Compose

Preuves

Captures et documents

obligatoire
Capture de l’écran de connexion de l’application de gestion budgétaire.
Guide utilisateur intégré : saisie, arbitrage, cycle de vie des lignes et exports.
Formulaire vierge de création d’une ligne budgétaire avec contrôle de complétude.
Utilisateur <-> Section
Section -> Ligne budgétaire -> Montants par exercice
Ligne budgétaire -> Décision d'arbitrage
Accès affine par rôle et par section
Patrimoine fonctionnel géré : sections, lignes, montants et décisions.

Détails techniques

Saisie -> Soumission -> Analyse -> Arbitrage -> Validation / Refus / Correction

Chaque décision est historisée et peut être restituée dans les exports.
Cycle de traitement d'une demande budgétaire.
$isGlobal = array_intersect(['ROLE_ADMIN', 'ROLE_DIRECTION_GENERALE', 'ROLE_MAIRE'], $roles) !== [];
if (!$isGlobal) {
    $sectionIds = [];
    foreach ($user->getSections() as $s) {
        $sectionIds[] = $s->getId();
    }
    if ($sectionIds === []) {
        $qb->andWhere('l.creePar = :u')->setParameter('u', $user);
    } else {
        $qb->andWhere('l.section IN (:sids) OR l.creePar = :u')
            ->setParameter('sids', $sectionIds)
            ->setParameter('u', $user);
    }
}
Restriction des exports aux sections autorisées — src/Controller/ExportController.php (extrait).