Projet

6 min de lecture

CWC Pilot — Plateforme de gestion commerciale pour indépendants

CWC Pilot est une application web de gestion commerciale développée avec Symfony et Twig.

Publie le 24/08/2026 Mise a jour 24/08/2026
CWC Pilot — Plateforme de gestion commerciale pour indépendants

Vue d'ensemble

Présentation du projet

CWC Pilot est une application web de gestion commerciale imaginée pour répondre aux besoins quotidiens des indépendants, freelances et petites entreprises. L’objectif du projet est de réunir dans une seule interface les informations commerciales, financières et opérationnelles nécessaires au pilotage d’une activité.

Lorsqu’un indépendant commence à développer son activité, les informations sont souvent réparties entre plusieurs outils : un tableur pour les prospects, des documents pour les devis, un logiciel pour les factures, un espace de stockage pour les fichiers et un agenda pour les relances. Cette organisation fonctionne pendant un temps, mais elle devient progressivement difficile à maintenir lorsque le nombre de clients et de projets augmente.

CWC Pilot a donc été conçu comme un espace de travail centralisé permettant de retrouver rapidement les informations importantes et de suivre l’état de l’entreprise depuis un tableau de bord unique.

L’application est développée avec le framework PHP Symfony. Les pages sont générées côté serveur avec Twig, tandis que Doctrine ORM assure la communication entre l’application et la base de données. Cette architecture fournit une base structurée, maintenable et évolutive pour développer progressivement de nouvelles fonctionnalités.

Un tableau de bord centralisé

Le tableau de bord constitue le point d’entrée principal de l’application. Il offre une vue consolidée de l’activité commerciale et financière sur une période donnée.

Plusieurs indicateurs permettent de comprendre rapidement la situation de l’entreprise :

  • le chiffre d’affaires encaissé pendant le mois ;
  • le chiffre d’affaires cumulé depuis le début de l’année ;
  • le montant restant à encaisser ;
  • le nombre et le montant des factures en retard ;
  • les dépenses enregistrées sur le mois ;
  • les revenus récurrents provenant des abonnements ;
  • la progression par rapport au plafond annuel de chiffre d’affaires ;
  • l’évolution du chiffre d’affaires sur les derniers mois.
Ces indicateurs sont présentés sous forme de cartes synthétiques afin que l’utilisateur puisse identifier les informations importantes sans parcourir l’ensemble des modules.

Une section dédiée aux actions à réaliser regroupe également les éléments nécessitant une intervention. Elle peut notamment signaler les devis qui doivent être relancés, les factures en attente de paiement, les factures en retard ou les abonnements arrivant prochainement à échéance.

L’objectif n’est pas uniquement d’afficher des données, mais d’aider l’utilisateur à identifier rapidement les prochaines actions à effectuer.

Gestion des prospects et des clients

Le module de gestion des prospects et des clients permet de centraliser les coordonnées et les informations commerciales de chaque contact.

Un prospect peut être enregistré dès le premier échange, puis enrichi progressivement avec ses coordonnées, son entreprise, ses besoins et les différentes interactions réalisées. Lorsqu’une opportunité se concrétise, le prospect peut être transformé en client sans avoir à saisir une nouvelle fois toutes ses informations.

La fiche d’un client a vocation à regrouper l’ensemble de son historique :

  • ses coordonnées ;
  • les projets qui lui sont associés ;
  • les devis envoyés ;
  • les factures émises ;
  • les paiements reçus ;
  • les documents disponibles ;
  • les abonnements actifs ;
  • les prochaines relances à effectuer.
Cette organisation permet de disposer d’une vision complète de la relation commerciale et facilite la recherche d’informations lorsqu’un client prend contact.

Suivi des projets

Le module consacré aux projets permet d’organiser les prestations réalisées pour chaque client. Un projet peut correspondre, par exemple, à la création d’un site vitrine, au développement d’une application web, à une mission de maintenance ou à une prestation de conseil.

Chaque projet peut être associé à un client et contenir les informations nécessaires à son suivi : titre, description, état d’avancement, dates importantes, montant estimé et documents associés.

La centralisation des projets permet d’éviter la dispersion des informations entre les e-mails, les dossiers locaux et les différents outils de prise de notes. Elle facilite également le passage entre la phase commerciale, la réalisation de la prestation et sa facturation.

L’architecture de l’application a été pensée pour permettre l’ajout futur de fonctionnalités complémentaires, comme des tâches, des jalons, un suivi du temps passé ou un espace d’échange avec le client.

Création et suivi des devis

CWC Pilot intègre un module de gestion des devis permettant de préparer les propositions commerciales et de suivre leur évolution.

Chaque devis peut être rattaché à un client et, si nécessaire, à un projet. Il contient les prestations proposées, les quantités, les tarifs et les différentes informations utiles à la proposition commerciale.

Le statut du devis permet de distinguer les documents en préparation, envoyés, acceptés, refusés ou expirés. Cette logique rend le suivi commercial plus simple et permet de repérer les propositions qui n’ont pas encore reçu de réponse.

Les devis nécessitant une relance peuvent apparaître directement dans les actions prioritaires du tableau de bord. Lorsqu’un devis est accepté, les données déjà saisies peuvent ensuite être utilisées pour faciliter la création de la facture correspondante.

Ce fonctionnement limite les doubles saisies et assure une meilleure continuité entre la prospection, la vente et la facturation.

Facturation et suivi des paiements

La gestion des factures et des paiements représente l’un des éléments centraux de l’application. Le module permet de connaître les montants facturés, encaissés et encore dus.

Les factures peuvent être classées selon plusieurs états, par exemple :

  • brouillon ;
  • envoyée ;
  • partiellement payée ;
  • payée ;
  • arrivée à échéance ;
  • en retard ;
  • annulée.
Les paiements sont enregistrés séparément afin de conserver un historique précis des encaissements. Cette distinction permet également de gérer les paiements partiels ou les règlements effectués en plusieurs fois.

À partir de ces informations, le tableau de bord calcule le chiffre d’affaires réellement encaissé. Cette approche est particulièrement adaptée aux micro-entreprises, pour lesquelles le suivi des encaissements est essentiel.

L’application permet aussi de repérer rapidement les factures en attente et celles dont l’échéance est dépassée. L’utilisateur peut ainsi prioriser ses relances et réduire le risque d’impayés.

Suivi des dépenses

Le module de gestion des dépenses permet d’enregistrer les achats et les frais liés à l’activité professionnelle.

Chaque dépense peut contenir un montant, une date, une catégorie, un fournisseur, un moyen de paiement et un justificatif. Ces informations permettent de mieux comprendre les coûts de fonctionnement de l’entreprise et de conserver une trace organisée des différentes opérations.

Même lorsqu’une micro-entreprise ne déduit pas directement ses dépenses de son chiffre d’affaires imposable, leur suivi reste important. Il permet de mesurer la rentabilité réelle de l’activité et d’identifier les postes de dépenses les plus importants.

À terme, ces données peuvent également servir à produire des statistiques ou à comparer les revenus générés avec les dépenses engagées sur une période donnée.

Gestion des abonnements et des revenus récurrents

Certaines prestations peuvent générer un revenu mensuel ou annuel récurrent. C’est notamment le cas de l’hébergement d’un site internet, de la maintenance, de la supervision ou d’un contrat d’assistance.

Le module d’abonnements permet d’enregistrer ces prestations, leur périodicité, leur montant et leur prochaine date de renouvellement.

Les abonnements actifs sont pris en compte dans le calcul du revenu récurrent affiché sur le tableau de bord. Les renouvellements à venir peuvent également générer une action afin que l’utilisateur pense à prévenir le client ou à préparer la prochaine facture.

Cette fonctionnalité offre une meilleure visibilité sur les revenus prévisibles et permet de distinguer les prestations ponctuelles des services récurrents.

Relances et organisation commerciale

La gestion des relances a été intégrée afin de limiter les oublis et de faciliter le suivi commercial.

Une relance peut concerner un prospect qui n’a pas répondu, un devis envoyé, une facture impayée ou un abonnement qui doit être renouvelé. Les échéances importantes peuvent être affichées dans une liste d’actions prioritaires.

L’objectif est de transformer les données présentes dans l’application en actions concrètes. L’utilisateur ne consulte pas uniquement l’état de son activité : il sait également quels clients contacter et quels éléments traiter en priorité.

Une évolution possible du projet serait d’ajouter l’envoi automatisé ou planifié d’e-mails, tout en conservant un historique des messages envoyés depuis l’application.

Gestion documentaire

CWC Pilot comprend également un espace documentaire permettant d’organiser les fichiers associés à l’activité.

Les documents peuvent être liés à un client, un projet, un devis, une facture ou une dépense. Il peut s’agir de contrats, de cahiers des charges, de justificatifs, de comptes rendus ou de pièces administratives.

Cette organisation permet de retrouver un fichier depuis son contexte métier, sans devoir rechercher manuellement dans une arborescence complexe. La centralisation documentaire améliore également la traçabilité des échanges et des prestations.

Une attention particulière doit être portée aux autorisations d’accès et à la validation des fichiers téléversés, afin d’empêcher l’envoi de formats non autorisés ou l’accès à des documents appartenant à un autre utilisateur.

Suivi du plafond de la micro-entreprise

L’une des particularités de CWC Pilot est le suivi de la progression vers le plafond annuel de chiffre d’affaires de la micro-entreprise.

Le tableau de bord affiche le montant encaissé depuis le début de l’année, le plafond configuré ainsi que le pourcentage atteint. Une barre de progression permet de visualiser immédiatement la situation.

Cette fonctionnalité a été pensée pour aider l’entrepreneur à anticiper l’évolution de son activité et les conséquences d’un éventuel dépassement. Le plafond reste configurable afin que l’application puisse s’adapter à différentes activités ou à une évolution de la réglementation.

Il s’agit d’un indicateur d’aide au pilotage et non d’un remplacement des documents comptables ou des déclarations officielles.

Interface utilisateur et expérience de navigation

L’interface utilise un thème sombre avec une identité graphique construite autour du rouge, du noir et du blanc. Cette direction visuelle reprend l’identité de Code and Web Consulting et permet d’obtenir une interface reconnaissable.

La navigation latérale donne un accès direct aux principaux modules : tableau de bord, prospects et clients, projets, devis, factures, paiements, dépenses, abonnements, relances et documents.

Une barre de recherche globale permet de rechercher rapidement un client, un projet ou une facture. Les éléments les plus importants sont mis en évidence avec des couleurs différentes selon leur nature : revenus, dépenses, échéances, retards ou actions à effectuer.

L’interface a été conçue pour rester lisible malgré la quantité d’informations affichées. Les données sont regroupées dans des composants visuels cohérents et les actions principales restent accessibles depuis les différentes pages.

Architecture technique

L’application repose sur Symfony, un framework PHP adapté à la création d’applications web structurées et évolutives.

Twig est utilisé comme moteur de templates pour générer les différentes interfaces. Cette approche permet de séparer la logique métier de la présentation et de créer des composants réutilisables pour les cartes, formulaires, tableaux et éléments de navigation.

Doctrine ORM assure la gestion des entités et des échanges avec la base de données. Les relations entre les clients, projets, devis, factures, paiements, dépenses et abonnements sont ainsi représentées directement dans le modèle de données.

Les contrôleurs Symfony traitent les requêtes, récupèrent les informations nécessaires auprès des services et transmettent les données aux vues Twig. Les règles métier importantes peuvent être isolées dans des services dédiés afin de conserver des contrôleurs simples et de faciliter les tests.

La gestion des formulaires, la validation des données et l’authentification s’appuient également sur les composants fournis par Symfony.

Sécurité de l’application

La sécurité fait partie des points importants du projet, car l’application manipule des informations commerciales et financières potentiellement sensibles.

L’accès aux fonctionnalités doit être réservé aux utilisateurs authentifiés. Les mots de passe sont enregistrés sous forme de condensats sécurisés à l’aide du mécanisme de hachage fourni par Symfony.

Les formulaires bénéficient d’une protection contre les attaques CSRF. Twig active par défaut l’échappement des données affichées, ce qui réduit le risque d’injection de scripts dans les pages.

Les entrées envoyées par l’utilisateur sont validées côté serveur avant leur enregistrement. Les accès aux ressources doivent également être contrôlés pour empêcher un utilisateur de consulter ou de modifier les données d’un autre compte.

Les fichiers téléversés nécessitent des contrôles supplémentaires portant notamment sur leur extension, leur type MIME, leur taille et leur nom de stockage.

L’utilisation de Doctrine avec des requêtes paramétrées contribue enfin à réduire les risques d’injection SQL.

Difficultés et apprentissages

La principale difficulté du projet réside dans la modélisation des relations entre les différentes données métier.

Un client peut posséder plusieurs projets, chaque projet peut être lié à plusieurs devis et factures, et chaque facture peut recevoir un ou plusieurs paiements. Les abonnements doivent également générer des échéances récurrentes sans créer de doublons.

La construction du tableau de bord demande aussi d’agréger des données provenant de plusieurs modules. Il faut notamment distinguer le chiffre d’affaires facturé du chiffre d’affaires réellement encaissé et appliquer les bons filtres selon la période sélectionnée.

Ce projet m’a permis d’approfondir plusieurs compétences : la conception d’un modèle de données relationnel, l’utilisation de Doctrine ORM, la création de formulaires Symfony, l’organisation de la logique métier dans des services et la réalisation d’une interface complexe avec Twig.

Il m’a également permis de travailler sur des problématiques concrètes de gestion d’entreprise, en transformant des besoins commerciaux en fonctionnalités techniques utilisables.