Tag Archive for 'Developpement'

Le succès d’un logiciel (libre) passe par l’adoption effective des utilisateurs

Selon une étude américaine le facteur critique permettant à un logiciel (libre) de réussir est à 70% lié à l’adoption effective des utilisateurs.

Ah bon ?

Ce qui pourrait apparaitre comme un facteur déterminant ne l’est pas forcément.
Les facteurs suivants le montrent assez bien:

  • les fonctionnalités du logiciel -> seulement 1% de la valeur créé
  • l’intégration du logiciel dans les processus existants -> 13% de la valeur créée
  • les changements d’ordre organisationnel -> 16% de la valeur créée

En conclusion, vous aurez beau créer le meilleur logiciel (libre) au monde avec toutes ses fonctionnalités si il n’est pas adopté par les utilisateurs, en clair si les utilisateurs n’utilisent pas votre logiciel (libre) le résultat est sans appel: votre logiciel n’est pas suceptible de créer de la valeur.

L’étape suivante serait: comment faire adopter un logiciel (libre) aux utilisateurs ?

  • créer un logiciel (libre) simple d’utilisation, intuitif et ergonomique
  • respecter les standards de développement
  • documenter le logiciel (libre)
  • former les gens

  Partager sur Wikio

Perl - Singleton Pattern

C’est l’histoire d’une classe d’objet qui ne sait donner qu’une seule instance :-( .
Cette instance sera accessible via le constructeur new.

Le code :

package MonPaquetage;
my $singleton;
BEGIN {
$singleton = {
attribut1 => 'valeur',
attribut2 => 'autre',
};
bless $singleton, "
MonPaquetage";
}

sub new {
my $class = shift;
return $singleton;
}

L’ Appel :

my $obj =
MonPaquetage->new;


  Partager sur Wikio

Netvibes organise le prochain Facebook Developer Garage à Paris

Salut les développeurs français!

Jeudi 9 Octobre il y aura un Facebook Developer Garage à Paris avec la présence de Mark Zuckerberg. Venez et ayez des infos sur Facebook Platforme, découvrez des développeurs autour de chez vous, partagez votre expérience de développement ou apprenez comment commencer. Mark fera une présentation de la Plateforme suivi d’une session de Questions/Réponses.

Inscrivez-vous à cet événement ici: http://www.facebook.com/event.php?eid=31464580671


  Partager sur Wikio

Créer des liens SSH avec Firefox 3

Configurer votre client léger
Ouvrir Firefox à l’addresse suivante:

about:config

network.protocol-handler.app.ssh; /home/user/fox.sh
network.protocol-handler.external.ssh; true
network.protocol-handler.warn-external.ssh; true

/home/user/fox.sh

#!/bin/sh
gnome-terminal -e "ssh `perl -MURI -e 'print $u=URI->new($ARGV[0])->host;’ $1`”

Intégrer des liens SSH à l’HTML

Il suffit maintenant d’intégrer des liens de cette forme:

a href="ssh://hostname"

En cliquant sur le lien une fenêtre de terminal s’ouvrira.


  Partager sur Wikio

Organiser son code avec un dépot Subversion

Définition du répertoire SVN Racine:

SVNREPOS=/usr/local/share/svn

Création des utilisateurs et leurs droits associés:

groupadd svnusers
useradd -m svnadm -g svnusers
usermod -L svnadm
echo umask 002 >> ~svnadm/.bashrc
mkdir -p $SVNREPOS
chown -R root.svnusers $SVNREPOS
chmod -R u+wrx,g+wrx,o-wxr $SVNREPOS

Création du wrapper:

mv /usr/bin/svnserve /usr/bin/svnserve.bin
cat << EOF > /usr/bin/svnserve
#!/bin/sh
# wrap in order to put root in by default
# Script implemented by Adrian Robert <arobert@cogsci.ucsd.edu>
exec /usr/bin/svnserve.bin -r $SVNREPOS "$@"
EOF
chmod u+wrx,g+rx-w,o+xr-w /usr/bin/svnserve

On se connecte sous l’utilisateur svnadm afin de créer les repositories projets:

su - svnadm

Si vous souhaitez importer à partir d’un dump svn existant:

svnadmin load "/usr/local/svn/projet1" < mon_dump.svn

Si vous souhaitez importer à partir d’un répertoire:

svn import /home/user/projet1/ file:///usr/local/share/svn/projet1 -m "import initial de projet sous Zend Framework"

Création du fichier de configuration du projet1:

cat << EOF /usr/local/svn/projet1/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
EOF

Accéder en SSH au repository
svn list svn+ssh://<user-id>@<machine>/projet1

Sources:


  Partager sur Wikio

Perl - Dates, Times et Timezones

  1. Un fuseau horaire (timezone) est un décalage par rapport à UTC
    CST et CDT sont des fuseaux horaires. UTC+0200 non !
  2. Un timezone_spec est une spécification pour le fuseau horaire utilisé dans une partie du monde, par exemple, UTC+0200.
  3. Un time_epoch est un timestamp exprimé en secondes depuis l’époch Unix (1er janvier 1970).

Afficher une heure non locale :
use Date::Format 'time2str';
use Time::Zone 'tz2zone';
my $time_epoch = time();
my $timezone_spec = 'CST6CDT';
print time2str('%a %Y-%m-%d %H:%M:%S %Z', $time_epoch, tz2zone($timezone_spec, $time_epoch)), "\n";

Source


  Partager sur Wikio

Quelques conseils pour sécuriser votre backoffice d’administration Wordpress

Introduction

Il est bien connu que les mots de passe circulent en clair sur le réseau.

Mais qu’est-ce que cela veut dire ?

En réalité il est possible de “sniffer” une connexion réseau afin d’obtenir des informations personnelles. Comme par exemple quand vous vous connectez sur votre backoffice d’administration wordpress.

Pour remédiez à cela nous allons crypter l’échange d’informations entre nous et le serveur.

Installer SSL pour Apache2

En root.

  1. Ajouter le module SSL pour apache
    a2enmod ssl
  2. Forcer la relecture des fichiers de configuration Apache
    /etc/init.d/apache2 force-reload
  3. Créer le certificat
    openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key
  4. Ajouter dans /etc/apache2/ports.conf
    Listen 443
  5. Ajouter le nouveau VHost dans /etc/apache2/sites-enabled/000-default
    NameVirtualHost IP:443<VirtualHost IP:443>
    ServerName www.hostname.com
    DocumentRoot /var/www/path
    SSLEngine on
    SSLCertificateFile /etc/apache2/server.crt
    SSLCertificateKeyFile /etc/apache2/server.key
    </VirtualHost>
  6. Relancer Apache
    /etc/init.d/apache2 force-reload

Hack de la fonction wp_register

Disclaimer: ce code est fournit tel quel. Vous l’utilisez sans aucune garantie et/ou support.

Ce hack permet d’écrire l’url d’administration en https.

L'ongle Admin. du Site pointe bien vers le https

L'onglet Admin. du Site pointe bien vers le https

Remplacer dans wp-includes/general-template.php

ligne 52:
. admin_url() .
par
. preg_replace("|^http://|", "https://", admin_url()) .


  Partager sur Wikio

MySQL - Outil de modélisation

DBDesigner

Pour une archi AMD 64bits sous Debian :
dbdesigner-fork, tar -zxfv du *.bin-i386-linux.tar.gz,
puis cd bin && ./startdbd_usingAMD64


  Partager sur Wikio

Perl - Factory Pattern

Pas de Bullshit : je suis une fabrique, tu me donnes des paramètres, je te donne de beaux objets associés.


#!/usr/bin/perl -w

package MyFactory;

    sub new {
        my $self          = shift;
        my $type          = shift;
        my $class         = "MyTest::$type";

        return $class->new(@_);
    }
1;

package MyTest::Repeat;

sub new {
    my $class    = shift;
    my $self     = {
        text     => shift,
        repeat   => shift,
    };
    return bless $self, $class;
}

sub display {
    my $self = shift;
    print ($self->{text} x $self->{repeat});
}
1;

package MyTest::Stamp;

    sub new {
        my $class    = shift;
        my $text = shift;
        return bless \$text, $class;
    }

    sub display {
        my $text     = shift;
        my $stamp    = localtime();
        print "$stamp $$text";
    }
1;

package main;
 use strict;

my $text_r = MyFactory->new("Repeat", "Hello\n", 3);
$text_r->display();
my $text_stamp = MyFactory->new("Stamp", "Bye-bye\n");
$text_stamp->display();

>./test.pl
Hello
Hello
Hello
Wed Jul 16 10:16:32 2008 Bye-bye


  Partager sur Wikio