{"id":157927,"date":"2024-09-22T11:27:07","date_gmt":"2024-09-22T09:27:07","guid":{"rendered":"https:\/\/hifivem.com\/?p=157927"},"modified":"2026-07-23T09:28:35","modified_gmt":"2026-07-23T07:28:35","slug":"configuration-des-scripts-qbcore","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/fr\/setting-up-qbcore-scripts\/","title":{"rendered":"Comment installer et tester les scripts QBCore"},"content":{"rendered":"<p>Configurez les scripts QBCore avec un manifeste clair et une liste pr\u00e9cise des d\u00e9pendances, puis testez la configuration, les traductions, l\u2019ordre de d\u00e9marrage et la validation serveur des \u00e9v\u00e9nements avant la production.<\/p>\n<h2 id=\"declare-the-resource-boundary\">D\u00e9clarez la limite de la ressource<\/h2>\n<p>Lisez le README et les notes de version du paquet avant toute modification. Reprenez le dossier de ressource, les d\u00e9pendances, les chemins de configuration et les \u00e9ventuelles migrations de base de donn\u00e9es depuis cette documentation, puis ex\u00e9cutez uniquement les migrations document\u00e9es en pr\u00e9production. Le manifeste ci-dessous est un exemple de structure, pas un substitut aux instructions du paquet.<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">fx_version 'cerulean'\ngame 'gta5'\n\ndependency 'qb-core'\nshared_script 'config.lua'\nshared_script 'locales\/en.lua'\nclient_script 'client\/main.lua'\nserver_script 'server\/main.lua'<\/code><\/pre>\n<h2 id=\"customize-configuration-and-locales-safely\">Personnalisez la configuration et les locales en s\u00e9curit\u00e9<\/h2>\n<p>V\u00e9rifiez config.lua et les fichiers de traduction fournis avant le premier d\u00e9marrage. Conservez les valeurs propres au serveur dans la configuration, copiez uniquement les cl\u00e9s document\u00e9es et gardez la valeur upstream par d\u00e9faut comme point de comparaison. Ne conservez une modification que si une personne en est responsable, qu\u2019elle survit \u00e0 une mise \u00e0 jour upstream sans patch du noyau et qu\u2019elle a \u00e9t\u00e9 test\u00e9e en pr\u00e9production avant la production.<\/p>\n<h2 id=\"start-dependencies-first\">D\u00e9marrez les d\u00e9pendances en premier<\/h2>\n<p>Dans server.cfg, d\u00e9marrez qb-core avant le script qui en d\u00e9pend. Installez l'adaptateur de base de donn\u00e9es requis par votre version exacte de qb-core avant qb-core ; le noyau upstream d\u00e9clare oxmysql. V\u00e9rifiez s\u00e9par\u00e9ment les d\u00e9pendances de ressources suppl\u00e9mentaires. D\u00e9marrez d'abord toutes les autres d\u00e9pendances document\u00e9es, et utilisez ensure seulement apr\u00e8s avoir v\u00e9rifi\u00e9 chaque nom de dossier de ressource.<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">ensure qb-core\nensure your-resource<\/code><\/pre>\n<h2 id=\"validate-events-on-the-server\">Validez les \u00e9v\u00e9nements c\u00f4t\u00e9 serveur<\/h2>\n<p>Traitez les entr\u00e9es client comme non fiables. Utilisez les \u00e9v\u00e9nements r\u00e9seau uniquement lorsque les donn\u00e9es doivent traverser les contextes client et serveur, et validez autorisations, propri\u00e9t\u00e9, position, inventaire, argent et \u00e9tat avec des donn\u00e9es serveur avant de modifier quoi que ce soit de valeur. Ne laissez pas un client choisir une r\u00e9compense, un prix, un joueur cible ou une action privil\u00e9gi\u00e9e sans contr\u00f4les serveur.<\/p>\n<h2 id=\"stage-every-change\">Testez chaque modification en pr\u00e9production<\/h2>\n<p>Utilisez un serveur de pr\u00e9production avec une configuration repr\u00e9sentative et une base de donn\u00e9es jetable. D\u00e9marrez la ressource apr\u00e8s un red\u00e9marrage propre, exercez son flux joueur principal avec un compte autoris\u00e9 et un compte non privil\u00e9gi\u00e9, inspectez les erreurs serveur puis r\u00e9p\u00e9tez apr\u00e8s un red\u00e9marrage de ressource. Notez la version exacte et le delta de configuration avant la production.<\/p>\n<p>Sources primaires : code source actuel de qb-core, documentation Cfx du manifeste de ressource et guide Cfx de s\u00e9curit\u00e9 serveur.<\/p>\n<h2 id=\"reference-documentation\">Documentation de r\u00e9f\u00e9rence<\/h2>\n<p><a href=\"https:\/\/github.com\/qbcore-fivem\/qb-core\">Source : qbcore-fivem\/qb-core<\/a> \u00b7 <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-reference\/resource-manifest\/\">Cfx.re \u2014 manifeste de ressource<\/a> \u00b7 <a href=\"https:\/\/docs.fivem.net\/docs\/developers\/server-security\/\">Cfx.re \u2014 s\u00e9curit\u00e9 du serveur<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Configurez les scripts QBCore avec un manifeste clair et une liste pr\u00e9cise des d\u00e9pendances, puis testez la configuration, les traductions, l\u2019ordre de d\u00e9marrage et la validation serveur des \u00e9v\u00e9nements avant la production.<\/p>","protected":false},"author":1,"featured_media":157928,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877,1899],"tags":[3001,2859],"class_list":["post-157927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","category-tutorials","tag-fivem-script","tag-qbcore"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/157927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/comments?post=157927"}],"version-history":[{"count":4,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/157927\/revisions"}],"predecessor-version":[{"id":214033,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/157927\/revisions\/214033"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media\/157928"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media?parent=157927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/categories?post=157927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/tags?post=157927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}