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¶
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¶
4.2 Blog Tech¶
Lister les articles¶
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¶
4.3 Réalisations (Works)¶
Lister les réalisations¶
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¶
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¶
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¶
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¶
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 |