heftyAD

huge, elegant, fast and transparent Algorithm Demystifier

Le problème exposé dans ce sujet a été résolu.

Hello Zeste de savoir !

Je vous ai présenté sur ce forum un projet personnel, une application que j’ai nommée heftyAD et dont le but est de vulgariser les algorithmes. Je l’ai développée en parallèle de ma formation universitaire. L’aventure a été longue mais surtout très enrichissante. Ci-après le lien vers le wiki du projet : Wiki Git.

Merci à toutes les personnes ayant contribué à cette discussion.

+5 -0

Super projet !

Cet outil sera aussi bien utile pour les élèves que pour les profs. Fini de dessiner son graphe sur une feuille de papier user par les coups de gomme :p

Des screens que tu montres ça à l'air clair, intuitif, précis et pédagogique au possible.

Continue ainsi l'ami ;) !

+0 -0

Merci pour ces beaux commentaires. ;) Tout n'est pas encore parfait mais j'y travaille.

@Javier : Une matrice des arcs orientés ? Oui j'y ai pensé mais je n'ai pas trouvé ça très intuitif, surtout avec le nom des sommets en indice et les coups que l'on efface lorsqu'on en trouve un de meilleur. Mais bien sûr je suis d'accord avec toi une représentation sous forme de tableau pourrait être intéressante aussi.

De plus comme je l'avais dit, j'ai commencé à préparer la vidéo présentatrice du projet qui sera diffusée plus tard sur YouTube. Cela vous permettrait aussi de mieux comprendre ce que fait l'application, de voir comment heftyAD calcule le plus court chemin, et bien d'autres choses. Les algorithmes sur les automates seront aussi intégrés aisni qu'un système de jeu présenté plus haut.

Pour l'heure j'ai arrêté un peu de coder ; je dessine les icônes ainsi que le logo de l'application. Voici par exemple ce à quoi ressemble actuellement le logo. Ce n'est qu'un début ; je modifierais ensuite ce dessin fait à la main dans un outil approprié (Gimp ? PhotoShop ? etc).

un logo en cours

Donc si vous savez comment on modifie une image faite à la main sur ordinateur, je suis tout ouïe. Merci à vous. :)

Merci à vous !

@QuanticPotato: Merci pour cette remarque, c'est une erreur très bête. ;) C'est corrigé !

C'est l'une des parties non traduites de l'application.

Une capture d'écran

@LeB0ucEtMistere: Avec les logiciels que tu cites (et que je connais que de nom), peut-on dessiner des courbes comme pour les ailes d'un papillon par exemple ?

Merci bien.

+0 -0

Oui c'est le principe du dessin vectoriel, y'a pas plus adapté au dessin de logo car le principe c'est que tu dessines des courbes mathématiques (droites, splines, gaussiennes,…) donc je te le recommande fortement ;) je te laisse chercher sur internet et youtube, il y a une foule de tuto sur comment utiliser ces logiciels (ça change pas mal du dessin traditionnel quand même ^^)

Merci pour ce tuyau. J'ai vu quelques tutoriels sur YouTube. Les logiciels sont vraiment intéressants. Mais pour arriver à faire quelque chose de potable, il est essentiel de les utiliser non pas occasionnellement mais très souvent. Du moins c'est ce que je pense d'après ce que j'ai vu. Je vais m'y mettre et espère pouvoir créer un beau logo.

Sinon Adobe Illustrator est écrit en C++, Inkscape en partie. Que dire donc ! Il faut vraiment que je termine heftyAD et bien. :)

Image utilisateur

Merci à vous et à très bientôt pour d'autres nouvelles. Avec toutes les icônes, le logo, sans oublier les logiciels de dessin que je ne connais pour l'instant que de nom, je pense que j'ai déjà pas mal de taff.

+0 -0

Les logiciels de dessin vectoriel (Inkscape en particulier) sont vraiment impressionnants. Et dire que quasi tous mes amis à qui j'ai parlé de la création de logos m'ont orienté vers Gimp. ^^

Ce n'est pas encore top, étant donné que je découvre le logiciel. Mais j'espère y arriver. Sinon j'ai implémenté hier la fonctionnalité permettant d'éditer le texte affiché dans un état ou un sommet (vu que heftyAD les nomme automatiquement : 1, 2, 3, … ou bien A, B, C, …).

Salut Rem’s, merci pour le commentaire. ;)

Ci-après la 1ère version de Shadow dans heftyAD

Pour ce qui est de l’assistant dans l’application, celui qui sera l’ombre de l’utilisateur dans son apprentissage des algorithmes (Shadow), mais aussi pendant les phases de jeu (challenge), voici ce à quoi je pense pour l’instant :

Une première version de l'assistant Shadow
Une première version de l'assistant Shadow
+0 -0

Hello !

Est-il normal que tous les commentaires que nous avons écrit aient disparu. Aussi, depuis hier, je n'ai pas pu me connecter à ce site et mon PC m'indique que le site possède un certificat de sécurité qui n'est pas fiable. What's going wrong ?

"Suite à un problème, le HTTPS est autosigné. Les données du 18/08 entre 3h du matin et minuit, heure de Paris, sont perdues. Recherche HS. Perturbations à prévoir." + voir le compte twitter (https://twitter.com/ZesteDeSavoir)

+0 -0

@Arius: Ah je n’avais pas compris cela. ;)

@ux autres, par rapport à vos précédents commentaires Comme vous l’avez probablement déjà lu, nos précédents commentaires sont perdus et il semble que cette perte est définitive. Pour ceux donc qui n’auraient pas pu lire ma réponse, je vous la résume en quelques lignes.

Au début je comptais faire de heftyAD une application gratuite. Et vu qu’il n’est pas plus mal de la vendre j’ai commencé à hésiter. Mais il est clair qu’au vu de vos arguments et de ceux évoqués dans ma réponse à vos commentaires, il est bien plus facile et plus rentable pour moi de la rendre gratuite comme je le pensais.

Je publierais donc les exécutables sur ce compte git. Pour l’instant il est vide mais il sera étoffé d’ici là. Vous serez alors averti en temps et en heure. Je suis en train d’apporter quelques modifications en interne. Voici quelques nouveautés : l’intégration de l’assistant (Shadow) et la réécriture du texte entre autres.

avancée 1
avancée 1
Avancée 2
Avancée 2

Je vous tiendrais au courant dès que les exécutables seront près. Et en attendant si vous éventuellement vous avez une remarque, surtout n’hésitez pas.

+0 -0

C'est pas tant gratuit, que "ouvert" en fait. (effectivement, dommage que les arguments aient disparus…).

Gratuit pourquoi pas, à la rigueur peu importe. Par contre donner le code pour que des gens puissent regarder comment tu as fait, et surtout t'aider à améliorer ton logiciel, ou en reprendre des petits bouts parce qu'ils n'ont pas besoin de tout, t'aider à corriger des bugs, … Ça, ça risque de "te faire de la pub".

Donc en gros, c'est pas les exécutables qu'il faut mettre sur GitHub, ça ne te fera pas de (bonne) publicité, mais le code source (mets les exécutables aussi si tu veux distribuer facilement le logiciel). Sans le code source, certes les gens trouveront ton logiciel, mais tu perds beaucoup beaucoup des intérêts que j'avais cités dans mon message perdu.

Si tu as peur qu'on te "vole", sache que certaines licences peuvent te permettre de protéger ton code contre des utilisations (commerciales par exemple, ou non). Ce n'est donc pas un "bon" argument :)

Bon courage, bonne continuation.

+0 -0

Je te remercie pour ce commentaire très intéressant. :)

Il est vrai qu’un projet rendu public et où tout le monde peut contribuer a plus de chances de réussir. Les preuves évidentes sont Linux, Inkscape, OpenOffice et j’en passe.

Cependant, mise à part la création d’interface graphique Qt, j’ai appris les principales fonctionnalités implémentées dans heftyAD entre début avril et aujourd’hui. Autrement dit, je découvrais les fonctionnalités tout en essayant de les intégrer au mieux dans l’application. Cette remarque est tout aussi valable pour le C++ que j’ai appris sur le tas. Et par fonctionnalités je désigne essentiellement

  • les vues Qt que je ne connaissais pas : pour dessiner les graphes et les automates à la souris
  • ainsi que les threads Qt : pour réaliser des animations lorsque l’algorithme de Dijkstra s’exécute par exemple.

En conséquence, le code source n’est pas très propre et nécessite certainement une réécriture. Je me dis donc que publier un code que tout le monde peut facilement critiquer n’est peut-être pas une bonne idée.

Pour ce qui est des licences, je n’y connais pas grand chose. J’ai cherché sur internet et ai trouvé pas mal d’informations. Mais aucune des licences que j’ai trouvées ne semble empêcher l’usage commercial de l’application par autrui (sauf les Creatives Commons mais j’ignore si on peut l’appliquer à un logiciel). ^^

+0 -0

Ça mériterait un topic à part pour trouver la licence qui te conviendrait le mieux :) (notamment à l'aide des licences françaises : CECILL peut-être ?).

Pour ce qui est du code, il te suffit de l'expliquer dans le README.md. Et plutôt voir ça dans le bon sens :) Tu es débutant et plus ou moins autodidacte, c'est normal que tu produises un code de débutant qui pourrait être repris. Si quelqu'un te dit que c'est mal écrit, demande lui pourquoi. S'il te répond tu progresseras, s'il te "snob" et est condescendant c'est que c'est un abruti. Ca s'arrête là !

+0 -0

Malheureusement, les CeCIll ont exactement les mêmes clauses que (respectivement) la GPL, la BSD et la LGPL, donc pas de protection contre l'utilisation commerciale. Les BiPu proposent quelques variantes avec clause non-commerciale, mais elles excluent explicitement le logiciel. Quant aux CC, même si le nom est trompeur, elles bloquent bien plus que les utilisations commerciales, et ne sont pas vraiment conçues pour le logiciel.

À ma connaissance, il n'y a pas de licence logicielle qui inclue une telle clause (c'est un peu tabou, le non commercial, dans le monde du logiciel libre). Il faudrait sans doute en créer, en prenant la CeCIll pour base. Mais si ça vous intéresse, faudrait ouvrir un nouveau sujet, dans « Autres savoirs ».

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte