{"id":145661,"date":"2024-07-02T23:19:34","date_gmt":"2024-07-02T21:19:34","guid":{"rendered":"https:\/\/hifivem.com\/?p=145661"},"modified":"2026-08-11T12:02:19","modified_gmt":"2026-08-11T10:02:19","slug":"notifications-de-toz","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/fr\/toz-notifications\/","title":{"rendered":"Notifications ToZ pour FiveM"},"content":{"rendered":"<p>ToZ Notifications est une ressource autonome de notifications cr\u00e9\u00e9e par TottoZZ. Son client Lua envoie des messages \u00e0 une interface navigateur incluse, sans exiger ESX ni QBCore. Elle sert \u00e0 la pr\u00e9sentation : elle ne valide pas les \u00e9v\u00e9nements de jeu et ne fournit pas d\u2019export serveur de notification.<\/p>\n<h2>Envoyer des notifications par les interfaces fournies<\/h2>\n<p>L\u2019export client sendNotification re\u00e7oit une table de donn\u00e9es avec title, text, type et duration. Le wrapper Lua utilise par d\u00e9faut une notification informative de 4000 millisecondes. L\u2019interface propose les styles info, success, warning et error. Fournissez une dur\u00e9e positive et des textes adapt\u00e9s \u00e0 votre flux de notifications.<\/p>\n<p>Depuis le serveur, l\u2019int\u00e9gration document\u00e9e envoie l\u2019\u00e9v\u00e9nement client toz-notifications:sendNotification au joueur pr\u00e9vu avec cette table de donn\u00e9es. Il s\u2019agit d\u2019un appel d\u2019\u00e9v\u00e9nement, pas d\u2019un export serveur. Ne diffusez pas \u00e0 tous les joueurs des messages priv\u00e9s concernant un personnage, un paiement ou le personnel.<\/p>\n<h2>Installer et adapter la ressource au framework<\/h2>\n<p>Conservez le manifeste et les r\u00e9pertoires src\/client et build dans le m\u00eame dossier de ressource. Le manifeste sert build\/index.html et ses fichiers associ\u00e9s. D\u00e9marrez la ressource avant les scripts qui appellent son export client. config.lua existe dans le d\u00e9p\u00f4t, mais le manifeste examin\u00e9 ne le charge pas : modifier sa langue ne configure donc pas la ressource ex\u00e9cut\u00e9e.<\/p>\n<p>Le README propose des exemples rempla\u00e7ant les fonctions de notification du framework. V\u00e9rifiez d\u2019abord leurs signatures r\u00e9elles dans votre version install\u00e9e d\u2019ESX ou QBCore. Les exemples supposent une table d\u2019options et leur contr\u00f4le d\u2019\u00e9tat accepte aussi les ressources arr\u00eat\u00e9es. Pr\u00e9f\u00e9rez une petite int\u00e9gration dans votre propre script, avec v\u00e9rification de l\u2019\u00e9tat started et une solution de repli fonctionnelle.<\/p>\n<h2>Traitement des messages et port\u00e9e de l\u2019examen<\/h2>\n<p>Le code Vue convertit les codes de formatage GTA en HTML et affiche le texte avec v-html sans \u00e9chapper le balisage existant. Nettoyez les contenus non fiables et validez les types des donn\u00e9es avant affichage. Testez les quatre styles, les champs manquants, les textes longs, les messages r\u00e9p\u00e9t\u00e9s, le red\u00e9marrage et le repli sur un serveur de d\u00e9veloppement.<\/p>\n<p>Source examin\u00e9e le 10 septembre 2026 \u00e0 la r\u00e9vision 5ca472086703b3db614214b2be691bd8e7d62c69. Le manifeste, le wrapper client, le README et le code Vue ont \u00e9t\u00e9 inspect\u00e9s ; aucune int\u00e9gration de framework ni aucun test du navigateur en jeu n\u2019a \u00e9t\u00e9 effectu\u00e9.<\/p>\n<p><a href=\"https:\/\/github.com\/TottoZZ\/toz-notifications\/tree\/5ca472086703b3db614214b2be691bd8e7d62c69\">Consulter le code de ToZ Notifications<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Int\u00e9grer ToZ Notifications par export client ou \u00e9v\u00e9nement serveur. V\u00e9rifier les donn\u00e9es, le HTML des messages et les adaptateurs du framework.<\/p>","protected":false},"author":1,"featured_media":145662,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2297,2298],"tags":[3001,2928,3000],"class_list":["post-145661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free","category-scripts","tag-fivem-script","tag-free","tag-free-script"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/145661","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=145661"}],"version-history":[{"count":8,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/145661\/revisions"}],"predecessor-version":[{"id":214304,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/145661\/revisions\/214304"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media\/145662"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media?parent=145661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/categories?post=145661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/tags?post=145661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}