Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Démystificateur d'algorithmes] heftyAD

huge, elegant, fast and transparent algorithm demystifier

Sujet résolu
Anonyme
1 mai 2017 à 2:03:55

Hello !

J'ai beaucoup de projets ces temps-ci ; conséquence : le développement de heftyAD avance à pas de tortue MAIS sûrement. La fonctionnalité Edition Complète dont je parlais plus tôt dans mon précédent post est toujours en cours de développement.  Une fois celle-ci activée, un formulaire s'affiche et permettra (plus tard) d'éditer le modèle en cours. Voici deux captures d'écran (à visualiser dans un nouvel onglet).

Pour information, tous les formulaires apparaissant dans les précédentes captures d'écran sont génériques et peuvent être utilisés indépendamment de heftyAD. C'est aussi une des raisons pour lesquelles le développement prend du temps. D'autres captures d'écran seront publiées plus tard. En attendant, vive les vacances estivales ! ;)

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
24 mai 2017 à 0:21:45

Hello !

Ca avance plutôt bien. Pour information, je vais mettre de côté le développement du "Graph Model" afin de proposer plus de fonctionnalités. Je reviendrais plus tard sur les modèles. Procéder ainsi me permettrait en effet de converger plus vite vers une version utilisable par autrui. A juste titre voici quelques nouveautés (merci d'ouvrir les captures d'écran trop larges dans un nouvel onglet).

Edition Complète

Le formulaire d'édition complète est complètement mis en place (du moins pour les Array). Pour les graphes le même formulaire est utilisable : il manque juste le sous-formulaire qui sera consacré à l'édition des arcs.

Modifions ensuite l'opacité, la brosse, la police, la forme et la dimension de l'item à l'indice n°2 (le 3ème élément) dans le précédent tableau. On en arrive à la capture d'écran ci-après.

What else ?

Il reste encore beaucoup de boulot mais ça avance.

Sur ce, bonne soirée à tous et à toutes. :)

-
Edité par Anonyme 24 mai 2017 à 0:30:55

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
3 juin 2017 à 17:59:00

Hello !

Avancés (en 6 images)

J'ai plutôt bien avancé. Les fonctionnalités relatives aux onglets Modèles et Simulations de l'application sont opérationnelles. Du moins elles sont suffisamment riches pour que lon puisse tester. Voici le contenu de quelques modèles exportés sous forme d'image.

                                       

On peut aussi créer des simulations. Une simulation implique un algorithme et éventuellement un modèle. Les algorithmes dont il est question dans heftyAD sont des algorithmes auto-explicatifs (i.e. des algorithmes qui expliquent leur propre fonctionnement). 

                                                   

On peut ensuite choisir le modèle (et bien entendu on peut exécuter plusieurs algorithmes en parallèle).

L'algorithme peut ensuite s'exécuter. Pour information on peut aussi accélérer la simulation : l'accélération actuelle étant 0 (cf. panneau à gauche).

L'algorithme de tris a terminé son exécution : le tableau est trié.

On peut ensuite changer de modèle puis recommencer si on le souhaite.

Prochaine étape

Rendre possible l'utilisation de JavaScript comme langage de définition d'algorithmes. Actuellement seul Qt/C++ est utilisable et il faut générer un fichier *.dll qui contiendra les informations nécessaires pour exécuter l'algorithme. Je sais que c'est dur de comprendre tout ce charabia de ma part. :) Mais promis les vidéos devraient permettre de mieux s'y retrouver.

Je me rapproche de plus en plus du bout du tunnel. En attendant, bon week-end à tous et à toutes.

-
Edité par Anonyme 3 juin 2017 à 18:00:13

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
9 juin 2017 à 22:23:32

Hello !

L'intégration de JavaScript est en cours et avance. Le plus dur, ce sera de gérer les exceptions C++ depuis l'environnement JavaScript. Mais bon, je suppose que Google saura me guider, comme à l’accoutumée. ;) Sinon voici deux captures d'écran illustrant l'état d'avancement actuel. Une fois l'algorithme compilé, les éventuelles erreurs sont affichées dans la console prévue à cet effet. Pour ensuite exécuter l'algorithme, il faudra passer par l'onglet "Simulations".

Bonne soirée à tous et à toutes.

  • Partager sur Facebook
  • Partager sur Twitter
10 juin 2017 à 17:41:19

C'est incroyable ce que tu nous fait là, et tu ne perds jamais ta motivation. Continue comme ça, c'est super. ^^
  • Partager sur Facebook
  • Partager sur Twitter
Créer : voilà la grande délivrance de la souffrance, voilà ce qui rend la vie légère.
Anonyme
10 juin 2017 à 22:19:39

Thanks arnaud49.

Par ailleurs la motivation est secondaire à mon avis. En effet la plupart des gens que je connais considère la programmation seulement comme une histoire d'école ou d'entreprise. Alors que pour moi c'est un hobby. C'est une passion au même titre que dessiner, chanter ou encore jouer à Assassin's Creed. Programmer c'est jouer. C'est jouer à un jeu dont on définit les règles en fonction des contraintes et des difficultés auxquelles l'on est confronté. Toutefois jouer c'est bien, mais éliminer les méchants et atteindre ses objectifs c'est mieux. Mais le jeu de la programmation pouvant être truffé de méchants à huit cornes, très vicieux et très méchants, ^^ il faudra parfois de la persévérance pour atteindre ses objectifs...

En toutes circonstances développer heftyAD aura été pour moi la source d'une forte montée en compétence. Je compte donc bien aller jusqu'au bout.

  • Partager sur Facebook
  • Partager sur Twitter
11 juin 2017 à 0:07:07

Hey mais je connais ce logiciel ! :D Je me rappelle être venu aux portes ouvertes de l'Insa de Rennes et l'un des élèves nous avait présenté sa réalisation (qui est justement ce logiciel), je me trompe ? :)
  • Partager sur Facebook
  • Partager sur Twitter
En pleine création d'un jeu vidéo..
Anonyme
11 juin 2017 à 11:52:23

En effet j'avais participé à la JPO du samedi 4 février dernier. Nous étions d'ailleurs une dizaine d'étudiants à présenter des projets réalisés à l'INSA. Mais il semble que je sois le seul à avoir présenté en plus un projet personnel. En tout cas ravi que tu aies reconnu l'application. C'est a priori la preuve que l'application possède sa propre signature.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
20 juin 2017 à 22:23:39

Hello !

Le développement avance. Je m'occupe actuellement d'exposer les fonctions C++ à l'environnement JavaScript. On pourra ainsi écrire les algorithmes en JavaScript (directement depuis l'interface de l'application). Toutefois, l'API JavaScript sera très minimale. Par exemple :

setBrush(QBrush brush); // en C++ (très complet)
setBrush(int r, int g, int b, int a = 255); // en JS (la brosse est résumée à une couleur)

Il reste encore du boulot mais je suis plus que jamais proche de la ligne d'arrivée. Le développement aura quand même nécessité deux longues années (d'apprentissage de Qt/C++). Il n'y a plus qu'à espérer que les problèmes à venir ne nécessiteront pas 50 ans d'investissement. ;) En attendant, voici deux captures d'écran montrant l'état actuel de l'API JavaScript.

Bonne soirée à tous et à toutes.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
9 juillet 2017 à 13:58:21

Hello !

heftyAD c'est terminé. :) A vrai dire il reste encore plusieurs points que je pourrais améliorer. Mais j'ai enfin une première version très proche de ce que je souhaitais. Je ferais des vidéos dans les prochains jours. En attendant voici quelques fonctionnalités phares de l'application.

1/4 Créer un modèle

On peut actuellement créer des tableaux ou des graphes. Et si le projet intéresse des gens, d'autres types de modèles pourraient être intégrés à l'avenir : automate, matrice, labyrinthe, etc. Toutefois, l'API Graph actuellement proposée ne me plaît pas vraiment. Elle sera probablement améliorée/changée plus tard.

2/4 Créer un algorithme

Les personnes initiées aux joies de la programmation peuvent créer des algorithmes auto-explicatifs et les soumettre aux non-initiés afin que ceux-ci, même en n'ayant jamais vu la moindre ligne de code, puissent assez facilement en comprendre le fonctionnement. Par algorithme auto-explicatif je désigne un algorithme qui explique son propre fonctionnement pendant son exécution.

Les algorithmes peuvent être créés en C++/Qt ou avec JavaScript. Dans le premier cas, il faudra créer une Dynamic Link Library (*.dll, *.so, *.dylib) à partir d'une portion de code de heftyAD. Le fichier résultant de cette première opération poura ensuite être chargé depuis l'interface de l'application. Comme quoi, heftyAD est capable d'exécuter un algorithme dont il ne connaît même pas le code source. Les algorithmles JS peuvent quant à eux être créés directement depuis l'interface de l'application. Notons toutefois que seul l'essentiel est exposé à l'environnement JS. Autrement dit, l'API JS est minimale mais suffisante.

3/4 Les simulations

Une simulation implique un algorithme ainsi que l'éventuel modèle associé. heftyAD permet aussi de contrôler le flux d'exécution d'un algorithme, même s'il ne dispose pas de son code source. On peut en effet mettre en pause, arrêter ou recommencer une simulation, exactement comme le ferait un lecteur de musique pour un flux audio. On ne peut pour l'instant pas avancer/reculer vers une itération souhaitée. Mais on peut contrôler la vitesse d'exécution de l'algorithme grâce une barre d'accélération dont les valeurs vont de -100% à 100%.

4/4 Autres fonctionnalités

La fonctionnalité du Undo/Redo est complètement opérationnelle pour les Arrays. Pour les Graphs, n'étant pas très satisfait de l'API, cette fonctionnalité n'est pas implémentée. Mais d'ici là, je peaufinerais sans doute encore l'application. Et bien entendu, l'application est traductible dans autant de langues que l'on souhaite (seulement traduite en anglais pour l'instant).

Bonne fin de week-end à tous et à toutes.

-
Edité par Anonyme 9 juillet 2017 à 14:32:24

  • Partager sur Facebook
  • Partager sur Twitter
10 juillet 2017 à 3:05:15

Cool, tu penses partir sur quoi d'autre maintenant ? Beau projet en tout cas, cela doit être une certaine fierté pour toi je suppose ? ^^
  • Partager sur Facebook
  • Partager sur Twitter
Créer : voilà la grande délivrance de la souffrance, voilà ce qui rend la vie légère.
Anonyme
10 juillet 2017 à 21:12:36

Je suis effectivement très satsifait du résultat : je pense notamment à toutes ces soirées où je me fightais avec la doc de Qt. J'espère juste que les vidéos que je réaliserais par la suite permettraient de se rendre compte du travail effectif réalisé. Toutefois, comparée à bien d'autres projets, heftyAD n'est qu'un minuscule insecte (en termes de complexité). ^^

Sinon pour ce qui est de mon prochain projet, disons que j'aime bien monter en compétence dans les différents domaines qui m'intéressent. Ce sera donc un projet d'IA. En effet les IA dans les jeux vidéo de combat sont certes immersives mais limitées (à mon goût). Une vraie IA de combat doit selon moi permettre de créer des scènes de combat comme celles-ci :

Cependant force est de constater que tout est de nos jours délaissé au profit de la cinématique : c'est triste. Mais je comprends : créer une IA potable est un exercice très enrichissant mais c'est beaucoup beaucoup beaucoup de travail.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 octobre 2017 à 20:28:12

Hello !

Je n'ai toujours pac commencé à réaliser les vidéos. En effet j'aurais bien aimé faire mieux (comparée à celle que j'avais réalisée). J'hésites donc à me doter du matériel nécessaire (logiciel, micro, etc). Mais bon l'avenir nous en dira plus sur mes choix... En attendant je vais revoir un peu le code source de l’application et publier les informations nécessaires afin que d'autres personnes puissent compiler et exécuter l'application. Je mettrais aussi une release afin que l'on puisse exécuter l'application (sans avoir à compiler). Dans les deux cas il y aura de belles surprises : je publierais les modifications dès que tout sera prêt.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
30 janvier 2018 à 22:13:14

Hello !

heftyAD, c'en est où ?

Le projet est bel et bien terminé. Mais comme annoncé dans mon précédent post je fais le nécessaire pour que son code source soit compilable par autrui. J'ai déjà bien avancé à ce niveau. Il manque seulement quelques explications car heftyAD utilise deux librairies externes qu'il faudra d'abord compiler puis linker. J'ai aussi commencé la rédaction d'une documentation utilisateur. Il reste encore pas mal de choses à écrire mais le wiki Git est plutôt bien fourni pour l'instant.

Des activités autres que heftyAD ?

Etant étudiant, c'est grave compliqué de se donner à fond à l'école et sur ses projets personnels. Je ne fais pas exception à la règle et c'est triste que la formation à l'école n'intègre pas les projets personnels de l'étudiant. Cela dit ce n'est pas tous les étudiants qui ont des projets personnels. De plus, le plus dur de heftyAD étant réalisé, j'ai moins besoin de travailler régulièrement sur le projet. Dans tous les cas même si le projet est terminé (du moins j'ai une première version très proche de ce que je souhaitais réaliser), je compte bien le mener jusqu'à un stade où le reprendre plus tard nécessiterait peu (voire pas) d'effort.

Par ailleurs j'ai récemment commencé à apprendre à dessiner et en seulement huit mois d'entrainement, j'ai découvert que j'avais un certain talent artistique. ^^ Et pourtant tout ce que j'ai eu à faire c'est travailler régulièrement.

La plupart des dessins sont compressés horizontalement. N'hésitez pas à les ouvrir dans un nouvel onglet.

1/4 Dessins réalisés d'imagination

2/4 Dessins réalisés avec une référence sous les yeux

3/4 Dessins réalisés dans la rue (directement au stylo)

4/4 Dessins réalisés en essayant de me rappeler d'une référence dessinée quelques minutes plus tôt

                                                                                      

Comme quoi, c'est seulement en forgeant que l'on devient forgeron. Ces dessins présentent plusieurs défauts, ne sont pas mes plus beaux et des dessins moches j'en réalise tous les jours. Mais j'espère que ceux-ci vous auront donné envie de vous lancer, s'agissant de vos différents projets personnels. Je suis sûr que vous en avez.

Au passage si j'ai commencé à apprendre à dessiner, c'est aussi parce que j'ai envie d'améliorer les IA dans les jeux vidéo. Mais ça on en reparlera le moment venu, peut-être dans un, deux, ... dix ans ? ^^ En tout cas si tu as lu ce post jusqu'ici, tu mérites que je te souhaite une très bonne année. Puisse le bonheur et la réussite être avec toi.

Il s'agit là de la version scannée d'un dessin que j'ai aussi réalisé d'imagination. La version phtographiée avec téléphone ressemble à ça. Néanmoins aucune de ces deux versions n'égale l'original dans mon carnet de dessin. Heureusement j'achèterais une tablette dans quatre mois (soit après un an de pratique au crayon/stylo). Ainsi, plus besoin de photographier ni même de scanner mes dessins pour les montrer.

Sur ce, très bonne soirée à tous et à toutes.

-
Edité par Anonyme 11 mars 2018 à 1:49:42

  • Partager sur Facebook
  • Partager sur Twitter
1 février 2018 à 16:00:21

J'ai pu voir tes premiers dessins sur le post que tu as fait dans le forum 2d ... on voit bien l'amélioration ! En réglant les proportions ( par exemple dans le dernier dessins , la jambe gauche devrait etre plpus petite que la droite étant plus loin et c'est l'inverse ) , le tout vas etre excellent ! Continue comme ca , tu as l'air d'une personne très motivé.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 février 2018 à 20:25:32

Tu as effectivement raison : les dessins ne sont pas parfaits. D'ailleurs mes dessins les plus moches sont ceux que je réalise d'imagination. Mais ce qui est intéressant c'est qu'ils le sont de moins en moins. De plus j'ai plusieurs passions et je m'investi seulement dans celles-là. Donc bien plus que la motivation je dirais juste que je suis passionné. Cela dit on n'a pas vraiment besoin d'être motivé pour dessiner régulièrement. Par exemple les transports en commun et la rue sont (depuis plusieurs semaines) les endroits où je dessine le plus (n'ayant plus le temps de le faire chez moi, du fait des 36000 projets et examens universitaires).

-
Edité par Anonyme 1 février 2018 à 20:28:30

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
28 juillet 2018 à 18:21:21

Hello !

Ci-après un zip contenant l'exécutable de la première version de heftyAD :

L'exécutable a été créé sous Windows 8. Mais je viens d'essayer sous Windows 10 et çà s'exécute sans problème. Par le passé j'avais également pu tester sous Windows XP.

La nouvelle et dernière version arrive bientôt. Ce sera sans doute l'objet de mon prochain post. Je publierais là aussi un zip qui contient des instructions pour tester rapidement.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
18 août 2018 à 0:14:15

Hello !

Aujourd'hui je ne vais pas te parler de heftyAD. J'ai envie de te parler de toi. :D Es-tu la meilleure version de toi ? N'existe-t-il pas un savoir-faire caché, une compétence singulière, que tu n'as jamais exprimés, par peur de ceci ou de cela ?

Tu sais, dans la vie quoi que tu fasses les gens auront toujours une impression de toi. C'est normal me diras-tu. Le pire c'est qu'ils ne manqueront pas de te persuader que tu es exactement comme ils pensent que tu es. Pourtant, la seule chose qui compte c'est l'histoire que tu racontes, pas celle qu'on te fait croire que tu racontes. Et si tu es honnête dans ton autocritique, tu finiras bien par devenir la meilleure version de toi. Je peux te le garantir.

C'est juste incroyable tout ce que j'ai pu apprendre en développant heftyAD. J'aurais pu réaliser la seconde version de l'application en beaucoup moins de temps. Mais j'ai choisi de ne pas faire de compromis, contrairement à la première. Tout ce qu'il me reste à faire c'est terminer l'écriture du Wiki et publier l'exécutable...

En parallèle, je me suis mis au dessin en juin 2017. Et là aussi je suis surpris par ma progression. Voici deux de mes derniers dessins, l'un réalisé dans la rue directement au stylo et l'autre chez moi au crayon (le 11/08/2018), les deux à partir de références.

                                  

                                              

Comme tu peux le remarquer, tes seules limites sont celles que tu t'imposes. Libères-toi de ces critiques infondées et tu verras ! Tu te découvriras sans doute des compétences que tu n'as jamais soupçonnées.

-
Edité par Anonyme 27 octobre 2018 à 12:11:08

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
27 octobre 2018 à 12:05:08

Hello !

heftyAD c’est terminé ; je marque donc cette discussion Résolu. Ci-après un lien vers le wiki du projet, afin de télécharger puis tester l’application par exemple : https://github.com/misterFad/heftyAD/wiki

J’ai développé la première version de heftyAD en environ trois mois, en parallèle d’un stage estival et donc en bossant uniquement les soirs et weekends. Bien entendu je prenais aussi des pauses, notamment quand je n’étais pas inspiré ou quand je n’avais vraiment pas envie de bosser sur le projet. La seconde et dernière version m’a pris beaucoup plus de temps, d’une part parce que je ne voulais pas faire de compromis (je voulais que les fonctionnalités se rapprochent au mieux de ce que je m’imaginais - c’est chose faite aujourd’hui), d’autre part parce que j’ai pris de très longues pauses cette fois-ci (que ce soit à cause de l'écriture du wiki, des cours à l'université, ou encore du dessin que je pratique assidûment depuis peu).

En toute circonstance, je suis très content d’avoir pu mener ce projet jusqu’au bout. Je remercie également toutes les personnes ayant suivi ce projet (de près ou de loin).

-
Edité par Anonyme 28 octobre 2018 à 9:42:41

  • Partager sur Facebook
  • Partager sur Twitter
6 novembre 2018 à 21:37:43

misterFad a écrit:

Hello !

Aujourd'hui je ne vais pas te parler de heftyAD. J'ai envie de te parler de toi. :D Es-tu la meilleure version de toi ? N'existe-t-il pas un savoir-faire caché, une compétence singulière, que tu n'as jamais exprimés, par peur de ceci ou de cela ?

Tu sais, dans la vie quoi que tu fasses les gens auront toujours une impression de toi. C'est normal me diras-tu. Le pire c'est qu'ils ne manqueront pas de te persuader que tu es exactement comme ils pensent que tu es. Pourtant, la seule chose qui compte c'est l'histoire que tu racontes, pas celle qu'on te fait croire que tu racontes. Et si tu es honnête dans ton autocritique, tu finiras bien par devenir la meilleure version de toi. Je peux te le garantir.

C'est juste incroyable tout ce que j'ai pu apprendre en développant heftyAD. J'aurais pu réaliser la seconde version de l'application en beaucoup moins de temps. Mais j'ai choisi de ne pas faire de compromis, contrairement à la première. Tout ce qu'il me reste à faire c'est terminer l'écriture du Wiki et publier l'exécutable...

En parallèle, je me suis mis au dessin en juin 2017. Et là aussi je suis surpris par ma progression. Voici deux de mes derniers dessins, l'un réalisé dans la rue directement au stylo et l'autre chez moi au crayon (le 11/08/2018), les deux à partir de références.

                                  

                                              

Comme tu peux le remarquer, tes seules limites sont celles que tu t'imposes. Libères-toi de ces critiques infondées et tu verras ! Tu te découvriras sans doute des compétences que tu n'as jamais soupçonnées.

-
Edité par misterFad 27 octobre 2018 à 12:11:08


Woah mais quel progres !
  • Partager sur Facebook
  • Partager sur Twitter