Archive pour la catégorie ‘Gestion de projet’

Code Rush: de Netscape vers Mozilla

Publié le 21 July 2008, par Babozor

Voilà un documentaire à regarder absolument: Code Rush (un peu moins d’une heure), sur le mois précédent la release du code du navigateur Netscape qui donna naissance à Mozilla.
Passionnant…
Le codeur-métalleux, le teenage-codeur, le dev introuvable et qui va débugger “dans la nuit”… awesome!

C’est dispo en Torrent, ou en streaming:

Yahoo Search BOSS: profitez de l’index de Yahoo…

Publié le 18 July 2008, par Babozor

boss_response.jpg

Voilà un outil avec lequel je suis en train de faire mumuze en ce moment (après Yahoo Search Monkey il y a quelques jours): Yahoo Search BOSS

Le principe?
C’est un peu comme une ultra API qui vous donne accès aux résultats du moteur de recherche de Yahoo mais de façon beaucoup plus étendue, avec possibilité de divers tris, restrctions de formats, type de fichier recherché, etc… (il est préférable de voir la documentation pour voir toutes les possibilité du bousin).

L’intérêt principal réside aussi dans le peu de limitation du système, au contraire d’une API classique, pas de nombre requête maximal, ce qui veut dire… autant que vous voulez :) L’autre intérêt est de pouvoir retraiter le résultat à votre sauce: puisque la réponse du serveur est un flux XML facilement traitable.

La prise en main est quasiment instantanée… je me suis inscrit pour avoir mon ID et j’ai commencé à balancer des requêtes.

La stratégie de l’ouverture chez Yahoo! (et pas Google, même si j’aimerais bien qu’ils suivent… merci Bast de m’avoir corrigé)
Après Search Monkey, BOSS est sans aucun doute un nouveau signe de la volonté d’ouverture de Yahoo! vers les développeurs, un échange de bon procédés: ils vous donnent accès à leur structure et leur index, vous construisez des outils démentiels avec.
Je viens tout juste de mettre le nez dedans, mais je vois déjà le million d’applications que je pourrais faire beaucoup plus simplement en tirant profit de cette giga-API.

Et vous, testé ou pas encore?

Mes conventions de programmation…

Publié le 17 July 2008, par Babozor

Normalement je ne réponds pas aux espèces de chaînes débiles de bloggers qui se taggent avec des sujets stupides (genre “5 trucs que vous savez pas sur moi”… on s’en fout en général), mais là exception à la règle, puisque Godefroy (le Monsieur derrière Eklablog) propose une chaîne spécial dev: “Mes conventions en programmation”

Allez zou un petit exemple de code:
code_source_exemple.jpg

Notation
Moi aussi j’utilise la notation lowerCamelCase pour tout mes nommages: variables, fonctions, classes, méthodes, etc… avec une petite spécificité: tout en anglais (pour un portage plus simple si un autre dev parle pas français)

Indentation
Tabulation 4 espaces aussi
En général j’indente par bloc (après un if par exemple) sans les accolades, pour avoir un code le plus structuré et le plus lisible possible

Accolades
J’avoue, j’aime beaucoup les accolades :) En général je saute une ligne avant le début d’une accolade, ça fait une ligne de plus, mais je trouve qu’on gagne beaucoup en lisibilité, fermeture au même niveau que l’ouverture, en sautant une ligne.
Je mets des accolades même pour les instructions “mono-lignes”, une mauvaise habitude sûrement, mais je trouve ça plus lisible (décidément…)

Espaces
Je mets très peu d’espace en fait, en général entre une instruction et sa condition (un if par exemple)
Pas d’espace pour les opérandes… (= etc…)
Je trouve que les espaces un peu partout nuisent à la lisibilité

Guillemets
En général j’utilise la simple cote ‘, sauf pour les caractères d’échappement (\r \t, etc…) et pour mes requêtes SQL

Commentaires
Je commente peu, sauf quand le besoin s’en fait vraiment sentir pour un calcul vraiment funky ou qu’un script doit être compléter, etc…

Ma façon de coder et de normmer mon code a peu évolué ces 2-3 dernières années, puisque je pense avoir trouvé une méthode pour pouvoir lire un code de façon rapide et efficace, je garde un code compacte pour les opérations communes, mais avec une bonne indentation et des retours à la ligne pour identifier rapidement les divers conditions (if, for, etc…) ce qui me permet d’avoir une première vision précise et rapide de ce que fait le code.
Mon soucis reste toujours la lisibilité et le portage pour d’autres codeurs… donc j’essaye d’apporter un soin tout particulier au nommage des divers fonctions et variables. J’utilise pas mal des préfixes: trois lettres et un underscore, par exemple pour les user: usr_blablabla pour les variables intermédiaires, sinon le nommage est en anglais en respectant le lowerCamelCase.

Bon je repasse le bébé à Boldr, Kilgore, Dame Tartine, Seb et Damien (ça leur apprendra tiens…)

Dailymotion - CreativeContent: c’est pas gagné!

Publié le 11 July 2008, par Babozor

daily_creative.jpg

Hier, surprise… une de mes vidéos que j’avais uploadé il y a déjà un certain temps sur DailyMotion est passé en statut CreativeContent.
Enfin je dirais (après des mois d’attente), mais pour l’instant j’ai beaucoup de mal à comprendre quels sont les critères qui rendent une vidéo viable et les autres non…
Ce qui m’intéressait principalement dans le CreativeContent, c’était surtout d’avoir la possibilité de pouvoir uploader et partager des vidéos de meilleur qualité (en pseudo HD) et avoir beaucoup plus de marge pour le poids de mes vidéos.

Pour l’instant une seule sur douze a été acceptée, alors que ce n’est pas du contenu piraté, ce sont des vidéos que j’ai fait moi même avec mes petites mains… Certes la bande son (de 2 secondes) du générique n’est pas libre, mais bon est ce une raison pour me refuser le droit de mettre du contenu en qualité correcte?

Le principal frein et une des raisons qui m’ont fait changer de crémerie (pour aller chez Vimeo) c’est le défaut de cercle vertueux, je m’explique: pour avoir la possibilité d’uploader de la HD on doit avoir le statut de CreativeContent, donc cela veut dire avoir eut des vidéos originales et de qualité validées par quelqu’un de DailyMotion, mais comme vous avez une vidéo qui claque… vous aller essayer de préférence aller vers un service qui vous propose from scratch une bonne qualité…
Proposer la HD en version “test” (genre deux ou trois vidéos… si le contenu est validé on peut continuer, sinon on reviens à la qualité de base) à tout le monde ne serait-il pas un bon moyen de faire venir du contenu de qualité?

Autant je comprends les conditions, autant la mise en oeuvre du programme CreativeContent me paraît des plus étranges.
Et vous vous en pensez quoi?

Installation Trac - outil de suivi de développement

Publié le 9 July 2008, par Babozor

trac2.jpg

Je viens tout juste (hier en fait) de finir d’installer Trac, un outil vraiment pratique qui vous permet plusieurs choses:
- avoir un accès simple à vos fichiers avec contrôle de version (via subVersion… pas de commit mais la possibilité de voir les fichiers et les modifs, c’est déjà super pratique)
- gestion de tickets (bugtracking)
- wiki

Cet outil fait partie du “package” minimal que je conseille à tous ceux qui veulent se lancer dans un développement propre et productif, pour plusieurs raisons (je suis d’ailleurs en train d’écrire un article sur les outils minimales)

trac1.jpg
Le problème vient de l’installation de Trac… au contraire d’un phpMyadmin, qui ne nécessite pas d’install lourde (on dé-zip et hop ça marche… enfin presque), Trac peut devenir un peu chaud à mettre en place, voici donc quelques conseils:
1. C’est précisé dans les specs d’install, Trac marche mieux avec Python et SQLite… certes vous pouvez l’installer avec MySQL mais cela reste expérimental, donc si vous avez le choix, choisissez SQLite
2. Passez plutôt par la gestion des pacquets de Debian qu’en installant des paquets (ou sources) à un peu à la barbare, au moins le gestionnaire de paquets gère les dépendances (ce que vous ne faites pas à moins d’être un über guru)
3. Lire correctement la doc… oui je sais ça paraît con, mais la doc est plutôt bien faite et assez complète.

En gros dans l’ordre, on installe:
- python
- sqlite
- la librairie python pour apache
- trac
(et j’estime que subversion a déjà été installé)

Mon seul problème a été un défaut de synchronisation entre SubVersion et Python, réglé par la remise à jour du paquet libapache2-mod-python2.4

Voici quelques ressources qui peuvent aussi vous être utiles:
Install de Trac
Installer et configurer Apache2, Trac et Subversion sous Ubuntu
How to setup a Ubuntu development Server - Part2