Derniers billets

Flux Rss
<< previous 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 next >>
 

Si les users sont des nombres alors ils sont uniques

By esion - the 2007-12-02 23:40:00 - in Informatique

(0) Comments

Liberez vos iPhones! Ceci est un message de paix.

Le titre version longue : Un utilisateur a un nom, un prénom, un visage, une personnalité, un adn ... et tout ceci nous indique que celui-ci est unique (même les jumeaux). C'est une personne (humain ... ou pas).

Cela faisait un moment que je n'étais pas retourné sur un système propriétaire que je considérai comme un espace m'étant propre.
Je m'en vantais d'une certaine manière tout en restant compréhensif envers les personnes restant sur des environnements propriétaires car les systèmes libres ont encore cette image néfaste élitiste et complexe (linux)... ce qui est faux, demandez à ma grand-mère.

J'ai tout de même fais l'acquisition d'un iphone en bonne et due forme (chez l'orange verte ou rouge selon les cas). Ceci pour plusieurs raisons : la notoriété d'apple et son soucis d'ergonomie ainsi que la satisfaction de mes besoins.

Mais maintenant que je l'ai, je suis frustré. Je suis obligé de retourner sur un windows pour activer mon téléphone (d'accord j'étais prévenu), je ne peux pas importer mes contacts depuis la carte sim orange à moins du faire un jailbreak (ça c'est quand même énorme alors que c'est possible sur sfr o_O ) et je ne peux même pas connecter mon ordinateur en bluetooth sur le bidule pour importer mon carnet de contacts et agenda. Non, tout ceci se fait à travers iTunes qui le récupère sur outlook (ou équivalent sur mac).

Sauf que je n'utilise pas outlook. Je n'utilise plus iTunes car il n'existe pas en natif sur linux. J'utilise Amarok, j'utilise evolution et gmail etc.l car ils sont ergonomiques, intuitifs et intéropérables au possible (je ne sais pas si ça se dit). J'utilise les moyens que je désire parce que je les trouves bons et pas seulement gratuits. Mon système est unique car je suis une personne et par définition unique (je ne suis pas un backup ou un mirror de quoique ce soit).

Je pense que cela explique un peu pourquoi les hackers existent. Un hacker n'est pas un "pirate", la définition indique quelqu'un qui modifie un système pour l'améliorer ou pour qu'il corresponde à ses habitudes. Est-ce illégal? À première vue : non, mais jusqu'à un certain point. Lorsque j'achète un stylo plume, est-ce illégal si je n'utilise pas les cartouches du fabriquant parce qu'une marque différente présente une encre de meilleur qualité ou moins chère? Le stylo je ne l'ai pas loué, j'en fais ce que je désire, au même titre qu'un iPhone de plusieurs centaines d'euros. Lorsque l'on a un système avec un tel potentiel entre les mains pourquoi est-ce "interdit" de faire ce que l'on veut (entre autres, émuler une super nes, changer son apparence)? En fait je ne crois pas que ce soit interdit, par contre les moyens pour y arriver dépasse les limites légales "imposées" par le constructeur.

Et lorsque l'on cherche à faire quelque chose de particulier (pour qu'il corresponde à nos besoins) on aura toujours plus l'envie d'ouvrir le système et y accéder toujours plus facilement (voilà pourquoi on parle autant des hackers) et si on y arrive en passant outre les vérifications d'identifiants on cherche à le sécuriser (Voilà une des forces des logiciels libres).

PS: j'entends de plus en plus le terme "accessibilité" notamment dans le domaine du web. L'accessibilité tourne autour d'une et une seule chose : l'acteur, "La personne qui utilise". Si chaque personne est unique alors chaque système/logiciel/concept/objet devrait être ....
Je vous laisse choisir le dernier mot.

 
 

L10n, un début de globalisation sur cakephp

By esion - the 2007-11-21 10:06:00 - in Code

(0) Comments

Bien sûr que c'est possible et plus facilement encore avec cakephp 1.2.

Ce que j'entends par globalisation :

  • Globalisation : rendre une application accessible dans différentes langues.
  • L10n (Localization) : le contenant (les éléments de présentation) sont traduits.
  • i18n (internationalization) : le contenu (les articles, etc.) sont traduits

De quoi est-il question ici :

Je ne vais pas montrer comment changer la langue sur une appli cake, celui-ci se charge très bien tout seul de trouver d'où vient l'utilisateur. Non, je vais essayer de présenter les outils pratiques pour démarrer une application ayant un support de langue ou nécessitant une telle mise à jours ou dans le cas comme le mien où on développe sa petite appli chez soi au fur et à mesure. Et je ne parlerai pour l'instant que du contenant (L10n). Dernière chose, je suis sur le système d'exploitation Ubuntu (pour ceux qui n'ont pas l'habitude d'écouter mes déblaterrations)... (ça aura sa petite importance plus tard).

1 - Quelque chose à traduire

Votre appli est déjà bien avancée et vous avez plein de messages (flash ou dans le style), là il n'existe pas beaucoup de solutions, il faut tous les entourer de la fontion "__('My text')". Notez bien qu'il y a 2 underscores (tiret-bas : _ ). Aussi je mets mon texte entre guillemets simples, j'imagine qu'il n'y aura pas de traitement serveur en plus. Ensuite mon texte contient des espaces, pourtant celui-ci est considéré comme identifiant (msgid) : peu importe cela fonctionne aussi et c'est plus agréable pendant la programmation. Mon texte est en anglais, et bien ça j'avais prévu le coup, on ne sait jamais avec qui on va bosser.

//file : app/controllers/pages_controller.php //[...]  
function add(){
    if(!empty($this->data)){
 	$this->Page->save();
 	//La page a été sauvegardée
 	//"true" indique  que la chaîne a traduire n'est pas directement liée à un "echo"
 	$this->Session->setFlash(__('Page has been saved', true));  
}  
//[...] 
?>
file : app/views/pages/index.ctp
// pas  besoin de "echo" ni de "true" 
 __('Home'); 
// on peut ici integrer une variable dans la chaîne à traduire
// petite astuce qui peut être utilisé pour la pluralisation 
 echo sprintf(__('Hello %s', true), $username);
?>

Ce n'est que le début !

Il faut indiquer à cake que l'on veut utiliser L10n. On peut soit le spécifier dans le controller en question (page) soit dans app_controller pour l'avoir n'importe où dans l'application :

//file : app/app_controller.php
uses('L10n'); 
class AppController extends Controller{
 //[...]
 }
 ?> 

Ensuite pour que cake puisse traduire l'application, il nous faut un fichier contenant toutes les chaines de caractères. Pour ce faire il suffit de creer l'arborescence suivante :

app/locale/{LANG}/LC_MESSAGES/

{LANG} étant une des localisation que l'on veut traduire, cela peut être fr, fr_FR, fre, en, en_US, eng ... et c'est grand choix à faire parmis les multitudes de langues et des déclinaisons. la liste des déclinaisons est disponible dans l'API de cakephp.

Pour ma part j'ai choisis les localisation : "eng" et "fre" qui permet de passer de l'un à l'autre sans se prendre la tête selon ce que demande le navigateur et qui sied à la norme ISO-639-3. J'ai donc les arborescences suivantes:

  • app/locale/eng/LC_MESSAGES/
  • app/locale/fre/LC_MESSAGES/

Je mets de coté "eng" car l'appli est déjà en anglais. Il nous suffit maintenant de créer un fichier default.po qui contiendra nos traductions :

#file : app/locale/fre/LC_MESSAGE/default.po
msgid "Page has been saved" 
msgstr "La page a été sauvée"  

Et ça y est, la traduction fonctionne!

Ok, mais j'ai une centaine de messages à traduire!

[edit] Extract est bien intégré par défaut sur la pre-beta 1.2.0.5875 de cakephpC'est maintenant qu'on se marre. À l'heure où j'écris cette article, cakephp incorpore un outil qui permet d'extraire les chaînes à traduire.

D'abord il nous faut interpreteur php en ligne de commande pour pouvoir cuisiner (et non je ne pouvais pas mettre "bake" dans ma phrase).

Sur un OS à base de debian (Jor Ubuntu) :

[edit] En installant php5-cli vous n'aurez plus à faire modification sur le script de cake.

sudo apt-get install php5-cgi 

On se place ensuite dans le dossier de scripts de cake et on lance le bake :

cd mon_appli/cake/console 
./cake

Soit on a du bol et tout se lance sans problème et on accès à extract soit "yarien".

J'ai du modifier l'executable "cake" car il ne trouvait pas l'interpreteur php :

#file mon_appli/cake/console/cake
echo "Hello $USER,"

exec php-cgi -q ${LIB}cake.php -working "${APP}" "$@"

Cette modifications n'altère pas le fonctionnement de cake en principe néanmoins je décline toutes responsabilités ^^.

Lancez alors la manipulation suivante pour extraire dans un fichier .pot les messages à traduires :

./cake i18n
>[E]xtract POT file...
>Merge : y
>File Name : default
>[Q]uit 

Mettre à jours les traductions.

Oui, on a commencé à traduire l'appli, on va pas le refaire.

Ceci peut être réalisé grâce à l'excellent poedit (que j'ai découvert il y a peu et qui me semble très pouissant).

sudo apt-get install poedit

poEdit est alors accessible dans le menu Application>Développement>poEdit. C'est grâce à lui que l'on va faire nos traductions. Je note parcontre qu'il enregistre par défaut les fichiers sur la norme iso-8859-1. Pour le modifier : menu "catalogue>configuration" Jeux de caractères : utf-8.

On ouvre notre premier fichier de traduction qui se trouve dans app/locale/fre/LC_MESSAGES/default.po et on découvre la première qui a été réalisé. Maintenant on peut le mettre à jours avec notre default.pot que extract a généré. Menu "Catalogue>Mettre à jours depuis fichier .POT" et lui donne notre app/locale/default.pot.

Et ... Il ne reste plus qu'à!

Bien sûr je suis ouvert quand aux astuces et autres améliorations, je viens tout juste de me mettre à la globalisation sur cake et comme je n'ai pas la science infuse, j'ai beaucoup de chance de passer à coté de pas mal de petits trucs bien pratiques. Enfin je dis ça commme ça.

 
 

Conception web2.0 pour débutant

By esion - the 2007-11-15 10:38:00 - in Code

(1) Comments

J'ai réalisé ce petit document pour résumer quelques bonnes pratiques de conception de pages web. Celui-ci est destiné essentiellement aux débutants et quelques anciens de l'air html4.01 qui veulent se mettre à jours.

 
 

Computor Moods *_* et Vista

By esion - the 2007-11-15 09:13:00 - in Informatique

(0) Comments

Trop de la boulette ce vista

J'ai la chance de tester supa windows vista (Woui, ils ont du matos à l'afpa). Et franchement je dois dire "woaw", c'est vraiment l'idée du siècle d'avoir mis un reboot automatique et en plus obligatoire après les mises à jours. C'est sûr ils ont piqué l'idée sur le virus sasser qui a fait rebooté 90% des windows xp/nt/2000/2003 (je pense qu'au moins 10% n'etait pas branché sur les réseaux) en 2004.

Bref c'est ultra pratique lorsque l'on vient de lancer un backup et que l'on est allé faire un tour à la machine à café (ou au chiottes tellement on a envie de vomir).

vista reboot
 
 

Watts Vendetta Halloween fever

By esion - the 2007-11-01 13:21:00 - in Musique

(0) Comments

wattsvendetta flyerComme on dirait dans nos chères contrées broussailleuses loin de tous les bruits urbains, dans cette quête du sain cynique : "Halloween ? ..... Mouais". Et lorsque l'on rapproche, rien ne change vraiment car notre sang se retrouve non-miscible aux éléments externes... des fois. "N'empeche que" sans forcément s'y attendre, ce fut tout de même une bonne soirée !

L'association Watts Vendetta nous a prévu une petite soirée en cette dernière journée d'octobre. En première ligne, je vois le stereo-Nolive (oupa) se tordre de tout son corps autant si ce n'est plus qu'un pantin démembré gardant toujours le pouce et l'index près du cross-fader à l'affut du beat comme le lapin des Monthy Python. Serieusement, je veux son set en injection à 192kbit/s ou plus. Break core, grind step, tribe, drum'n bass ... je ne sais plus, en fait peu importe : c'est de la bonne medecine.

Surprise, Z-TA à laché ses skeuds de drum anglaise pour un son plus saturé, un peu trash une sorte de cyberDrum qui passe bien, mieux que les vinyls que beaucoup DJ ne prennent même plus la peine de mixer car il suffit de poser la galette pour que le gens se reveillent. Cette fois c'est un coup de poker bien plus difficile à réaliser. Ça rapporte moins qu'un Pendulum ou un AndyC d'accord, mais on touche enfin à quelque chose de nouveau.

La mentale! un live qui démarre doucement, il toussote mais se reprend pour nous ammener dans une quête interieur, définitivement "la mentale" porte bien son nom. Le hardcore n'est pas mort, les sons torturés le prouvent : c'est vivant tant que ça cri, même de douleur. Je n'oublie pas non plus le Vidjay qui a mit en image ces sons tout au long de la nuit.

Tout ceci nous amène alors vers Raptus, si j'ai bien compris un DJ/MC assez barge. En fait à partir de ce moment tout commence à s'accélérer, je ne sais plus vraiment qui joue mais j'ai des bribes d'un mix hardcore jungle rock and more. En mode texto ça donnerait quelque chose comme : "Queen/We Will Rock You @ Drum'n bass ; un morceau entier de punk @ mais qu'esse ça fout là mais c'est marrant ; Édith Piaf + Édit Piaf @ hardcore ..." Bref, un set excentrique.

Je ne suis plus vraiment là, la fatigue me dépasse et demain (aujourd'hui en l'occurence) je ne dors pas, "ya session!". Pour la suite je fais confiance à la prochaine WV Party.

 
<< previous | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 next >>