Présentation du logiciel miniDart

[edit 12/08/2019 : mise à jour des informations]

Bonjour,

Je souhaiterais présenter le logiciel que je développe, depuis maintenant 3 ans (et un jour), et qui s’appelle miniDart. Il fonctionne nativement sous Linux et Windows (version Windows obtenue par cross-compilation grâce à wine et mingw).

Son but : outil vidéo pour entraîneur (sport collectif ou individuel), dans le domaine de l’analyse de la performance. Il permet d’observer (avec ou sans retard), d’enregistrer (avec ou sans retard et/ou annotations) depuis plusieurs sources d’images et son, sous Linux comme sous Windows. => voir Présentation de miniDart pour plus d’informations.

( la version 0.9.6 en deux langues (fr et en-US), incluant le nouveau canvas, est disponible au téléchargement**) Attention : seule la version Windows est actuellement disponible.

Personnellement, je l’utilise pour créer des vidéos en TP de physique (les annotations permettent d’expliquer pendant la vidéo). Le mode loupe peut devenir un mode “microscope” si on couple le zoom matériel de la webcam Logitech Brio avec le zoom logiciel que je propose (grossissement 5x 5 x2 possible sous Linux).

Autre utilisation possible (j’ai commencé avec ça en fait) : je branche une webcam sur un but, pendant une situation de tirs. je programme un retard de 15 s, et les tireurs (ou les GB) viennent se voir car la scène est affichée avec 15s de retard. Dit autrement, les enseignants d’EPS pourraient certainement l’utiliser facilement, par exemple pour des séances en auto-correction, etc

Le temps mis pour en arriver là, est dû au fait qu’il est extrêmement difficile d’avoir une interface utilisateur portable et fonctionnelle. La solution que j’ai trouvée, c’est OpenGL + Dear ImGui

Ses plus gros défauts :

  • sous Windows, il faut installer les pilotes OpenGL (téléchargeables sur le site du constructeur de l’ordinateur ou du portable).
  • pas de version Mac OS (je refuse de payer pour développer du libre), mais le code devrait être très facile à porter car le code est très proche de la version Linux, et OS agnostique (sauf parties spécifiques rares)

Pour les gens initiés, j’utilise principalement :

  • OpenGL (3.2+)
  • Dear Imgui (1.72 branche docking + pr sliderhrink, le code est en ligne)
  • SDL2 (2.0.9, vanilla)
  • OpenCV (3.4.0) (les ajouts ont été proposés en PR sur le site d’OpenCV)
  • ffmpeg (vanilla, master 4.x windows et Linux)
  • Freetype 2.9.1 vanilla+ harfbuzz (vanilla, juste modifié CmakeFile.txt d’OpenCV, pour aider à la cross compilation)

Pour plus d’informations sur les dépendances et l’aspect technique, voir :

Pour l’historique, voir le Changelog dans les sources.

Je l’ai mis sur Framagit, car je ne voulais plus être sur github (suite à son rachat par Microsoft), mais aussi pour contester le pillage d’idées, qui me semble évident au bout de 3 ans.

Le nom miniDart vient d’un -mauvais- jeu de mot avec le logiciel Dartfish, qui fait la même chose (certainement mieux), mais vaut la peau des fesses. Cependant, je ne voulais pas payer autant (dans les 4 à 5000 euros pour une licence complète, je crois) et devoir installer Windows pour l’utiliser …

État actuel : version 0.9.6. Il manque le multiplexage et la génération de vidéos avec le son, le remplissage de la feuille de suivi, le tracè des impacts dans le suivi GB. Côté code : une grosse factorisation (et encapsulation) sera nécessaire après la version 1.0. La traduction en anglais est réalisée à 40%terminée. Une fois celle-ci terminée, il sera est maintenant possible d’ajouter facilement des langues (méthode proche de celle qu’ j’utilisais avec OOo4Kids et OOoLight).

Enfin, et pour ceux qui le souhaitent, j’ai besoin d’aide dans les domaines suivants :

  • amélioration de l’interface utilisateur
  • traduction
  • suggestions de fonctionnalités

Pour la licence : je l’ai mis sous licence GPL (pour protéger mon travail) car je n’ai reçu aucune aide depuis 3 ans que je bosse sur le sujet. Je demande toutefois aux personnes qui souhaitent proposer des patches, de le faire sous la licence MIT, car la licence devrait passer à LGPL quand le logiciel aura suffisamment été reconnu.

Les sources ne sont pas complètes actuellement (c’est volontaire), mais je vais proposer tout ce qu’il faut, disons d’ici la fin des vacances d’été pour que la version Linux soit compilable par ceux qui le souhaitent.

N’hésitez pas à me contacter si vous avez des questions.

Bonjour, tu peux expliciter cette phrase stp ? Qui pille le code ? Github ?

Je vais corriger : pillage d’idées (et copier-coller du code aussi, surtout avec des licences permissives)

Je m’explique : ce qui vaut le plus cher, ce sont les idées. Microsoft l’a bien compris en achetant github. Pour donner un exemple, j’avais un souci avec l’algorithme de ralenti, car celui que j’ai trouvé (copié-collé dans la plupart des logiciels qui font la même chose, et sont vendus comme “applications pour téléphones”), ne fonctionnait pas correctement. J’ai écrit le mien, et ça fonctionne super bien. C’est pour ça que je n’ai pas encore tout mis en ligne. Comme je l’ai dit, quand le logiciel sera connu (si jamais il l’est un jour :wink: ) alors je me fiche de mettre mon code sous licence MIT ou plus permisisive encore.

Hello !

Pour faire connaître ton logiciel, tu peux l’ajouter à Framalibre ! :wink:

1 « J'aime »

Merci pour la suggestion, j’en prends bonne note !

En fait, pour l’instant je ne peux pas, car je n’ai pas mis toutes les sources en ligne encore (fin de l’été je pense). Il y a deux difficultés: insérer des licences dans chaque fichier, et bien expliquer ajouter tout ce qu’il faut pour respecter la licence de chaque logiciel utilisé (Dear ImGui, Freetype, etc) et ça prend un temps fou :-/

Si je comprends bien, tant que le logiciel n’est pas connu tu préfères ne pas partager ton algo. Mais lorsqu’il sera connu tu partageras ton algo. C’est pas un peu étrange ? Et pas tellement dans la philosophie du libre qui plus est, non ?

Non : licence GPL d’abord puis plus permissif ensuite. J’ai juste pas eu le temps de changer la licence et de le mettre en ligne “proprement”.

C’est bien de donner des leçons de philosophie, mais j’ai juste 20 ans de pratique du libre (développeur OpenOffice, responsable de la version Mac OS, OOo4kids et OOoLight c’est moi aussi), et le pillage, c’est quelque chose de bien réel. En passant, est-ce que tu connais la notion d’idiot utile aussi ? C’est très utile pour décrire les limites de la “philosophie du libre” comme tu dis.

Et si tu écris du code (C, C++ n’importe quoi qui est compilé), je pense que tu compendras mieux ce que je veux dire.

Euh, du calme, j’essayais juste de comprendre ta phrase…
Désolé si ça t’as pas plu :confused:

Pour information, je viens de mettre en ligne une version GPL (0.9.5) pour Windows seulement.

Je me suis donné le mois pour mettre le code avec le copyright et la bonne licence (GPL maintenant).

Pour la compilation (surtout de la version Linux), les intéressés sont priés de me contacter directement.

Rappel : c’est une version de développement, et qui peut crasher. Faites des sauvegardes de vos données AVANT de l’utiliser. Par ailleurs, cette version m’a causé pas mal de souci (la cross compilation d’OpenCV +freetype + harfbuzz est un cauchemar, et c’était encore pire de faire fonctionne wine, et même l’installateur Windows après ! => ~ 2 semaines de boulot).

Pourquoi vouloir abandonner le copyleft en passant de GPL à LGPL ou MIT ? C’est justement le truc qui interdit le pillage de code…

Bonjour,

En fait j’ai mis longtemps à comprendre la question, et je crois voir pourquoi : contrairement à ce que j’ai compris de ta phrase, la licence LGPL est copyleft

À titre d’exemple, c’est ce que j’ai fait pour ces deux dépôts :

Pour ce qui est de passer à une licence permissive, j’ai l’habitude de mettre mes contributions sous licence MIT (voir cet exemple car c’est réutilisable par tout le monde ou presque (GPL = effet contaminant, impossible à utiliser dans une entreprise la plupart du temps) ET si on met mon nom dans la liste des contributeurs, cela me suffit. Exemple, mes cours de physique ou mon dépôt Maxima sont sous licence CC-by ou by-sa.

Par ailleurs, la plupart des logiciels que j’utilise sont soit sous licence MIT (Dear ImGui), zlib (SDL2), BSD 3 (OpenCV), soit sous licence LGPL (ffmpg). Je me vois mal profiter sans partager en retour aussi !

Et sachant que absolument personne ne m’a aidé depuis 3 ans**, il n’y a personne d’autre à convaincre que moi :slight_smile:

**aucune contribution au code, quelques idées suggérées toutefois, zéro euro de donation.

Alors que certaines “entités” (je ne peux pas en dire plus, désolé) m’ont confirmé être intéressées, j’ai choisi la prudence en commençant sous GPL.

[ajout d’infos : 12 08 2019]

Catégorie : outil d’analyse (vidéo avec sans retard, suivi avec mise à jour en temps réel pendant un match par exemple. Surtout orienté handball, mais peut servir dans beaucoup de sports). Une version en anglais est possible (je la mettrai en ligne quand le canvas sera terminé, soit dans la prochaine version de test sauf accident).

Les sources (Linux seulement licence GPL) sont en ligne. J’ai ausi ajouté des instructions pour résoudre les problèmes de dépendance, et la compilation, car ce n’est pas simple du tout.

Je rappelle que c’est une version de démonstration, et qu’on pourrait utiliser pour faire plein d’autres choses avec.

Un truc vraiment important, et que j’ai oublié de mentionner, c’est que miniDart permet de faire ce que fait Kinovea, mais sous Linux (Kinovea étant malheureusement écrit en C#)

Rappel : il n’y a pas de logiciel d’analyse de performance sous Linux (je crois que c’est la catégorie du logiciel)

Si jamais quelque chose ne va pas, merci de remplir un rapport de bug.

Enfin, ceux qui veulent suivre les mises à jour peuvent lire le Changelog ( => les changements les plus récents sont au début). On devrait bientôt pouvoir dessiner sur les vidéos :slight_smile: (écrire, c’est déjà fait)