Cher communauté Discourse, voici mon petit cadeau
de Noël
pour vous tous. C’est simple mais utile, et a été construit uniquement parce que je le voulais.
Inspiré par l’excellent article de blog de Simon Willison sur l’utilisation des LLM pour le développement, j’ai codé cela de manière intuitive pendant Noël, entre les événements sociaux, le visionnage de films et l’emballage des cadeaux ! Je n’ai écrit aucun du code, mais j’ai examiné le code et supervisé le LLM. Tout a été piloté par spec.md et roadmap.md.
À quoi ça sert ?
J’utilise une instance Discourse personnelle auto-hébergée comme Cahier de notes, Journal, Blog, CV, Wiki, outil d’IA et base de connaissances pour développeurs. Fréquemment, je me retrouve à vouloir « clipser » du contenu du web (titre de la page + URL) et le déposer directement dans mon Discourse, d’où je peux l’intégrer dans une Note ou une entrée de Journal.
Mes besoins sont simples, donc c’est assez basique, il publie juste le titre de la page et l’URL, bien que j’aimerais à l’avenir ajouter les options « Inclure un extrait de la page » et « Clisper la page entière ».
Confidentialité
- Il ne collecte aucune donnée vous concernant ou concernant votre contenu.
- Toutes les données sont envoyées directement à votre instance Discourse depuis votre navigateur.
- Aucun serveur tiers n’est impliqué.
- Open source. Dépôt GitHub : https://github.com/koloki-co/clip-to-discourse-chromium-extension
Fonctionnalités
- Clipse le titre de la page et l’URL. L’« extrait de page » ou le « texte intégral de la page » optionnel est implémenté mais un peu sophistiqué (cependant, votre IA Discourse pourrait le résumer plus tard sur votre instance Discourse ?..)
- Crée de nouveaux Sujets avec chaque clip, ou ajoute des clips en réponse à un Sujet existant.
- Prend en charge plusieurs profils, vous permettant de stocker plusieurs clés API, instances Discourse de destination et paramètres par défaut - pour différents cas d’utilisation.
- L’icône Clip To Discourse changera automatiquement pour refléter le Favicon du site du Profil actuellement sélectionné, afin que vous puissiez facilement savoir où vous clipsez !
Limitations
-
La principale limitation est qu’un Administrateur doit créer une clé API au niveau de l’utilisateur pour vous, sur l’instance Discourse vers laquelle vous clipsez. Pour moi, ce n’est pas un problème car je suis l’Administrateur principal sur tous les Discourses pour lesquels j’ai l’intention d’utiliser ceci.
-
Clairement, si la capacité Clip To Discourse était activée pour trop d’utilisateurs, cela pourrait produire beaucoup de publications de faible qualité, sur une instance Discourse partagée ou publique. Je vise donc principalement cette Extension pour ceux d’entre vous qui, comme moi, utilisent Discourse comme carnet de notes personnel.
Comment installer
-
Installez-la sur n’importe quel navigateur basé sur Chromium (Chrome, Edge, Brave, etc.) via le lien vers le Chrome Web Store https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
-
(Optionnel mais recommandé) « Épinglez » l’extension à la barre d’outils du navigateur.
-
Créez une clé API Utilisateur Unique avec les portées granulaires suivantes : Sujets :
read(utilisé uniquement pour le test de connexion),write, etupdate -
Déterminez dans quelle Catégorie les Clips doivent aller. Si vous voulez que chaque clip soit un nouveau Sujet, vous n’avez besoin que de l’ID de la Catégorie. Lorsque vous consultez la Catégorie, cet ID se trouve dans l’URL comme ceci :
https://discourse.votredomaine.com/c/NomDeLaCategorie/IDDeLaCategorie) -
Vous pouvez également définir un Sujet auquel répondre, et tous les Clips seront ajoutés comme de nouvelles réponses à ce Sujet. Pour obtenir l’ID du Sujet, vous l’obtenez également à partir de l’URL : Lorsque vous consultez le Sujet, cet ID se trouve dans l’URL comme ceci :
https://discourse.votredomaine.com/t/TitreDuSujet/IDDuSujet) -
Cliquez sur l’icône de l’extension pour ouvrir la fenêtre contextuelle, et allez dans Paramètres pour configurer la clé API et définir vos valeurs par défaut. Notez que vous pouvez avoir plusieurs « profils » pour différents Discourses que vous pourriez vouloir utiliser.
-
Enregistrez les paramètres et (facultativement) testez la connexion, ce qui lira un sujet pour s’assurer que la connexion API fonctionne.
-
Fermez les Paramètres et clipsez des choses pour tester !
Images




Feuille de route
-
« Inclure un extrait de page » et « Clisper la page entière » pourraient nécessiter quelques tests et raffinements. Alternativement, cette fonctionnalité pourrait permettre à l’utilisateur de sélectionner la zone de texte à clipser comme extrait.
-
Je ne prévois pas d’extension Firefox ou Safari (car je n’utilise pas ces navigateurs), mais je serais heureux que quelqu’un prenne en charge la tâche de porter cette extension. Nous pourrions collaborer pour tout garder dans un seul dépôt et maintenir la parité des fonctionnalités.
-
Envisagera peut-être d’implémenter le flux d’API Utilisateur Discourse, afin que les clés API n’aient pas besoin d’être créées par les Administrateurs, bien que l’API Utilisateur fonctionne via un flux OAuth et ne serait donc pas une alternative prête à l’emploi.
Discussions connexes
Demande pour essentiellement cet outil : https://meta.discourse.org/t/chrome-firefox-extension-share-to-discourse/21104/28
Un article connexe, suggérant des fonctionnalités supplémentaires lors du clipage d’un Discourse : https://meta.discourse.org/t/need-web-clipper-for-discourse-post/45105
Le Partage Social est un concept connexe, mais utilise des URL simples https://meta.discourse.org/t/social-share/89980
Commentaires, idées et contribution
Ce sujet est un assez bon endroit pour mettre tous les commentaires que vous avez. Je suis ouvert aux idées d’améliorations tant qu’elles ne compliquent pas trop l’extension et/ou la rendent moins utile pour moi !
Si vous souhaitez ouvrir des problèmes ou faire des PR, le dépôt GitHub est ici :
Cette extension est un outil gratuit, open-source et axé sur la confidentialité, créé pour la communauté Discourse par mon entreprise Koloki.co