Leïa Nathan Delyo : Différence entre versions
(→Piste nathan d'outils: GraphVis) |
|||
(Une révision intermédiaire par le même utilisateur non affichée) | |||
Ligne 29 : | Ligne 29 : | ||
Donc l'intention en pseudo-code serait | Donc l'intention en pseudo-code serait | ||
+ | |||
''' | ''' | ||
// afficher tout les ID des fragments à la ligne | // afficher tout les ID des fragments à la ligne | ||
Ligne 36 : | Ligne 37 : | ||
''' | ''' | ||
+ | |||
=== Code === | === Code === | ||
Construire deux fonction dans le fichier databuilder.js dans lequelle on trouve plusieur fonctions. | Construire deux fonction dans le fichier databuilder.js dans lequelle on trouve plusieur fonctions. | ||
Ligne 68 : | Ligne 70 : | ||
''' | ''' | ||
+ | |||
0017-> {} | 0017-> {} | ||
0005-> {0007 0010 0021 } | 0005-> {0007 0010 0021 } | ||
Ligne 108 : | Ligne 111 : | ||
0041-> {} | 0041-> {} | ||
0045-> {} | 0045-> {} | ||
+ | |||
''' | ''' | ||
Ensuite a moi d'y ajouter les parametres graph viz qui dans mon cas sont la création d'un diagramme il suffit juste donc d'appeler le diagramme | Ensuite a moi d'y ajouter les parametres graph viz qui dans mon cas sont la création d'un diagramme il suffit juste donc d'appeler le diagramme |
Version actuelle datée du 5 novembre 2023 à 11:23
Arrangement des fragments sur un grand format, rangés en colonnes pour être facilement lus et parce que c'est plus facile à traiter.
L'ordre d'apparition est encore à décider, entre ordre numérique des ID ou un ordre type Star Wars (4 5 6 1 2 3 3½ 7 8 9... plus aléatoire).
Derrière le texte en noir, des noeuds reliés par des lignes ou flèches en fonction des relations de question-réponse (pour ne pas dire 'parentalité' ndlr.).
Nathan a eu l'idée de faire ça sur le plotteur, parce qu'il permet l'impression à grand format.
Cet exercice permettrait de se familiariser avec la manipulation par le JavaScript DOM et de représenter graphiquement un réseau de nature distribuée.
Piste nathan d'outils: GraphVis
Pseudo-code
Graph vis est un outils Open Source de visualisation de structure en diagrammes. L'outil se base sur le language DOT
digraph { a -> b }
Et avec ce code on peut visualiser une bulle 'a' dont part une flèche qui mène à b.
Peut être demander un structure au init.js de produire par exemple pour le fragment 0001 d'afficher son ID et de si il a un enfant afficher :
0001 -> 000? // l'ID de son enfant
En fessant cela on pourrai implémenter ces lignes dans graphVis et génère un digramme en SVG.
Donc l'intention en pseudo-code serait
// afficher tout les ID des fragments à la ligne // A chaque ligne si un frgament à un enfant inserer ces deux caractères -> et ensuite afficher tout les ID des fragments réponses qui sont raliés à lui // faire donc une boucle qui pour chaque fragment affiche son ID et si il y a enfant inserer la fleches -> et afficher les ID des enfants qui lui sont rallier // si il y plusieurs enfants concaténer la phrase ou entre chaque ID il y les caractères ->
Code
Construire deux fonction dans le fichier databuilder.js dans lequelle on trouve plusieur fonctions. 1er fonction BuildGraph const buildDigraph = () => { let digraph = ;
Object.keys(fragments).forEach(key => { let line = key + '-> {'; //enfants = fragments[key]['children'] fragments[key]['children'].forEach (reponse => { line= line + reponse + ' '; }) line = line+'}'; digraph = digraph + line + '\n' ; }); return digraph; }; Avec cette fonction on écrit des ligne qui suivent une structure spécifique. enne commence par L'ID du fragment utilisée ensuite la fonction insère un -> ouvre un crochet { et insère l'ID des enfants/réponses si il a des enfants ce qui donne par exemple : 0005-> {0007 0010 0021 }
Avec un boucle forEach la fonction va examiner l'entièreté de l'objet sur le quelle on travaille et appliquer cette fonction sur chaque fragments. A la fin de chaque recherche de fragment il saute une ligne digraph = digraph + line + '\n' ; Ce qui donne un resulat comme celui la
0017-> {} 0005-> {0007 0010 0021 } 0007-> {0009 0030 0032 } 0009-> {0025 0019 } 0025-> {} 0010-> {0008 } 0021-> {0035 } 0008-> {0015 } 0015-> {0018 0036 } 0018-> {} 0019-> {0026 } 0026-> {0028 0030 } 0028-> {0035 } 0030-> {} 0027-> {} 0032-> {} 0035-> {} 0036-> {} 0002-> {0011 0024 0025 } 0023-> {} 0012-> {0025 } 0011-> {} 0016-> {0020 0034 } 0020-> {} 0024-> {} 0034-> {0042 } 0039-> {} 0042-> {} 0044-> {} 0003-> {0006 0004 } 0006-> {0004 } 0004-> {0014 0033 0038 } 0014-> {0022 0033 0045 } 0022-> {} 0029-> {0037 0041 } 0033-> {0041 } 0037-> {} 0038-> {0045 } 0041-> {} 0045-> {}
Ensuite a moi d'y ajouter les parametres graph viz qui dans mon cas sont la création d'un diagramme il suffit juste donc d'appeler le diagramme
digraph { 0014-> {0022 0033 0045 } 0022-> {} 0029-> {0037 0041 } 0033-> {0041 } 0037-> {} 0038-> {0045 } 0041-> {} 0045-> {} }