SVN – et d’autres – à travers un Proxy SOCKS

Un grand nombre de programmes supportent l’utilisation de plein de types de proxys lors de leur utilisation, comme Firefox qui permet d’utiliser des proxys HTTP(S), FTP(S), SOCKS, … Seulement, certains programmes comme Subversion (svn) ne permettent pas de passer par un proxy SOCKS, même en configurant la variable locale http_proxy sous Linux. Par conséquent, il nous faut trouver une solution pour faire passer tous les paquets d’une application dans notre proxy SOCKS, que vous pouvez créer grâce à un tunnel HTTP/SSH par exemple.

ProxyChains

Pour ça, il y a une application très bien faite et facile d’utilisation: ProxyChains. Elle permet de lancer une autre application et de capturer tous les paquets de celle-ci pour les faire passer par un proxy SOCKS. L’application est disponible dans les dépôts de chez Debian, ou RHEL. Sous Debian, vous pouvez l’installer comme ceci:

Continue reading SVN – et d’autres – à travers un Proxy SOCKS

facebooktwittergoogle_plusredditpinterestlinkedinmail

SVN: Créer des liens entre les dépôts avec svn:externals

Il est possible que dans certains projets, vous ayez besoin d’une librairie, d’une autre projet ou d’un dossier précis d’un autre projet, que vous l’ayez développer ou pas. Seulement, vous ce dont vous avez besoin est voué à être mis à jour régulièrement et que vous voulez profiter de manière automatique de ces mises à jour, il y a une solution avec SVN: svn:externals.

Comme nous le montre le “livre de SVN”, svn:externals est une propriété associée à un dossier parent, qui permet de déclarer un dossier fils comme un contenu externe. Ainsi, vous pouvez configurer la propriété sur votre dossier /project1/trunk/includes/ pour que le dossier fils lib1 contienne /project-lib1/trunk par exemple.

Ainsi, à chaque mise à jour (svn update) de votre project1, votre client SVN ira voir à l’adresse associée pour le dossier trunk/includes/lib1 pour vérifier qu’aucune nouvelle révision n’éxiste.

Note: Vous pouvez très bien lors de la création de la propriété svn:externals spécifier une révision précise du dépôt externe, mais je ne voit pas vraiment l’intérêt dans le sens où, dans ce cas là, un svn copy ou un simple copier/coller suffit.
Continue reading SVN: Créer des liens entre les dépôts avec svn:externals

facebooktwittergoogle_plusredditpinterestlinkedinmail

La source de PHP dans un projet avec Eclipse CDT

Si vous souhaitez écrire de nouvelles fonctionnalités, créer des patchs, corriger quelques bugs ou tout simplement aider la communauté PHP sur le code source, il vous faut l’avoir dans un éditeur de code. Eclipse est mon favori, il permet de gérer presque tous les types de codes, bref, il est génial ! Seulement, j’ai un peu de mal à mettre en place le code source (du tronc ou d’une branche, peu importe) en tant que projet C dans Eclipse CDT.

Continue reading La source de PHP dans un projet avec Eclipse CDT

facebooktwittergoogle_plusredditpinterestlinkedinmail

Tortoise SVN pour Ubuntu : Nautilus SVN

Sous Windows, la gestion d’un dépôt SVN est très simple grace à l’interface graphique Tortoise SVN qui permet de faire comme si le dépôt était un dossier. On modifie un fichier dans celui-ci et ce fichier change d’étiquette. Son étiquette est maintenant “plus à jour”, dans ce genre là. Avec Ubuntu, ça n’a jamais été aussi simple (avant, un “svn checkout” puis un “svn commit”, etc…) qu’avec la nouvelle version de Nautilus SVNbêta (la 0.12), qui est une extension à Nautilus, l’explorateur de fichier par défaut. Continue reading Tortoise SVN pour Ubuntu : Nautilus SVN

facebooktwittergoogle_plusredditpinterestlinkedinmail

Apache: Interdire le dossier “.svn”

Lors du développement ou de la pré-prod (en production, c’est n’est pas très malin), il se peut que vous utilisiez la commande “svn co” pour extraire les fichiers de votre dépôt SVN et les mettre sur le serveur web, puis utiliser “svn update” pour mettre à jour très simplement. Lors de cette manipulation, dans tous les dossiers et sous-dossiers extraits du dépôt, des dossiers “.svn” sont créés, contenant des informations à propos du dépôt et des fichiers présents dans ces dossiers. Ces informations sont confidentielles et ne doivent pas être volées. Malgré la protection d’accès à la version de développement – s’il y a – il se peut qu’un étranger y ai accès. Nous allons donc voir comment interdire l’accès à ces dossiers par deux méthodes

Interdire les dossiers via <Directory>

Nous allons donc interdire toute personne à entrer dans les dossiers “.svn” et ses sous-dossiers. Dans un fichier HTACCESS, dans un VirtualHost ou bien dans la configuration globale d’Apache, vous pouvez utiliser la directive <Directory> pour ajouter des paramètres à certains dossiers : Continue reading Apache: Interdire le dossier “.svn”

facebooktwittergoogle_plusredditpinterestlinkedinmail

Utiliser une clé d’identification spécifique avec svn

Utiliser les clés d’identification publique/privée peut être très utile pour ne pas à avoir à spécifier le mot de passe de tel ou tel compte à chaque fois que l’on souhaite se connecter. Seulement, comme pour le système SVN d’OVH, les clés sont utilisées pour exécuter une commande, ici, “/usr/bin/svnserve”, ce qui permet en quelques sortes de transformer le tunnel SSH en une connexion SVN.

Le problème, c’est lorsque l’on a plusieurs clés sur un serveur/ordinateur et que l’on veux utiliser une clé spécifique pour la connexion SVN+SSH. Pour cela, il faut tout simplement modifier une variable système via”export” :

Continue reading Utiliser une clé d’identification spécifique avec svn

facebooktwittergoogle_plusredditpinterestlinkedinmail