Superdesk : la salle de rédaction virtuelle libre

Posté par  (site Web personnel) . Édité par ted, Yves Bourguignon, yPhil, FrancoisA30, Ysabeau, BAud et Bruno Ethvignot. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
69
24
nov.
2021
Presse

Superdesk est un logiciel libre (sous licence GNU Affero Public licence V3.0) destiné au monde du journalisme. Il propose une salle de rédaction virtuelle et la gestion de la chaîne de traitement (« workflow » en anglais) des articles de journaux.

Cette dépêche présente ce logiciel.

logo de Superdesk

Note : je (Goffi) suis employé par l’organisation développant ce logiciel et ne suis donc pas neutre. Si vous avez des questions, je pourrai transmettre aux personnes compétentes si nécessaire.

Merci aux contributrices et contributeurs pour les relectures et corrections.

Sommaire

vue générale de Superdesk

À qui s’adresse ce logiciel ?

Superdesk s’adresse avant tout aux agences de presse et aux journaux (voir « qui l’utilise ? »), mais aussi aux structures plus petites gérant des contenus de sites d’information. Une de ses grandes forces est qu’il peut s’adapter aux méthodes de travail (« workflow ») des organisations grâce à des possibilités de personnalisation poussées, ou, si besoin, au développement de fonctionnalités sur mesures.

Des concepts adaptés au journalisme

Comme son nom l’indique, Superdesk s’organise autour de la notion de bureaux (« desks ») qui sont liés à l’organisation du journal. Un bureau peut, par exemple, être lié à un thème (« politique », « média », « sport »), ou à une langue. Des utilisateurs sont associés aux bureaux, et il est possible de faire transiter les articles (de manière automatique ou non) entre eux (par exemple pour envoyer un article à une équipe pour le traduire, ou pour passer par une étape de relecture).

Dans le cycle de vie d’un article, les termes utilisés sont adaptés au milieu journalistique, ainsi on parlera de « take », d’archives légales, de mise à jour (« updates ») quand l’article est republié (avec un nouvel identifiant) avec un changement ou de correction quand l’article est modifié « sur place » (c.-à-d. en gardant son identifiant).

Les métadonnées internes se basent sur les normes de l'IPTC et en particulier ninjs.

Il est possible d’adapter les métadonnées à un environnement de travail et de facilement ajouter/éditer/supprimer des champs et leur « vocabulaire ».

Regroupement des sources (« ingest »)

Les journaux ou agences de presse reçoivent des informations de différentes sources (AFP et Reuters sont deux exemples très connus). Ces sources peuvent transmises via des moyens variés (API diverses, requêtes HTTP, Flux RSS, FTP, courriel) et dans des formats tout aussi variés.

Superdesk regroupe ces sources sous le terme générique d’« ingest » (que l’on pourrait traduire par « ingestion » ou plus simplement « source »). Chaque « ingest » se compose d’un « service d’alimentation » (feeding service) qui correspond au moyen de transmission évoqué ci-dessus, et d’un « parseur » (feed parser) qui analyse les différents formats pour créer les métadonnées correspondantes aux articles ou médias concernés.

Superdesk gère des formats communs comme Atom/RSS, tout comme les formats spécifiques au journalisme (NITF, NewsML 1, NewsML G2, ninjs, IPTC 7901), ou des API/formats spécifiques à certaines sources.

Édition

La rédaction d’articles étant une des tâches les plus importantes dans un journal, l’éditeur est logiquement soigné et adapté au travail à plusieurs.

Ainsi il est possible d’indiquer quelles fonctions d’édition riche doivent être disponibles ou non, d’incorporer des médias (et de les éditer directement depuis Superdesk), de faire des annotations, d’inclure des tableaux, d’embarquer du contenu extérieur (« embeds »), etc.

Les articles peuvent être commentés et des corrections peuvent être suggérées, des fonctionnalités particulièrement utiles dans le milieu du journalisme où il est fréquent que les articles passent par des phases de corrections, ou doivent être validés par le ou la redacteur·ice en chef·fe. Les suggestions de corrections sont mises en évidence à la manière d’un Libre Office ou de Google Docs.

Des indications utiles comme le nombre de mots/caractères ou le temps approximatif de lecture sont également disponibles.

Il est possible de configurer une prévisualisation de l’article afin qu’il apparaisse dans son thème final tel que le verront les lecteurs et lectrices.

Les articles sont créés avec des « profils de contenus » (« content profiles ») et des modèles (« templates ») qui sont la structure de l’article, avec les champs nécessaires, les éventuels médias, des contenus pré-remplis, etc. Il est possible de créer autant de profils/modèles que nécessaire, et de les lier à des bureaux en particulier.

Publication (« subscribers », « content API »)

Une fois les articles récupérés, édités, vérifiés, validés, et publiés, ils sont transmis à des « abonnés » (« subscribers »). Là encore un format est choisi (peu ou prou les mêmes que ceux des « feed parsers » lors de l’ingestion) et un type de distribution (correspondant au « feeding service » pour l’ingestion).

Il existe également une API REST pour retrouver les articles avec un outil interne (l’API des contenus ou « content API ») et une « API de production » qui s’utilise avec un service d’authentification, c’est-à-dire qu’il faut générer des permissions pour une durée spécifique pour qu’une application puisse l’utiliser (côté technique il s’agit d’OAUTH 2 avec un jeton JWT).

N’oublions pas « Newshub », un autre logiciel développé par Sourcefabric, qui permet de partager le contenu généré avec différents clients.

Gestion des archives et des médias

Les agences de presse ont souvent un système d’archives dédié pour les médias, et Superdesk peut les intégrer. Il devient alors facile d’ajouter des images, vidéos ou autre par un simple glisser/déposer dans l’article. Il est également possible d’ajouter des galeries d’images ou vidéos, et de faire de l’édition basique directement depuis Superdesk.

exemple de gestion d’archive de médias

Adaptable à des chaînes de travail spécifiques

Un système de macros permet de modifier le contenu d’articles via des scripts (Python) soit automatiquement dans le cycle de vie d’un article, soit à la demande de l’utilisateur. Elles peuvent être utilisées pour tout un tas de raisons, allant de la conversion de devises au cours du jour à la préparation d’un article pour une traduction.

Il est possible de déplacer automatiquement un article dans un autre bureau / Desk en y appliquant optionnellement une macro si certaines conditions sont remplies (par exemple pour préparer une traduction, ou faire passer les articles avec une forte priorité dans un bureau dédié).

Chaque utilisateur se voit attribuer un rôle qui lui donne accès à un certain nombre de privilèges qui peuvent être finement réglés. Ceci est notamment utilisé par certaines agences pour donner un accès limité à des journalistes externes.

exemple de gestion des rôles dans Superdesk

(image tirée du tutoriel en anglais « How to manage user roles and user access in Superdesk »)

Des services externes peuvent être intégrés au cycle de vie d’un article, par exemple des correcteurs orthographiques ou des services d’apprentissage automatique (« machine learning »). Ainsi des outils comme Grammalecte ou iMatrics (attribution d’étiquettes à un article via de l’apprentissage automatique) peuvent être utilisés directement dans Superdesk.

Il est courant d’ajouter des formats de fichiers spécifiques à telle ou telle organisation, ou d’utiliser des champs avec un vocabulaire dédié. Les profils de contenu sont très facilement personnalisables.

Composants et projets liés

Superdesk est extensible, et plusieurs composants importants sont développés en interne.

Planning

Ce composant permet de gérer les évènements (élections, événement sportif, etc.), et d’y gérer des assignations (qui doit écrire un article, prendre des photos, etc).

composant de gestion des plannings

Analytics

Ce composant produit graphiques et données diverses.

SAMS

Le « Super Asset Management Service » (super service de gestion des ressources) permet une gestion avancée des divers fichiers dont vous pouvez avoir besoin, de les retrouver et réutiliser facilement dans divers articles.

Newshub

Déjà mentionné plus haut, Newshub peut être utilisé pour livrer vos contenus à des abonnés.

Publisher et Wordpress

Publisher, cet autre projet développé par Sourcefabric, peut être utilisé pour créer le site pour l’utilisateur final.

Si vous voulez intégrer Superdesk à une installation existante de Wordpress, il existe un plugin.

Liveblog

Liveblog est un outil pour afficher un flux d’information en temps réel (comme vous en avez très probablement déjà vu sur des sites d’informations).

Qui l’utilise ?

Il n’est pas possible de lister toutes les organisations qui utilisent Superdesk, mais parmi celles que l’on peut citer il y a :

Installation

Ce logiciel est installable sur Docker, ou manuellement sur Linux et MacOS.
Les sources sont disponibles sur GitHub.

Aller plus loin

  • # Super DeskOS ?

    Posté par  . Évalué à 10 (+16/-2).

    Bonjour, est-ce que c'est basé sur la version web de MultiDesk OS ?

    Emacs le fait depuis 30 ans.

  • # Félicitations

    Posté par  . Évalué à 9 (+8/-0).

    Bravo pour ce développement d'un outil métier qui respecte la philosophie du logiciel libre et des standards et qui apparemment réponds vraiment au besoin :)

    Ne possédant pas d'agence de news ;) je me demandais si cet outil pouvais être pertinent pour un particulier lambda ?

    https://solar.lowtechmagazine.com/fr/ pour les amoureux de la technique élégante

    • [^] # Re: Félicitations

      Posté par  (site Web personnel) . Évalué à 6 (+4/-0).

      Merci pour les encouragements, je ferai suivre à l'équipe.

      Ça me semble un peu trop pour un particulier, c'est un logiciel vraiment fait pour le travail en équipe, et je pense qu'il y a des solutions plus simples pour faire un blog ou similaire. Pour un journaliste indépendant ça pourrait être intéressant ne serait-ce que pour la gestion des sources et des archives.

      Pour des petites structures par contre, surtout tout ce qui s'occupe de la rédaction régulière d'articles, là ça commence à être plus adapté.

      Évidemment dès qu'on tape dans le journalisme, même pour des organisations petites, là on est en plein dans le cœur de métier.

      L'installation n'est pas très compliquée avec docker, pour voir si ça correspond à un cas d'usage, le mieux est encore d'essayer.

      • [^] # Re: Félicitations

        Posté par  . Évalué à 4 (+2/-0).

        Et pour linuxfr ?

        • [^] # Re: Félicitations

          Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

          Il me semble que le moteur actuel fonctionne bien, pourquoi changer ?

          • [^] # Re: Félicitations

            Posté par  . Évalué à 2 (+0/-0).

            C'était de l'humour.

            • [^] # Re: Félicitations

              Posté par  (site Web personnel) . Évalué à 4 (+2/-0).

              Ben moi, j'ai pertinenté et ce n'était pas de l'humour. Ça serait intéressant de comparer les deux plateformes (fonctionnalités, technologies, maintenance & développement, flux de rédaction et de modération, karma & commentaires, etc.). Je ne veux pas dévaloriser la plateforme actuelle, en tant que lecteur et contributeur ponctuel, j'en suis plutôt satisfait (bien que je n'aime pas l'espace rédaction).

              Après, j'écris ça, autant je veux bien contribuer à cette réflexion, autant je ne suis qu'un contributeur occasionnel, donc il faudrait d'abord voir si cette réflexion a du sens pour les contributeurs plus centraux (administration des serveurs, modérateurs, etc.).

              • [^] # Re: Félicitations

                Posté par  (site Web personnel) . Évalué à 10 (+8/-0).

                Ça serait sans doute utilisable, mais au prix de pas mal d'adaptations. Par exemple, dans Superdesk tu as plutôt un·e rédacteur·ice qui écrit l'article, qui est relu et commenté/corrigé par quelqu'un d'autre. Dans DLFP, tu as une édition collaborative où n'importe qui avec un compte peut modifier l'article en cours, c'est différent et ça demanderait du développement spécifique.

                Il n'y a pas de tchat/tribune dans SD (ça a été discuté, mais personne n'en a actuellement vraiment besoin, il y a souvent d'autres messageries déjà en place).

                Superdesk est vraiment un outil conçu pour le monde professionnel, avec beaucoup d'options, un vocabulaire très spécifique, les articles ont généralement nombre de métadonnées (parfois remplies automatiquement, parfois manuellement), etc. DLFP nécessite quelque chose de plus simple et accessible.

                Sans doute que Publisher pourrait être utilisé pour développer une interface utilisateur similaire au DLFP qu'on connaît, mais là encore ça demanderait du développement.

                Bref, DLFP est un site spécialisé avec une interface particulière. On est dans un site destiné au grand public (même si c'est un public plutôt technique) et où tout le monde peut rédiger un article ; il faut donc une interface accessible et relativement simple, avec juste des permissions privilégiés pour les modérateurs et admins.

                Superdesk est un site destiné à un milieu professionnel, l'interface est nettement plus complexe (bien qu'accessible, je pense que l'interface est bien faite, mais ça reste un outil pro qui demande de pouvoir faire beaucoup de choses). Ce sont plutôt des articles qu'une équipe bien définie peut rédiger (plus potentiellement des rédacteurs externes), avec d'autres personnes pour les relectures et corrections, et un système de revue pour la validation.

                Tout est toujours possible si on y consacre le temps et les moyens nécessaire, mais a priori SD n'est pas l'outil le plus adapté pour un site comme DLFP.

              • [^] # Re: Félicitations

                Posté par  . Évalué à 2 (+0/-0).

                Oui, je me suis douté que certains avaient pertinenté sans voir le smiley transparent :-)

                C'est vrai que Superdesk avec toutes ses supers fonctions est tentant. Le vieil adage qui peut le plus peut le moins donne envie de l'essayer. Mais soyons réalistes : on voit tout de suite dans les statistiques de modération que peu de membres de l'équipe des modos retravaillent les articles, ce qui veut dire qu'ils ont déjà trop de travail et que les supers fonctions de Superdesk seraient de trop.

                • [^] # Re: Félicitations

                  Posté par  . Évalué à 2 (+0/-0). Dernière modification le 27/11/21 à 19:08.

                  J'ai oublié de parler des super fonctions.

                  Imagine la déferlante avec le monitoring de Superdesk : l'espace de rédaction recevrait des flux d'infos (des «ingests») venus d'autres sites.

                  Imagine les débats sans fin avec la gestion d'archive et de médias pour choisir telle ou telle référence. Les limites de linuxfr ont l'avantage que celui qui fournit l'image est celui qui décide.

                  etc.

  • # Deux questions

    Posté par  (site Web personnel) . Évalué à 3 (+2/-0).

    Le projet semble bien abouti avec de belles finitions. Juste deux questions.

    • Est-ce qu’il est possible de chiffrer les données sur le serveur pour les chiffrer / déchiffrer dans le navigateur ?
    • Quels sont les langages utilisés pour l’implémentation.

    À l’heure où les journalistes sont sous pression, la première question me semble importante.

    Par exemple avec un mot de passe stocké sur une clé Yubikey.

    • [^] # Re: Deux questions

      Posté par  (site Web personnel) . Évalué à 10 (+10/-0).

      Est-ce qu’il est possible de chiffrer les données sur le serveur pour les chiffrer / déchiffrer dans le navigateur ?

      Pour être sûr de bien comprendre : tu parles de chiffrement de bout en bout ? En gros un article serait entièrement chiffré dans le navigateur, et le serveur ne ferait que du stockage de blob ? Si c'est bien ça ça n'est pas possible à l'heure actuelle, mais cette approche aurait beaucoup de problèmes : on perd la recherche (qui est un outil indispensable pour des journalistes) vu que le serveur ne voir plus rien et ne peut donc plus indexer (et pas question de faire de la recherche dans le navigateur, il faudrait toutes les archives, c'est potentiellement énorme), et il faudrait partager des clefs entre collaborateurs, ce qui complique beaucoup. Je ne dis pas que c'est impossible, il faudrait voir un cas d'usage très précis et peser les conséquences. Il serait sans doute possible de ne chiffrer qu'une partie des données, et en garder quelques-unes pour l'indexation.

      Si tu parles de chiffrement au repos, on utilise MongoDB/ElasticSearch, donc les méthodes compatibles avec sont disponibles.

      Quels sont les langages utilisés pour l’implémentation.

      Le backend est en Python (avec Eve, Flask, Celery) et le frontend est, sans surprise, en JavaScript (initialement avec Angular, c'est désormais du React et les parties encore en Angular sont portées petit à petit).

      • [^] # Re: Deux questions

        Posté par  (site Web personnel) . Évalué à 6 (+4/-0).

        le frontend est, sans surprise, en JavaScript (initialement avec Angular, c'est désormais du React et les parties encore en Angular sont portées petit à petit).

        Tiens, profitons-en pour demander un petit retour d'expérience. Pourquoi passer d'Angular à React ? Quelles ont été vos motivations ? Etes-vous content de ce choix ?

        • [^] # Re: Deux questions

          Posté par  (site Web personnel) . Évalué à 4 (+2/-0).

          Alors je ne suis pas la personne la mieux placée pour en parler parce que je fais principalement du backend et je touche assez rarement au frontend.

          D'un côté React a été introduit par l'équipe qui a commencé à travailler sur le planning (composant additionnel mentionné dans la dépêche), et de l'autre Angular a vue une nouvelle version qui cassait beaucoup de choses. Il y a eu des réunions (VueJS a aussi été mentionné à l'époque), et après avoir discuté les avis des un·e·s et des autres, il a été décidé de passer à React parce que c'est un cadriciel très utilisé, avec un développement soutenu et qu'on ne risque pas de voir disparaître de jour au lendemain. React est aussi très rapide, et c'est important pour nous parce qu'on a beaucoup d'éléments qui peuvent être affichées sur une page.

          D'autre part, et c'est sans doute le plus important, les dévs frontends sont contents avec.

          • [^] # Re: Deux questions

            Posté par  (site Web personnel) . Évalué à 5 (+3/-0).

            Merci pour le retour :)

            J'allais demander si tu savais quelle version d'angular était utilisée, jusqu'à ce que je me dise que le projet étant open-source, je pouvais regarder moi-même. Donc, en fait, c'est AngularJS qui est utilisé, et non Angular (c'est comme Java et Javascript, les noms sont proches et les langages sont à la fois proches et radicalement différents !).

            Pour l'historique, AngularJS, regroupe les version Angular 1.x, et Angular toutes les autres versions.

            AngularJS est effectivement lourd, et n'est plus maintenu aujourd'hui (en tout cas, par Google, il reste la communauté).

            Angular (à partir de la version 2 donc) a corrigé beaucoup d'erreurs de conception/d'utilisation d'AngularJS. L'implémentation est maintenant en typescript et non plus en javascript. Tout cela a causé beaucoup d'incompatibilités (et du coup, je comprends mieux les problèmes que vous avez pu rencontrer).

            Aujourd'hui, Angular et React, c'est équivalent en terme de poids et de rapidité. Et les deux sont maintenus. D'où ma question sur le pourquoi de la migration ;)

            D'autre part, et c'est sans doute le plus important, les dévs frontends sont contents avec.

            +1

            • [^] # Re: Deux questions

              Posté par  (site Web personnel) . Évalué à 2 (+0/-0). Dernière modification le 27/11/21 à 14:26.

              oui AngularJS, désolé (en plus je connaissais la subtilité).

              edit: on utilise aussi typescript depuis un bon moment dans le frontend.

  • # Deux questions

    Posté par  (site Web personnel) . Évalué à 1 (+1/-1). Dernière modification le 26/11/21 à 21:16.

    doublon

  • # Superdesk

    Posté par  . Évalué à 2 (+2/-0). Dernière modification le 29/11/21 à 14:29.

    Je ne connaissais pas ces statistiques sur la modération https://linuxfr.org/statistiques/moderation

    Effectivement les super fonctions de Superdesk semblent superflues…ah voir s'il y a des MAJ plus optimisées sur le sujet.

    Merci pour l'article je ne connaissais pas.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.