---
# System prepended metadata

title: Test technique

---

# Recommandation de produits


## Contexte

Tu fais partie d'une entreprise où l'équipe Marketing souhaite recommander certains produits en fonction de la météo 

Pour cela, elle souhaite s'équiper d'un service de recommandations qui listera des produits en fonction du temps dans la ville ciblée.

L'objectif de ce test est de construire ce service avec une API. 
Tu pourras t'aider de n'importe quel framework, librairie ou outil que tu jugeras utiles.

Api Recommandations

Il existe 3 types de produits :  Pull, Sweat, T Shirt
Obtention de la liste des produits 

Exemples de requêtes possible

```jsonld
{ weather : { city : “Paris” }}
```

ou

```jsonld
{ weather : { city : “Marseille” }, date: “tomorrow”}  
```


Règles d’affichage des produits en fonction du temps :
* si la température est  inférieure à 10°, on renvoie des articles de type “pull”
* si le température est  comprise entre 10° et 20°, on renvoie des articles de de type “sweat”
* si la température est supérieure à 20°, on renvoie des articles de type “T Shirt”


Exemple de réponse en cas de temps chaud aujourd’hui


```jsonld
{ 
    products: [
        {id: “...”, name: “Tshirt bleu”, price: 20.00},
        {id: “...”, name: “Tshirt rouge”, price: 20.00},
    ],
    weather : {
        city: “Marseille”, 
        is: “hot”, 
        date: “today”
    }
}
```


Exemple de réponse en cas de temps froid prévu demain

```jsonld!
{ 
    products: [
        {id: “...”, name: “Pull”, price: 20.00},
        {id: “...”, name: “Tshirt rouge”, price: 20.00},
        {id: “...”, name: “Tshirt rouge”, price: 20.00}
    ],
    weather : {
        city: “Lille”, 
        is: cold, 
        date: tomorrow
    }
}
```


Evaluation

Lors de l'évaluation de ton code, une attention particulière sera  accordée :

au fonctionnement de l’api
* à l'architecture de l'application
* à la lisibilité et la clarté du code
* et à la présence de tests et à leur qualité

Il n’est pas nécessaire de déployer l’application sur un serveur distant

## Annexes

### Météo

Pour accéder à la météo, tu pourras t'aider de l'API WeatherAPI (compte à créer pour avoir la clé API)

https://www.weatherapi.com/api-explorer.aspx#forecast
