Skip to content

Back

Bon ben de retour après nettoyage complet du blog suite à l’infection par un vers.
Ce vers pas si malicieux que ça, avait injecté du code html dans de nombreuses pages, mais générait des erreurs php, ce qui est balot pour un vers qui veut se faire discret.
Du coup j’ai un peu galéré mais je me suis débarrassé, j’éspère définitivement!

Tagged

Pirate ou grenouille?

Comme l’a dit le célèbre Mike Godwin: « I worry about my child and the Internet all the time, even though she’s too young to have logged on yet. Here’s what I worry about. I worry that 10 or 15 years from now, she will come to me and say ‘Daddy, where were you when they took freedom of the press away from the Internet?’ »

Traduisible par: « Je suis inquiet à propos de ma fille et d’Internet, même si elle est pour l’instant trop jeune pour se connecter. J’ai peur que dans 10 ou 15 ans, elle vienne me voir et me dise ‘Papa, où étais-tu lorsqu’ils ont supprimé la liberté de la presse d’Internet?’ »

Outre le fait que cet homme est inventé la loi portant son nom, il était à l’époque déjà assez clairvoyant quant aux enjeux d’Internet.
Le net est peut être trop démocratique et libre. Cela fait peur un peu à tout le monde. Et non seulement les industries du cinema et du disque, mais les gouvernements ont désormais peur de ce contre-pouvoir que représente internet. Parce que après Hadopi et Loppsi, c’est maintenant le traité ACTA (en pour-parlers avec les gouvernements de 39 nations) qui menace la liberté et l’indépendance du net au niveau international.

Les gouvernements occidentaux doivent secretement jalouser la Chine qui à reussi à devenir une puissance économique, sans tomber dans la démocratie et l’obligation de respecter les libertés individuelles de ces citoyens…
Du coup il va vraiment falloir se méfier des prochaines prises de décisions concernant le filtrage ou la régulation d’internet. Car sous pretexte de lutter contre les pédophiles et les méchants pirates, nous risquont de nous faire tous museler, laissant encore partir un bout de nos libertés individuelles pour l’illusion d’une sécurité bienveillante.

Vous-aviez sinon quelques interrogations concernant l’industrie de la musique?
Non l’industrie de la musique et du film ne s’adapteront pas aux nouveaux modèles économiques du Net (pas pour l’instant du moins). Non la culture restera une marchandise comme une autre, réservée à ceux qui en ont les moyens. Oui, le gouvernement Français (et au passage Neo-Zelandais), s’est joint aux majors et aux producteurs de cinema et autres lobbys pour lutter contre les vilains pirates. Oui, les gens qui téléchargent des films ou de la musique sur Internet sont, et resteront de vilains pirates pas beaux. Deezer est en crise, et Jiwa vient de se faire refuser la diffusion des titres du major Warner par ce dernier…

Mais là ou ils pêchent en réactivité, c’est qu’il existe depuis belle lurette des moyens d’être anonyme sur Internet et donc de telecharger sans crainte…

Un des premiers projet proposant un moyen d’avoir un accès anonyme à Internet est Freenet. Celui-ci développe des fonctionalités au niveau du réseau mais également au niveau du partage de fichiers, qui sont morcelés et stockés à divers endroits du réseau. Ce premier réseau à été crée essentiellement pour lutter contre la censure dans des pays comme la Chine.

Ensuite, en 2001 est apparu GNUnet (grandement inspiré par Freenet) qui est un réseau p2p entièrement anonyme et libre. Un peu plus évolué que Freenet au niveau du protocole!
GNUnet a enfin inspiré TOR (The Onion Router) qui est selon moi le plus abouti de ces réseau anonymes. Il est assez simple d’utilisation et il y a même un plug in firefox qui vous permet désormais de passer sur le réseau TOR en 1 click http://addons.mozilla.org/fr/firefox/addon/2275 si vous avez toutefois installé TOR en local au préalable.

Alors voila, on va tous lentement glisser vers le chiffrage des données et l’anonymisation afin de conserver nos libertés de consomateurs citoyens. Et cela va finalement servir au gens qui utilisaient déjà ces techniques, mais exclusivement à des fins illégales comme les pédophiles, terroristes et autres gredins numériques et cyber-racaille. On arrivera donc à un resultat completement à l’opposé de ce qui était soit disant prévu.


Syndrome de la grenouille:

« Jetons une grenouille dans une bassine remplie d’eau bouillante, elle tentera de s’échapper, et se débattra avant de mourir. Mais déposons la dans une bassine d’eau froide, que nous chaufferons ensuite progressivement, elle se laissera ébouillanter tranquillement, sans chercher à s’enfuir.« 




ACTA:

http://www.laquadrature.net/en/acta-attacks-internet-lets-attack-acta
http://www.zdnet.fr/actualites/informatique/0,39040745,39712533,00.htm
http://eco.rue89.com/explicateur/2010/01/24/acta-pourquoi-internet-crie-au-grand-mechant-loup-135219

Stealthnet: http://www.stealthnet.de/fr_index.php
TOR: http://www.torproject.org/index.html.fr
Freenet: http://freenetproject.org/fr/index.html
GNUnet: http://gnunet.org/
I2P: http://www.i2p2.de/

Tagged , , , , , , , , , , ,

L’histoire du monde

Un flipbook assez sympa sur l’histoire de notre univers! Ca a du être long à réaliser, mais c’est chouette, et ça rappelle les heures d’Histoire-Geo passées à faire des petites animations sur les cahiers ;-)

Tagged , ,

Vendredi, c’est permis

Dans la serie « je critique gratuitement le retard du gouvernement en matière de technologies », j’ai dégoté ce matin un lien assez rigolo qui a eu le mérite d’attirer mon attention.

Le gouvernement, ne sachant plus quoi inventer pour « sauver » la francophonie,  en appelle aux étudiants en « mastère »!

Sur cette page vous pourrez admirer le contenu suivant:

francomot

Pour les feignants, je résumerai cela en un concours pour les étudiants en « mastère » (en Français dans le texte), ayant pour but de trouver des équivalents Français aux mots buzz, tuning, talk, newsletter et chat…

Ca me rappelle la loi Toubon (où plutôt la loi AllGood) qui avait essayé de renforcer la francophonie face à l’invasion des termes anglo-saxons. Ce mec avait quand même essayé de remplacer le mot « week-end » par vacancelle!!! Non mais serieux.. on touche pas au week end s’il te plait Jacques.

En plus de ça, bureaucratie oblige, le formulaire d’inscription est un pdf qui est un formulaire papier scanné, que l’on devrait se faire chier à imprimer, remplir, puis rescanner pour l’envoyer par email (oups, je voulais dire « courriel »), là ou un simple formulaire web aurait suffit.

Voila voila…

Quelle belle idée!

Talend Open Studio

Avez-vous déjà entendu parler de Talend?
Cela fait plusieurs mois que je travaille avec leur outil, alors je me suis dis que ça méritait bien un post.
Je vais me concentrer plus précisément sur Talend Open Studio (TOS) qui est la version Open Source et gratuite de leur produit. Talend (l’entreprise) propose aussi une version « business » payante beaucoup plus complète Talend Integration Suite, mais je n’en parlerai pas trop ici.

tlnd

Pour commencer il faut savoir ce qu’est un ETL. Un ETL (Extract Transform Load) est un outil servant à manipuler des données. C’est vague me direz-vous, et vous n’auriez pas tort. Cela permet de migrer des données tout en les modifiant. Talend Open Studio utilise Eclipse RPC, ce qui est un avantage pour les développeurs connaissant l’IDE.

Il faut savoir que Talend Open Studio est un outil graphique. On va pouvoir créer des tâches (appellées « job ») en manipulant des objets graphiques pour charger, modifier et sauvegarder nos données. Un des grand avantage, est que un job va génerer du code (java ou perl, au choix), et que ce code sera donc exportable (par exemple sous forme de jar). Ceci va permettre d’automatiser des tâches qui pourraient être rébarbatives, ou coûteuses en developpement. De plus il existe des composants qui permettent de rajouter son propore code au job existant.

Meta données et schema

Pour bien utiliser TOS, il convient de définir vos données avant de les charger. Pour cela, vous créez une réference à vos données, comme par exemple à une table qui se trouve dans une base. Cela va permettre de définir le schema des données. Ensuite lors du chargement et/ou de la sauvegarde, le soft saura précisément comment les traiter. Cela s’appelle les meta-données ou plus joliment metadata.

Extract et Load

Pour charger ou sauvegarder des données, il existe des connecteurs. Concrètement, un connecteur est un composant graphique que vous pourrez manipuler dans le designer de Talend. Il existe plus de 400 connecteurs, et ces derniers sont complètement gratuits. Pour vous donner une idée, voici des exemples de connecteurs:

Base de données:

  • Postgres
  • Microsoft Sql Server
  • Mysql

ERP & Business management

  • SAP
  • Alfresco
  • BI & Reporting
  • Jasper
  • OLAP

Fichiers

  • Fichiers Excel
  • Fichiers Csv
  • Fichiers XML
  • Fichiers brut

Il existe des connecteurs plus techniques comme ssh, ftp, pop.. Ces connecteurs vont permettre de charger des données avant leur modification, ou alors de les sauvegarder après. Par exemple, j’utilise un connecteur à ma base de donnée postgres pour charger mes données, et je les stock ensuite dans des fichiers excel.

Transform

La ou cela devient très puissant, c’est pour la transformation des données. Il existe notament un composant permettant de définir là où chacune de vos données ira, et les modifications a leur apporter. Ce composant est le tMap, qui permet également de faire des jointures. Par exemple, vous chargez des données d’une base, faites une jointure sur un champ avec des données venant d’un fichier excel (cela fonctionne comme une jointure sql), et envoyez le tout par mail tout en stockant cela dans des fichiers de log. Le tMap est doté d’un constructeur d’expression qui vous permettra d’ajouter du code. Par exemple pour transformer un champ texte en UPPERCASE ou pour caster un integer en double.

On peut utiliser cet outil à plusieurs au travers d’un source controle comme par exemple SVN. La communauté qui gravite autour de ce logiciel est aussi assez active, puisque 60% des connecteurs viennent des contributeurs. Cet outil s’avère donc utile pour les migrations, les créations de log, imports/exports de données ou tout autre cas d’utilisation d’un ETL.

J’éspère avoir pu décrire un peu cet outil, mais comme une demonstration vaut mieux qu’un long discours, voici une courte video qui vous montrera la puissance de l’engin! Et si vous voulez avoir une demo en live, ils passent peut-être dans votre ville?

Et pour le telecharger, c’est ici!

So long,

Tagged , , ,

Methodes Habiles

Salut à tous!

Je vais attaquer 2010 en vous présentant quelquechose de tout nouveau tout beau!
Beaucoup de programmeurs connaissent déjà les méthodes agiles. Mais si vous savez.. ces methodes de programmation/production/management modernes.. qui maximisent la satisfaction du client, la productivité et rendent vos programmeurs plus efficaces mais un peu snob! .. (si vous connaissez pas, renseignez-vous, snobisez-vous et reviendez lire ce post seulement après.. espèce de coder 0.1)

Et bien moi je vais vous présenter encore mieux, encore plus fort que les méthodes agiles!

J’ai nommé: Les méthodes habiles!

« Quèksé? » me direz-vous, avec vos petits yeux irrités par vos écrans, et votre très significatif filet de bave au coin des lèvres?
C’est tout ce que voudraient être les methodes agiles, mais qu’elles peuvent pas parce qu’elles sont trop rigides!
Les methode habiles, c’est un peu l’utopie de la production de logiciel, le nirvana du programming!
Cela passe par l’acomplissement de plusieurs buts, et de concepts forts. Tout d’abord, focalisons nous sur  l’esprit d’équipe!

My name is Tim.. Tim Spirit!

Avoir une équipe de programmeurs soudé est très important. Pour arriver à ce but voici quelques conseils à suivre:

1- L’équipe devra se murger la gueule ensemble au moins une fois par semaine! Bien entendu, une fois par semaine est le minimum requis, sachant qu’une moyenne de 3 cuites/semaine est recommandé.

2- Pour plus de cohésion, ne pas hésiter à programmer tout nus! Même si dans un premier temps cela augmentera vos factures de chauffage, le gain en Tim Spirit est proportionel à la nudité de l’équipe (ou inversement proportionel au taux d’habillage)!

3-  La où les méthodes agiles préconisent de programmer en binôme, les méthodes habiles proposent de programmer à quatre (soit en quadrinôme)! En effet deux codeurs pourront programmer aisément pendant que les 2 autres leurs masseront successivement le dos et les pieds. Il conviendra d’effectuer des rotations toutes les 1/2 heure. Le Tim Spirit est bien sur exponentiel lorsque les programmeurs sont également nus.

4- Faire bruler de l’encens peut également un très bon catalyseur (de même que l’utilisation de monoï pour les massages, bougies et autres accessoires de détente…)

Change is my choice

L’équipe ne devra pas avoir peur du changement! Pour cela plusieurs solutions se proposent à vous:

1- Ne pas hésiter à reconcevoir et recoder votre software juste après la sortie d’une release. Changer tout est une bonne idée. Ceci est encore plus efficace couplé à la règle 1 du Tim Spirit.

2- Le courage est très important: pourquoi mettre un integer en clée primaire alors qu’on peut mettre une chaîne de caractère? Laisser des chances à l’application de rester dans une boucle infini, prenez des risques nom de diou!

3- Organiser vos cycles de développement de manière à changer d’IDE toutes les semaines. Programmez ainsi une semaine sur Eclipse puis Netbeans, puis Visual et ainsi de suite. Ceci vous fera developper une application complètement générique, et (dé)formera tout les développeurs!

4- Changer de coupe de cheveux/look vestimentaire au moins une fois par mois. Un programmeur qui change est un programmeur nouveau! Cela fonctionne également avec votre voiture, votre telephone portable ou tout autre appendice phallique.

5- La convention de nommage? Quelquechose de simple. Les noms masculins commenceront par un « olr_ » et les noms féminins par « dtg_ », mais ceci avant midi et après 17h00, puisque sinon cela s’inversera.

Feed me back

Comment votre software est-il perçu? Pour avoir du retour sur votre application, il vous sera utile de:

1- Satisfaire votre client, avec tout ce que cela peut engager. Mettez votre amour propre de coté et pliez vous à ses exigences! Vous pourrez ensuite lui demander ce qu’il pense de votre produit.

2- Sortez dans la rue et demandez à des personnes prises au hasard ce qu’elles pensent de votre application. Ne pas hésiter à leur expliquer, et si possible leur transmettre les méthodes habiles (et oui, c’est viral).

3- Faites un skyblog tournant autour de votre software, vous devrez vite avoir des retours sous forme de « commz ».
Vous pouvez combiner toutes ces methodes avec des techniques comme DRY:
Don’t Rush Yourself:  Programmons doucement.. prenez votre temps, et appréciez chaque instanciation de variable à sa juste valeur!

Intégration continue: Vive le temps réel, recompilez votre projet après chaque point-virgule!

Voila pour les principes de base des methodes habiles! A vous désormais de répandre les bonnes pratiques, et distribuer les méthodes habiles!

Bon programming les Habilistes!

Titine

Bonne année à tous!

titine

Tagged ,

Microsoft is THE standard!

Les développeurs web le savent, et parfois même les utilisateurs s’en rendent compte. Microsoft a du mal à respecter les standards. Outre les CSS et le moteur d’Internet Explorer qui gère le code à sa manière, il existe pleins d’autres exemples dans ce domaine. A chaque fois, c’est hallucinant de voir comment l’orgueil/impertinence de la firme/frime de Redmond les poussent à vouloir imposer leurs manières de coder/standardiser des formats.

Outre le cas du format Open Xml qui les faits mousser (ils se considèrent désormais comme très actifs dans l’Open Source!!! ), je suis tombé aujourd’hui sur un de ces exemples de non respect des standards qui nous poussent nous autres programmeurs à faire des pirouettes (cacahouète) et des bidouilles, perdant ainsi un temps précieux.

Cet exemple concerne le langage SQL. Ce dernier a été standardisé par l’ANSI, ce qui n’est pas rien, puisque pour ne citer que les normes les plus connues de cet organisme: ASCII, SCSI, ATA, langage C, etc… Et cet organisme a défini le null comme n’étant pas une valeur. La notion d’abscence de valeur est depuis devenue très importante dans les bases de données. Une donnée absente n’est pas définie, alors qu’un zéro ou une chaîne de caractère vide est déjà une valeur en soit.

Ainsi lorsque dans une base de données (respectant la norme ANSI) on ajoutait un contrainte d’unicité, cela signifiait que les VALEURS de la colonnes devaient être uniques. Ainsi on ne pouvait pas avoir plusieurs fois la valeur 4 pour une colonne. En revanche, la colonne pouvait comporter plusieurs fois null puisque ce n’est pas une valeur, mais justement l’abscence de valeur.
Mais voila, ces grossiers développeurs de Microsoft, effaçant toutes nuances, considèrent depuis SQL Server 2005 qu’une contrainte d’unicité est valable aussi pour la valeur null. Ils enlèvent ainsi la nuance d’abscence de valeur, insultant du même coup l’organisme ANSI, tout leurs concurrents, mais surtout tous les développeurs devant migrer des bases de données sous SQL Server 2005 (ou 2008) donc des CLIENTS!

Voila, donc merci microsoft, encore une fois vous nous montrez que vous ètes les boss, le standard, le modèle.

Impossible d’insérer une ligne de clé en double dans l’objet ‘base.ma_table’ avec un index unique ‘UNIQUE_BASE_MA_TABLE’.

AAAAARG!!!

http://www.sqlmag.com/Articles/ArticleID/25259/25259.html?Ad=1
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=299229

La Magic Bouse

Aujoud’hui, le livreur viens de nous apporter un nouveau joujou : une Magic Mouse !

Après quelques 30 minutes de tests une envie me vient de partager mes impressions :

Comme d’hab, le packaging Apple est niquel. Voyez vous même, bel objet dans son étuis, comme un diamant dans son socle.

Après une installation du logiciel et un redémarrage du pc mac, la magic se dévoile… Tadaaa ! …bah c’est une souris, quoi.

Elle est constituée d’un panneau tactile muti-touch posé sur un unique bouton. Le panneau de conf permet de gérer les nouvelles options suivantes :

  • clic droit (et oui, pas si naturel, chez mac !)
  • Défilement horizontal et vertical
  • Navigation.
  1. Le clic droit est un clic sur l’unique bouton, mais du côté droit du panneau tactile. Ça marche… sauf quand mon doigt gauche touche aussi le panneau tactile. Là ça détecte un clic gauche.
  2. Défilement horizontal et vertical, c’est l’équivalent de la molette sur nos souris… sans le middle clic.
  3. La navigation, c’est intéressant : en posant deux doigts sur le panneau et en les glissant à gauche ou à droite, on fait un précédent/suivant du navigateur… Sauf qu’apparemment, mes doigts ne sont pas fait pour se mouvement là. D’ailleurs je sens une crampe venir.

Chez Apple, on sent qu’il ont poussé le design à l’extrême. D’ailleurs, j’ai bien l’impression que les designers se sont enguelé avec les ergonomes, tellement la forme de la souris n’est pas faite pour la main. À l’inverse de ma bonne vieille souris Dell, sur laquelle ma main repose et qui est dirigée par mon poignet, la souris Apple se controle avec le pouce et l’annulaire, ce qui vient de contribuer à me filer cette vilaine crampe. Aïe.

Avec une autonomie de 1 à 2 mois, selon Mac Génération, il va falloir faire le plein de piles AA (2 à chaque fois), vu que l’option batterie/chargeur n’a pas été choisie.

Bref, si vous êtes un Maqueux passionné et dévoué, vous pouvez vous permettre de débourser 69€ et vous la péter lors de votre prochaine LAN. Sinon, si vous voulez vraiment innover en terme de souris, je vous conseille plutôt d’essayer celle-ci, qui fonctionne sans table (assez rigolo, d’ailleurs, on l’a aussi dans la boîte).

Personnellement, je vais refiler la souris blanche à mon boss et revenir à ma bonne vieille Dell et son middle clic qui me permet d’ouvrir mes onglets sous firefox. Ouf !

Tagged ,

ExtJs, Google Map et polygones

Le framework EtxJS (principal concurrent de JQuery) qui permet de fenêtrer votre site web et d’affiner la gestion des évenements, permet depuis peu d’intégrer directement un panel affichant une carte Google (GMap2).

Ce composant se nomme Ext.ux.GMapPanel et se trouve dans le framework dans examples/ux/GMapPanel.js
Assez récent, il n’existe pas encore de documentation de ce composant, c’est pourquoi je vais vous décrire rapidement une manière simple de l’utiliser.
Le reste n’est que bidouille, reverse ingineering et random discovery!

1 Créer un panel

Le composant Ext.ux.GMapPanel va ici prendre les même paramètres que un Panel ExtJS classique étant donné que l’objet en hérite directement. Ainsi vous pouvez l’adapter en changeant le layout, la taille et tout les autres variable habituelles.
Cependant, il pourra également comporter des variables spécifiques.
Exemple le gmapType définira le type de composant google (map, panorama) changeant si l’on veut afficher le streetview ou une carte. Si vous connaissez bien l’API Google Map vous ne devriez pas être trop déboussolé par ces paramètres.

Ext.ux.GMapPanel({
region: 'east',
id: 'panelMap',
xtype: 'gmappanel',
zoomLevel: 10,
gmapType: 'map',
mapConfOpts: [
'enableDoubleClickZoom',
'enableDragging'
],
addControl:  new GSmallMapControl(),
setCenter: {
lat: 44.839669,
'long': -0.572754
},
closable: true,
border: true,
monitorResize: true
});

2 Déssiner un polygone

Une fois la carte affichée, on peut lui ajouter des polygones.
On récupère tout d’abord la carte de la manière suivante:
var map = document.getElementById('panelMap').getMap();

Et voici comment dessiner un polygone:

var gpol = new GPolygon([ new GLatLng(44.839669,-0.572753)
, new GLatLng(44.839668,-0.572753)
, new GLatLng(44.839669,-0.572754)
, new GLatLng(44.839668,-0.572754)
], "#000000", "0.5", "1" , "#FFFF00", "0.75", "true");
map.addOverlay(gpol);

Et hop, le polygone est ajouté, on pourra faire un map.doLayout(); pour redéssiner la carte, mais voici dans les grandes lignes l’utilisation de ce composant. On pourra tout comme dans l’API classique intégrer des markers, des fenêtres d’info etc.. mais ceci fera peut-être l’objet d’un prochain post!

En tout cas, cette API combinée au requète dynamique de Ext devient très puissante, et en générant du JS à la volée je vous laisse imaginer les possibilités!

Voici des liens qui pourront vous aider:

Api GoogleMap

Example de Widget 1

Example de Widget 2

Tagged , , , , , , ,