> For the complete documentation index, see [llms.txt](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/dependances-necessaires.md).

# Dépendances nécessaires

## 🧩 Dépendances nécessaires

**BSensei Annonces Entreprises** est conçu pour être simple à installer et nécessite très peu de dépendances.

Dans sa configuration d’origine, seul **ESX Legacy** est obligatoire.

Aucune base de données supplémentaire n’est nécessaire.

***

### 📦 Dépendance principale

La ressource obligatoire est :

```
es_extended
```

Elle doit être installée et démarrée avant **BSensei Annonces Entreprises**.

Ordre conseillé dans le `server.cfg` :

```
ensure es_extended
ensure BSensei_annonces
```

⚠️ Si `es_extended` n’est pas démarré, le script ne pourra pas récupérer le métier du joueur.

***

### 🧠 ESX Legacy

Le script utilise ESX pour :

* récupérer les informations du joueur ;
* identifier son métier actuel ;
* vérifier si son entreprise est autorisée ;
* ouvrir le menu d’annonce ;
* afficher les notifications ;
* empêcher les métiers non configurés d’utiliser le système.

La ressource doit porter le nom suivant :

```
es_extended
```

Si ton framework ESX utilise un autre nom de dossier, adapte son démarrage dans le `server.cfg`.

***

### 💼 Métiers ESX

Les entreprises configurées dans le script doivent correspondre aux métiers réellement présents sur ton serveur.

Exemple dans `config.lua` :

```lua
Config.Jobs = {
    mechanic = {
        label = "LS Custom",
        image = "images/lsc.png"
    }
}
```

Le métier technique du joueur doit être :

```
mechanic
```

La clé présente dans `Config.Jobs` doit correspondre exactement au nom utilisé par ESX.

⚠️ Les majuscules et minuscules peuvent provoquer une incompatibilité.

✅ Exemple correct :

```
mechanic
```

❌ Exemple incorrect :

```
Mechanic
MECHANIC
mechanic_job
```

***

### 🖥️ Interface NUI

L’interface graphique est directement intégrée au script.

Elle se trouve dans :

```
BSensei_annonces/html/
```

Elle ne nécessite aucune ressource externe supplémentaire.

Le dossier contient notamment :

```
index.html
style.css
script.js
images/
sounds/
```

⚠️ Ne supprime pas les fichiers présents dans ce dossier, même si tu ne souhaites pas modifier l’apparence.

***

### 🖼️ Logos des entreprises

Les logos sont stockés dans :

```
BSensei_annonces/html/images/
```

Ils ne constituent pas une dépendance externe, mais chaque image configurée doit être présente dans ce dossier.

Exemple dans `config.lua` :

```lua
image = "images/mechanic.png"
```

Fichier correspondant :

```
BSensei_annonces/html/images/mechanic.png
```

Formats recommandés :

```
.png
.webp
.jpg
```

💡 Utilise de préférence des images carrées, légères et avec un fond transparent.

***

### 🔊 Fichiers audio

Le son d’apparition des annonces est directement intégré dans le script.

Les fichiers audio se trouvent dans :

```
BSensei_annonces/html/sounds/
```

Formats généralement compatibles :

```
.mp3
.ogg
.wav
```

Aucune ressource audio externe n’est nécessaire.

⚠️ Ne renomme pas le fichier audio sans modifier également son appel dans l’interface.

***

### 🗄️ Base de données

**Aucun fichier SQL n’est nécessaire.**

Le script ne crée aucune table supplémentaire et n’utilise pas `oxmysql`.

Tu n’as donc pas besoin d’installer :

```
oxmysql
mysql-async
ghmattimysql
```

Le métier du joueur est récupéré directement depuis ESX.

***

### 🎯 Système Target

Le script s’ouvre avec une commande et ne nécessite aucun système Target.

Tu n’as pas besoin d’installer :

```
ox_target
qb-target
qtarget
```

La commande utilisée par défaut est :

```
/annonce
```

***

### 🔧 `ox_lib`

`ox_lib` n’est pas nécessaire dans la configuration d’origine.

Tu dois uniquement l’ajouter si tu modifies le script pour utiliser ses notifications.

Exemple :

```lua
lib.notify({
    title = "Annonces Entreprises",
    description = message,
    type = "inform"
})
```

Dans ce cas, ajoute :

```
ensure ox_lib
ensure es_extended
ensure BSensei_annonces
```

***

### 🟢 `okokNotify`

`okokNotify` est facultatif.

Il est uniquement nécessaire si tu remplaces les notifications ESX par ce système.

Ordre conseillé :

```
ensure es_extended
ensure okokNotify
ensure BSensei_annonces
```

Exemple d’appel :

```lua
exports["okokNotify"]:Alert(
    "Annonces Entreprises",
    message,
    5000,
    "info"
)
```

Sans modification du système de notifications, `okokNotify` n’est pas nécessaire.

***

### 🚫 Ressources non nécessaires

Dans sa configuration d’origine, le script ne nécessite pas :

```
ox_lib
oxmysql
ox_inventory
ox_target
qb-core
qb-target
qs-dispatch
okokNotify
```

Seul le framework suivant est obligatoire :

```
es_extended
```

***

### ⚙️ Ordre de démarrage conseillé

Configuration minimale :

```
ensure es_extended

ensure BSensei_annonces
```

Avec `ox_lib` pour les notifications :

```
ensure ox_lib
ensure es_extended

ensure BSensei_annonces
```

Avec `okokNotify` :

```
ensure es_extended
ensure okokNotify

ensure BSensei_annonces
```

⚠️ Le système de notifications choisi doit toujours démarrer avant le script.

***

### ✅ Vérification des dépendances

Depuis la console serveur, utilise :

```
refresh
ensure es_extended
ensure BSensei_annonces
```

Vérifie ensuite que la console affiche correctement le démarrage du script.

Connecte-toi en jeu et teste :

```
/annonce
```

Contrôle que :

1. Le menu s’ouvre
2. Le métier du joueur est détecté
3. Les métiers non autorisés sont bloqués
4. Le logo de l’entreprise apparaît
5. L’annonce est diffusée aux joueurs
6. Les notifications fonctionnent
7. Aucun message d’erreur n’apparaît dans la console F8

***

### 🚨 En cas de problème

* Vérifie que `es_extended` est démarré
* Contrôle l’ordre des ressources dans le `server.cfg`
* Vérifie que le nom du métier correspond à `Config.Jobs`
* Assure-toi que les fichiers NUI sont présents
* Vérifie que les logos existent dans `html/images`
* Contrôle les majuscules et minuscules des noms de fichiers
* Consulte la console serveur
* Consulte la console F8
* Redémarre complètement le serveur après une modification importante

***

➡️ **Étape suivante : FAQ & problèmes fréquents**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/dependances-necessaires.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
