Aller au contenu

Module Tech — Endpoints API

Ce module couvre tous les endpoints REST utilisés par le site drwh_tech.

Base URL

https://api.darewatch.com/api/v1
→ Conventions générales


Vue d'ensemble des endpoints Tech

graph LR
    API[API Backend] --> S[/services\nServices IT]
    API --> B[/blog/articles\nBlog Tech]
    API --> W[/works\nRéalisations]
    API --> J[/careers\nOffres d'emploi]
    API --> C[/contact/tech\nContact]
    style API fill:#8e44ad,color:#fff
    style S fill:#0066FF,color:#fff
    style B fill:#27ae60,color:#fff
    style W fill:#f39c12,color:#fff
    style J fill:#e74c3c,color:#fff
    style C fill:#2d2e2e,color:#fff

4.1 Services Tech

Lister les services

GET /services

Réponse :

{
  "success": true,
  "data": [
    {
      "id": 1,
      "title": "Développement Web & Mobile",
      "slug": "developpement-web-mobile",
      "description": "Applications web et mobiles sur mesure",
      "icon": "code",
      "features": ["React", "Next.js", "React Native", "Flutter"],
      "is_active": true
    }
  ]
}

Récupérer un service par slug

GET /services/:slug

4.2 Blog Tech

Lister les articles

GET /blog/articles?page=1&pageSize=10&category=tech

Réponse :

{
  "success": true,
  "data": [
    {
      "id": 1,
      "title": "Comment déployer Next.js avec Docker",
      "slug": "deployer-nextjs-docker",
      "excerpt": "Guide complet de déploiement...",
      "content": "...",
      "author": {
        "name": "Équipe Darewatch Tech",
        "avatar": "https://..."
      },
      "category": "DevOps",
      "tags": ["docker", "nextjs", "déploiement"],
      "published_at": "2026-04-01T10:00:00Z",
      "reading_time": 8
    }
  ],
  "meta": { "total": 25, "page": 1, "pageSize": 10 }
}

Récupérer un article par slug

GET /blog/articles/:slug

4.3 Réalisations (Works)

Lister les réalisations

GET /works?page=1&pageSize=6

Réponse :

{
  "success": true,
  "data": [
    {
      "id": 1,
      "title": "Site E-commerce Cameroun",
      "slug": "ecommerce-cameroun",
      "description": "Plateforme e-commerce complète",
      "image_url": "https://...",
      "technologies": ["Next.js", "Stripe", "PostgreSQL"],
      "category": "Web",
      "client": "Client confidentiel",
      "year": 2025
    }
  ]
}

Statistiques globales

GET /works/stats

Réponse :

{
  "success": true,
  "data": {
    "projects_count": 50,
    "clients_count": 30,
    "years_experience": 4,
    "team_size": 12
  }
}

4.4 Carrières Tech

Lister les offres d'emploi

GET /careers?domain=tech&page=1&pageSize=10

Réponse :

{
  "success": true,
  "data": [
    {
      "id": 1,
      "title": "Développeur Full Stack React/Node",
      "slug": "developpeur-fullstack-react-node",
      "type": "CDI",
      "location": "Douala, Cameroun",
      "description": "...",
      "requirements": ["3 ans d'expérience", "Maîtrise React"],
      "salary_range": "Selon profil",
      "is_active": true,
      "published_at": "2026-04-01T10:00:00Z"
    }
  ]
}

Récupérer une offre par slug

GET /careers/:slug

4.5 Contact Tech

Envoyer un message

POST /contact/tech
Content-Type: application/json

{
  "name": "Jean Dupont",
  "email": "jean@exemple.com",
  "phone": "+237 691234567",
  "subject": "Demande de devis site web",
  "message": "Bonjour, je souhaite un devis pour..."
}

Réponse :

{
  "success": true,
  "data": {
    "message": "Votre message a été envoyé avec succès. Nous vous recontacterons sous 48h."
  }
}

4.6 Témoignages

Lister les témoignages

GET /testimonials?domain=tech&is_active=true

Endpoints Admin Tech (authentification requise)

JWT Token requis

Ces routes nécessitent un token JWT dans le header Authorization: Bearer <token>.
→ Voir l'authentification

Méthode Route Action
GET /admin/services Lister tous les services
POST /admin/services Créer un service
PUT /admin/services/:id Modifier un service
DELETE /admin/services/:id Supprimer un service
GET /admin/blog/articles Lister tous les articles
POST /admin/blog/articles Créer un article
PUT /admin/blog/articles/:id Modifier un article
DELETE /admin/blog/articles/:id Supprimer un article
GET /admin/careers Lister les offres
POST /admin/careers Créer une offre
PUT /admin/careers/:id Modifier une offre
DELETE /admin/careers/:id Supprimer une offre

Liens complémentaires