nyroBlog
Ban NyroBlog, by emi
Image by emi - ?

Tag: Programmation


nyrodev.com has a nice refresh

I was a long time since this one was on the boxes, it finally cames out: the new version of my website is online!

Aymeric aka Miho designed it; I think it's very clear and let a good place for the content with a great readability.

I developed it using my own framework which optimizes every to the server by compressing every HTML pages. It also merges and compresses CSS and JavaScript after removing all the comments and useless whitespaces. With that my website gains a A-grade with YSlow - only one F for not using CDN and one B for contents without cookies.

I also enjoyed make it accessible without reloading the page using AJAX and jQuery. I used jQuery address which works perferctly. And nyroModal is also in the party to show the references. Of course all pages are accessible without JavaScript for a better ranking.

In the same time I left phpMyVisites to use Google Analytics, using the manual tracker for Ajax pages.

Finally, I want to thnaks the following personns:

  • Miho for the design
  • My mother for the French corrections
  • Chonchon for the English corrections
  • Florian for the new logo

To celebrate this, I created a facebook group and I'm twitting again more often. Don't hesitate to join the group or follow me!

If you have any remarks, suggestions or anything else to say about the new wbesite, the comments are here for you!

nyrodev.com se refait une beauté

Elle traînait dans le cartons depuis plus d'un an, elle arrive enfin : la nouvelle version de mon site est enfin en ligne !

C'est Aymeric aka Miho qui a réalisé le graphisme que je trouve très clair et laissant bien la place pour le contenu avec une bonne lisibilité.

Je l'ai développé en utilisant mon propre framework qui optimise toutes les requêtes vers le serveur en compressant les pages HTML, mais aussi les CSS et les JavaScript. Ces derniers sont aussi fusionnés en une seule URL pour limiter au maximum le nombre de requêtes vers le serveur. Grâce à ça, le site obtient le grade A avec YSlow - un seul F pour ne pas utiliser un CDN, et un B pour les contenus sans cookies.

Je me suis aussi amusé à rendre tout le site accessible sans recharger de page en utilisant AJAX et jQuery. J'ai utilisé le plugin jQuery address qui fonctionne à la perfection. Enfin, nyroModal est aussi de la partie pour afficher les références. Bien sûr, l'ensemble du site reste accessible sans javaScript pour permettre un meilleur indexage.

J'en ai aussi profité pour quitter phpMyVisites pour intégrer Google Analytics, utilisant la tracker manuel lors des changements de pages avec Ajax.

Enfin, je tiens à remercier les personnes suivantes :

  • Miho pour le graphisme
  • Ma mère pour les corrections de français
  • Chonchon pour les corrections d'anglais
  • Florian pour le nouveau logo

Pour l'occasion, j'ai créé un groupe facebook et je me mets à twitter plus régulièrement. N'hésitez pas à rejoindre le groupe ou me suivre !

Si vous avez des remarques, suggestions ou n'importe quoi à dire sur le nouveau site, les commentaires sont là pour vous !

Apache et PHP (Serveur Web sur Debian Lenny)

UPDATE : voir la version à jour pour Debian Squeeze.

 

Et c'est là qu'on découvre les joies de Debian :

apt-get install apache2 apache2-dev libapache2-mod-gnutls php5 php5-mysql php5-dev php-pear php5-gd php5-mcrypt

Nous installes tout le nécessaire pour apache avec PHP5.

Un peu ce paramétrage s'impose quand même : dans le fichier /etc/apache2/mods-available/userdir.conf, remplacer public_html par www.
En effet, sur notre serveur, chaque site aura un utilisateur associé avec un dossier www où les fichiers web seront déposés.

Activons quelques modules Apache :

a2enmod userdir
a2enmod rewrite
a2enmod gnutls
a2enmod expires


J'ai décider d'utiliser gnutls plutôt que ssl car il permet de définir un certificat SSL par domaine. Malheureusement, ça marche qu'à partir de IE7 sur Windows Vista. Pour les autres navigateurs, pas de problèmes sur les autres systèmes d'exploitation.

D'ailleurs Apache doit écouter sur le port 443 (https) pour que gnutls puisse entrer en jeu. On modifie le fichier /etc/apache2/ports.conf pour y ajouter :

NameVirtualHost *:443
Listen 443

(Attention, pas dans la section puisque nous n'utilisons pas ce module)

Puis paramétrons le temps de cache des certifications, dans le fichier /etc/apache2/mods-available/gnutls.conf on ajoute :

GnuTLSCacheTimeout 300


La configuration debian d'apache donne beaucoup d'informations sur le serveur. On enlève tout ça dans le fichier /etc/apache2/conf.d/security :

ServerTokens Prod
ServerSignature Off
TraceEnable Off


De la même façon, la configuration de base pour les optimisations concernant le cache utilisateur des fichiers n'est pas optimales. Pour l'améliorer, on ajoute le fichier /etc/apache2/conf.d/optimisations :

ExpiresActive On
ExpiresDefault "access plus 31 days"
FileETag none


Toujours dans l'idée de mettre un maximum de fichier dans /home, déplaçons le dossier /var/www :

mv /var/www/ /home/var/
ln -s /home/var/www/ /var/www


Enfin, Apache arrive avec un fichier html de base affichant simplement "It works". Plutôt que cela, je préfère définir un fichier php qui
redirige sur mon nom de domaine principale :

echo " /home/var/www/index.php
echo "header('location: http://domain.tld');" >> /home/var/www/index.php
rm /home/var/www/index.html


On a finit de jouer avec Apache, on recharge la configuration pour appliquer les changements :

/etc/init.d/apache2 force-reload


Passons à la suite, le serveur FTP.

Retour au sommaire.

Chips, Twix, and Mix

And probably many more and more...

Chips, Twix et Mix

Et sans doute encore bien d'autres...