Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

mardi 25 janvier 2011

mar
25
jan '11

Contribuer dans l'open source

De lire ce post: "Why People Don't Contribute to OS Projects, and What We Can Do About It", j'ai eu envie de republier ce post qui a 4 ans. (d'où les commentaires plus vieux que le post)

Tobias avait publié une liste de règles à destination des candidats à l'intégration d'un projet open-source (à lire aussi par ceux en sont déjà, pour se faire un état des lieux)

Cet article vient d'être traduit par la Framalang.

A propos du karma de la règle 1 je dirais pour aller plus loin qu'on a plein de karma dans un projet.

On a un karma global, qui est une moyenne pondérée du karma que l'on a aux yeux de chaque autres contributeurs. La pondération étant le karma respectif de chacun de ces autres contributeurs

Un détail qui n'est pas repris c'est la nature des contributions, un point sur lequel j'aime insister.

Vous installez un programme open source, vous avez la chance de pouvoir l'essayer sans aucune contrainte. Et sachant que s'il vous plait vous pourrez l'installer partout où vous en aurez besoin. C'est quand même déjà en soit un cadeau, même si le programme ne vous convient pas.

S'il vous convient c'est encore mieux.

Quoi qu'il en soit, racontez chacune de ces expériences.

Faites l'exercice, choisissez un soft open source installé ces derniers mois et écrivez quelque chose qui ressemble à ce qui suit.

"Aujourd'hui j'ai installé, ce soft, au départ je cherchais à faire ceci et j'avais telles contraintes, la description trouvée , me laissant croire que l'appli pouvait répondre à mes besoins je l'ai téléchargée.

Je l'ai installé sur mon ordinateur, un ordi de tel type, avec tel OS (Door XP, Litux, Mac Bones). D'ailleurs j'ai consaté que ..."

Franchement l'install s'est plutot bien passée, quoi que je ne savais pas trop quoi répondre à ... )

Une fois installé, ...

Coté utilisation j'ai cherché l'option .. je ne la trouvais pas dans .. normal elle était dans ... . Si je la cherchais dans ... c'est parce que ....

Par rapport à mes besoins j'ai trouvé ca et ca qui m'ont permis de faire ca, mais il me manque encore ca. Heureusement tel programme m'a permis de prendre le relai.

En conclusion j'ai désinstallé ce programme parce que ... et ...

Dommage car j'aimais vraiment bien le fait que ... et ....

Alors j'ai trouvé cet autre programme ... ERte Après 2 mois je l'utilise toujours, je vous raconterai pourquoi demain".




Bloguez ca si vous êtes blogueur, ou ajoutez le en commentaire de ce blog , ou directement sur le forum du produit. (dans tous les cas signalez le à l'équipe de développement)

L'important c'est que n'importe qui puisse avoir accès à votre feedback "généraliste"

Vous vous sentez "agressif", reformulez ou confrontez le texte a des amis qui ont aussi utilisé le produit.

Vous vous sentez "très négatif", transformez toutes les attaques "aux membres du projet" en "critiques du produit". Mais surtout mettez en corrélation chaque reproche, à une attente personnelle et un peu d'explication de celle ci.

Pensez à bien indiquer la version du produit.

Si par contre vous appréciez particulièrement l'application, faites le savoir. Mais essayez d'être aussi bavard que possible.

Aller plus loin ?

Ok tout ça c'est "chez vous". Si vous voulez aller plus loin, vous pouvez proposer de la documentation. écrire un tutoriel, un cas d'école, ...

Quand on écrit une recette de cuisine, on n'explique pas comment allumer la cuisinière. C'est pareil pour une documentation. Un mode d'emploi peut expliquer comment allumer la cuisinière.

Un mode d'emploi sert à 2 choses.

  1. palier à des imperfections de l'outil. (s'il est bien fait on a pas besoin de mode d'emploi pour comprendre)
  2. pour les cons (qui n'arrivent pas a comprendre un outil bien fait) (lisez la réplique de Laurent en premier commentaire de ce post)

Vous pouvez aussi contribuer par une participation active sur le forum. Comme le raconte Tobias, c'est barbant en tant que développeur de répondre aux questions qui ont déjà trouvé réponse plusieurs fois. C'est une tâche ingrate mais utile que de faire tampon.

Prendre le temps de rediriger les nouveaux, poser les premières questions pour recadrer le problème réel.

Coder

Finalement, contribuer avec du code.

Votre code réponds avant tout à votre besoin. Si c'est un correctif, regardez si un "bugtracker" ou une catégorie bug existe dans le forum. Si c'est une amélioration. Pensez à prendre contact avec les développeurs pour raconter vos intentions.

"Il me manque ca, je vais solutionner mon besoin comme ca." Expliquez bien cela, les développeurs vont peut-être avoir une sympathique réponse vous annonçant qu'un autre à le même besoin et a commencé le travail, ou que des éléments existants du produit peut vous servir de fondation. Et demandez éventuellement ce qu'il faudrait pour que votre amélioration puisse les intéresser.

jeudi 28 août 2008

jeu
28
aoû '08

PEAR::Pager tutorials. Navigation avec pagination et Ajax

Ce texte est une des traductions d'une série d'articles de Lorenzo Alberton Suite de PEAR::Pager tuto : Navigation avec pagination et Javascript simple

Comme vous avez pu le voir, the trick was setting the path parameter to an empty string and the fileName parameter to a javascript link, avec l'habituel marqueur "%s" pour le pageID.

Exemple #2: On veut de l'AJAX! On veut de l'AJAX!

Ok, maintenant que vous avez vu les bases, vous devriez avoir tous les éléments à aller plus loin.

Mais si vous êtes paresseux et voulez le voir quand même, voici un exemple sur la façon de faire la même chose que ce que nous avons vu avant, cette fois utilisant des appels AJAX chercher seulement les données utiles pour la page montrée.

Dans cet exemple, j'utilise la librairie PEAR::HTML_AJAX (docs):

Si vous ne pouvez pas attendre voyez cette démo, c'est l'exemple en fonctionnement, regardons comment il est fait :

1) Le fichier html:

nous incluons les fichiers js dynamiques (server.php) pour traiter les demandes AJAX, et appellons HTML_AJAX.replace ("target","testdata.php"), ce qui remplacera le contenu du DIV cible par le rendu du script testdata.php en utilisant un appel d'AJAX.

<html>
<body>
<h1>PEAR::Pager exemple avec AJAX</h1>
 
<script type="text/javascript" src="server.php?client=all"></script>
 
<div id="target">Je suis la cible</div>
 
<script type="text/javascript">
    HTML_AJAX.replace('target', 'testdata.php');
</script>
 
</body>
</html>
2) Le fichier testdata.php:

c'est un simple script php qui récupère les données que vous désirez afficher (Dais cet exemple, 100 entiers) et les renvoie au Paginateur.

L'output de ce script remplacera le contenu du DIV cible dans le premier fichier html.

Nous affichons également la date et l'heure courante pour nous prouver que les données sont « fraîches » et construites à chaque appel (c.-à-d. chaque fois que vous cliquez sur un lien de navigation).

<?php
require_once 'Pager.php';
$data = range(1, 100); //un tableau de données à paginer
$pager_params = array(
    'mode'     => 'Sliding',
    'append'   => false,  //ne pas ajouter les paramètres GET
    'path'     => '',
    'fileName' => 'javascript:HTML_AJAX.replace(\'target\',\'testdata.php?pageID=%d\');',  //Pager replaces "%d" with the page number...
    'perPage'  => 10, //afficher  10 item par page
    'delta'    => 1,
    'itemData' => $data,
);
$pager = & Pager::factory($pager_params);
$n_pages = $pager->numPages();
$links = $pager->getLinks();
echo '<p>Ce containeur est rempli avec un appel AJAX</p>';
echo '<p><span class="datetime">DateTime: '. date('Y-m-d H:i:s') .'</span></p>';
echo '<h3>Page '. $pager->getCurrentPageId() .'</h3>';
foreach ($pager->getPageData() as $item) {
    echo 'Item '. $item .'<br />';
}
echo '<hr />'.$pager->links;
?>
3) Finallement, le fichier server.php :

nous créons une instance de HTML_AJAX_Server pour livrer les les deux les bibliothèques de Javascript et pour traiter les demandes d'AJAX des navigateurs.



<?php
include 'HTML/AJAX/Server.php';
 
$server = new HTML_AJAX_Server();
$server->handleRequest();
?>

dimanche 12 août 2007

dim
12
aoû '07

Token

Je suis en train de traduire la documentation du package pear PHP_codeSniffer, et je me demandais comment traduire le terme "token" parce que la traduction que j'en connaissais (jeton) ne me semblait pas correspondre. J'ai jeté un oeil sur wikipedia et j'y ai trouvé la réponse : Lexème

Le lexème est le morphème lexical d'un lemme, c'est-à-dire une unité de sens et de son qui n'est pas fonctionnelle ou dérivationnelle. Le lexème renvoie à une notion abstraite ou concrète indépendante de la situation de communication.

C'est un synonyme de radical dans la plupart des cas, surtout utilisé dans le cadre de la lexicologie en synchronie. En effet, diachroniquement, radical et lexème peuvent ne pas coïncider.

Ceci étant fait, il me reste à traduire correctement "tokenizer"

samedi 11 août 2007

sam
11
aoû '07

Manuel de PHP_codesniffer

Traduction en cours : php_codesniffer

Si ca vous intéresse, n'hésitez pas à me signaler les éventuelles probables erreurs.

vendredi 4 mai 2007

ven
04
mai '07

pear karma for Christophe Gesché

Voilà 4 ans, Rasmus Lerdrof, activait mon compte CVS sur PHP.net


 rasmus		Sun May  4 15:13:06 2003 EDT
 
   Modified files:      
     /CVSROOT	avail 
   Log:
   pear karma for Christophe Gesché

Le CVSSPAM : [PHP-CVS] cvs: CVSROOT / avail' - MARC

mercredi 10 janvier 2007

mer
10
jan '07

Traductions à relire

à relire 3 petites docs pour webservices

mardi 9 janvier 2007

mar
09
jan '07

PEAR DOC Translation

Quelques nouvelles petites traductions de documentation de PEAR pour utiliser les API des outils web

Il reste ebay mais un plus gros morceau, si quelqu'un veut me faire la traduction initiale, je gagnerai un peu de temps.

Sinon merci pour toute retour sur vos lectures de la doc..

Et j'entame la traduction des documentations de TEXT_CAPTCHA et TEXT_CAPTCHA_Numeral

lundi 18 décembre 2006

lun
18
dec '06

"Tainted mode" pour php

Wietse Venema propose un "Tainted mode" en PHP

Perso ca m'intéresse même si à défaut on s'adapte, ca permet d'avoir l'esprit tranquille.

Voici la traduction du début du post de Tobias.

Lire la suite...

lundi 20 novembre 2006

lun
20
nov '06

Nouveau dans la doc de PEAR

Semaine 2006-4

Général
  • Christian a été ajouté à la liste des auteurs.
  • Ajout des liens vers les docs de tests faites par TAKAGI Masahiro

avec builds, logs et revchecks (build journalier)

Documentation initiale
  • dans console pour Console_Progressbar
  • dans html pour html-page2
  • dans structures pour games-chess
Complement de documentation

package contact-vcard-parse dans fileformats

 Intégration dans la doc PEAR de la documentation du wiki de Paul Jones

package translation2 dans internationalization

  • setcharset : Info à propos du support des charset et collation

Noyau : pear-packageupdate

  • set dont ask until next release
  • release type
  • set dont ask again

lundi 6 novembre 2006

lun
06
nov '06

PEAR: Encore 1202 fichiers à traduire.

Pour aider,

  1. Consultez cette liste : PEARDOC Revision-check
  2. Cliquez sur le fichier qui vous fait de l'oeil
  3. Traduisez tout sauf les balises mais bon au pire lisez ça
  4. envoyez moi la traduc à moosh@claroline.net ou moosh@php.net

jeudi 2 novembre 2006

jeu
02
nov '06

PEAR :: Package :: HTML_Template_PHPLIB

PEAR :: Package :: HTML_Template_PHPLIB

Le moteur de Template PHPLIB , un des plus populaire a été porté sur PEAR par Bjoern Schotte.

Le 11 juin dernier la 1.3.1 était rendu disponible.

Pourquoi j'en parle maintenant ? parce que Christian Weiske vient d'en rédiger la documentation, et que moi je l'ai traduite (partiellement) en français.

mardi 17 octobre 2006

mar
17
oct '06

OOo la 2.0.4 est dispo en french, mise à jour des langues

Open office 2.0.4 étant dispo en français j'ai voulu l'installer.

Il n'a pas voulu parce que j'avais déjà Open office 2.0.4RC en anglais.

Solution 1 désinstaller la RC, pas cool

Un petit tour sur #fr.openoffice.org et on m'indique la solution 2


Après installation il faut aussi redémarrer complètement OOO, j'ai dû tuer le processus.

Je m'étonnais des 16Mo de l'archive de langue, mais Zefredz a jeté un oeil et me dit que riend que l'help fr désarchivé pèse 24Mo.

samedi 14 octobre 2006

sam
14
oct '06

[PEAR-DOC] volunteers needed for tasks

Petit appel de Greg

Lire la suite...

vendredi 25 août 2006

ven
25
aoû '06

La commande UNION

Une autre devinette de little Noyes

Voici 2 définitions de tables:

CREATE TABLE `users1` (
`name` varchar(10) default NULL,
`birthday` date default NULL
);

CREATE TABLE `users2` (
`name` varchar(10) default NULL,
`birthday` date default NULL
);
After inserting some data, we get the following row counts:

SELECT COUNT(*) FROM users1;
+----------+
| COUNT(*) |
+----------+
| 15       |
+----------+

SELECT COUNT(*) FROM users2;
+----------+
| COUNT(*) |
+----------+
| 12       |
+----------+
Maintenant voici une requête:

SELECT * FROM users1 
UNION 
SELECT * FROM users2;

Combien de rang y aura-t-il dans le résultat ?
  • exactement 27
  • au minimum 12
  • au minimum 15
  • entre 1 et 27
  • Zero ou plus

Voir la réponse ▼

ven
25
aoû '06

Enigme en mysql

Trouvée sur le A Little Noise
SELECT * FROM theTable;
+----+----------+
| id | data     |
+----+----------+
|  1 | milieu   |
|  2 | premier  |
|  3 | showLast |
+----+----------+

Maintenant trions sur `data`.

SELECT * FROM theTable ORDER BY data;
+----+----------+
| id | data     |
+----+----------+
|  3 | showLast |
|  1 | milieu   |
|  2 | premier  |
+----+----------+

hum??? Peut-être sur le serveur n'a pas compris.

SELECT * FROM theTable ORDER BY data ASC;
+----+----------+
| id | data     |
+----+----------+
|  3 | showLast |
|  1 | milieu   |
|  2 | premier  |
+----+----------+

Que se passe-t-il ? Il assure ne pas avoir switché vers une quelquonque collation inversée.

Voir la réponse ▼

mercredi 23 août 2006

mer
23
aoû '06

Arretez de faire des applis tout seuls

Voici une traduction pourrie (google translation) de "Arretez de faire des applis tout seuls" que Clay Loveless a posté sur son blog

Si quelqu'un veut améliorer :) qu'il n'hésite pas

Lire la suite...

lundi 21 août 2006

lun
21
aoû '06

La 13, la 13 !!!! enfin la 7 aussi

Du temps à consacrer pour les autres ? Pensez au point 13 !

Marco Tabini avait déjà fait cela mais en plus court

samedi 19 août 2006

sam
19
aoû '06

What's Wrong with PEAR?

I answer also to What’s Wrong with PEAR?

with my bad english, I know

Lire la suite...

vendredi 5 mai 2006

ven
05
mai '06

Optimisation simple pour (PHP et) MySQL

Traduction de Simple Optimization for PHP and MySQL publié le Samedi 29 avril 2006

Voici une liste de quelques trucs très simples pour optimiser vos applications de php/mysql. Gardez les simplement à l'esprit tout en développant.

Lire la suite...

jeudi 27 avril 2006

jeu
27
avr '06

PHP GOTCHAS!

Traduction de l'article http://devzone.zend.com/node/view/id/168
écrit par John Herren le Vendredi, Avril 21, 2006


Appelez-les obscures, appelez-les injustifiées, appelez-les des "erreurs de newbies."
Quelque soit le nom, vous les avez plus que probablement déclenchées vers le début dans votre apprentissage de codage en PHP par des comportements apparemment impairs ou illogiques du langage.
PHP étant un langage faiblement typé, des choses bizarres qui en découlent peuvent se produire. PHP est un langage facile à reprendre pour le codeur occasionnel

Lire la suite...

dimanche 25 septembre 2005

dim
25
sep '05

Mettre en place son channel PEAR

Tobias Schlitt nous explique comment mettre en place un channel PEAR.

Lire la suite...

mardi 4 janvier 2005

mar
04
jan '05

Tutorial SimpleTest

Je vais relire la traduction du tutorial de simpleTest

Tags