- Implemented `report.nim` to create structured reports on metadata modifications. - Added functionality to merge reports and convert them to formatted strings. docs: Create prompt documentation for Markdown parser project - Added `prompt.md` detailing the requirements and functionalities for the Markdown parser. - Included specifications, usage examples, and testing guidelines. docs: Generate code review report for Markdown parser - Created `rapport_revue_code.md` outlining security vulnerabilities, code quality issues, and suggested improvements. - Provided a detailed analysis of the codebase with actionable recommendations. test: Add test data for Markdown parser - Included various Markdown files and a JPG image in `test_data` to simulate different scenarios. - Ensured that the parser can handle both valid and invalid metadata. chore: Add version management file - Created `version.nim` for automatic versioning of the Markdown parser. - Established constants for major, minor, patch, and build versions.
60 lines
1.6 KiB
Markdown
60 lines
1.6 KiB
Markdown
---
|
|
Heure de création: 08:15:00
|
|
Date de modification: 2024-03-12
|
|
Author: Pierre Martin
|
|
Catégorie: Développement Web
|
|
Unknown: Cette métadonnée ne devrait pas être prise en compte
|
|
---
|
|
|
|
# Les frameworks Web en Nim
|
|
|
|
Nim dispose de plusieurs frameworks web qui permettent de créer des applications web modernes et performantes. Voici un aperçu des options les plus populaires.
|
|
|
|
## Jester
|
|
|
|
Jester est un framework web minimaliste inspiré de Sinatra (Ruby). Il est simple à utiliser et parfait pour créer rapidement des applications web ou des API.
|
|
|
|
```nim
|
|
import jester, json
|
|
|
|
routes:
|
|
get "/":
|
|
resp "Hello, World!"
|
|
|
|
get "/api/users/@id":
|
|
let userId = @"id"
|
|
resp %*{"id": userId, "name": "User " & userId}
|
|
```
|
|
|
|
## Prologue
|
|
|
|
Prologue est un framework web inspiré de Flask (Python) et de Tornado. Il offre un système de routage flexible, un moteur de templates, et d'autres fonctionnalités essentielles.
|
|
|
|
```nim
|
|
import prologue
|
|
|
|
proc hello(ctx: Context) {.async.} =
|
|
resp "Hello, Prologue!"
|
|
|
|
let app = newApp()
|
|
app.addRoute("/", hello)
|
|
app.run()
|
|
```
|
|
|
|
## Karax
|
|
|
|
Karax est une bibliothèque pour créer des applications web côté client en Nim, similaire à React. Le code Nim est compilé en JavaScript.
|
|
|
|
```nim
|
|
import karax/[karaxdsl, vdom]
|
|
|
|
proc createDom(): VNode =
|
|
result = buildHtml(tdiv):
|
|
h1: text "Hello, Karax!"
|
|
p: text "This is a Karax application"
|
|
|
|
setRenderer createDom
|
|
```
|
|
|
|
Ces frameworks permettent aux développeurs Nim de créer des applications web complètes, des API RESTful ou des interfaces utilisateur dynamiques avec le langage qu'ils apprécient.
|