CV Report est une application Windows développée en .NET 9 (WinForms) qui génère des rapports clairs, structurés et imprimables à partir des données Cabinet Vision (CVData).
L’interface est simple, moderne, et permet l’export PDF ainsi que l’impression directe.
- Sommaire par cabinet : liste des cabinets et leurs matériaux associés.
- Sommaire des matériaux : agrégation automatique des quantités par unité (feuilles, pi², pi.l., pièces).
- Soumission : génération des listes Panneaux, Portes, Coulisses, Poignées pour faciliter le calcul des quantités.
- I18n : prise en charge multilingue via fichiers JSON dans
Languages/(ex.fr.json,en.json). - UI : titre de rapport dynamique (projet courant), actions PDF / Print, et boutons d’expansion quand pertinent.
- Cabinet Vision 2024 ou supérieur installé.
- Accès à la base CVData et/ou au fichier report.mdf.
- Un login SQL (ex.
reporting) doit exister dans la base et être présent dans la configuration (voir ci-dessous). - .NET 9 pour compiler (si vous construisez depuis les sources).
👉 Vous pouvez utiliser SQLUserForge pour créer/configurer rapidement le login SQL :
Repo : https://github.com/plumedours/SQLUserForge/
Releases : https://github.com/plumedours/SQLUserForge/releases
Les paramètres se font dans appsettings.Development.json (non versionné en production).
Un fichier modèle appsettings.json est fourni comme template (copiez-le sous appsettings.Development.json et adaptez).
ConnectionStrings.ReportDb_ByAttach: attache directe d’unreport.mdflocal.ConnectionStrings.ReportDb_ByName: connexion par nom de catalogue (utilise le MDF sous-jacent).ConnectionStrings.MainServerTemplate: gabarit de chaîne pour serveur principal (ex.CVData).ConnectionStrings.MainServerSqlAuth: credentials SQL si vous utilisez SQL Auth (sinon Integrated Security).ActiveConnectionString: nom de la chaîne active parmi celles ci-dessus.Localization.*: configuration de la langue par défaut, langue courante et dossier des fichiers.
ℹ️ Exemple fourni par l’auteur. Si ces valeurs ne sont pas sensibles dans votre contexte, vous pouvez les réutiliser à titre d’exemple uniquement. Adaptez-les à votre environnement avant usage.
{
"ConnectionStrings": {
"ReportDb_ByAttach": "Server=(localdb)\\CV24;AttachDbFilename=C:\\Cabinet Vision\\CV 2024\\Database\\report.mdf;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30",
"ReportDb_ByName": "Server=(localdb)\\CV24;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30;Initial Catalog=CV-C:\\Cabinet Vision\\CV 2024\\Database\\report.mdf",
"MainServerTemplate": "Server={MACHINE}\\CV24;Database=CVData;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30",
"MainServerSqlAuth": {
"User": "LOGIN",
"Password": "PASS"
}
},
"ActiveConnectionString": "ReportDb_ByAttach",
"Localization": {
"DefaultLanguage": "fr",
"CurrentLanguage": "fr",
"LanguagesFolder": "Languages"
}
}🔐 Bonnes pratiques : gardez
appsettings.Development.jsonen local, en dehors du contrôle de source public si vous y mettez de vrais identifiants.
- Placez vos fichiers de langue dans
Languages/(ex.fr.json,en.json). - Le Menu Langues affiche automatiquement les codes en majuscules (ex.
FR,EN) basés sur le nom du fichier. - Pour traduire l’UI, les contrôles utilisent des clés i18n via un service central (
TranslationService) et unTranslatorqui applique la traduction aux formulaires, menus, tooltips et entêtes de colonnes (DataGridView).
- Créez
Languages/es.json(par exemple). - Mettez vos clés/valeurs (copiez depuis
en.jsonoufr.jsonet traduisez). - Redémarrez l’app → le sous-menu affichera ES.
- Ouvrez votre projet dans Cabinet Vision.
- Cliquez sur l’onglet Rapport.
- Cliquez sur Centre de devis.
- Ouvrez CV Report et cliquez sur un bouton de rapport (Cabinets / Matériaux / Soumission).
- Imprimez ou exportez en PDF le rapport généré.
- Téléchargez la dernière release ici : CV Report Releases
- Extrayez l'archive
.zipdans le dossier de votre choix. - (Optionnel) Ajoutez une exclusion antivirus si nécessaire.
- Lancez CVReport.exe pour démarrer l'application.
- Requiert .NET 9 SDK.
- Ouvrez la solution, compilez en
Release.
- Cible : Folder
- Runtime : win-x64 (recommandé) ou win-x86
- Option : Single file possible
- Le dossier
publish/contiendra le.exeet/ou les dépendances.
💡 Pour afficher une version “courte” (ex.
1.0.5) dans l’About : définissez dans le.csproj
<InformationalVersion>1.0.5</InformationalVersion>et utilisez cette valeur à l’affichage.
Développé par Maxime Bory — retours et suggestions bienvenus. GitHub : https://github.com/plumedours
Appréciez-vous mon travail ? Vous pouvez m’encourager en m’offrant un café sur Ko-fi. Merci beaucoup pour votre soutien ! ☕✨
CV Report is a Windows application built with .NET 9 (WinForms) that generates clear, structured, printable reports from Cabinet Vision (CVData) data.
The UI is straightforward and modern, with PDF export and direct printing.
- By Cabinet Summary: lists cabinets and their associated materials.
- Materials Summary: automatically aggregates quantities by unit (sheets, sqft, linear ft, pieces).
- Submission: generates Panels, Doors, Drawers, Pulls lists to simplify quantity calculations.
- I18n: multilingual support via JSON files under
Languages/(e.g.,fr.json,en.json). - UI: dynamic report title (current project), PDF / Print actions, and expand/collapse when relevant.
- Cabinet Vision 2024 or later installed.
- Access to CVData and/or local report.mdf file.
- A SQL login (e.g.,
reporting) must exist in the database and be present in config. - .NET 9 to build from source.
👉 Use SQLUserForge to quickly create/configure the SQL login:
Repo: https://github.com/plumedours/SQLUserForge/
Releases: https://github.com/plumedours/SQLUserForge/releases
Use appsettings.Development.json for local credentials/settings.
A template file is provided as appsettings.json (copy → appsettings.Development.json and edit).
ConnectionStrings.ReportDb_ByAttach— directly attach a localreport.mdf.ConnectionStrings.ReportDb_ByName— connect by catalog name (backed by the MDF).ConnectionStrings.MainServerTemplate— template connection string to your main server (e.g.,CVData).ConnectionStrings.MainServerSqlAuth— SQL auth credentials if not using Integrated Security.ActiveConnectionString— which connection to use by default.Localization.*— language defaults andLanguagesfolder.
ℹ️ Example provided by the author. If these values are not sensitive in your environment, you may reuse them as an example. Adapt before use.
{
"ConnectionStrings": {
"ReportDb_ByAttach": "Server=(localdb)\\CV24;AttachDbFilename=C:\\Cabinet Vision\\CV 2024\\Database\\report.mdf;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30",
"ReportDb_ByName": "Server=(localdb)\\CV24;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30;Initial Catalog=CV-C:\\Cabinet Vision\\CV 2024\\Database\\report.mdf",
"MainServerTemplate": "Server={MACHINE}\\CV24;Database=CVData;Integrated Security=True;MultipleActiveResultSets=True;TrustServerCertificate=True;Connect Timeout=30",
"MainServerSqlAuth": {
"User": "LOGIN",
"Password": "PASS"
}
},
"ActiveConnectionString": "ReportDb_ByAttach",
"Localization": {
"DefaultLanguage": "fr",
"CurrentLanguage": "fr",
"LanguagesFolder": "Languages"
}
}🔐 Best practice: keep real credentials in
appsettings.Development.json, out of public source control when possible.
- Place language files in
Languages/(e.g.,fr.json,en.json). - The Language menu automatically displays the uppercase codes (e.g.,
FR,EN) based on file names. - A central
TranslationServiceandTranslatorapply translations to forms, menus, tooltips, andDataGridViewcolumn headers.
- Create
Languages/es.json(for example). - Copy keys from
en.json/fr.jsonand translate. - Restart the app → the submenu will show ES.
- Open your project in Cabinet Vision.
- Go to the Report tab.
- Click Quote Center.
- Launch CV Report and choose a report type (Cabinets / Materials / Submission).
- Print or export the generated report to PDF.
- Download the latest release here: CV Report Releases
- Extract the
.ziparchive to a folder of your choice. - (Optional) Add an antivirus exclusion if required.
- Run CVReport.exe to start the application.
- Requires .NET 9 SDK.
- Open the solution, build in
Release.
- Target: Folder
- Runtime: win-x64 (recommended) or win-x86
- Option: Single file supported
- The
publish/folder will contain the.exeand/or dependencies.
💡 To show a “short” version (e.g.,
1.0.5) in About: set in.csproj
<InformationalVersion>1.0.5</InformationalVersion>and read that value in the UI.
Developed by Maxime Bory — feedback and contributions are welcome. GitHub: https://github.com/plumedours
Enjoying my work? You can support me by buying me a coffee on Ko-fi. Thank you so much for your support! ☕✨







