{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":100484,"username":"JammyDodger","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jammydodger/{size}/254611_2.png","trust_level":3},{"id":153005,"username":"wal","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/w/d6d6ee/{size}.png","trust_level":2},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":57788,"username":"nathank","name":"Nathan Kershaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nathank/{size}/290039_2.png","flair_name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_group_id":148,"trust_level":4},{"id":8571,"username":"tobiaseigen","name":"Tobias Eigen","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/tobiaseigen/{size}/539204_2.png","trust_level":2},{"id":63921,"username":"eextra","name":"Sylwia","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/eextra/{size}/170266_2.png","trust_level":2},{"id":77477,"username":"b4oshany","name":"Oshane Bailey","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/b4oshany/{size}/176298_2.png","trust_level":2},{"id":68638,"username":"ClawdiaWolf","name":"Claudia","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/clawdiawolf/{size}/262518_2.png","trust_level":2},{"id":16295,"username":"cogdog","name":"Alan Levine","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/cogdog/{size}/116536_2.png","trust_level":2},{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/sam/{size}/102149_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":150857,"username":"MachineScholar","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/machinescholar/{size}/424719_2.png","trust_level":2},{"id":127856,"username":"Lilly","name":"Lillian ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lilly/{size}/555832_2.png","trust_level":3},{"id":172000,"username":"Olle11","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/o/cdc98d/{size}.png","trust_level":2},{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/moin/{size}/554653_2.png","trust_level":3},{"id":64663,"username":"patrickemin","name":"Patrick EMIN","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/patrickemin/{size}/520162_2.png","trust_level":2},{"id":83775,"username":"fitzy","name":"Michael Fitz-Payne","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fitzy/{size}/192549_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"trust_level":4},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/canapin/{size}/119591_2.png","trust_level":3},{"id":166720,"username":"opcourdis","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/o/45deac/{size}.png","trust_level":2},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/natedhaliwal/{size}/313494_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":3},{"id":24816,"username":"RBoy","name":"RBoy","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/{size}.png","trust_level":2},{"id":133767,"username":"petermarkley","name":null,"avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/petermarkley/{size}/307825_2.png","trust_level":1},{"id":138567,"username":"pHneutre","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/phneutre/{size}/326831_2.png","trust_level":2},{"id":79696,"username":"Jim_Starkweather","name":"Jim Starkweather","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jim_starkweather/{size}/181916_2.png","trust_level":2},{"id":19,"username":"eviltrout","name":"Robin Ward","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/eviltrout/{size}/5275_2.png","trust_level":4},{"id":14353,"username":"simon","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/simon/{size}/339122_2.png","trust_level":2},{"id":111706,"username":"kiefferr","name":"Ryan Kieffer","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/a5b964/{size}.png","trust_level":2},{"id":31832,"username":"Ivan_Rapekas","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ivan_rapekas/{size}/248924_2.png","trust_level":2},{"id":5859,"username":"j127","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/j127/{size}/79093_2.png","trust_level":2},{"id":27773,"username":"bletch","name":"Danny Goodall","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/bletch/{size}/69088_2.png","trust_level":2},{"id":117526,"username":"Dave_Driesmans","name":"Dave Driesmans","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dave_driesmans/{size}/253276_2.png","trust_level":0},{"id":179822,"username":"kcahtoor","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/{size}.png","trust_level":1},{"id":40486,"username":"TheBestPessimist","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/thebestpessimist/{size}/247704_2.png","trust_level":2},{"id":57427,"username":"Machigatta","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/machigatta/{size}/125064_2.png","trust_level":1},{"id":104279,"username":"nat","name":"Natalie T","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nat/{size}/235063_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":19127,"username":"webeindustry","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/webeindustry/{size}/53973_2.png","trust_level":2},{"id":27611,"username":"Jen_Lijo","name":"Jen","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jen_lijo/{size}/77057_2.png","trust_level":2},{"id":23842,"username":"AhmadF.Cheema","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ahmadf.cheema/{size}/87109_2.png","trust_level":2},{"id":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pacharanero/{size}/500583_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/schungx/{size}/70989_2.png","trust_level":2},{"id":141900,"username":"maaatt","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/m/ecb155/{size}.png","trust_level":2},{"id":25674,"username":"Jithin_Krishnan","name":"Jithin Krishnan","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jithin_krishnan/{size}/121329_2.png","trust_level":1},{"id":704,"username":"AstonJ","name":"AstonJ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/astonj/{size}/215041_2.png","trust_level":2},{"id":149694,"username":"Ambient.Impact","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ambient.impact/{size}/387027_2.png","trust_level":1},{"id":-1,"username":"system","name":"system","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/system/{size}/443519_2.png","admin":true,"moderator":true,"trust_level":4},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/david/{size}/157490_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/merefield/{size}/176214_2.png","trust_level":3},{"id":19189,"username":"rkda","name":"RK","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/rkda/{size}/120046_2.png","trust_level":2},{"id":43426,"username":"debryc","name":"Deborah Chang","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/debryc/{size}/101652_2.png","trust_level":2},{"id":193655,"username":"Devansh_Bartwal","name":"Devansh Bartwal","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/devansh_bartwal/{size}/489793_2.png","trust_level":0},{"id":179252,"username":"Athenkosi","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/a/e79b87/{size}.png","trust_level":0},{"id":160471,"username":"Ethsim2","name":"Ethan ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ethsim2/{size}/522255_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":1},{"id":83228,"username":"xu2","name":"Xu2","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/xu2/{size}/539078_2.png","trust_level":2},{"id":29739,"username":"southpaw","name":"Southpaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/southpaw/{size}/79352_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":21029,"username":"pmusaraj","name":"Penar Musaraj","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pmusaraj/{size}/119489_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3}],"primary_groups":[{"id":47,"name":"team"},{"id":276,"name":"VolunteerMods"}],"flair_groups":[{"id":142,"name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":148,"name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":47,"name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":276,"name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":""}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/documentation/10?page=1","per_page":30,"top_tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":482,"name":"référence","slug":"reference"},{"id":543,"name":"ia","slug":"ai"},{"id":479,"name":"explication","slug":"explanation"},{"id":812,"name":"utilisateurs","slug":"users"},{"id":820,"name":"guides-thématiques","slug":"theme-guides"},{"id":39,"name":"courriel","slug":"email"},{"id":814,"name":"personnalisation","slug":"customization"},{"id":330,"name":"api-rest","slug":"rest-api"},{"id":60,"name":"sso","slug":"sso"},{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":275,"name":"automatisation","slug":"automation"},{"id":9,"name":"groupes","slug":"groups"},{"id":819,"name":"code","slug":"code"},{"id":3,"name":"modération","slug":"moderation"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"},{"id":271,"name":"configuration","slug":"configuring"},{"id":811,"name":"interface","slug":"interface"},{"id":65,"name":"migrations","slug":"migrations"},{"id":481,"name":"configuration-avancée","slug":"advanced-setup"},{"id":230,"name":"intégration-de-discussion","slug":"chat-integration"},{"id":799,"name":"index","slug":"index"},{"id":813,"name":"contenu","slug":"content"},{"id":150,"name":"inst-dev","slug":"dev-install"},{"id":816,"name":"plateformes","slug":"platforms"},{"id":632,"name":"robot-ia","slug":"ai-bot"},{"id":24,"name":"docker","slug":"docker"},{"id":509,"name":"invitations","slug":"invites"},{"id":55,"name":"sauvegardes","slug":"backups"},{"id":2,"name":"badges","slug":"badges"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"}],"topics":[{"fancy_title":"Opérations de masse administratives","fancy_title_localized":true,"locale":"en","id":118349,"title":"Administrative Bulk Operations","slug":"administrative-bulk-operations","posts_count":9,"reply_count":24,"highest_post_number":39,"image_url":null,"created_at":"2019-05-22T00:36:34.343Z","last_posted_at":"2026-06-09T07:19:49.127Z","bumped":true,"bumped_at":"2026-06-09T07:19:49.127Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Vous trouverez ci-dessous une collection d'opérations par lots qui peuvent être lancées depuis la ligne de commande. Vous aurez besoin d'un accès SSH ; si vous êtes un client hébergé, vous devrez contacter l'équipe Discourse pour exécuter ces…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":482,"name":"référence","slug":"reference"},{"id":271,"name":"configuration","slug":"configuring"}],"tags_descriptions":{},"views":14259,"like_count":75,"has_summary":false,"last_poster_username":"nathank","category_id":55,"op_like_count":70,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user resolved a group export issue by disabling membership requests to avoid requiring an owner, allowing migration to proceed before patching settings post-transfer.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":100484,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":153005,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Auteur le plus récent","user_id":57788,"primary_group_id":null,"flair_group_id":148}]},{"fancy_title":"Comprendre et personnaliser la page À propos","fancy_title_localized":true,"locale":"en","id":332161,"title":"Understanding and customizing the About page","slug":"understanding-and-customizing-the-about-page","posts_count":1,"reply_count":5,"highest_post_number":1,"image_url":null,"created_at":"2024-10-29T13:31:19.910Z","last_posted_at":"2024-10-29T13:31:19.910Z","bumped":true,"bumped_at":"2026-06-08T22:02:26.641Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"La page À propos de Discourse sert de section d'introduction pour les visiteurs et les nouveaux arrivants, offrant un aperçu de la communauté, des personnes qui la composent, des statistiques de base et des coordonnées de contact. Bien qu'elle soit principalement destinée…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"visibility_reason_id":4,"tags":[{"id":917,"name":"page-a-propos","slug":"about-page"}],"tags_descriptions":{},"views":1341,"like_count":7,"has_summary":false,"last_poster_username":"Discourse","category_id":53,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Administrators can customize Discourse's About page to reflect community identity, including text, banner, and contact details, without needing console access.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":8571,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Générer de nouveaux sujets, messages et MP via IFTTT","fancy_title_localized":true,"locale":"en","id":61336,"title":"Generate new topics, posts and PM via IFTTT","slug":"generate-new-topics-posts-and-pm-via-ifttt","posts_count":6,"reply_count":3,"highest_post_number":6,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c.png","created_at":"2017-04-20T16:30:45.305Z","last_posted_at":"2023-03-23T22:43:21.096Z","bumped":true,"bumped_at":"2026-06-08T21:52:07.575Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Voulez-vous utiliser IFTTT pour créer de nouveaux sujets, des publications et des messages personnels ? C'est parti !\nEn utilisant les webhooks Maker du service IFTTT, nous pouvons effectuer des appels à l'API Discourse. Pour cela, nous devons d'abord générer des clés API. Vous pouvez créer des clés API…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1007,"height":209,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c.png"},{"max_width":800,"max_height":800,"width":800,"height":166,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_800x166.png"},{"max_width":600,"max_height":600,"width":600,"height":124,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_600x124.png"},{"max_width":400,"max_height":400,"width":400,"height":83,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_400x83.png"},{"max_width":300,"max_height":300,"width":300,"height":62,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_300x62.png"},{"max_width":200,"max_height":200,"width":200,"height":41,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_200x41.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":817,"name":"tâches","slug":"tasks"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":11493,"like_count":26,"has_summary":false,"last_poster_username":"cogdog","category_id":167,"op_like_count":22,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users face issues with IFTTT integration due to API key and username being sent as GET params instead of headers, prompting alternatives like custom PHP scripts or Zapier for seamless Discourse integration.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":63921,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":77477,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":68638,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":16295,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse AI - Artifacts Web","fancy_title_localized":true,"locale":"en","id":339972,"title":"Discourse AI - Web Artifacts","slug":"discourse-ai-web-artifacts","posts_count":5,"reply_count":3,"highest_post_number":6,"image_url":null,"created_at":"2024-12-03T02:36:29.068Z","last_posted_at":"2025-06-13T18:58:11.481Z","bumped":true,"bumped_at":"2026-06-08T21:51:22.542Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Qu'est-ce que les artefacts IA ?\nLes artefacts IA sont des outils puissants qui permettent aux utilisateurs de créer, d'intégrer et d'interagir avec des composants web dynamiques directement dans un message Discourse. Ces composants peuvent contenir du HTML personnalisé, du CSS et un…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":543,"name":"ia","slug":"ai"}],"tags_descriptions":{},"views":719,"like_count":25,"has_summary":false,"last_poster_username":"MachineScholar","category_id":53,"op_like_count":23,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse AI Artifacts allow embedding interactive web components in posts, but a user reported a bug where an artifact shared via a bot in a private category remains inaccessible to the intended group despite database permissions indicating access.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Auteur le plus récent","user_id":150857,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configuration du rappel automatique pour les sujets","fancy_title_localized":true,"locale":"en","id":262158,"title":"Configuring auto-bumping for topics","slug":"configuring-auto-bumping-for-topics","posts_count":25,"reply_count":14,"highest_post_number":31,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546.png","created_at":"2023-04-19T00:42:32.634Z","last_posted_at":"2026-06-06T20:10:57.964Z","bumped":true,"bumped_at":"2026-06-06T20:10:57.964Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: Ce guide explique comment configurer et utiliser le ré-affichage automatique (auto-bumping) pour les sujets dans Discourse, y compris les paramètres au niveau de la catégorie et les minuteries de sujets individuels.\n:person_raising_hand: Niveau d'utilisateur requis : Administrateur\n\nRé-affichage auto...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":719,"height":983,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546.png"},{"max_width":800,"max_height":800,"width":585,"height":800,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546_2_585x800.png"},{"max_width":600,"max_height":600,"width":438,"height":600,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546_2_438x600.png"},{"max_width":400,"max_height":400,"width":292,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546_2_292x400.png"},{"max_width":300,"max_height":300,"width":219,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546_2_219x300.png"},{"max_width":200,"max_height":200,"width":146,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/2/0/220a55444deeacff454dc3c7faeca8949d426546_2_146x200.png"}],"tags":[{"id":627,"name":"remontée-automatique","slug":"auto-bump"}],"tags_descriptions":{},"views":2132,"like_count":30,"has_summary":false,"last_poster_username":"patrickemin","category_id":53,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user suggested enhancing auto-bumping by prioritizing topics based on visitor interest metrics like views or votes, and by excluding recently created topics to prevent spamming new content.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":127856,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":172000,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":64663,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Comment annuler mon plan d&rsquo;hébergement ?","fancy_title_localized":true,"locale":"en","id":306413,"title":"How do I cancel my hosting plan?","slug":"how-do-i-cancel-my-hosting-plan","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_1024x228.png","created_at":"2024-05-01T23:36:57.849Z","last_posted_at":"2024-05-01T23:36:57.942Z","bumped":true,"bumped_at":"2026-06-05T11:39:22.941Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: Ce guide explique comment annuler votre service Discourse hébergé, télécharger vos données et comprendre vos options pour maintenir un accès limité à votre site. \n:person_raising_hand: Niveau d'utilisateur requis : Admin…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1630,"height":364,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":228,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_1024x228.png"},{"max_width":800,"max_height":800,"width":800,"height":178,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_800x178.png"},{"max_width":600,"max_height":600,"width":600,"height":133,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_600x133.png"},{"max_width":400,"max_height":400,"width":400,"height":89,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_400x89.png"},{"max_width":300,"max_height":300,"width":300,"height":66,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_300x66.png"},{"max_width":200,"max_height":200,"width":200,"height":44,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/d/0/7d0e3983d3e759ed6a137929fd2ec8b781b5b882_2_200x44.png"}],"tags":[],"tags_descriptions":{},"views":614,"like_count":3,"has_summary":false,"last_poster_username":"Discourse","category_id":164,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The guide outlines steps to cancel a Discourse hosting plan, detailing automatic data backup generation, alternative downgrade options like staff-only or read-only modes, and the decommissioning timeline.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configurer Discourse pour le développement sous Fedora Linux","fancy_title_localized":true,"locale":"en","id":163348,"title":"Set up Discourse for development on Fedora Linux","slug":"set-up-discourse-for-development-on-fedora-linux","posts_count":13,"reply_count":12,"highest_post_number":25,"image_url":null,"created_at":"2020-09-08T11:00:32.308Z","last_posted_at":"2026-06-05T08:25:11.120Z","bumped":true,"bumped_at":"2026-06-05T08:25:11.120Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Ce guide a été testé avec une installation fraîche de Fedora 31 et 33, mais peut fonctionner sur des versions plus anciennes qui utilisent également dnf comme outil de gestion de paquets. Ce n'est pas un guide officiel, mais il peut être utile pour d'autres développeurs…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":150,"name":"inst-dev","slug":"dev-install"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm...","inst-dev":"Instructions et problèmes liés à l'installation de Discourse pour le développ..."},"views":4491,"like_count":43,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":27,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users question the guide's official status and the use of an outdated Ruby version (2.7.1) in the Fedora Discourse development setup instructions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":83775,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":166720,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Configurer la connexion Facebook pour Discourse","fancy_title_localized":true,"locale":"en","id":13394,"title":"Configure Facebook login for Discourse","slug":"configure-facebook-login-for-discourse","posts_count":38,"reply_count":114,"highest_post_number":210,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_1024x523.png","created_at":"2014-03-04T17:40:19.713Z","last_posted_at":"2026-06-03T12:45:59.346Z","bumped":true,"bumped_at":"2026-06-03T12:45:59.346Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":exclamation: As of February 2023, Meta has implemented a business verification requirement when publishing new and existing apps. \n\n:warning: Updating the Facebook app API or creating a new app will break existing login&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1394,"height":713,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":523,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_1024x523.png"},{"max_width":800,"max_height":800,"width":800,"height":409,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_800x409.png"},{"max_width":600,"max_height":600,"width":600,"height":306,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_600x306.png"},{"max_width":400,"max_height":400,"width":400,"height":204,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_400x204.png"},{"max_width":300,"max_height":300,"width":300,"height":153,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_300x153.png"},{"max_width":200,"max_height":200,"width":200,"height":102,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_200x102.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"},{"id":755,"name":"authentification-sociale","slug":"social-auth"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":332047,"like_count":138,"has_summary":false,"last_poster_username":"pHneutre","category_id":167,"op_like_count":77,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The tutorial for configuring Facebook login in Discourse is currently outdated because the provided developer link is broken and Meta's February 2023 business verification requirement has changed the setup process.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":24816,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":133767,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":138567,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Intégrer les commentaires Discourse sur un autre site web via Javascript","fancy_title_localized":true,"locale":"en","id":31963,"title":"Embed Discourse comments on another website via Javascript","slug":"embed-discourse-comments-on-another-website-via-javascript","posts_count":128,"reply_count":311,"highest_post_number":491,"image_url":null,"created_at":"2015-08-10T18:20:46.333Z","last_posted_at":"2026-06-02T19:14:05.544Z","bumped":true,"bumped_at":"2026-06-02T19:14:05.544Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse a la capacité d'intégrer les commentaires d'un sujet sur un site distant en utilisant une API Javascript qui crée un IFRAME. Pour un exemple de cela en action, consultez le blog de Coding Horror. Le blog est géré via Ghost b……","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":43,"name":"incorporation","slug":"embedding"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":302993,"like_count":281,"has_summary":true,"last_poster_username":"kiefferr","category_id":167,"op_like_count":116,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss embedding Discourse comments on external sites, noting that private forums on separate domains block display for non-logged-in users and that HTTP 419 errors may stem from CSRF token mismatches between disconnected domains.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":79696,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":19,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":111706,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configuration des e-mails entrants pour créer de nouveaux sujets ou regrouper des messages","fancy_title_localized":true,"locale":"en","id":62977,"title":"Configuring incoming email to create new topics or group messages","slug":"configuring-incoming-email-to-create-new-topics-or-group-messages","posts_count":4,"reply_count":30,"highest_post_number":57,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_1024x327.png","created_at":"2017-05-18T20:07:09.953Z","last_posted_at":"2026-02-10T09:21:38.030Z","bumped":true,"bumped_at":"2026-06-02T17:19:29.151Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: Ce guide explique comment configurer les e-mails entrants pour créer de nouveaux sujets ou regrouper des messages dans Discourse, y compris la configuration des paramètres du site et des paramètres spécifiques aux catégories ou aux groupes. :person_raising_hand: …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1190,"height":381,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":327,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_1024x327.png"},{"max_width":800,"max_height":800,"width":800,"height":256,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_800x256.png"},{"max_width":600,"max_height":600,"width":600,"height":192,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_600x192.png"},{"max_width":400,"max_height":400,"width":400,"height":128,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_400x128.png"},{"max_width":300,"max_height":300,"width":300,"height":96,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_300x96.png"},{"max_width":200,"max_height":200,"width":200,"height":64,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/d/7da6974c6b7c56a7db91950b9f1116e0b04ff8e0_2_200x64.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":832,"name":"courriel-entrant","slug":"email-in"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":24573,"like_count":52,"has_summary":false,"last_poster_username":"Moin","category_id":53,"op_like_count":50,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user troubleshooting incoming email setup on a self-hosted Discourse instance, using an outdated Bitnami version, seeks clarification on email configuration settings and receives guidance to test on a supported platform instead.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":100484,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":127856,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":31832,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":95552,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Créer et partager une palette de couleurs","fancy_title_localized":true,"locale":"en","id":61196,"title":"Create and share a color scheme","slug":"create-and-share-a-color-scheme","posts_count":2,"reply_count":0,"highest_post_number":3,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_1024x670.png","created_at":"2017-04-18T14:44:23.540Z","last_posted_at":"2025-08-01T18:49:05.210Z","bumped":true,"bumped_at":"2026-06-02T14:54:24.218Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse prend désormais en charge l'importation de palettes de couleurs depuis un dépôt distant. Voici comment procéder.\nAccédez aux couleurs et ajoutez une palette de couleurs.\nRendez-vous sur /admin/customize/colors de votre site…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1950,"height":1276,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":670,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_1024x670.png"},{"max_width":800,"max_height":800,"width":800,"height":523,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_800x523.png"},{"max_width":600,"max_height":600,"width":600,"height":392,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_600x392.png"},{"max_width":400,"max_height":400,"width":400,"height":261,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_400x261.png"},{"max_width":300,"max_height":300,"width":300,"height":196,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_300x196.png"},{"max_width":200,"max_height":200,"width":200,"height":130,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_200x130.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":6291,"like_count":23,"has_summary":false,"last_poster_username":"j127","category_id":56,"op_like_count":23,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"User suggests adding 'hover' and 'selected' fields to the color scheme configuration for enhanced customization.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":5859,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Créer et partager un composant de thème de police","fancy_title_localized":true,"locale":"en","id":62462,"title":"Create and share a font theme component","slug":"create-and-share-a-font-theme-component","posts_count":5,"reply_count":0,"highest_post_number":7,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_1024x412.png","created_at":"2017-05-10T20:48:47.477Z","last_posted_at":"2025-08-19T22:34:35.578Z","bumped":true,"bumped_at":"2026-06-02T14:54:22.736Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse prend en charge l'importation de thèmes contenant des ressources depuis un référentiel distant. Cela permet aux auteurs de thèmes de partager des polices et des images. Créez un nouveau référentiel Git avec la police : \nmkdir discourse-roboto-theme\ncd discourse-r&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1508,"height":608,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":412,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_1024x412.png"},{"max_width":800,"max_height":800,"width":800,"height":322,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_800x322.png"},{"max_width":600,"max_height":600,"width":600,"height":241,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_600x241.png"},{"max_width":400,"max_height":400,"width":400,"height":161,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_400x161.png"},{"max_width":300,"max_height":300,"width":300,"height":120,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_300x120.png"},{"max_width":200,"max_height":200,"width":200,"height":80,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_200x80.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":820,"name":"guides-thématiques","slug":"theme-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":5991,"like_count":23,"has_summary":false,"last_poster_username":"kcahtoor","category_id":56,"op_like_count":19,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users report errors with undefined variables and missing assets when following the font theme component guide, questioning if the instructions need updating.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":27773,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":117526,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":179822,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Développement de plugins Discourse - Partie 6 - Ajout de tests d&rsquo;acceptation","fancy_title_localized":true,"locale":"en","id":32619,"title":"Developing Discourse Plugins - Part 6 - Add acceptance tests","slug":"developing-discourse-plugins-part-6-add-acceptance-tests","posts_count":33,"reply_count":26,"highest_post_number":38,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_1024x715.png","created_at":"2015-08-27T21:32:26.323Z","last_posted_at":"2022-06-02T11:06:38.274Z","bumped":true,"bumped_at":"2026-06-02T14:54:21.418Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Tutoriel précédent : Développement de plugins Discourse - Partie 5 - Ajouter une interface d'administration\n\nSaviez-vous que Discourse dispose de deux grandes suites de tests pour sa base de code ? Côté serveur, notre code Ruby est doté d'une suite de tests qui utilise rs…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1058,"height":739,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":715,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_1024x715.png"},{"max_width":800,"max_height":800,"width":800,"height":558,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_800x558.png"},{"max_width":600,"max_height":600,"width":600,"height":419,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_600x419.png"},{"max_width":400,"max_height":400,"width":400,"height":279,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_400x279.png"},{"max_width":300,"max_height":300,"width":300,"height":209,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_300x209.png"},{"max_width":200,"max_height":200,"width":200,"height":139,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_200x139.png"}],"tags":[{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"},{"id":58,"name":"essai","slug":"testing"}],"tags_descriptions":{"tutoriel":""},"views":17409,"like_count":82,"has_summary":false,"last_poster_username":"nat","category_id":56,"op_like_count":30,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users are troubleshooting issues with running acceptance tests for Discourse plugins, resolving errors related to test suites, plugin registration, and EmberCLI, with solutions involving test setup, plugin configuration, and code updates.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":40486,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":57427,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":104279,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Développement de plugins Discourse - Partie 5 : ajouter une interface d&rsquo;administration","fancy_title_localized":true,"locale":"en","id":31761,"title":"Developing Discourse Plugins - Part 5 - Add an admin interface","slug":"developing-discourse-plugins-part-5-add-an-admin-interface","posts_count":47,"reply_count":40,"highest_post_number":51,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3.png","created_at":"2015-08-04T20:34:32.128Z","last_posted_at":"2024-09-24T11:10:58.173Z","bumped":true,"bumped_at":"2026-06-02T14:54:20.026Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Tutoriel précédent : Développement de plugins Discourse - Partie 4 - Configuration de git\n\nParfois, les paramètres du site ne suffisent pas pour que votre plugin fonctionne comme vous le souhaitez dans l'interface d'administration. Par exemple, si vous installez le plugin discourse-akism…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":995,"height":244,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3.png"},{"max_width":800,"max_height":800,"width":800,"height":196,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_800x196.png"},{"max_width":600,"max_height":600,"width":600,"height":147,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_600x147.png"},{"max_width":400,"max_height":400,"width":400,"height":98,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_400x98.png"},{"max_width":300,"max_height":300,"width":300,"height":73,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_300x73.png"},{"max_width":200,"max_height":200,"width":200,"height":49,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_200x49.png"}],"tags":[{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"tutoriel":""},"views":26495,"like_count":85,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":28,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss and resolve issues with adding admin interfaces for their Discourse plugins, sharing code fixes and troubleshooting advice on Ember routing, file naming conventions, and testing errors.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":19127,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":27611,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":19,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Développement de plugins Discourse - Partie 4 - Configuration de git","fancy_title_localized":true,"locale":"en","id":31272,"title":"Developing Discourse Plugins - Part 4 - Setup git","slug":"developing-discourse-plugins-part-4-setup-git","posts_count":11,"reply_count":5,"highest_post_number":11,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007.png","created_at":"2015-07-21T20:54:59.409Z","last_posted_at":"2024-01-30T11:12:28.312Z","bumped":true,"bumped_at":"2026-06-02T14:54:17.764Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Tutoriel précédent : Développement de plugins Discourse - Partie 3 - Ajouter des paramètres de site personnalisés\n\nMaintenant que votre plugin devient plus sophistiqué, il est temps d’adopter une approche plus élaborée pour son développement.\nNous vous suggérons de...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":730,"height":413,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007.png"},{"max_width":600,"max_height":600,"width":600,"height":339,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_600x339.png"},{"max_width":400,"max_height":400,"width":400,"height":226,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_400x226.png"},{"max_width":300,"max_height":300,"width":300,"height":169,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_300x169.png"},{"max_width":200,"max_height":200,"width":200,"height":113,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_200x113.png"}],"tags":[{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"tutoriel":""},"views":13108,"like_count":37,"has_summary":false,"last_poster_username":"maaatt","category_id":56,"op_like_count":23,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Windows and macOS users face challenges with symbolic links in Discourse plugin development; solutions include using junctions in Windows, aliases in macOS, or a synced folder in Vagrant to create working symlinks within the development environment.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":23842,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":28866,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":141900,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Développement de plugins Discourse - Partie 1 - Créer un plugin de base","fancy_title_localized":true,"locale":"en","id":30515,"title":"Developing Discourse Plugins - Part 1 - Create a basic plugin","slug":"developing-discourse-plugins-part-1-create-a-basic-plugin","posts_count":33,"reply_count":87,"highest_post_number":141,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73.png","created_at":"2015-06-26T21:01:08.310Z","last_posted_at":"2025-07-08T20:52:10.855Z","bumped":true,"bumped_at":"2026-06-02T14:54:16.316Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Créer un plugin dans Discourse peut être vraiment simple, une fois que vous avez compris quelques particularités. L'objectif de ce message est de créer un squelette de plugin et de vous présenter les bases.\nVotre environnement de développement\nAssurez-vous d'avoir…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":845,"height":128,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73.png"},{"max_width":800,"max_height":800,"width":800,"height":121,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_800x121.png"},{"max_width":600,"max_height":600,"width":600,"height":90,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_600x90.png"},{"max_width":400,"max_height":400,"width":400,"height":60,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_400x60.png"},{"max_width":300,"max_height":300,"width":300,"height":45,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_300x45.png"},{"max_width":200,"max_height":200,"width":200,"height":30,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_200x30.png"}],"tags":[{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"tutoriel":""},"views":82768,"like_count":210,"has_summary":false,"last_poster_username":"Ambient.Impact","category_id":56,"op_like_count":110,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion details an issue encountered when creating plugins with the Docker setup, requiring users to configure Git's user email and name within the container before running `rake plugin:create`.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":25674,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":704,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":149694,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Utiliser l&rsquo;API DModal pour afficher des fenêtres modales (alias popups/dialogues) dans Discourse","fancy_title_localized":true,"locale":"en","id":268304,"title":"Using the DModal API to render Modal windows (aka popups/dialogs) in Discourse","slug":"using-the-dmodal-api-to-render-modal-windows-aka-popups-dialogs-in-discourse","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35.png","created_at":"2023-07-03T09:52:06.275Z","last_posted_at":"2023-07-03T09:52:06.275Z","bumped":true,"bumped_at":"2026-06-02T14:54:11.378Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse 3.1.0.beta6 est livré avec une toute nouvelle API basée sur les composants <DModal>.\n\nℹ️ Cela remplace l'ancienne API basée sur les contrôleurs, désormais obsolète. Si vous disposez de modales existantes utilisant les anciennes API, veuillez...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":696,"height":258,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35.png"},{"max_width":600,"max_height":600,"width":600,"height":222,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_600x222.png"},{"max_width":400,"max_height":400,"width":400,"height":148,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_400x148.png"},{"max_width":300,"max_height":300,"width":300,"height":111,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_300x111.png"},{"max_width":200,"max_height":200,"width":200,"height":74,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_200x74.png"}],"tags":[{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":2083,"like_count":17,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse 3.1.0.beta6 introduces the <DModal> component API for rendering modals, replacing the deprecated controller-based method, with examples for template use, component wrapping, and service-based triggering.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Index des guides développeur","fancy_title_localized":true,"locale":"en","id":308036,"title":"Developer Guides Index","slug":"developer-guides-index","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":null,"created_at":"2024-05-15T06:05:51.350Z","last_posted_at":"2024-05-15T06:05:51.457Z","bumped":true,"bumped_at":"2026-06-01T15:09:46.938Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Documentation sur l'extension de Discourse avec des plugins, des thèmes et des composants de thème, le travail avec le code principal et l'utilisation de l'API Discourse.\nIntroduction\n\nIntroduction : Présentation du développement de Discourse\n\nDéveloppement…","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":799,"name":"index","slug":"index"}],"tags_descriptions":{"index":"Index des sujets de catégorie de documentation."},"views":1986,"like_count":13,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":13,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discussion about creating a plugin skeleton, with the original link now found at https://meta.discourse.org/t/automating-discourse-plugin-setup-with-create-discourse-plugin-gem/315013, which provides a rake task for automating Discourse plugin setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":100484,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Insérez du texte ou des images n&rsquo;importe où sur votre site en utilisant des pseudo-éléments CSS","fancy_title_localized":true,"locale":"en","id":99200,"title":"Insert text or images anywhere on your site using CSS pseudo-elements","slug":"insert-text-or-images-anywhere-on-your-site-using-css-pseudo-elements","posts_count":1,"reply_count":6,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_1024x471.png","created_at":"2018-10-11T11:12:34.130Z","last_posted_at":"2018-10-11T11:12:34.130Z","bumped":true,"bumped_at":"2026-06-01T15:09:42.855Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Donc, vous souhaitez insérer du texte ou une image sur votre site Discourse. \nPour le texte, dans la plupart des cas, il suffit de le modifier via /admin/customize/site_texts. \nParfois, cependant, nous avons le désir d'ajouter une phrase …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1911,"height":879,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":471,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_1024x471.png"},{"max_width":800,"max_height":800,"width":800,"height":367,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_800x367.png"},{"max_width":600,"max_height":600,"width":600,"height":275,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_600x275.png"},{"max_width":400,"max_height":400,"width":400,"height":183,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_400x183.png"},{"max_width":300,"max_height":300,"width":300,"height":137,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_300x137.png"},{"max_width":200,"max_height":200,"width":200,"height":91,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_200x91.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":814,"name":"personnalisation","slug":"customization"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":17984,"like_count":33,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":33,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"To insert text or images on a site, use CSS pseudo-elements `:before` and `:after` to add content to elements without modifying existing HTML, by editing the site's stylesheet in the browser's developer console.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Designing for Different Devices (Viewport Size, Touch/Hover, etc.)","fancy_title_localized":false,"locale":null,"id":367810,"title":"Designing for Different Devices (Viewport Size, Touch/Hover, etc.)","slug":"designing-for-different-devices-viewport-size-touch-hover-etc","posts_count":15,"reply_count":11,"highest_post_number":15,"image_url":null,"created_at":"2025-05-27T18:17:05.719Z","last_posted_at":"2026-01-25T21:34:26.908Z","bumped":true,"bumped_at":"2026-06-01T15:09:36.242Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This document outlines the APIs used to adapt Discourse’s user interface for different devices. \nViewport Size\nThe most important characteristic to consider is the viewport size. We design “mobile first” and then add cus&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":701,"like_count":24,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":12,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse is phasing out legacy mobile/desktop modes in favor of viewport and touch detection; users discuss deprecating outdated classes like pull-left and adapting core components for responsive layouts across devices.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Auteur fréquent","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":127856,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Guidelines for CSS classes using BEM","fancy_title_localized":false,"locale":null,"id":361851,"title":"Guidelines for CSS classes using BEM","slug":"guidelines-for-css-classes-using-bem","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-04-15T05:48:23.418Z","last_posted_at":"2025-04-15T05:48:23.483Z","bumped":true,"bumped_at":"2026-06-01T15:09:34.864Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Background\nWhen writing CSS classes for Discourse components, themes, or plugins, we follow a modified variant of Block Element Modifier (BEM). Following these guidelines will make it much less likely for CSS conflicts t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":294,"like_count":8,"has_summary":false,"last_poster_username":"system","category_id":56,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse uses a modified BEM variant for CSS classes, following specific syntax and guidelines to minimize conflicts and improve specificity.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Using Transformers to customize client-side values and behavior","fancy_title_localized":false,"locale":null,"id":349954,"title":"Using Transformers to customize client-side values and behavior","slug":"using-transformers-to-customize-client-side-values-and-behavior","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-01-31T20:19:51.229Z","last_posted_at":"2025-11-03T03:00:09.908Z","bumped":true,"bumped_at":"2026-06-01T15:09:33.590Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse core includes a number of “transformer” hooks which can be used to customize client behavior. These fall into two categories: \n\n\nValue Transformers take an output from Discourse core, and optionally modify it, &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":605,"like_count":11,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A discussion on using Discourse's transformer hooks to customize client-side values and behavior, with recent updates including a PR to modify the Transformers registry link to the frontend directory.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Configurer les notifications Slack avec le plugin discourse-chat-integration","fancy_title_localized":true,"locale":"en","id":66730,"title":"Set up Slack notifications using the discourse-chat-integration plugin","slug":"set-up-slack-notifications-using-the-discourse-chat-integration-plugin","posts_count":107,"reply_count":64,"highest_post_number":118,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257.png","created_at":"2017-07-24T16:45:28.351Z","last_posted_at":"2026-06-01T13:26:59.689Z","bumped":true,"bumped_at":"2026-06-01T13:26:59.689Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Ce \\u003cspan class=\\\"hashtag-icon-placeholder\\\"\\u003e\\u003c/span\\u003ehowto\\u003c/span\\u003e décrit comment configurer le fournisseur Slack inclus dans discourse-chat-integration. Il permet de publier des notifications sur Slack, de gérer des règles à l'aide de commandes Slash et de publier des transcriptions sur Discourse. Slas&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":564,"height":464,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257.png"},{"max_width":400,"max_height":400,"width":400,"height":329,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_400x329.png"},{"max_width":300,"max_height":300,"width":300,"height":246,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_300x246.png"},{"max_width":200,"max_height":200,"width":200,"height":164,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_200x164.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":230,"name":"intégration-de-discussion","slug":"chat-integration"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":33759,"like_count":194,"has_summary":true,"last_poster_username":"Devansh_Bartwal","category_id":167,"op_like_count":33,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user inquired whether the discourse-chat-integration plugin allows tagging Slack users based on keywords used within the Discourse community.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":19189,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":43426,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":193655,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Guide du développeur pour les extensions Markdown","fancy_title_localized":true,"locale":"en","id":66023,"title":"Developer's guide to Markdown extensions","slug":"developers-guide-to-markdown-extensions","posts_count":2,"reply_count":13,"highest_post_number":24,"image_url":null,"created_at":"2017-07-11T21:23:25.941Z","last_posted_at":"2026-06-01T08:45:53.539Z","bumped":true,"bumped_at":"2026-06-01T08:45:53.539Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse utilise un moteur Markdown appelé Markdown-it.\nVoici quelques notes de développement qui vous aideront soit à corriger des bogues dans le cœur, soit à créer vos nouveaux plugins.\nLes bases\nDiscourse ne contient que quelques aides en plus du moteur, ...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":482,"name":"référence","slug":"reference"},{"id":52,"name":"markdown","slug":"markdown"},{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":13554,"like_count":35,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":35,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While the guide details creating Markdown extensions for Discourse, a user inquires whether these customizations can be implemented within Theme Components or are restricted to plugins.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Créer, télécharger et restaurer une sauvegarde de votre base de données Discourse","fancy_title_localized":true,"locale":"en","id":122710,"title":"Create, download, and restore a backup of your Discourse database","slug":"create-download-and-restore-a-backup-of-your-discourse-database","posts_count":26,"reply_count":41,"highest_post_number":69,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_1024x292.png","created_at":"2019-07-11T18:39:08.493Z","last_posted_at":"2026-05-29T20:31:09.472Z","bumped":true,"bumped_at":"2026-05-29T20:31:09.472Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: Ce guide fournit des instructions étape par étape pour créer, télécharger et restaurer une sauvegarde de votre base de données Discourse.\n:person_raising_hand: Niveau d'utilisateur requis : Administrateur\n\nDiscourse permet aux sites ad...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1241,"height":354,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":292,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_1024x292.png"},{"max_width":800,"max_height":800,"width":800,"height":228,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_800x228.png"},{"max_width":600,"max_height":600,"width":600,"height":171,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_600x171.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/2/5/1/251a2ade814ccd6010680618bb1fff0be9ea50a7_2_200x57.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":55,"name":"sauvegardes","slug":"backups"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":24487,"like_count":42,"has_summary":false,"last_poster_username":"southpaw","category_id":55,"op_like_count":32,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse clarified that their infrastructure backups are for disaster recovery only and cannot be used for individual site restores, directing users to contact support for assistance with creating full backups that include uploads.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":179252,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":160471,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Auteur fréquent","user_id":83228,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":29739,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Theme Developer Tutorial: 2. Creating a remote theme","fancy_title_localized":false,"locale":null,"id":357797,"title":"Theme Developer Tutorial: 2. Creating a remote theme","slug":"theme-developer-tutorial-2-creating-a-remote-theme","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-18T15:59:09.382Z","last_posted_at":"2025-03-18T15:59:09.454Z","bumped":true,"bumped_at":"2026-05-29T10:12:51.441Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"In the last chapter, we created a basic theme via the Discourse admin interface. This works well enough for very simple themes. But as soon as you want to do something more complex, or share a theme more widely, you’ll n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":724,"like_count":2,"has_summary":false,"last_poster_username":"system","category_id":56,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The tutorial guides users through creating a remote Discourse theme using the discourse_theme CLI, syncing it to a Discourse instance, adding custom code, and preparing it for GitHub hosting.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Write end-to-end system specs for the Discourse user interface","fancy_title_localized":false,"locale":null,"id":325937,"title":"Write end-to-end system specs for the Discourse user interface","slug":"write-end-to-end-system-specs-for-the-discourse-user-interface","posts_count":4,"reply_count":2,"highest_post_number":5,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64.png","created_at":"2024-09-11T04:07:31.148Z","last_posted_at":"2025-08-28T14:51:13.004Z","bumped":true,"bumped_at":"2026-05-29T10:12:45.063Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Background\nRails system specs are used to simulate the actions of a real user using the app in a browser. We use the Playwright ruby driver which is becoming an industry standard. The tests run locally and in CI out of t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":990,"height":602,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64.png"},{"max_width":800,"max_height":800,"width":800,"height":486,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_800x486.png"},{"max_width":600,"max_height":600,"width":600,"height":364,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_600x364.png"},{"max_width":400,"max_height":400,"width":400,"height":243,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_400x243.png"},{"max_width":300,"max_height":300,"width":300,"height":182,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_300x182.png"},{"max_width":200,"max_height":200,"width":200,"height":121,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_200x121.png"}],"tags":[],"tags_descriptions":{},"views":619,"like_count":12,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":9,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user encountered test failures due to missing color schemes in the test database, which was resolved by resetting the test database using migration commands after confirming the issue was with the local Discourse instance setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":21029,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Auteur le plus récent","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Utilisation du « tachymètre » de Google pour mesurer les changements de performance JS dans Discourse","fancy_title_localized":true,"locale":"en","id":281158,"title":"Using Google's 'tachometer' to measure JS performance changes in Discourse","slug":"using-googles-tachometer-to-measure-js-performance-changes-in-discourse","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_1024x146.png","created_at":"2023-10-05T13:57:29.422Z","last_posted_at":"2023-10-05T13:57:29.614Z","bumped":true,"bumped_at":"2026-05-29T10:12:43.709Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Lorsque vous travaillez sur le côté client dans le cœur de Discourse, les plugins ou les thèmes, il est important de prendre en compte l'impact sur les performances. Le projet « Tachometer » de Google fournit un outil de benchmarking rigoureux sur le plan statistique que nous pouvons utiliser pour …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1234,"height":176,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":146,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_1024x146.png"},{"max_width":800,"max_height":800,"width":800,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_800x114.png"},{"max_width":600,"max_height":600,"width":600,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_600x85.png"},{"max_width":400,"max_height":400,"width":400,"height":57,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_400x57.png"},{"max_width":300,"max_height":300,"width":300,"height":42,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_300x42.png"},{"max_width":200,"max_height":200,"width":200,"height":28,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_200x28.png"}],"tags":[{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":986,"like_count":17,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Google's 'Tachometer' project is used to measure JS performance changes in Discourse by statistically benchmarking changes through a 'round-robin' approach, reducing external factor impact and producing a comparison table after hundreds/thousands of iterations.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configurer un environnement de développement multisite","fancy_title_localized":true,"locale":"en","id":229310,"title":"Set up a multisite development environment","slug":"set-up-a-multisite-development-environment","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2022-06-07T16:01:37.089Z","last_posted_at":"2022-06-07T16:01:37.228Z","bumped":true,"bumped_at":"2026-05-29T10:12:41.903Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Il est possible d'exécuter Discourse en mode multisite en développement. Un serveur multisite utilise une base de données et un nom d'hôte différents pour chaque site qu'il héberge. Cela est utile si vous développez une fonctionnalité ou un plugin qui devrait…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":150,"name":"inst-dev","slug":"dev-install"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm...","inst-dev":"Instructions et problèmes liés à l'installation de Discourse pour le développ..."},"views":2013,"like_count":12,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":12,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Set up multisite development by adding a `config/multisite.yml` file, specifying a separate DB and hostname for each site, and using the `RAILS_DB` environment variable to run rake tasks against targeted sites.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Installez des plugins dans votre environnement de développement non Docker","fancy_title_localized":true,"locale":"en","id":205337,"title":"Install plugins in your non-Docker development environment","slug":"install-plugins-in-your-non-docker-development-environment","posts_count":1,"reply_count":2,"highest_post_number":1,"image_url":null,"created_at":"2021-10-06T09:47:24.341Z","last_posted_at":"2021-10-06T09:47:24.632Z","bumped":true,"bumped_at":"2026-05-29T10:12:40.846Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"(Ce guide ne couvre que l'installation de développement non Docker. Pour l'installation de développement avec Docker :whale:, consultez Installer Discourse pour le développement en utilisant Docker) \nSi vous avez suivi les instructions pour configurer votre Discourse local, vous pouvez installer un plugin loc&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":150,"name":"inst-dev","slug":"dev-install"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm...","inst-dev":"Instructions et problèmes liés à l'installation de Discourse pour le développ..."},"views":3406,"like_count":16,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":16,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"To install a plugin locally in a non-Docker development environment, download the plugin, run migrations if necessary, restart the server, and edit settings at localhost:4200/admin/plugins.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]}]}}