Noxygen avance : bientôt la première bêta !

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

Commentaires (21) »

Vidéoconférence dans la nuit du 30 au 31 Janvier

Adrien et moi avons eu, cette nuit (le 30 Janvier à l’heure où j’écris ce texte), une longue discussion. Nous avons débattu du contenu du site, ainsi que de la gestion interne de celui-ci.
Après un débat de quatre heures, nous avons décidé d’écrire un compte rendu et de le publier ici, pour vous informer des décisions prises. Nous avons d’abord parlé du contenu du site, décomposé en parties :
- Tout d’abord il y aura la partie « Exercices », qui contiendra des exercices corrigés, ainsi que des aides, des pistes pour réussir l’épreuve;
- ensuite viendra la partie « Tutoriels », qui sera composée de cours pour apprendre de nouvelles techniques et concepts de programmation;
-nous proposerons également une partie « Formation », qui regroupera des enchainements de tutoriels, d’exercices et d’épreuves notées (QCM pour la plupart). Il y aura plusieurs formations ayant pour objets différents « objets d’étude », et il y aura possibilité, pour les membres, de proposer ses propres formations ;
-enfin une partie du site sera consacrée à un forum, scindé en plusieurs sous-fora, chacun traitant un thème.
Chacune de ces parties seront divisées en trois : débutant, amateur, et confirmé. Les exercices et tutoriels seront publiés avec un système de tags renseignant sur le niveau requis.
Le forum comportera une catégorie « Discussions générales », une sorte de défouloir où le flood est permis. Cependant, il sera malgré tout modéré, bien que d’une manière laxiste, afin d’éviter les insultes et autres actes défendus que l’appellation « Défouloir » pourrait suggérer.

Nous avons également pensé à des concours, avec des lots à la clé, comme des T-SHIRTS, des clefs USB et autres. Ces concours seraient composés d’un ou plusieurs QCM , puis d’une épreuve d’implémentation limitée en temps. Les candidats se verrons attribuer une note. Des épreuves subsidiaires pourront être organisées en cas d’ex-æquo pour départager les finalistes.

Nous allons également mettre à disposition des membres une liste non exhaustive des actions à ne pas commettre sur les fora, ainsi que les sanctions encourues, et ce sous forme de tableau.

Nous allons insister sur la transparence de l’équipe vis à vis des membres, et nous tenons à avoir une communication appuyée avec la communauté.

Alexandre

Commentaires (2) »

Notre deuxième erreur

Bonjour,

Dans cet article, je vais tâcher de vous expliquer notre deuxième erreur qui fut elle aussi très grave. En fait, si vous avez lu l’article sur l’histoire d’Exercices Qt, vous l’aurez sûrement constaté vous-même : en six mois, nous étions pas moins de douze dans l’équipe !

Ceci provoqua un effet quasi-anarchique : on ne savait plus qui faisait quoi, on était mal organisé, on ne s’écoutait pas, donc. Une autre conséquence, vu le manque d’organisation, était que tout le monde prenait des décisions sans consulter les autres ou très rarement. Cela nous fut quelques surprises, et des disputes, ce qui ébranla la solidarité et la confiance dans le groupe.

J’ai essayé plusieurs fois de prendre les choses en main en refusant fermement certaines actions tout en précisant que l’on devait en discuter ou encore en demandant aux autres de commenter une décision importante mais cela fut vite interprété comme de la « dictature ».

Ce sont ces deux facteurs qui poussèrent XHeLL à partir (ci-joint le message complet de sa démission où il l’explique) :

Message de démission de XHeLL
Je vous annonce mon depart de la team. Suite a certaines altercations, je n’ai plus de motivation a travailler au sein de votre équipe. Le projet etait interessant, mais la team souffre d’un manque de coordination, d’ecoute… Il y a comme une dictature d’installée au milieu de l’equipe. Concernant mon travail effectuer sur la doc, j’espere voir apparaitre mon nom sur les classes que j’ai traduites lors de la mise en marche du module destiné à cet effet. Si les classes sont mis a jour lors de nouvelle version de Qt, je les traduirais :) . Bon courage pour la suite de votre projet.
Cordialement
XHeLL

Bien évidemment, zAmnellL n’avait pas apprécié ce qui a été qualifié de dictature, et suite au départ de XHeLL, il partit moins d’une heure après en laissant ce message:

Message de démission de zAmnellL
Bonjour à tous,A la suite de XHeLL dans sa propre lettre de démission, j’ai décidé de quitter l’administration, étant donné que je ne contrôle plus rien. Dans le cas où quelqu’un posterait sur le forum, je lui répondrai, mais ne comptez plus sur moi pour les tâches administratives comme la rédaction d’un exercice ou autre. Si le site est définitivement mort après mon départ, sachez que j’ai tout de même envie que tout soit envoyé à Nokia pour que ça ait servit à quelque chose. Toutefois, je garderai tout de même mon espace FTP durant la période de paiement, étant la personne qui paye l’hébergement.
Je lègue ce qu’il me reste de couronne à Xhtml_boys et advienne ce qu’il adviendra.

Merci pour la route que nous avons faite ensemble,
Amnell.

On voit ici clairement qu’il pense ne plus avoir aucun contrôle, ce qui revient à la dictature dénoncée par XHeLL.

Voilà, on a tout vu de notre côté, passons aux conseils !

  • Ne débutez pas avec une équipe trop nombreuse, ou ne cherchez pas à l’agrandir trop vite. Une équipe, ça se soigne, c’est comme un chat. Si vous n’entretenez pas les liens que vous possédez avec, il va se rebeller de cette carence en affection. Une team, c’est à peu près pareil : il faut entretenir les liens qui sont présents entre les différentes personnes, il en va de la cohésion du groupe. C’est pour cela que débuter avec une équipe de deux ou trois personnes maximum est fortement conseillé : cela facilite l’entretien de cette intégrité du groupe (comparaison entre un chat et une équipe faite par Alexandre).
  • Evidemment, comme dit précédemment, ENTRETENEZ DES LIENS ! Explication : écoutez l’avis de vos subordonnés ou ne prenez pas de décisions importantes sans leur en parler.
  • Si quelqu’un vous contacte pour intégrer votre équipe mais que vous n’en avez pas besoin, mettez-le en liste d’attente s’il vous convient : si jamais un jour vous avez besoin de personnes, vous pourrez le contacter pour voir s’il est toujours intéressé.

Adrien

Commentaires (5) »

Noxygen, le début d’un long projet


Bonjour,

Dans ce cinquième article inaugurant la catégorie “Projets connexes”, je vais parler d’un projet que j’envisage depuis déjà longtemps. Ce projet, nommé Noxygen est démarré depuis le 3 Décembre 2009, et un cahier des charges a été rédigé de manière complète, ce qui est une grosse partie du travail. Noxygen sera donc un éditeur de texte avancé dédié aux développeurs, et fournira entre autres les fonctions suivantes :

  • Coloration syntaxique gérant plusieurs langages de programmation courants ;
  • Un système de plug-in permettant d’ajouter des langages non supportés dans la version par défaut pour la coloration syntaxique ;
  • Noxygen offrira également la possibilité d’utiliser l’indentation automatique pour coder plus facilement ;
  • Comme tout éditeur de texte qui se respecte, ce logiciel supportera la fonction de recherche avancée, avec possibilité d’utiliser des regexp dans la recherche et remplacement ;
  • Pour finir sur cette première version, Noxygen fournira des informations complètes sur les fichiers ouverts, et proposera de comparer lesdites informations dans un tableau ou un graphique comparatif.

Nous envisageons également de gérer l’autocomplétion et le zen-coding [en] dans de futures versions.

Alexandre

Ajouter un commentaire »

Notre première erreur

Bonjour,

vu que je suis lancé pour le moment (ne rêvez pas, il n’y aura pas toujours 4 articles par jour), je vous propose justement ce quatrième article qui vous parlera de notre première erreur qui fut une des plus grosses.

Au long de cette série d’articles sur les erreurs, j’utiliserai le second article qui parlait de l’histoire d’Exercices Qt en l’analysant, ainsi je complèterai l’histoire en y rajoutant les problèmes que l’on a eu avec les erreurs.

Donc, pour y venir, notre plus grande erreur fut de trop nous appuyer sur le Site du Zéro. En effet, nous y étions asservi, et quand le site a décollé, un poids trop lourd était accroché aux ailes. Ce que nous n’avions pas compris sur le moment, c’est que l’on était trop attaché à ce site pour que ça fonctionne : les gens lisaient nos exercices et postaient une demande d’aide sur les foras de ce dernier. Ainsi, que le site soit complet avec des tutorats, un fora, des FAQ, pour les visiteurs, nous serions toujours qu’un site regroupant deux ou trois exercices, sans support pour obtenir de l’aide. Première conséquence comme vous l’avez compris : être attaché au Site du Zéro tuait notre communauté. Comble pour un site communautaire, non ?

Ensuite, j’ai été surpris, mais dans l’équipe, on communiquait plus par le site susnommé car par notre propre site : on utilisait le topic en post-it pour parler ou encore les messages privés, c’était pas chez nous qu’ils étaient pour la majorité. Deuxième conséquence, quand le site fut lancé, impossible de quitter le Site du Zéro vu qu’il nous permettait de communiquer.

Ainsi, non seulement il nous faisait perdre des visiteurs potentiellement intéressés pour s’inscrire (la lecture des exercices ne nécessitait pas l’authentification) mais en plus, on ne pouvait plus le quitter…

Maintenant, vu que nous ne sommes pas là pour parler que de nous, un conseil que je vous donne pour éviter d’avoir les mêmes problèmes que nous :

  • Ne vous attachez pas trop à un site : si vous devez communiquer et que votre site ne vous le permet pas, échangez vos adresses email et créez un moyen (un canal IRC, c’est très bien, en passant, pour ce genre de choses). Pourquoi je vous dis ça ? Si le site que vous utilisez ferme stupidement, vous arrêtez de communiquer ? (Pour les adresses mails, même raison : si votre site a un problème quelconque, vous arrêtez aussi de communiquer ?) ;
  • Alexandre m’a demandé de vous préciser de ne pas hésiter à vous appuyer sur une communauté connue pour décoller, si vous n’avez pas d’autre moyen de vous faire une réputation, mais que surtout il faut vous affranchir de cette communauté dès que possible : ne reproduisez pas nos erreurs ;
  • Évitez de proposer votre contenu à l’identique sur un autre site plus grand que le votre : consciemment ou inconsciemment, cela incite vos visiteurs à y poser leurs questions, et donc à ne pas agrandir votre communauté. Ceci va donc augmenter votre « dépendance » au site qui vous a lancé.

Adrien

Commentaires (2) »

Avant la mort de l’un, la naissance de l’autre

Bonjour,

Dans ce troisième article, je compte vous parler de « Qt Share », le projet de création d’un nouveau « Exercices Qt » encore plus complet.

Sachez tout d’abord que nous pensions à ce projet déjà 2 mois avant la fermeture d’Exercices Qt, bien qu’à l’époque, c’était une version 2 qui comprenait un code source refait ainsi qu’un nouveau design. Après quelques votes au sein de l’équipe, nous avions décidé  de changer le nom : en effet, cette nouvelle version comprenait aussi une FAQ (Frequently Asked Questions, Questions les plus souvent posées), un module de tutorats, ainsi que quelque autres idées.

A la fermeture du site, il fut abandonné. Récemment, quelqu’un m’a contacté pour reprendre le site, il prit connaissance de la v2, mais plus aucunes nouvelles de lui. Aujourd’hui même, je me suis décidé à reprendre le projet de façon différente avec Alexandre et Maximilien. J’ai pensé à ce blog comme support de suivi du développement, et me vint enfin l’idée d’en faire aussi une aide aux webmasters cherchant des conseils de développement, de gestion, des solutions pour que le site ne « coule » pas, en somme.

Adrien

Ajouter un commentaire »

Présentation d’Exercices Qt

Bonjour,

Avant de parler des erreurs que nous avons commis, il faut, à mon humble avis, vous présenter le site ainsi que son histoire.

Tout commença sur le Site du Zéro le 08 Novembre 2008, plus précisément sur un topic d’Exercices pour le framework Qt, écrit par zAmnellL (en voici le lien : http://www.siteduzero.com/forum-83-337641-p1-exercices-la-programmation-avec-qt.html). Vous vous en doutez peut-être, c’est ce message anodin qui lança le site.

Oui, en effet, le 06 Décembre 2008, environ un mois après, ce même personnage lança un recrutement sur le fora prévu à cet effet, toujours sur le Site du Zéro, que vous pouvez consulter à ce lien : http://www.siteduzero.com/forum-83-346732-p1-site-web-exercices-qt.html.

Ainsi, le site naquit le jour de mon recrutement, le 11 Décembre 2008.

Il continua à grandir à un rythme tranquille, jusqu’à ce qu’en Janvier, shareman (Crys’ à l’époque) vint nous rejoindre et vers mi-Février, amonte (Alexandre).

Il avait pour tâche de créer des designs pour remplacer l’horreur que nous avait « pondu » zAmnellL, et c’est ce qu’il fit : il en créa une dizaine en une semaine.

Défila le temps, et plusieurs personnes nous rejoignirent pour modérer le site ou écrire des exercices. Vers mi-Mai si mes souvenirs sont bons (pour cette date, je n’ai aucune donnée pour le vérifier…), nous avions comme idée de traduire la documentation Qt, lourde tâche, évidemment. Nous avions traduit une vingtaine de classes dont QObject et QWidget qui sont relativement longues, jusqu’à ce qu’en Juillet, le 30 à 18h15 pour être plus précis, un de ceux qui aidaient sur le fora et qui rédigeait des exercices, XHeLL décida de partir par manque de motivation et d’une impression de dictature dans l’équipe (nous y reviendrons dans un des prochains articles traitant d’une des plus grosses erreurs que l’on a fait), suivi de zAmnellL 45 minutes après.

Personnellement, à leur départ, j’étais en vacances, je fus donc surpris de voir le souk qui s’était installé sur notre fora privé. C’est ainsi que le 31 Juillet à 5h du matin ferma officiellement le site ainsi que le topic dont je vous ai parlé tout à l’heure.

Les premiers jours, le site resta « ouvert » au niveau du fora et des exercices. Un membre du site ouvra une pétition pour que l’on réouvre, et il y eu une vingtaine de signatures.

Quelques jours après cependant, je constatai que quelqu’un avait supprimé les sources du site du FTP en laissant un message à la place plutôt étonnant : « tqmer rqymqn ».

Je finis par accepter la fermeture et mis à la place un message expliquant que le site était fermé et que l’on ne le rouvrirait pas.

Voici donc l’histoire d’Exercices Qt au niveau visiteur qui dura 6 mois dont les derniers étaient pénibles pour les raisons dont je vous parlerai plus tard.

Adrien

Ajouter un commentaire »

La raison d’être de ce blog

Bonjour et bienvenue cher visiteur,

Quand on arrive sur un blog, naturellement, notre première envie est d’en connaître le contenu, la raison d’être. Souvent, son propriétaire raconte sa vie, il nous montre des photographies, un blog personnel, donc.

Pour notre part, c’est différent. A une époque, nous avions un site internet nommé « Exercices Qt » fait par nos soins. Malheureusement, il ne dura que quelques mois, avant de « s’écrouler » aux fondations. Alexandre et moi-même, Adrien, étions deux des administrateurs du site. Aujourd’hui, nous avons décidé de vous expliquer nos erreurs pour éviter que vous ne les fassiez vous aussi. Maximilien, quand à lui, est un ami qui nous rejoignit pour notre projet : recommencer « Exercices Qt » sous un nom différent, « Qt Share« , de façon plus complète, adressé aux débutants, aux amateurs et aux experts du développement avec Qt.

Sur ces quelques mots de présentation, je vous souhaite une lecture agréable de nos articles et surtout, je vous souhaite de ne pas faire les mêmes erreurs que nous !

Adrien

Ajouter un commentaire »