Mots-clé : développer

Une bonne interface utilisateur

Voici un site qui donne plein de bonnes idées pour faire une bonne interface utilisateur :

Try a one column layout instead of multicolumns:

Try a one column layout instead of multicolumns.

Try giving a gift instead of closing a sale right away:

Try giving a gift instead of closing a sale right away.

Try merging similar functions instead of fragmenting the ui:

Try merging similar functions instead of fragmenting the ui.

Try social proof instead of talking about yourself:

Try social proof instead of talking about yourself.

Try repeating your primary action instead of showing it just once:

Try repeating your primary action instead of showing it just once.

Try distinct styles between clickable and selected items instead of blurring them:

Try distinct styles between clickable and selected items instead of blurring them.

Try recommending instead of showing equal choices:

Try recommending instead of showing equal choices.

Try undos instead of prompting for confirmation:

Try undos instead of prompting for confirmation.

Try Telling who it’s for instead of targeting everyone:

Try Telling who it's for instead of targeting everyone.

Try being direct instead of indecisive:

Try being direct instead of indecisive.

Try more contrast instead of similarity:

Try more contrast instead of similarity.

Try showing where it’s made instead of being generic:

Try showing where it's made instead of being generic.

Try fewer form fields instead of asking for too many:

Try fewer form fields instead of asking for too many.

Try exposing options instead of hiding them:

Try exposing options instead of hiding them.

Try suggesting continuity instead of false bottoms:

Try suggesting continuity instead of false bottoms.

Try keeping focus instead of drowning with links:

Try keeping focus instead of drowning with links.

Try showing state instead of being state agnostic:

Try showing state instead of being state agnostic.

Try benefit buttons instead of just task based ones:

Try benefit buttons instead of just task based ones.

Try direct manipulation instead of contextless menus:

Try direct manipulation instead of contextless menus.

Try exposing fields instead of creating extra pages:

Try exposing fields instead of creating extra pages.

Try transitions instead of showing changes instantly:

Try transitions instead of showing changes instantly.

Try gradual engagement instead of a hasty sign up:

Try gradual engagement instead of a hasty sign up.

Try fewer borders instead of wasting attention:

Try fewer borders instead of wasting attention.

Try selling benefits instead of features:

Try selling benefits instead of features.

Try designing for zero data instead of just data heavy cases:

Try designing for zero data instead of just data heavy cases.

Try opt-out instead of opt-in:

Try opt-out instead of opt-in.

Try consistency instead of making people relearn:

Try consistency instead of making people relearn.

Try smart defaults instead of asking to do extra work:

Try smart defaults instead of asking to do extra work.

Try conventions instead of reinventing the wheel:

Try conventions instead of reinventing the wheel.

Try loss aversion instead of emphasizing gains:

Try loss aversion instead of emphasizing gains.

Try visual hierarchy instead of dullness:

Try visual hierarchy instead of dullness.

Try grouping related items instead of disordering:

Try grouping related items instead of disordering.

Try inline validation instead of delaying errors:

Try inline validation instead of delaying errors.

Try forgiving inputs instead of being strict with data:

Try forgiving inputs instead of being strict with data.

Try urgency instead of timelessness:

Try urgency instead of timelessness.

Try scarcity instead of abundance:

Try scarcity instead of abundance.

Try recognition instead of recall:

Try recognition instead of recall.

Try bigger click areas instead of tiny ones:

Try bigger click areas instead of tiny ones.

PhpDocumentor 2 : howto et résultats exceptionnels

Après plusieurs échanges avec le développeur principal de PhpDocumentor 2, celui-ci a corrigé plusieurs bogues et maintenant la version alpha tourne, et j’ai pu la lancer sur mon framework.

Résultats tout simplement exceptionnels (pas pour mon framework, mais pour PhpDocumentor).

Ce qui m’a le plus bluffé c’est le schéma de diagramme de classes : non seulement il est beau et pratique, mais il est clair.

Donc une vue globale de mon diagramme de classes :

Image petite du diagramme de classes

Et quand on clique pour zoomer, le rendu est tout aussi exceptionnel :

Image petite du zoom du diagramme de classes

C’est pratique, grâce à ça, je vois tout ce qui manque. Par exemple, les ListeXXX ne sont pas dans une classe générique, alors que les ItemXXX oui, des petites évolutions à faire pour rendre un peu tout ça plus propre, mais c’est un bon début !

Ensuite, viennent les classes et la documentation générée : de la même façon, si tout est correctement organisé, le rendu est vraiment très bon et la documentation est enfin utilisable !

Image petite de l'exemple de documentation de classes

Python : mes premiers essais

Bon, sur cet article ici, j’ai traduit tout le vécu d’un auteur, et j’ai voulu tester par moi même.

En pratique, j’ai installé un dictionnaire de Français entièrement gratuit, et je voulais récupérer les mots Français, sans la définition (je ne dirai pas pourquoi par contre hahahah).

Donc je regarde les fichiers, c’est du XML.
Ok donc il me faut juste un parseur.
En Delphi, ça m’aurait pris disons… une trentaine de minutes.
Eh bien pour mon premier script en Python, ça m’a pris… 10 minutes.
Oui oui je n’exagère pas : 10 minutes, j’ai lancé le chrono pour voir si j’allais être rapide ou pas.
Voilà mon script :

1 #! /usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 # r = open('/datas/dictionnaire/test
5
6 import types, fileinput
7
8 def process(line):
9 if line[0:7] == ' 0):
12 sub = sub[:sub.find(' ')]
13 if (sub.find(',') > 0):
14 sub = sub[:sub.find(',')]
15 print(sub)
16
17 for line in fileinput.input():
18 process(line)

Incroyable. Effectivement, en pratique c’est vraiment ce que j’ai mis sur mon article précédent : tout est clair, lisible, la documentation aide bien, et c’est extrêmement rapide, en tous les cas sa rapidité suffit amplement pour faire toutes les tâches de scripts de base que l’on veut.

Je suis extrêmement content, à part depuis la découverte de la librairie ExtJs, qui est très impressionnante, ça allait faire longtemps que je n’avais pas été autant enthousiasmé (du point de vue informatique, j’entends).