Bonsoir à tous,
Dans un précédent article, je vous parlais de l’un de mes projets : Noxygen, qui est un logiciel visant à apporter aux développeurs de sites web les outils nécessaires à la création d’un site valide. Eh bien le projet à avancé, depuis les presque deux mois du lancement du projet. Les fonctionnalités ne sont bien sûr par encore toutes là, et des bogues persistent, mais la base est posée, et ajouter des fonctionnalités devient relativement aisé.
Ainsi, les fonctions suivantes sont en place :
1. La gestion des fichiers, basique et indispensable pour tout éditeur de texte. Inutile de s’épancher là dessus donc.
2. La coloration syntaxique xHTML et CSS : Noxygen offre une coloration syntaxique pour ces deux langages, détectés automatiquement à l’ouverture où à l’enregistrement d’un fichier, avec la possibilité de changer le mode syntaxique, et d’en définir un par défaut. Dans une version prochaine, les colorations syntaxiques disponibles seront sous forme de plugins, à installer depuis le logiciel. Un gestionnaire des colorations syntaxiques offrira la possibilité à l’utilisateur une entière personnalisation.
Fig 1 et 2. Les colorations syntaxiques (respectivement xHTML et CSS)
3. J’ai également commencé à implémenter une fonction que je trouve fort pratique : la visualisation de l’arbre DOM du document (uniquement pour les documents rédigés en xml). Cette fonction se présente sous la forme d’un widget pouvant s’afficher sur les côtés de la fenêtre ou indépendamment. Pour l’instant, l’arbre est totalement ouvert par défaut, mais il sera possible pour l’utilisateur de choisir quels éléments auront leurs fils affichés par défaut ou non.
Fig 3. L’inspecteur DOM
4. Un système de plugin a également été instauré, pour permettre à l’utilisateur d’ajouter de manière très souple des améliorations : les ajouts se présentent sous forme d’une librairie dynamique (librairie *.dylib, *.dll ou *.so selon le système d’exploitation) compilée par l’utilisateur et ajoutée à l’application. Des fichiers d’interfaces à inclure dans chaque projet seront mis à disposition, ainsi qu’une documentation détaillée pour chaque type d’ajout (plugin standard et coloration syntaxique supplémentaire). Pour l’instant l’ajout d’un plugin doit être effectué manuellement, mais un gestionnaire va voir le jour dans quelques temps, avec ajout et suppression des plugins effectués depuis l’application. Cette fonction n’existe pour l’instant que sous la forme d’une fenêtre affichant les plugins installés, ainsi que leurs informations, mais devrait évoluer d’ici la première version.
5. Des fonctions destinées aux débutants (ou aux codeurs soucieux d’aller vite) ont également été ajoutées, comme l’insertion rapide de liste, un gestionnaire de formulaire, etc. Cela n’a pas de réelle utilité pour le codeur averti, mais Noxygen se veut tout public, dans la même optique que son projet parent, Qt Share. Plus tard, toutes ces fonctionnalités seront gérables par l’utilisateur, depuis un gestionnaire de bibliothèques : l’utilisateur peut définir des raccourcis, sous forme d’un enchainement de caractères, qui sont remplacés par du code, après avoir appelé la fonction grâce à un raccourci clavier. Par exemple, taper p se transformera en <p></p>, ou encore ul#menu>li*4>a deviendra une liste de quatre éléments contenant des liens et le nom de la liste sera #menu. Noxygen proposera des raccourcis, ou snippets, standards, et l’utilisateur aura tout le choix de les modifier, d’en supprimer ou encore d’en ajouter. L’utilisateur pourra également définir des fragments de codes accessibles par le menu contextuel (clic droit) du champ de texte.
Fig 4. La boite de dialogue pour insérer des listes.
Voilà pour cette petite vue d’ensemble de la future première version de Noxygen ! Celle-ci étant prévue pour dans environ un mois, j’essaierai de vous tenir informés du mieux possible du développement. Celui-ci est relativement lent, car je n’ai pas beaucoup de temps à consacrer à la programmation, mais il avance. Sachez néanmoins que je m’efforce de produire un code le plus propre et le plus organisé possible, ce qui est moins rapide mais plus sûr pour la performance autant que pour la fiabilité.
Sur ce, je vous quitte et vous souhaite une bonne soirée !
Alexandre



