Bonjour,
J'ai, depuis longtemps, l'intention de créer une librairie permettant de gérer des options passés à un programme depuis plusieurs 'interfaces'.
Je n'ai jusqu'à présent trouvé aucune lib capable de me fournir facilement ces services.
Les 'interfaces' peuvent être :
- Les options en ligne de commande (argc/v)
- Les options dans un fichier de conf (que j'apellerai .ini par simplicité)
- Les options par défautqui seront en durs pour le binaire
Je compte développer cette lib en GNU C++ avec une interface orientée objet basé sur la lib C longopt, que je connais déjà.
Je commence ici une liste non exhaustive des fonctionalités et des recommandations.
- L'ordre de priorité sera :
- Arguments
- Ini
- Défaut
- Une option en ligne de commande doit pouvoir renseigner le chemin du fichier .ini
- Une option doit pouvoir être assignée pour une ou plusieurs interfaces spécifiques.
- Une option peut être de type : libre, texte, numérique, date, chemin/fichier existant, chemin/fichier à créer, ... ?
L'identification par type permettra de faire des tests prédéfinis (existance ou non du fichier par exemple, etc...)- Les procédures de contrôle pourront être enrichies à l'aide d'un héritage.
- Une option doit pouvoir avoir un status obligatoire ou non.
- Chaque option doit être accompagnée d'nue description permettant la génération d'un appel à --help de façon automatique.
- Certaines options seront gérées par défaut, comme l'option 'verbose' ou 'help'
J'invite tout ceux qui trouvent l'initiative intéressante à me donner leurs avis, idées, critiques, questions, idées de nom, chèquier, cash, CB, etc...
Voilà, pour le moment c'est une ébauche, une fois celle-ci convenable, je modéliserai le tout en UML.
Partager