Inscrivez-vous à la newsletter et soyez prévenus dès qu'un nouvel article est publié !

@

Articles de mars 2012

Les panels en WinForm c'est lent !

Pour ceux que ne savent pas ce que sont les WinForms, ce sont tout simplement les bibliothèques graphiques du framework .NET pour gérer et afficher des fenêtres.
Les WinForms sont vraiment très simples et pratiques à utiliser, surtout avec l'éditeur de Visual Studio qui nous permet de gérer l'apparence des fenêtres sans toucher au code, le plus simplement du monde, en glissant/déposant les contrôles qu'on veut et en changeant leurs propriétés.

Cependant, les WinForms ont un grand défaut lorsqu'on fait des applications avec beaucoup (mais pas tant que ça) de contrôles à afficher : elles sont lentes. On peut donc apercevoir un scintillement très désagréable lors du redimensionnement de la fenêtre, ou toute autre opération nécessitant le redessin de la fenêtre par exemple.
Il existe cependant quelques techniques pour éviter ce scintillement, allant de l'utilisation du Double buffering (dessin de la fenêtre dans un buffer caché pendant que l'autre buffer est affiché à l'écran, ce qui permet d'avoir toujours un buffer fini à afficher) jusqu'à des techniques bien plus complexes interceptant des messages Windows ou modifiant des propriétés de la fenêtre à bas niveau.

L'utilisation de ces techniques permet bien souvent de régler les problèmes de scintillement de la fenêtre, mais il existe une grosse exception à la règle : le panel !
Le panel est un contrôle simple, servant de conteneur pour d'autres contrôles et de zone d'affichage pour ces contrôles. Un panel pourrait donc en théorie être considéré comme une fenêtre dans une fenêtre, sauf que le panel n'a pas de bordure comme une fenêtre classique et qu'il est intégré directement dans le dessin de la fenêtre.

Je disais en théorie car en pratique il y a une grosse différence entre les fenêtres et les panels : les panels n'ont pas de Double Buffering ! Ainsi, quand vous avez des problèmes de scintillement à cause d'un trop grand nombre de contrôles et que ces contrôles ou une partie d'entres eux sont dans un panel vous aurez toujours vos problèmes de scintillement !
La technique dans ce cas là est simple : n'utilisez pas de panel ! A la place, soit vous les mettez directement dans la fenêtre, ou alors vous pouvez toujours créer un contrôle utilisateur qui, soit dit en passant, peut être plus facilement considéré comme étant une fenêtre qu'un panel ne pourrait l'être, car il gère le Double Buffering.

C'est donc après plusieurs heures de recherche que j'ai trouvé que la cause de mon problème de scintillement venait de l'utilisation d'un panel ...
Je ne suis pas prêt d'en réutiliser ...

Lire la suite ...
La connexion via Facebook, Twitter et Google, c'est bien ... enfin ça dépend

Je me suis récemment penché sur la connexion à un site via un compte Facebook, Twitter ou Google en me disant que ce serait une super chose pour les utilisateurs, voici mon ressenti après plusieurs jours de recherches et de tests :

Lire la suite ...
FirmLife: Le nouveau jeu de gestion d'entreprises en ligne

Bonjour à tous, aujourd'hui je vais vous présenter le jeu FirmLife (qui s'appelle maintenant Steamcraaft).
Steamcraaft est un jeu de gestion d'entreprises en ligne se jouant sur navigateur internet. Pour introduire le jeu en voici le texte d'accroche :

Vous avez toujours voulu être multimillionnaires ? Vous rêvez de gérer des entreprises et d'écraser vos concurrents ?

Venez réaliser vos rêves avec Steamcraaft, un jeu vidéo sur navigateur entièrement gratuit dans lequel vous pourrez gérer et faire évoluer vos entreprises seul ou avec des partenaires. Prenez les bonnes décisions, faites les bons investissements, dominez le marché, ruinez vos concurrents et devenez le plus riche et le plus influent !

Ingénieur

Ce jeu sera entièrement jouable gratuitement sans aucune restriction, néanmoins, pour ceux qui le désirent il sera possible d'acheter de l'argent virtuel avec lequel on pourra se développer plus rapidement ou avoir une apparence unique par rapport aux autres joueurs.

Lire la suite ...
Lancement du site et du blog

Ca y est ! Le site et le blog sont enfin lancés après ces quelques jours de développement intensifs !

Avant d'en dire d'avantage j'aimerais d'abord faire quelques remerciements :

  • A Play! le framework java utilisé pour développer ce site (version 1.2.4). Ce framework est vraiment bluffant de par sa simplicité d'utilisation, tous ses modules disponibles et sa communauté très active !
  • En parlant de communauté, j'aimerais la remercier elle aussi car je dois dire que ça fait plaisir quand on rencontre un problème et que celui-ci a déjà été abordé et résolu ! Je remercie donc entre autres Stackoverflow et le Google group de Play!
  • Un grand merci aux différents modules utilisés pour développer le site plus facilement et plus rapidement :
    • Siena, le module faisant la relation entre mes objets Java et ma base de donnée automatiquement (Vous pouvez aussi aller sur leur site ici).
    • CRUD Siena, le module CRUD (Create, read, update and delete) de Siena permettant ainsi de créer très facilement une interface d'administration pour mes modèles.
    • GAE, le module permettant de créer un site Java utilisant le framework Play! et de le déployer sur le Google App Engine.
  • Enfin il me faut finalement remercier le Google App Engine qui héberge ce site et sans qui je ne serai pas là à vous parler en ce moment !

Maintenant que les remerciements sont faits il ne me reste plus qu'à me présenter et à présenter mon site.

Lire la suite ...

Dernières références

Larousse

Mission de plus de 8 mois chez Larousse pour un projet complexe destiné à l'éducation nationale sur des technologies Node.js et ReactJS.

Voir toutes les références

Digital&You

Je travaille avec Digital&You sur diverses missions freelance depuis octobre 2015

Voir toutes les références

Active RDV

Avec Active RDV gérer vos prospects, vos clients, vos rendez-vous et votre chiffre d'affaire très simplement avec une interface intuitive et des possibilités infinies !

Voir toutes les références

Témoignages