Comment installer des ressources/scripts sur FiveM
Published on November 7, 2025 at 09:53 PM

Ce guide vous explique comment installer, configurer et gérer des ressources (scripts) sur votre serveur FiveM de manière sécurisée et optimale.
# Comment installer des ressources/scripts sur FiveM
## Qu'est-ce qu'une ressource FiveM ?
Une **ressource** est un script ou un ensemble de fichiers qui ajoute des fonctionnalités à votre serveur :
- Scripts Lua (logique du jeu)
- Fichiers JavaScript (interface)
- HTML/CSS (menus, interfaces)
- Fichiers de configuration
- Assets (sons, textures, modèles)
## Types de ressources
### Ressources standalone
Fonctionnent indépendamment, sans dépendances :
- Scripts simples
- Menus basiques
- Outils administratifs
### Ressources avec dépendances
Nécessitent d'autres ressources pour fonctionner :
- Scripts ESX (nécessitent es_extended)
- Scripts QBCore (nécessitent qb-core)
- Scripts utilisant des librairies (oxmysql, PolyZone, etc.)
## Prérequis
- Serveur FiveM fonctionnel
- Accès FTP ou au gestionnaire de fichiers
- Base de données MySQL (pour certaines ressources)
- Connaissance du framework utilisé (ESX, QBCore, ou standalone)
## Étape 1 : Télécharger une ressource
### Sources fiables
**Sites recommandés** :
- GitHub (repositories officiels)
- FiveM Forums : [https://forum.cfx.re/](https://forum.cfx.re/)
- Tebex (scripts payants)
- GTA5-Mods (avec précaution)
**⚠️ Évitez** :
- Sites de téléchargement douteux
- Scripts "nulled" ou "leaked" (risques de backdoor)
- Sources inconnues sans code visible
### Vérifier la compatibilité
Avant de télécharger, vérifiez :
- **Framework** : ESX, QBCore, Standalone ?
- **Version** : Compatible avec votre version de serveur ?
- **Dépendances** : Quelles autres ressources sont nécessaires ?
- **Date de mise à jour** : Le script est-il maintenu ?
## Étape 2 : Préparer les fichiers
### Structure d'une ressource
Une ressource typique contient :
```
nom_de_la_ressource/
├── fxmanifest.lua # Fichier de configuration principal
├── client/ # Scripts côté client
│ └── main.lua
├── server/ # Scripts côté serveur
│ └── main.lua
├── config.lua # Configuration personnalisable
├── locales/ # Traductions
│ ├── en.lua
│ └── fr.lua
├── html/ # Interface (si applicable)
│ ├── index.html
│ ├── style.css
│ └── script.js
└── stream/ # Assets (sons, textures)
```
### Vérifier fxmanifest.lua
Ouvrez le fichier `fxmanifest.lua` pour voir les informations :
```lua
fx_version 'cerulean'
game 'gta5'
author 'Nom Auteur'
description 'Description du script'
version '1.0.0'
-- Dépendances
dependencies {
'es_extended', -- Nécessite ESX
'oxmysql' -- Nécessite oxmysql
}
-- Scripts chargés
shared_scripts {
'config.lua'
}
client_scripts {
'client/*.lua'
}
server_scripts {
'server/*.lua'
}
```
## Étape 3 : Installation des fichiers
### Méthode 1 : Via FTP
1. Connectez-vous à votre serveur FTP
2. Accédez au dossier `resources/`
3. Créez un dossier pour la ressource (ex: `[custom]/`)
4. Uploadez le dossier complet de la ressource
5. Vérifiez que la structure est intacte
### Méthode 2 : Via le gestionnaire de fichiers
1. Connectez-vous à votre panel de gestion
2. Accédez à **Fichiers** ou **Gestionnaire de fichiers**
3. Naviguez vers `resources/`
4. Uploadez le fichier ZIP
5. Extrayez-le directement sur le serveur
### Organisation recommandée
Organisez vos ressources par catégorie :
```
resources/
├── [essential]/ # Ressources système
│ ├── spawnmanager/
│ └── sessionmanager/
├── [esx]/ # Ressources ESX
│ ├── es_extended/
│ └── esx_skin/
├── [qb]/ # Ressources QBCore
│ ├── qb-core/
│ └── qb-spawn/
├── [standalone]/ # Scripts indépendants
│ ├── progressBars/
│ └── notification/
├── [jobs]/ # Scripts de métiers
│ ├── esx_policejob/
│ └── esx_ambulancejob/
└── [custom]/ # Scripts personnalisés
└── mon_script/
```
## Étape 4 : Configuration de la base de données
### Vérifier si une base de données est nécessaire
Cherchez dans la ressource :
- Fichier `.sql` dans le dossier
- Dossier `sql/` avec des fichiers SQL
- Mention dans le README
### Importer le fichier SQL
1. Ouvrez **phpMyAdmin** ou votre gestionnaire MySQL
2. Sélectionnez votre base de données
3. Cliquez sur **Importer**
4. Sélectionnez le fichier `.sql`
5. Cliquez sur **Exécuter**
**Exemple de fichier SQL** :
```sql
CREATE TABLE IF NOT EXISTS `mon_script` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(60) NOT NULL,
`data` longtext,
PRIMARY KEY (`id`)
);
```
### Vérifier l'importation
Après l'import, vérifiez que les tables sont créées :
- Allez dans l'onglet **Structure**
- Vérifiez que les nouvelles tables apparaissent
## Étape 5 : Configurer la ressource
### Éditer config.lua
Ouvrez le fichier `config.lua` et personnalisez :
```lua
Config = {}
-- Langue
Config.Locale = 'fr'
-- Framework
Config.Framework = 'ESX' -- ou 'QBCore' ou 'Standalone'
-- Positions
Config.Locations = {
vector3(123.45, -678.90, 30.0),
vector3(234.56, -789.01, 25.0)
}
-- Options
Config.EnableNotifications = true
Config.MaxDistance = 50.0
Config.PriceMultiplier = 1.0
-- Items
Config.RequiredItem = 'phone'
Config.RewardItem = 'money'
```
### Paramètres courants
**Positions** :
```lua
Config.Position = vector3(x, y, z)
Config.Heading = 90.0
```
**Items et argent** :
```lua
Config.Price = 5000
Config.RequiredItems = {
{item = 'phone', count = 1},
{item = 'money', count = 100}
}
```
**Jobs** (pour ESX/QBCore) :
```lua
Config.AuthorizedJobs = {
'police',
'ambulance',
'mechanic'
}
```
## Étape 6 : Ajouter au server.cfg
### Syntaxe de base
Ajoutez la ressource dans `server.cfg` :
```cfg
ensure nom_de_la_ressource
```
### Ordre d'exécution
**Important** : Respectez l'ordre des dépendances :
```cfg
# 1. Ressources système
ensure spawnmanager
ensure sessionmanager
ensure mapmanager
# 2. Librairies
ensure oxmysql
ensure pma-voice
# 3. Framework
ensure es_extended # ou qb-core
# 4. Dépendances du framework
ensure esx_skin
ensure esx_identity
# 5. Scripts personnalisés
ensure mon_script
```
### Options de démarrage
**ensure** (recommandé) :
```cfg
ensure mon_script # Démarre et redémarre automatiquement
```
**start** :
```cfg
start mon_script # Démarre une seule fois
```
**stop** :
```cfg
stop mon_script # Désactive la ressource
```
## Étape 7 : Installer les dépendances
### Dépendances courantes
**oxmysql** (base de données) :
- [https://github.com/overextended/oxmysql](https://github.com/overextended/oxmysql)
- Installez avant toute ressource utilisant MySQL
**PolyZone** (zones) :
- [https://github.com/mkafrin/PolyZone](https://github.com/mkafrin/PolyZone)
- Pour créer des zones d'interaction
**progressBars** (barres de progression) :
- [https://github.com/EthanPeacock/progressBars](https://github.com/EthanPeacock/progressBars)
- Pour afficher des animations de chargement
**pma-voice** (voix) :
- [https://github.com/AvarianKnight/pma-voice](https://github.com/AvarianKnight/pma-voice)
- Système de voix optimisé
### Vérifier les dépendances dans fxmanifest
```lua
dependencies {
'es_extended', # Framework ESX
'oxmysql', # Base de données
'progressBars', # Barres de progression
'PolyZone' # Zones
}
```
Installez chaque dépendance avant la ressource principale.
## Étape 8 : Tester la ressource
### Démarrer le serveur
1. Sauvegardez tous les fichiers modifiés
2. Redémarrez complètement le serveur
3. Surveillez la console pour les erreurs
### Vérifier les logs
Dans la console serveur, cherchez :
**Succès** :
```
Started resource mon_script
```
**Erreurs** :
```
Error loading script server/main.lua
Failed to start resource mon_script
```
### Commandes de test
Dans la console F8 (client) ou console serveur :
```
restart mon_script # Redémarrer la ressource
stop mon_script # Arrêter la ressource
start mon_script # Démarrer la ressource
refresh # Recharger la liste des ressources
```
## Résolution des problèmes courants
### La ressource ne démarre pas
**Causes possibles** :
- Dépendances manquantes
- Erreur de syntaxe dans les fichiers
- Mauvais ordre dans server.cfg
- Fichiers corrompus
**Solutions** :
1. Vérifiez les logs pour l'erreur exacte
2. Installez toutes les dépendances
3. Vérifiez fxmanifest.lua
4. Retéléchargez la ressource si nécessaire
### Erreur "Failed to load script"
**Cause** :
Erreur de syntaxe Lua dans les scripts
**Solution** :
```
# Vérifier la syntaxe
luac -p client/main.lua
luac -p server/main.lua
```
Corrigez les erreurs de syntaxe dans les fichiers.
### Base de données non connectée
**Symptômes** :
```
Error executing query: Table doesn't exist
MySQL connection failed
```
**Solutions** :
1. Vérifiez oxmysql dans server.cfg
2. Importez le fichier SQL
3. Vérifiez la connexion MySQL dans server.cfg
### Conflit entre ressources
**Symptômes** :
- Commandes qui ne fonctionnent plus
- Menus qui ne s'ouvrent pas
- Erreurs dans la console
**Solutions** :
1. Désactivez les ressources une par une
2. Identifiez la ressource problématique
3. Vérifiez les conflits de touches/commandes
4. Utilisez des versions compatibles
## Sécurité lors de l'installation
### Vérifier le code
**Avant d'installer, vérifiez** :
❌ **Backdoors** :
```lua
-- DANGEREUX
ExecuteCommand('add_ace identifier.steam:xxx group.admin')
AddEventHandler('give_money', function() end)
TriggerServerEvent('admin:giveAll')
```
❌ **Code malveillant** :
```lua
-- DANGEREUX
load(base64decode(...))
loadstring(...)
os.execute(...)
```
❌ **Connexions externes non autorisées** :
```lua
-- SUSPECT
PerformHttpRequest('http://site-inconnu.com/data', ...)
```
✅ **Code propre** :
```lua
-- BON
ESX.ShowNotification('Message')
TriggerServerEvent('mon_script:actionSecure')
```
### Scanner avec un antivirus
Scannez le dossier de la ressource avant upload :
- VirusTotal
- Windows Defender
- Antivirus tiers
### Tester sur un serveur de développement
**Recommandé** : Testez toujours sur un serveur de test avant la production.
## Optimisation des ressources
### Désactiver les ressources inutiles
Dans server.cfg, commentez ou supprimez :
```cfg
# ensure resource_inutile
```
### Limiter les scripts lourds
Évitez d'avoir trop de scripts actifs simultanément :
- Maximum 50-70 ressources actives
- Privilégiez les scripts optimisés
- Fusionnez les petits scripts
### Utiliser des alternatives optimisées
Remplacez les vieux scripts par des versions optimisées :
- **mysql-async** → **oxmysql** (meilleure performance)
- **esx_menu_default** → **ox_lib** (plus léger)
## Configuration avancée
### Ressources côté client uniquement
Pour des ressources sans serveur :
```lua
-- fxmanifest.lua
client_only 'yes'
client_scripts {
'client/*.lua'
}
```
### Ressources avec stream (assets)
Pour ajouter des véhicules, armes, vêtements :
```lua
files {
'stream/**/*.yft',
'stream/**/*.ytd'
}
data_file 'HANDLING_FILE' 'stream/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'stream/vehicles.meta'
```
### Ressources avec UI (NUI)
Pour des interfaces HTML :
```lua
ui_page 'html/index.html'
files {
'html/index.html',
'html/style.css',
'html/script.js'
}
```
## Mise à jour des ressources
### Processus de mise à jour
1. **Sauvegardez** l'ancienne version
2. **Lisez** le changelog pour les changements
3. **Téléchargez** la nouvelle version
4. **Remplacez** les fichiers (sauf config.lua)
5. **Importez** les nouveaux fichiers SQL si nécessaire
6. **Testez** sur un serveur de développement
7. **Déployez** en production
### Conserver les configurations
```bash
# Sauvegardez votre config avant mise à jour
cp mon_script/config.lua mon_script_config_backup.lua
```
Après la mise à jour, comparez et fusionnez les configurations.
## Gestion via txAdmin
### Installer via txAdmin
1. Accédez à txAdmin
2. Allez dans **Resources**
3. Cliquez sur **Install Resource**
4. Entrez l'URL GitHub ou uploadez le ZIP
5. txAdmin installe et configure automatiquement
### Gérer les ressources
Dans txAdmin :
- **Start/Stop/Restart** : Contrôler les ressources
- **View Logs** : Voir les erreurs
- **Edit Config** : Modifier les configurations
## Exemples d'installation complète
### Exemple 1 : Script standalone simple
```cfg
# 1. Télécharger progressBars
# 2. Extraire dans resources/[standalone]/progressBars/
# 3. Ajouter dans server.cfg
ensure progressBars
# 4. Redémarrer le serveur
```
### Exemple 2 : Script ESX avec base de données
```cfg
# 1. Télécharger esx_garage
# 2. Extraire dans resources/[esx]/esx_garage/
# 3. Importer esx_garage.sql dans phpMyAdmin
# 4. Modifier config.lua selon vos besoins
# 5. Ajouter dans server.cfg (après es_extended)
ensure es_extended
ensure esx_garage
# 6. Redémarrer le serveur
```
### Exemple 3 : Script avec dépendances multiples
```cfg
# 1. Installer les dépendances dans l'ordre
ensure oxmysql
ensure PolyZone
ensure progressBars
# 2. Installer le script principal
ensure mon_script_custom
# 3. Vérifier les logs
```
## Ressources recommandées
### Essentielles
**oxmysql** : Base de données optimisée
**pma-voice** : Système de voix
**ox_lib** : Librairie d'interface moderne
**PolyZone** : Gestion des zones
### Utilitaires
**progressBars** : Barres de progression
**screenshot-basic** : Captures d'écran
**bob74_ipl** : Intérieurs du jeu
**NativeUI** : Menus natifs
### Administration
**txAdmin** : Panel d'administration complet
**EasyAdmin** : Gestion des joueurs
**vMenu** : Menu administrateur
## Conclusion
L'installation de ressources sur FiveM est simple si vous suivez les bonnes pratiques :
1. **Téléchargez** uniquement depuis des sources fiables
2. **Vérifiez** la compatibilité et les dépendances
3. **Organisez** vos ressources dans des dossiers catégorisés
4. **Testez** sur un serveur de développement d'abord
5. **Surveillez** les logs pour détecter les erreurs
6. **Sauvegardez** régulièrement vos configurations
En respectant ces étapes, votre serveur sera stable, sécurisé et performant.














