06
May
2010

10 Golden Principles of Successful Web Apps

Lors de la FOWA conférence qui s'est déroulée à Miami, Fred Wilson à présenté ce qui correspondait selon lui aux 10 principes essentiels à la réussite d'une application web.

Carsonified à publié la conférence de Fred Wilson sur Vimeo, et les conseils donnés par ce dernier sont très intéressants !

Pour information, voici les 10 conseils :

  1. Speed
  2. Instant utility
  3. Voice
  4. Less is more
  5. Programmable
  6. Personal
  7. Restful (pas dans le sens software architecture)
  8. Discoverable
  9. Clean
  10. Playful

Vous pouvez voir la vidéo ci-dessous ou lire directement le transcript.

L'article de blog dont fait référence Fred Wilson se trouve ici et je vous conseille aussi fortement de lire les commentaires (malgré le nombre rebutant), qui apportent eux aussi leur brin d'idée sur les autres points utiles à la réussite d'une application web.

09
Apr
2010

[Frameworks] Un Controller ne doit pas avoir de logique métier!

Il existe de nombreuses pratiques pour développer du code propre, pérenne et accessible. Nommer la liste ici serait une perte de temps.

Parmi toutes ces lois, techniques et conseilles, la liste des 13 plus mauvaises pratiques appliquées à Rails soulève un point intéressant que l'on ne retrouve pas forcément dans les sites à base de Frameworks :

Chubby Controllers Must Die

There should be no business logic in a controller.

Read that again.

There should be no business logic in a controller.

Controllers do two things: they take data from the params or session and send it to the model. The MODEL performs all the necessary logic. Then, the controller does the other thing that's completely necessary: it decides what should be shown to the user. That's it. The sum total of a controller action is two steps long.
  1. Send information to the model.
  2. Decide what to display.
If you are doing ANYTHING ELSE in your action, you are doing it in the wrong place. The end.

Le problème n'est pas forcément le développeur, qui ignore cette pratique, mais aussi les créateurs du framework, qui, par l'absence de composants adaptés, force le développeur à mettre du code métier dans ses controlleurs.

J'apprécie particulièrement cette remarque qui soulève un point fondamental sur l'usage des frameworks et prouve que leur utilisation n'est pas le stade ultime en matière de développement efficace.

Ce n'est pas parce que vous utilisez un framework que vous faites les choses bien !

28
Jan
2010

Six techniques que les experts SEO ne vous dirons pas.

Sam Diener, sur Sys-con.com à posté un article super intéressant à propos des techniques SEO affichées par de nombreuses entreprises dédiées se vantent d'être efficaces alors qu'elles ne le sont pas.

Cet article est très intéressant à lire, et ce pour plusieurs raison. Tout d'abord pour éviter de se faire avoir si vous recrutez un "expert" en SEO, mais aussi pour savoir que ces vieilles pratiques que vous avez depuis toujours ne sont plus efficaces.

Je vais lister les points ici en les expliquant, mais pour avoir plus de détails, je vous invite à vous rendre sur le site en question.


Continue reading ...
23
Jan
2010

Script de post installation de Linux Mint

Histoire de changer de distribution, je suis passé de Fedora à Linux Mint, une dérivée d'Ubuntu (qui est une dérivé de Debian ...).

Pourquoi Mint ? Pour son design, que je trouve BEAUCOUP plus beau que le brun d'Ubuntu (et aussi parce que tout le monde est sous Ubuntu mais schuuut ;)).

Du coup et à mon habitude, j'ai fait un petit script post installation de Linux Mint, qui va mettre à jour le système, ajouter les dépôts qui me manquent, supprimer les éléments qui ne m'intéressent pas et installer ceux que je veux.
Il va ensuite récupérer les applications qui me manquent en svn et les mettre dans opt tout en me créant un raccourcis dans le menu.

Attention ! Bien que ce script simplifie la vie, il est fait uniquement pour Linux Mint 8 (enfin pour Ubuntu Karmic), et ce à cause des dépôts.
Bien sûr, il suffira de modifier les informations sur les dépôts et ce sera bon.

Enjoy !


#!/bin/bash

function userIsRoot () {
	if [ $UID -ne 0 ]
	then
		echo -e "\033[31mVous devez être root pour pouvoir continuer l'installation.\033[00m"
		echo "Le fait d'être root va permettre à l'installeur d'ajouter des dépots,"
		echo "d'installer des logiciels, chose impossible pour un utilisateur standard"
		echo ""
		exit 0
	fi
}

clear
echo "============================================================="
echo "||       Linux Mint Finger in the Nose :)                  ||"
echo "============================================================="
echo ""
echo -e "\033[32mBienvenue\033[00m"
userIsRoot
echo ""
echo "Ce script va"
echo "     * Supprimer divers applications pré-installées : Giver, Transmission, OpenOffice-Base, OpenOffice-Math, Pidgin, MPlayer et AptonCD"
echo "     * Mettre à jour le système"
echo "     * Ajouter les dépôts VirtualBox et DropBox"
echo "     * Installer les applications suivantes : Binutils, Unace, Unzip, Unrar, Plugins Gedit, VLC, Totem, Des Codecs vidéos manquant, Filezilla, Deluge, Xchat, GSynaptics, Vim, Brasero, Geany, un serveur LAMP et Subversion"
echo "     * Récuperer Emesene des dépots SVN et le placer dans les raccourcis"
echo ""
echo ""
echo -e "\033[31m\033[01m                           Linux Mint 8 - Helena\033[00m"
echo ""
echo ""
echo -e "\033[31mJe décline toute responsabilité en cas de problèmes, de plantage et autre\033[00m"
echo -e "\033[31m(au cas ou ;))\033[00m"
echo ""
read -p "Appuyez sur Entrée pour continuer ..."

echo -e "\033[32mSuppression des paquets inutiles.\033[00m"
echo ""
apt-get --yes remove giver transmission-gtk transmission-common openoffice.org-base openoffice.org-math pidgin mplayer gnome-mplayer aptoncd

echo -e "\033[32mMise à jour du système.\033[00m"
echo ""
apt-get --yes update && apt-get --yes upgrade && apt-get --yes dist-upgrade
echo ""
echo ""
echo -e "\033[32mAjout des dépots VirtualBox et DropBox.\033[00m"
echo ""

echo "" >> /etc/apt/sources.list
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
echo "# Dépôts VirtualBox" >> /etc/apt/sources.list
echo "deb http://download.virtualbox.org/virtualbox/debian karmic non-free" >> /etc/apt/sources.list

gpg --keyserver pgp.mit.edu --recv-keys 3565780E
echo "" >> /etc/apt/sources.list
echo "# Dépôts DropBox" >> /etc/apt/sources.list
echo "deb http://linux.dropbox.com/ubuntu karmic main" >> /etc/apt/sources.list
echo "deb-src http://linux.dropbox.com/ubuntu karmic main" >> /etc/apt/sources.list

echo -e "\033[32mRemise à jour.\033[00m"
echo ""
apt-get --yes update

echo -e "\033[32mInstallation des différents logiciels.\033[00m"
echo ""
apt-get --yes install binutils unace unzip unrar gedit-plugins vlc totem-xine filezilla deluge xchat-gnome gsynaptics vim brasero geany apache2 libapache2-mod-gnutls mysql-server php5 php5-cli php5-mysql phpmyadmin php5-gd php5-imap libapache2-mod-php5 php5-mcrypt php5-mhash php-pear php5-gd libapache2-mod-auth-mysql subversion virtualbox mint-dropbox

echo -e "\033[32mRécupération d'Emesene via les dépôts SVN :\033[00m"
echo ""
svn co https://emesene.svn.sourceforge.net/svnroot/emesene/trunk/emesene /opt/emesene

echo -e "\033[32m... et installation dans le menu :\033[00m"
echo ""
cd /usr/share/applications/
echo "[Desktop Entry]" > emesene.desktop
echo "Version=1.0" >> emesene.desktop
echo "Name=Emesene" >> emesene.desktop
echo "Comment=Microsoft Live Client" >> emesene.desktop
echo "GenericName=IM Client" >> emesene.desktop
echo "Exec=/opt/emesene/emesene" >> emesene.desktop
echo "Terminal=false" >> emesene.desktop
echo "X-MultipleArgs=false" >> emesene.desktop
echo "Type=Application" >> emesene.desktop
echo "Icon=/opt/emesene/misc/emesene.png" >> emesene.desktop
echo "Categories=Application;Network;" >> emesene.desktop

echo -e "\033[32mMerci d'utiliser Linux :)\033[00m"

exit 0;
# finished :)
20
Jan
2010

10 astuces pour créer un environnement de travail motivant à la maison

Un article très intéressant sur les 10 astuces pour se créer un environnement de travail motivant à la maison. L'article est très bien réalisé, avec des images qui évitent la nécessité de lire les explications dans chaque parties.

Je vais vous lister les différents points ainsi que l'image associée. Pour le reste, je vous invite à vous rendre sur l'article d'origine, qui est complet et très agréable à lire.


Continue reading ...