1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-25 08:23:57 +00:00
fiber/.github/README_fr.md
2020-02-19 15:48:41 +03:00

11 KiB
Raw Blame History

Fiber



Fiber est un framework web inspiré d' Express. Il se base sur Fasthttp, l'implémentation HTTP de Go la plus rapide. Conçu pour faciliter les choses pour des développements rapides, Fiber garde à l'esprit l'absence d'allocations mémoires, ainsi que les performances.

Quickstart

package main

import "github.com/gofiber/fiber"

func main() {
  app := fiber.New()

  app.Get("/", func(c *fiber.Ctx) {
    c.Send("Hello, World!")
  })

  app.Listen(3000)
}

⚙️ Installation

Premièrement, téléchargez et installez Go. Version 1.11 ou supérieur requise.

L'installation est ensuite lancée via la commande go get:

go get github.com/gofiber/fiber

🤖 Benchmarks

Ces tests sont effectués par TechEmpower et Go Web. Si vous voulez voir tous les résultats, n'hésitez pas à consulter notre Wiki.

🎯 Features

💡 Philosophie

Les nouveaux gophers qui passent de Node.js à Go sont confrontés à une courbe d'apprentissage, avant de pouvoir construire leurs applications web et microservices. Fiber, en tant que framework web, a été mis au point avec en tête l'idée de minimalisme, tout en suivant l'UNIX way, afin que les nouveaux gophers puissent rapidement entrer dans le monde de Go, avec un accueil chaleureux, de confiance.

Fiber est inspiré par Express, le framework web le plus populaire d'Internet. Nous avons combiné la facilité d'Express, et la performance brute de Go. Si vous avez déja développé une application web en Node.js (en utilisant Express ou équivalent), alors de nombreuses méthodes et principes vous sembleront familiers.

👀 Exemples

Ci-dessous quelques exemples courants. Si vous voulez voir plus d'exemples, rendez-vous sur notre "Recipes repository" ou visitez notre documentation API.

Serve static files

func main() {
  app := fiber.New()

  app.Static("/public")
  // => http://localhost:3000/js/script.js
  // => http://localhost:3000/css/style.css

  app.Static("/prefix", "/public")
  // => http://localhost:3000/prefix/js/script.js
  // => http://localhost:3000/prefix/css/style.css

  app.Static("*", "/public/index.html")
  // => http://localhost:3000/any/path/shows/index/html

  app.Listen(3000)
}

Routing

func main() {
  app := fiber.New()

  // GET /john
  app.Get("/:name", func(c *fiber.Ctx) {
    fmt.Printf("Hello %s!", c.Params("name"))
    // => Hello john!
  })

  // GET /john
  app.Get("/:name/:age?", func(c *fiber.Ctx) {
    fmt.Printf("Name: %s, Age: %s", c.Params("name"), c.Params("age"))
    // => Name: john, Age:
  })

  // GET /api/register
  app.Get("/api*", func(c *fiber.Ctx) {
    fmt.Printf("/api%s", c.Params("*"))
    // => /api/register
  })

  app.Listen(3000)
}

Middleware & Next

func main() {
  app := fiber.New()

  // Match any route
  app.Use(func(c *fiber.Ctx) {
    fmt.Println("First middleware")
    c.Next()
  })

  // Match all routes starting with /api
  app.Use("/api", func(c *fiber.Ctx) {
    fmt.Println("Second middleware")
    c.Next()
  })

  // POST /api/register
  app.Post("/api/register", func(c *fiber.Ctx) {
    fmt.Println("Last middleware")
    c.Send("Hello, World!")
  })

  app.Listen(3000)
}
📜 Voir plus d'exemples de code

Custom 404 response

func main() {
  app := fiber.New()

  app.Static("/public")
  app.Get("/demo", func(c *fiber.Ctx) {
    c.Send("This is a demo!")
  })
  app.Post("/register", func(c *fiber.Ctx) {
    c.Send("Welcome!")
  })

  // Last middleware to match anything
  app.Use(func(c *fiber.Ctx) {
    c.SendStatus(404) // => 404 "Not Found"
  })

  app.Listen(3000)
}

JSON Response

func main() {
  app := fiber.New()

  type User struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
  }

  // Serialize JSON
  app.Get("/json", func(c *fiber.Ctx) {
    c.JSON(&User{"John", 20})
    // => {"name":"John", "age":20}
  })

  app.Listen(3000)
}

Recover from panic

func main() {
  app := fiber.New()

  app.Get("/", func(c *fiber.Ctx) {
    panic("Something went wrong!")
  })

  app.Recover(func(c *fiber.Ctx) {
    c.Status(500).Send(c.Error())
    // => 500 "Something went wrong!"
  })

  app.Listen(3000)
}

💬 Media

👍 Contribuer

Si vous voulez nous remercier et/ou soutenir le développement actif de Fiber:

  1. Ajoutez une GitHub Star à ce projet.
  2. Twittez à propos de ce projet sur votre Twitter.
  3. Ecrivez un article (review, tutorial) sur Medium, Dev.to, ou encore un blog personnel.
  4. Aidez nous à traduire ce README dans d'autres langages.

Supporters

Buy Me A Coffee

HenrikBinggl

koddr

MarvinJWendt

ToishY

Stars

Stars over time

⚠️ Licence

Fiber est un logiciel gratuit et open-source, sous Licence MIT.