Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierLinuxFr.org : les dépêches
  • ✇LinuxFr.org : les dépêches
  • Sortie de SongRec 0.6 : Shazam, ouvre-toi !
    La version 0.6 de SongRec, application de bureau permettant la reconnaissance de titres audio sur la base d’échantillons audio ou simplement du microphone, a eu l’honneur de venir au monde en ce début d’année, avec une toute nouvelle interface entérinant la migration de GTK+ 3 à 4. Elle est d’ores et déjà disponible sur Flathub et le Snap Store. Au menu : une intégration du langage d’interface Adwaita, une option pour minimiser l’application dans la barre de tâches via l’API DBus KSNI, une inte

Sortie de SongRec 0.6 : Shazam, ouvre-toi !

La version 0.6 de SongRec, application de bureau permettant la reconnaissance de titres audio sur la base d’échantillons audio ou simplement du microphone, a eu l’honneur de venir au monde en ce début d’année, avec une toute nouvelle interface entérinant la migration de GTK+ 3 à 4. Elle est d’ores et déjà disponible sur Flathub et le Snap Store.

Au menu : une intégration du langage d’interface Adwaita, une option pour minimiser l’application dans la barre de tâches via l’API DBus KSNI, une interface plus claire avec quelques paramètres, la mise à jour des dépendances avec notamment l’utilisation des bindings Rust de Libsoup3 pour le réseau afin de permettre une meilleure intégration au bureau, l’intégration de Weblate pour les traductions, et une candidature pour rejoindre Gnome Circle.

La migration de GTK-3 vers GTK-4

Dépoussiérée, l’interface de SongRec s’offre une cure de jouvence.

Avant la transition…
Avant la transition…

…et après la transition
Après

L’objectif a été de suivre les lignes directrices d’interface humaine de GNOME au mieux, notamment afin de s’aligner sur les critères d’inclusion GNOME Circle.

La nouvelle interface basée sur la plateforme Adwaita est donc mieux intégrée au bureau GNOME 3, et utilise des bibliothèques plus modernes et mises à jour.

L’interface a été refaite avec l’outil de conception d’interface (RAD) Cambalache, successeur du défunt Glade, qui vient tout juste de sortir en version 1.0.

Weblate, pour la traduction c’est + puissant

Une instance de la plateforme de traduction Weblate a été mise en ligne, afin de répondre au mieux aux besoins d’internationalisation plus simple sur le projet. SongRec est ainsi maintenant disponible en 16 langues, qui sont en partie à jour, et peut être traduit sans compte Github.

Auparavant, les fichiers .po étaient traduits manuellement en utilisant le système de pull requests Github. Désormais, une plateforme de traduction auto-hébergée est utilisée.

La simplicité d’installation de Weblate, application basée sur Django et compatible avec uWSGI, est appréciée.

Oh Snap !

SongRec est aussi maintenant disponible, en plus d’une distribution par PPA, dans les dépôts extra d’Arch Linux et sur Flathub, mais aussi désormais via le Snap Store.

L’intégration au Snap Store a été bien moins aisée que celle à Flathub, voire tellement frustrante que cinq ans et demi sont passés entre la première tentative d’intégrer la bibliothèque multi-plateforme Rust CPAL qui utilise pour seul backend sous Linux ALSA (plus précisément libasound et donc les couches de compatibilité associées avec PipeWire et Pulseaudio) et la production d’une solution fonctionnelle pour ce paquet.

Heureusement, CPAL 0.18 qui devrait intégrer la compatibilité native avec PulseAudio et PipeWire devrait sortir incessamment sous peu…

 La notification 🔔

Aussi, sur demande de la base utilisatrice, il est désormais possible de réduire SongRec dans la zone de notifications, en utilisant l’API DBus KSNI, un standard produit par KDE transcendant les environnements de bureau qui tend à remplacer libappindicator et son successeur libayatana-appindicator, portés par Canonical, qui dépendent de GTK-3 et ne sont plus intégrés à GTK-4.

L’autre alternative compatible avec GTK-4 qui permet de réduire les applications en fond, l’API DBus FreeDesktop background portal XDG, semble en effet comporter des bugs et n'être pas tout à fait mature.

La fenêtre de préférences de SongRec
La fenêtre de préférences de SongRec.

Un arrêt maladie bien occupé

La contribution de SongRec est ouverte à tout le monde et soumise au simple respect du code de conduite GNOME. Un canal Matrix, alternative non centralisée à Discord a de plus été mis en place pour permettre une collaboration plus aisée, en dehors des issues Git.

Fait main et artisanale, cette application produite sans IA générative aucune ne demande que vos petites mains pour continuer à fonctionner.

Elle utilise actuellement les services d’Apple, avec des API identifiées sur la base de l’analyse de l’application Android au titre de l’interopérabilité, tout comme les projets VLC ou FFMpeg, français, intègrent leurs propres implémentations des formats du consortium MPEG, sur la base des exceptions de droit d’auteur permises en droit français au titre d’interopérabilité et notamment l’avis du Conseil d’État du 16 juillet 2008, qui confirme la protection du développement de logiciels libres à cette fin.

Le brevet d’origine derrière l’algorithme de création d’empreinte de Shazam, qui en tant que brevet logiciel n’a jamais été valable dans l’UE, est expiré, et son fonctionnement est également documenté depuis un certain temps.

Son fonctionnement est, brièvement, de produire un spectrogramme audio (soit une grille présentant les fréquences sur un axe et le temps sur l’autre) à partir des dernières secondes d’audio captées par l’utilisateur ou l’utilisatrice, et l’amplitude aux intersections. Les pics d’amplitude audio importants sont ensuite identifiés et transmis aux serveurs d’Apple.

Un spectrogramme audio
Un spectrogramme audio - de Wikimedia Commons, par Aquegg, le 21 décembre 2008, domaine public

Ainsi, l’audio complet n’est en aucun cas communiqué aux serveurs distants, et votre vie privée est respectée.

La liste des contributeurs et contributrices est disponible ici.

N’hésitez donc pas si vous souhaitez participer à la maintenance et au développement de cette application sous licence GPL v3 !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇LinuxFr.org : les dépêches
  • Entrevue avec Herman BRULE, développeur d'Ultracopier et de CatchChallenger
    Herman BRULE est l’auteur et le mainteneur de deux applications (libres sous licence GPL v3, mais aussi proposées dans des versions payantes « Ultimate ») : l’utilitaire Ultracopier et le jeu CatchChallenger. lien nᵒ 1 : Ultracopierlien nᵒ 2 : Ultracopier (Wikipedia)lien nᵒ 3 : CatchChallengerSommaire Ultracopier CatchChallenger Ton rapport au libre Bonjour Herman, peux-tu te présenter ? Bonjour ! Sur le plan professionnel, je suis DG de Confiared (hébergement Web et VPS) et de Confiabits (f

Entrevue avec Herman BRULE, développeur d'Ultracopier et de CatchChallenger

Herman BRULE est l’auteur et le mainteneur de deux applications (libres sous licence GPL v3, mais aussi proposées dans des versions payantes « Ultimate ») : l’utilitaire Ultracopier et le jeu CatchChallenger.

Sommaire

Bonjour Herman, peux-tu te présenter ?

Bonjour !

Sur le plan professionnel, je suis DG de Confiared (hébergement Web et VPS) et de Confiabits (fabrication et assemblage de circuits imprimés), et directeur de la technologie chez CTO chez DanSolutions (FAI).
Par ailleurs, j’aide des associations locales (j’habite en Bolivie) dans des domaines techniques comme les télécoms ou le développement logiciel, j’interviens parfois comme conférencier sur ces sujets.
Enfin, je participe au conseil d’administration de la section bolivienne de l’Internet Society (ISOC Bolivie).

Peux-tu nous raconter ton parcours ?

J’ai étudié l’électronique (BTS STI), puis le développement web. J’étais d’ailleurs encore étudiant quand j’ai commencé à développer Ultracopier.
J’ai longtemps travaillé dans l’e-commerce, puis pour des raisons personnelles je suis allé vivre en Bolivie.
J’ai été plutôt déçu par la qualité des offres locales, ici en Bolivie, dans le secteur des technologies de l’information, c’est pourquoi j’ai décidé de proposer mes services.

Peux-tu nous parler de ces deux logiciels ?

Ultracopier

Logo de Ultracopier

Comment est né ce projet ?

J’avais besoin d’un utilitaire avancé pour la copie de fichiers, comme Supercopier, pour une utilisation sous Linux mais ce dernier n’était pas disponible sur cette plateforme.
Ultracopier est donc né non pas comme un fork de Supercopier mais comme un projet indépendant : à l’époque, Supercopier était écrit en Pascal, et je préférais écrire en C++.

Au final, quand toutes les fonctionnalités ont été implémentées et qu’Ultracopier a disposé d’un skin Supercopier, une redirection a été mise en place.

Aujourd’hui, après 20 ans, le projet est toujours actif et maintenu, malgré les problèmes de tentative de piratage, bug, DDOS, et les évolutions technologiques.

Quels sont les points marquants qui ont, selon toi, marqué son développement ?

Après la reprise de Supercopier, qui a permis de fédérer sa base d’utilisateurs autour d’Ultracopier, il y a eu de nouvelles fonctionnalités au fil du temps :

  • la prise en charge de gros volumes (>5TB >10 millions de fichiers)
  • les extensions (plugins) et thèmes graphiques (skins), dont le développement m’a poussé à standardiser l’interface pour la réutilisation par des applis tierces.

Quel est le modèle économique ?

C’est assez peu connu mais Ultracopier est proposé dans deux versions : une gratuite (installable depuis le gestionnaire de paquets d’Ubuntu notamment) et une version « Ultimate ». Cette version, payante, est enrichie de fonctionnalités comme

  • la mise en pause,
  • la limitation du taux de transfert,
  • d’autres options de performance selon le système d’exploitation utilisé et inclut un support technique.

Pour être honnête, les utilisateurs de la version payante sont très peu nombreux : une écrasante majorité utilisent la version gratuite et d’autres piratent la version payante.

Ma vie professionnelle et mon engagement à l’ISOC Bolivie sont très chronophages, je ne compte pas mes heures sur mes principales activités d’hébergeur et de FAI, et à une usine de fabrication d’équipements réseau pour ces besoins.

J’ai quand même publié de l’open source comme le firmware OpenWRT pour le routeur wifi 6 que je fabrique.

Des dons ou des achats sont bienvenus pour que je puisse me concentrer davantage à l’open source ;) Je crois que beaucoup de développeurs open source sont dans cette problématique.
Heureusement, l’hébergement ne coûte presque rien car j’utilise mon propre service, et je suis le seul contributeur.

Quelles sont les fonctionnalités les plus attendues que tu penses implémenter ?

Je souhaiterais améliorer l’intégration d’Ultracopier dans les gestionnaires de fichiers sous Linux ou MacOs, mais ce n’est pas chose facile. Pendant des années j’ai essayé de faire modifier les gestionnaires de fichiers pour avoir la possibilité de replacer le copier/coller par Ultracopier. Rien. Soit je suis ignoré, soit je suis refusé (motif de refus récurent : je devrais refaire Ultracopier en « natif » : GTK, KIO, Haiku…), je me vois mal maintenir divers UI. Les votes sur demande de fonctionnalités sont les bienvenus, par exemple ici pour KDE/Plasma.

Je veux aussi implémenter un moteur async natif sous linux (en utilisant io_uring) pour de meilleures performances.

As-tu eu des échanges/retours avec les autres logiciels ou éditeurs (communauté linux / autres éditeurs) ?

Non. J’ai essayé de faire que le protocole d’envoi de copie/déplacement à un logiciel tiers soit un standard avec un protocole commun pour motiver les gestionnaires de fichiers à l’utiliser, je n’ai reçu que des réponses négatives :/

Peux-tu partager des souvenirs marquants de cette expérience ?

Durant toutes ces années, conscient que la copie de données est un sujet qui peut être très sensible, j’ai veillé à être réactif aux retours des utilisateurs : dès que quelque chose d’anormal m’est reporté, je m’assure de vérifier/corriger et de publier très rapidement. Je pense qu’Ultracopier garantit bien l’intégrité des données lors des copies, parfois mieux que des copies par l’outil du système. Par exemple, si pendant le déplacement de fichiers vers un lecteur réseau ce lecteur réseau se déconnecte, alors Windows peut détruire la source sans avoir pu valider l’intégrité réelle du fichier cible. Il faut reproduire un contexte très particulier, mais ça c’est vu.

Malgré cette attention, il m’est arrivé de recevoir des insultes de certains utilisateurs, allant jusqu’à des menaces de mort. J’ai une bonne collection de conversations de ce genre ! Il s’agit d’une minorité d’utilisateurs, en majorité des débutants en informatique et qui n’ont pas utilisé correctement l’outil, ou plus généralement leur ordinateur.

Par ailleurs, le spam et les tentatives de piratage (dont une pour rediriger les paiements des versions "Ultimate » !) auront eu raison des pages Wiki et Maintenance du site, faute de temps pour la modération.

Il me semble tout de même que la majorité silencieuse (= celle qui dit rarement merci ;) ) est dans l’ensemble très satisfaite des services rendus par Ultracopier, et cela est motivant. Pour moi, le point le plus positif est surtout l’acquis de connaissances.

CatchChallenger

Logo de CathChallenger

Quelle est l’origine de ce jeu ?

Je cherchais à me familiariser avec la programmation autour de sujets relatifs aux clients/serveurs, comme les protocoles, la haute performance, le chiffrement, et aussi les bots… …et le développement d’un jeu est le moyen ludique par excellence !

Vu qu’il n’y a pas de temps réel, je peux jouer avec TOR/I2P (un bon moyen de tester la sécurité), pas de flottant donc cela marche sur tous les CPU, y compris ceux de plus de trente ans et les architectures exotiques comme celles que l’on trouve dans les routeurs (MIPS…).

C’est un mix de plusieurs jeux au gameplay de type crafting (à la lineage/X3/minecraft) qui m’intéressait pour les techniques ce que ce genre implique.

Quels sont les points marquants qui ont, selon toi, marqué son évolution ?

Version 1 : j’ai essayé de m’éloigner visuellement d’un jeu bien connu auquel mon jeu pouvait être associé.

Version 2 : j’ai abandonné Qt niveau serveur car trop lent niveau SLOT/SIGNAL, et revu le thème graphique avec des couleurs plus chaudes, même si ça me rapproche d’un autre jeu connu.

Version 3 : modularité/API et interface responsive, refonte du datapack.

Est-il facile de monter son propre serveur? Ou de modifier le jeu ?

Le client intègre un serveur embarqué pour jouer en solo, qui peut être ouvert sur un réseau local ou sur Internet.

Le serveur a une interface graphique et une version console (avec diverses bases de donnée supportées, y compris du noSQL)

Le datapack est facilement interchangeable et tout est fait pour qu’un enfant puisse le modifier (png, xml, tmx, opus)

Y a-t-il d’autres contributeurs ?

Non

y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?

Il y en a beaucoup, par manque de temps. Je n’ai jamais atteint un stade de maturité sur le jeu de base qui me convient, donc je me concentre là-dessus. Par exemple, je me suis lancé sur le multithreading GPU côté serveur : j’ai pu lancer des tests sur GPU, cela fonctionne bien mais complexifie trop le développement sans apporter un réel bénéfice.

Quel est le rapport avec tes autres projets ?

Avec ce projet, j’ai vite eu besoin d’un grand nombre de VPS, cela m’a incité à m’intéresser aux datacentres et à monter modestement mon premier datacentre. De fil en aiguille, j’en ai fait mon activité :)

J’ai aussi eu besoin de connexions, de haute performance et de haute disponibilité. Curieux, je me suis lancé dans la conception de mon hardware : onduleur, alimentation solaire…

Qu’as-tu retiré de ce projet ?

J’ai été surpris par les performances, pour un code qui n’est pas en assembleur et qui pourrait encore être optimisé : des millions de joueurs sur un CPU de bureau par serveur. Vous saturez l’écran de bots bien avant de saturer le CPU, même un très vieux CPU ou un microcontrôleur de routeur, et la charge en RAM ne dépasse pas quelques Mo.

La prédiction côté client (Client-side prediction), les instructions préparées (SQL parameterized statement) sont très efficaces, je charge tout en RAM sous forme d’entier <=32Bits. Vu qu’il faut des performances bien supérieures du client pour surcharger un serveur, il y a peu de chance qu’on m’attaque via DDOS.

Quels conseils avec le recul donnerais-tu à ceux qui entreprendraient de se lancer ?

Ne faites pas de projets que vous n’allez pas maintenir, aussi bien pour vous que pour ceux qui vont les utiliser.

Aussi, ne vous lancez pas sur un projet que mille autres personnes ont déjà fait avant vous, il y a une tonne de projets de niche qui n’ont pas de solution open source !

Ton rapport au libre

Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?

J’utilise Gentoo Linux et presque que du libre.

Même question au niveau professionnel ?

En général j’essaie de faire le modèle pro suivant : quand un logiciel a été rentabilisé, je le libère.

Niveau data center, on fonctionne en IPv6 avec des logiciels de conversion pour, par exemple, passer de HTTP IPv4 à IPv6, si tu ajoutes tous les services internes + gestionnaires, ça fait mal pas de logiciels.

Niveau industrie, je produis des onduleurs, des serveurs, des routeurs datacentres et domestiques (wifi 6 OpenWRT), avec les difficultés ici pour importer je dois faire avec ce que je trouve sur place (et il n’y a quasiment rien pour la microélectronique).

Niveau FAI, rien à voir avec ce qu’il y a en France, entre les blocages politiques et administratifs (j’attends certaines autorisations depuis de nombreuses années), les monopoles… rien n’avance. Mais malgré ces difficultés j’ai pu innover et proposer des solutions efficaces pour des communautés locales, grâce à des logiciels libres.

Merci pour ce partage, et pour ton apport au libre ! Nous te souhaitons beaucoup de succès dans tes nombreux projets pour 2025 !

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌