Skip to main content
Welcome. This site supports keyboard navigation and screen readers. Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content. High-contrast themes are available via the toolbar.
serard@dev00:~/cv

Applications

These applications, like the rest of FrenchExDev and Diem, are under intensive development. They address concrete document and development workflows while the reusable libraries and infrastructure continue to evolve. Diem supplies the broader product direction, including the future software factory Lab; each application below has its own current implementation.

This page follows the source inspected on 9 September 2026. Application runs, document conversion and the C# test suites were not executed for this update.

Doc2Pdf (FrenchExDev.Net.Doc2Pdf)

Doc2Pdf converts a directory of office documents to PDF by launching LibreOffice processes. The current project is a System.CommandLine CLI, using ProcessStartInfo.ArgumentList and Parallel.ForEachAsync to control conversion concurrency.

From the Net/FrenchExDev repository root, with its required SDK and LibreOffice installed:

dotnet run --project Doc2Pdf/src/FrenchExDev.Net.Doc2Pdf -- ./documents --word --parallel 2
Input or option Current behavior
Positional directory Reads matching files directly in that directory; no recursive traversal
--word / -w Selects .doc and .docx
--excel / -e Selects .xls and .xlsx
--powerpoint / -pp Selects .ppt and .pptx
No format switches Includes all three format groups
--parallel / -p Controls parallel conversions; default is 1

The program locates soffice on PATH or in standard installation locations, gives each conversion a temporary LibreOffice profile, and writes PDFs beneath <input>/output/yyyy-MM-dd_HH-mm-ss/. It reports per-file success/failure and totals.

Conversion and layout behavior come from LibreOffice. The filters above define the current supported inputs; this source review does not measure fidelity on a document corpus. CLI source (ouvre dans une nouvelle fenêtre).

DockAi (FrenchExDev.Net.DockAi)

DockAi combines document ingestion, search and AI-assisted exploration of a corpus. It separates the API/indexing services from the viewer.

DockAi.Api parses documents, indexes extracted text with Lucene.Net and exposes search, facets, highlighting and suggestions. It also develops ontology and entity-extraction workflows with Claude, OpenAI and Ollama adapters. Parsers cover office files, PDF and text-oriented formats such as CSV, Markdown and HTML. OpenXml, ClosedXML and PdfPig belong to this extraction layer.

DockAi.Viewer is an ASP.NET Core application with static assets, document renderers and HTTP proxy endpoints. It registers a named HTTP client through IHttpClientFactory to communicate with the API.

A practical reading path after configuring the API and viewer is:

  1. Query /proxy/search?q=example or /proxy/suggest?q=example.
  2. Open /render/{id} to view a document through the renderer.
  3. Use /raw/{id} for its raw content, or the ontology/taxonomy proxy routes for related metadata.

Those routes are declared in the viewer's Program.cs. Ingestion needs source documents and index configuration; AI operations additionally depend on the chosen provider and model configuration. The examples describe current endpoints, not a measured retrieval or extraction quality result. Source (ouvre dans une nouvelle fenêtre) · Viewer implementation (ouvre dans une nouvelle fenêtre).

QualityGate (FrenchExDev.Net.QualityGate)

QualityGate loads C# solutions through Roslyn/MSBuildWorkspace to analyze complexity, coupling, inheritance, maintainability, cohesion, duplication and test-related metrics. It imports Cobertura coverage and Stryker mutation reports, evaluates YAML thresholds and produces JSON/HTML reports.

The CLI project declares PackAsTool and the command name quality-gate. Source invocations are also available from the repository root:

dotnet run --project QualityGate/src/FrenchExDev.Net.QualityGate.Cli -- analyze --config quality-gate.yml
dotnet run --project QualityGate/src/FrenchExDev.Net.QualityGate.Cli -- check --config quality-gate.yml
Command Declared purpose
init Scaffold configuration and coverage settings
validate Inspect configuration without analysis
analyze Analyze a solution and produce reports
check Build and evaluate gates; --no-build skips the build
test Run tests with coverage, then analyze gates
coverage Run tests with coverage collection
interfaces Inspect the interface map
serve Serve existing report output

Use --config for the gate file and --solution when overriding the configured solution. The check handler marks build or gate failure with Environment.ExitCode = 1; the test handler also marks test failures. These are the intended automation failure paths in the source, not exit codes measured during this update.

Coverage and mutation results require reports from actual executions. The local gate files and CLI provide integration mechanisms; their presence does not show that repository merges are currently gated. Source (ouvre dans une nouvelle fenêtre) · Practical guide · Build and validation practices.

HttpClient (FrenchExDev.Net.HttpClient)

The HTTP abstraction and fake-response examples are now documented under Contracts and Test Dependencies. The current fake accepts an array or list of responses. DockAi's viewer uses ASP.NET Core HTTP clients.

Alpine.Version (FrenchExDev.Net.Alpine.Version)

Release discovery now sits with the infrastructure components, including an example using the implemented WithArch and WithFlavor filters.

Back to the ecosystem · Next: PowerShell modules

⬇ Download