Développement logiciel sous Linux

Essayez quelque chose de différent

Chaque mois nous apporte de nouveaux produits et outils pour le développement de logiciels. Notez que je n'ai pas dis nouvelles technologies, je reviendrai là-dessus plus tard. Il est possible de rester au fait de tous ces nouveaux outils et produits. En fait, plusieurs personnes le font. Dans notre industrie, il est très important de toujours continuer d'apprendre.

Mais, que ce passe-t-il lorsque l'on ne connaît pas le passé? On croit que tout ce qui arrive aujourd'hui est complètement nouveau. On ne réalise pas que les même technologies existaient déjà, probablement présentées différemment, mais elles existaient quand même. Nous avons donc des personnes qui pensent que "NoSQL" , que l'infonuagique, que le développement agile et même que le développement pour les appareils mobiles sont tous des nouvelles technologies.

Voulez-vous être capable de faire la différence entre ce qui est réellement nouveau et ce qui existait déjà? Voulez-vous être capable de discerner la petite nouveautéde l'ensemble déjà existant? Si c'est le cas, vous devrez essayer quelque chose de différent la prochaine fois que vous voudrez apprendre quelque chose de nouveau. Au lieu de choisir un nouveau produit, un nouvel outil ou un nouveau langage de programmation, recherchez quelque chose de plus vieux. Faites une petite recherche sur le sujet qui vous intéresse et essayez de trouver quel produit, outil ou langage de programmation a été le premier à introduire ce concept. C'est ça que vous devrez apprendre.


Régler les problèmes de SSL avec stunnel

Il y a toujours plusieurs façons de régler un problème. En fait, il y a toujours plusieurs façons d'essayer de régler un problème. J'ai récemment rencontré un problème avec le support SSL de Subversion. Pour je ne sais quelle raison, l'établissement de la connection SSL avec le serveur était toujours annulé. Je commençais à me demander si je pourrais interagir avec ce dépôt Subversion à partir de Linux.

Heureusement, l'accès avec Firefox était fonctionnel; ce n'est donc pas un problème réseau. Après plusieurs heures de recherche sur Internet, la majorité des rapports d'erreur similaire étaient pour Debian/Ubuntu avec comme solution d'utiliser une version différente de libneon. Cependant, mon installation de Fedora 16 utilisait déjà la dernière version de cette librairie. La seule autre raison que j'ai trouvé pour ce problème était une mauvaise configuration du serveur. Mais n'ayant pas le contrôle du serveur, je ne pouvais rien faire de ce côté. Puis, je me suis souvenu d'un autre commentaire qui disait d'utiliser HTTP au lieu d'HTTPS lorsque cela était possible.

Dans mon cas, HTTPS est requis pour accéder au serveur. Mais je me suis demandé si je ne pouvais pas trouver un autre outil pour prendre en charge la partie SSL. Mes recherches pour une solution de proxie HTTP vers HTTPS me donnèrent seulement les proxies habituels, mais la configuration requise pour faire ce que je voulais n'etait pas expliqué. Puis, j'ai trouvé l'outil stunnel. C'est une simple application pour créer des tunnels SSL génériques. J'ai donc simplement démarré cette application sur le port 8888 pour qu'elle redirige toute les communications vers l'adresse IP du serveur Subversion sur le port 443 (le standard pour HTTPS) et configuré mon client Subversion pour utiliser 127.0.0.1:8888 comme proxie HTTP. Ceci m'a pris seulement 2 minutes et j'avais maintenant accès à mon dépôt Subversion sans problème!

Que peut-on retenir de ceci? Il y a toujours une solution si vous pouvez penser à des façons différentes d'approcher le problème.


La clef du succès pour un projet (personnel) au code source libre

Les personnes qui ont récemment cherché un nouvel emploi savent déjà ceci : montrer vos réalisations est une excellente façon d'augmenter vos chances d'être engager. C'est en fait la même chose que font déjà les consultants et les travailleurs contractuels pour obtenir de nouveaux contrats. Plus ils peuvent démontrer leur expérience, plus ils ont de chances d'obtenir les contrats. Maintenant, plusieurs personnes réalisent que cela est vrai pour les employés permanents aussi. Le problème est que la plupart du temps, les employés permanents ne peuvent pas partager le code source qu'ils ont écrit pour leur employeur. C'est ici que les projets à code source libre entrent en ligne de compte.

Si vous avez travaillé sur un projet à code source libre, vous pouvez facilement le montrer. Ceci est valable autant pour les contributions à des projets existants et pour votre propre projet personnel à code source libre. Même si certaines personnes préfèrent contribuer à des projets existants, un (ou plusieurs) projets personnels peuvent être autant ou même plus gratifiant. Par contre, vous devez conserver votre intérêt pour votre projet personnel si vous voulez le menez à terme. Quelle est la meilleur façon de rester motivé par votre projet?

Vous devez travailler sur quelque chose qui vous intéresse vraiment. Ceci est le l'aspect le plus important. N'essayez pas de trouver quelque chose d'unique, que vous pourrez éventuellement commercialiser ou de particulièrement brillant. Si vous avez à choisir entre un projet qui vous intéresse vraiment mais qui a 0% de chance de vous rapporter de l'argent et un projet moins intéressant qui a 10% de chance de vous en rapporter, vous avez beaucoup plus de chance de rester motivé par le premier projet. Si vous laissez tomber le projet par manque d'intérêt, à quoi ça sert qu'il aurait pu vous faire gagner de l'argent? De toute façon, vous le ne saurez jamais!

Donc, même si vous pensez que votre projet de rêve a été fait des centaines de fois par d'autres, même si vous pensez que c'est une idée ridicule sans utilité ou même si vous pensez que plusieurs projets similaires existent déjà, il s'agit probablement du meilleur projet pour vous garder motiver. Si le projet est capable de vous garder motiver, je vous garanti que vous allez en retirer quelque chose. Et n'est-ce pas tout ce qui compte?


Sauvegarder vos contributions

On nous a tous déjà dit (ou bien apprit à la dure) que faire des sauvegardes, c'est important. Par contre, vous êtes-vous déjà dit que vous devriez faire des sauvegardes des projets auxquels vous contribuez? Probablement que non. Du moins, je sais que moi je n'ai jamais pensé à ça.

Il y avait ce projet à source libre, soutenu par une nouvelle compagnie en démarrage. Le code source était disponible sur le site web de la compagnie sous license GPL. C'était il y a environ 2 ans. À l'époque, j'ai contribué un peu au projet car je trouvais cela intéressant et c'était aussi une bonne opportunitée d'apprentissage. Ne me demandez pas pourquoi, mais je n'ai pas conservé de copie du projet sur mon ordinateur.

Le temps passe et j'oublie l'existance de ce projet. La semaine dernière, je me suis mis à le chercher. Tout ce que j'ai trouvé sur Google fût de vielles annonces. Le site web de la compagnie n'existe plus. Le code source n'est donc plus disponible. Cela signifie que je ne peux pas le montrer à persone, mais le pire est que je ne peux plus jouer avec non plus!

Maintenant, j'ai appris ma leçon. Je vais dorénavent conserver un copie de tout les projets à source libre auxquels je vais contribuer. Avec la disponibilité de GitHub et d'autre services similaires, je ne vois pas de raison de ne pas le faire.


Les billets précédents.