[Divers/Ada] décire la structure du programme pour présenter un index

décire la structure du programme pour présenter un index [Divers/Ada] - Ada - Programmation

Marsh Posté le 14-12-2016 à 09:07:15    

Bonjour,
 
Je souhaiterais, décrire la structure de mon programme pour le présenter sur un site HTML (sans CSS).
 
Pour le moment j'ai l'idée de faire des tables de table qui seront renseigné par l'appel à une procedure "hmtl_index" qui demanderait la description du composant au composant du processus lui même.
 
ex :  
 

index:Table_of_Content[Table::=depth=1][Table::=depth=2][table::=depth=3] ... table::=depth=N]


Je souhaiterais avoir le résultat suivant :
 
 

Citation :

Table of Contents
1 title
  1.1 intitullé.
2 title
3
  3.1 intitullé
 
.../...
N title
  N.M intitulé.


 
Mais je ne sais pas du tout comment faire. (je patauge depuis 3 jours).
 
 
Si vous pouviez m'orienter sur le nom d'une structure (gestionnaire de données) ou me donner une meilleurs idée, je vous en serais reconnaissant jusqu'à la fin de l'année.
 
S'il vous plaît.
 
Merci.
 
Je vais essayer de compléter au mieu ce message pour qu'il puisse constituer une reférence (parmi l'infini).

Reply

Marsh Posté le 14-12-2016 à 09:07:15   

Reply

Marsh Posté le 14-12-2016 à 09:35:40    

Pourquoi ne pas utiliser un format JSON ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-12-2016 à 10:40:30    

Pourquoi pas, mais pourquoi utiiser le format JSON ?

Reply

Marsh Posté le 14-12-2016 à 10:43:52    

Ce que tu cherches à faire est tout simplement une arborescence. A noter qu'il n'y a pas besoin de l'attribut depth puisque la place de chaque élément dans l'arborescence déterminera sa position dans la table des matières. JSON ou XML sont de bons candidats.
 
Moi, j'ai déjà implémenté ce genre de structure dans 2 de mes applis web en PHP : Astres et Icare (cf ma signature). J'ai simplement utilisé des tableaux associatifs en PHP, les données provenant d'une BD MySQL. En SQL, il y a 2 représentations d'arbo courantes :  
1) une table dans la clé étrangère pointant sur le parent qui n'est autre qu'un autre enregistrement dans la table, ça pointe donc sur la clé primaire de la table.
 
2) la représentation intervallaire. En gros, un enregistrement a, en plus, 2 champs permettant d'indiquer entre quel ID min et quel ID max tous ses fils se trouvent. C'est surtout utile quand t'as peu de MAJ et beaucoup d'accès en lecture.
 
Edit : au fait pourquoi te limiter au HTML pour l'affichage sans avoir de CSS :??:


Message édité par rufo le 14-12-2016 à 10:45:55

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-12-2016 à 10:47:12    


Parce qu'il permet une représentation des données en arborescence, ce que tu souhaites, et qu'il est moins chiant à utiliser que le lourdingue XML


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-12-2016 à 10:49:50    


Parce qu'il gère les tableaux sous forme d'arborescence (tableaux associatifs, comme en PHP) et que côté JS, y'a des libs qui gère sont compactage/décompactage en variables de type Array (et plus encore). Cela dit, comme je l'indiquais, JS gère très bien aussi le XML qui te permettra de faire la même chose. Pour certains traitements, XML est même plus puissant que JSON je pense. Dans ton cas, vu que c'est pour de l'affichage, utiliser XML + la transfo XSLT via une feuille XSL, ça serait pertinent. En plus, il me semble que la plupart des navigateurs gèrent cette transfo nativement via JS. Sinon, ça peut se faire côté serveur facilement avec du PHP.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-12-2016 à 07:33:54    

Bonjour, merci pour vos réponses.
 
Je m'attendais plutôt à un type de structure, là vous me proposez un outils Java qui dépend de plein d'autre truc probablement alors que j'écris avec Ada.
 
Je trouve pas de documentation pour les tableaux associatif.

Reply

Marsh Posté le 15-12-2016 à 09:03:28    


http://comp.lang.ada.narkive.com/h [...] n-ada-2005
 

Citation :

With Ada 2005, you have Ada.Containers.Hashed_Maps;
 
hashname.insert("key1", 42);
 
See
http://en.wikibooks.org/wiki/Ada_P [...] mple:_Maps
for an example.
 
The original Ada.Containers distribution at
http://charles.tigris.org/
 
has a Containers tutorial linked at the bottom of the page.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-12-2016 à 10:31:46    

Merci Harko.

Reply

Marsh Posté le 15-12-2016 à 14:29:21    

Sinon il existe un paquetage JSON avec GNATCOOL pour Ada.

Reply

Marsh Posté le 15-12-2016 à 14:29:21   

Reply

Marsh Posté le 15-12-2016 à 23:06:22    


JS c'est Javascript, pas Java :o JS, ça a du sens puisque tu veux faire du HTML.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-10-2021 à 12:27:02    

Harkonnen a écrit :

Pourquoi ne pas utiliser un format JSON ?


 
Une table de table et un tableau à 2 dimension pas un hash.

Reply

Marsh Posté le 26-10-2021 à 15:30:51    


JSON gère parfaitement les structures imbriquées (donc des tables de tables). Je ne comprends pas ton objection.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-10-2021 à 16:06:05    

A ce niveau, c'est de l'humanitaire que tu fais :D


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-10-2021 à 16:17:23    

J'aime comprendre le choses. Du coup, je me dis qu'il doit bien y avoir un semblant de logique et de raisonnement dans ce cerveau manifestement abîmé par la vie...  :ange:  
 
Et puis, combien de génies mal compris ont été raillés en leur temps... Je ne voudrais pas avoir rompu le dialogue parce qu'il a des problèmes pour s'exprimer ce garçon :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed