Contact

Paternité | Pas d'Utilisation Commerciale | Partage des Conditions Initiales à l'Identique

M’as tromper !

dimanche 13 juin 2010 - Knah Tsaeb
Commentaires fermés sur M’as tromper !

Comme beaucoup de développer web, j’utilise un gestionnaire de version, outil indispensable lorsque l’on commence à bossé sur des projets de moyenne et grande taille. J’ai fait le choix on ne peut plus classique de Subversion alias SVN.

J’ai longtemps travaillé sans, en direct sur le server de prod, parfaitement « à l’arrache ». Mais on s’aperçoit vite que cela à des limites lorsque que l’on veut modifier profondément un projet.

Je me suis alors monter un server SVN afin de pourvoir créer des branches, revenir sur une modification fait à la va vite, avoir un historique des changement (le but principale d’un server de version).

Un server SVN demande également une certaine rigueur, j’ai chercher un peu sur le net quelles étaient les bonnes pratiques. Et là je doit avoué que j’ai pas trouvé grand chose de concret. Alors bien sur on trouve des choses assez évidentes comme SVN n’est un server de back-up, ne pas commiter du code non fonctionnel (erreur de syntaxe), ne pas versionner des fichiers binaires….

Mais peut parle de convention de commit, au début je faisait des commit du genre :

ajout de la fonction truc muche du module post
suppression du bug qui empêchait de faire quelque chose super important dans le plugin postit
modification de la variable de la fonction machin dans le fichier index.php

Après j’ai fait comme suis

1) Module actualité

  • Ajout d’une fonction de trie de tableau
  • Ajout de commentaire

2) Plugin postit

  • Modification du label

Finalement je procède comme suit

* Core

  • [add] function arraySort() issue #559
  • [mod] function login()
  • [del] param $default in fonction makeMenu()

* Module actualité

  • [fix] function getRead() bug #253
  • [miss] complete coment for function markRead()

Alors ma façon de faire n’est pas la meilleur mais elle me convient et c’est bien là le principale. Mais voilà lorsque l’on regarde un peu en arrière on se rend compte que le fait d’avoir 36 convention de commit devient vie déplaisant à lire. Mais c’est trop tard le server SVN à tous enregistrer et se souvient de tous tout comme votre gestionnaire de projet.

Alors que faire ? Rassurez vous Subversion à plus d’un tour dans son sac.

Sur votre server créer un fichier contenant votre texte de commit pour l’exemple nous l’appellerons « nouveau_commit.txt ».
Puis lancer la commande :

svnadmin setlog –bypass-hooks /__chemin__/__du_depot__/__nom__du__depot -r __numero_de__la__revision nouveau_commit.txt

Si vous utilisé Redmine, ce dernier réimportera vos nouveaux commit, ainsi vous aurez un historique de  vos révisions avec le même formatage.


Ubuntu et la librairie GD

jeudi 19 février 2009 - Knah Tsaeb
Commentaires fermés sur Ubuntu et la librairie GD

Récemment j’ai eu besoin de générer des graphiques avec PHP, tous naturellement, je me suis tourné vers l’excellente librairie Artishow . Les pré-requis sont simple PHP4 ou 5 et la librairie GD en version => 2. Tous cela étant déjà présent sur le serveur, je me lance donc à la création d’un graphique, et là Artishow se met à m’insulter comme un malpropre à coup de « Artichow error Missing imageantialias() function ». Après une petite recherche sur un moteur de recherche très connu, je voit que imageantialias fait partit de GD. Je lance un petit phpinfo() pour être sur de bien avoir la l’extension GD activé avec PHP. Phpinfo me dit qu’elle est bien installé et qu’il n’y a pas de problème.

Hummmm il doit en avoir un deux (Artichow ou PHP) qui me raconte des conneries. Je poursuis mes investigation quand je voit sur la page de PHP.net « Cette fonction n’est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD ». Ah ! Donc persone ne me racontait de bétise. Et oui ma version de GD est une version précompiler : le paquet php5-gd. Tous s’explique maintenant, il faut que je compile PHP. Oui mais j’ai pas trop envie.

Bon direction Ubuntu-fr.org pour voir si d’autre on déjà été confronter au problème, et je trouve la solution sur le wiki. Qui me dit de télécharger le fichier gd.so à partir de ce site ( un peu zarbe ce site ).

Bien passons à la pratique :

Connecter vous à votre server

Donner vous les tous les pouvoir

sudo -s

Installer le packet php5-gd

aptitude install php5-gd

On ce déplace dans le répertoire des lib de PHP

cd /usr/lib/php5/20060613+lfs/

On fait un backup de notre extention gd

mv gd.so gd.so.back

On télécharge l’extension déja compilé

wget http://www.cartefoi.net/archives/gd.so

On relance Apache

/etc/init.d/apache2 force-reload

On vérifie que l’extension est bien prise en charge par PHP grace à phpinfo().

Si jamais vous ne voyez aucune trace de l’extendion GD, editer votre php.ini.

nano /etc/php5/php.ini

Et rajouter

extension=gd.so

A vous les zolie graphique antialisé d’Artichow.


Url Rewrite

vendredi 18 avril 2008 - Knah Tsaeb
Commentaires fermés sur Url Rewrite

Vous avez du mal avec la réécriture d’url, rassurez vous grâce à http://www.mod-rewrite-wizard.com (1)vous pourrez créer facilement vos fichier .htacces.

Ils en ont parlés :

(1) Edit du lundi 25 mai 2009 : le site web est HS, je recherche une alternative.


Catégorie : Programation, Server
Tags :

PHP allow_url_fopen

mercredi 16 avril 2008 - Knah Tsaeb
Commentaires fermés sur PHP allow_url_fopen

Aujourd’hui la plus part des servers PHP sont réglés avec register_globals OFF. Tous le monde sait que c’est dangereux, d’ailleurs dans PHP 6 cette valeur sera sur OFF et non modifiable et c’est tant mieux. Mais on oublie trop souvent la variable "allow_url_fopen" qui permet d’exécuter des scripts distant, la célèbre faille include.

Pour ce protéger rien de plus simple dans votre php.ini changer "allow_url_fopen On" par "allow_url_fopen Off".

Vous voilà protégé ……. Oui le messieurs au fond de la salle, vous avez un script qui utilise cette fonction. Et bien dans ce cas n’autorisez qu’un fichier ou un répertoire à utiliser la fonction allow_url_fopen. Mais faites bien attention que votre script soit bien sécurisé. Pour activé cette fonction sur un fichier ou un répertoire on vas utiliser Apache.

Ouvrez votre fichier /etc/apache2/sites-available/mon_site_.conf et ajouter pour un répertoire :

<Directory "/var/www/mon_site/mon_repertoire_ou_j_ai_besoin/">
php_admin_flag allow_url_fopen on
</Directory>

Où pour un fichier

<Files "/var/www/mon_site/mon_repertoire_ou_j_ai_besoin/mon_fichier_qui_a_besoin">
php_admin_flag allow_url_fopen on
</Files>

N’oubliez pas de recharger la nouvelle configuration d’Apache avec un

/etc/init.d/apache2 force-reload