Programmation
RSSCollection des articles à propos des articles sur le développement logiciel, infrastructure et tout ce qui est un peu nerdy.
-
Markdown est clairement le langage préféré des développeurs. En migrant sur Emacs, j’ai été surpris de constater que la documentation de nombreux plugins est écrite en “org”. J’ai lu rapidement à propos et été surpris par ce que l’on peut accomplir avec cette technologie. Figure 1: Le logo d’org-mode Pourquoi org-mode? Il se peut que vous vous demandiez, pourquoi créer un autre langage tel que markdown qui est devenu la référence.
-
Migrer de Vim à Spacemacs
Cela va faire 5 ans que je suis dans l’industrie et j’ai joué avec pas mal d'éditeurs de code. Je dois vous l’avouer, c’est devenu un meme autour de moi vu que j’adore expérimenter tous les éditeurs qui existent. VS Code, Vim, Emacs, IntelliJ, PyCharm, etc… C’est chronophage. Comme le titre vous a sûrement mis la puce à l’oreille, cet article sera à propos de ma transition de Vim vers Spacemacs. -
Qu'est ce qu'une NAT Gateway?
Créer des plateformes et des nouvelles architectures dans le Cloud peut-être intimidant. Surtout la première fois qu’on se lance dans le domaine de l’infrastructure. Certains composants apparaissent comme des boites noires ayant une place mystérieuse mais nécessaire dans l’infrastructure. Aujourd’hui je veux vous parler des NAT Gateways. Qu’est ce qu’une NAT? Comment cela fonctionne, etc… NAT, Kezako ? Commençons tranquillement. N.A.T. Que cela veut-il dire? Si l’on écoute papy Wikipedia: -
Pourquoi les noeuds kubernetes changent de nom quand on active le support AWS
J’ai pas encore eu le temps de traduire l’article, donc je vous laisse avec la version anglaise: At work, I got a terrible issue with adding the AWS support to the OpenShift cluster. I really got confused as well as I was explicitly setting the nodename for this server. But whatever value I was putting in the config, it was never working, it always registered the node as the specific instance name that amazon would have given. -
Introduction à Terraform
Avec l’adoption massive du Cloud, différents outils sont nés pour simplifier la vie des dev et des sys. admins. Ces outils ont créé une nouvelle façon de gérer de l’infrastructure, vous avez surement entendu parler de l’Infrastructure As Code aka IaC. Pour être franc, le “Cloud” est une jolie métaphore pour parler de VMs que vous allez faire tourner sur les serveurs d’une autre entreprise. Le gros plus sont les logiciels qui ont été développé pour et autour ce qui a rendu la création d’infrastructure beaucoup plus accessible. -
La django debug toolbar n’apparaît pas avec docker-compose
Salut tout le monde, après quelques minutes de frustration, la toolbar est finalement apparue. Le problème est survenu à chaque fois que j’utilisais docker-compose pour mon environnement de développement et ça commençait à me saouler sérieusement de ne pas mettre la main sur la source du problème. Et c’était plutôt simple à résoudre… Le problème Si vous avez commencé à dockerizer votre application django, je suis sûr que vous avez forcément rencontré quelques problèmes que vous avez facilement résolu avec plusieurs requêtes Google. -
Iptables et Docker
Hey! Je jouais un peu avec mon serveur en production cet après-midi et j’ai remarqué que chaque container docker ouvrait un port sur les internets. Plutôt effrayant. Voici comment fixer ça. Le fix Première fois que je vous renvoie vers un autre article mais tout le contenu est là: https://fralef.me/docker-and-iptables.html Le fix rapide Si jamais vous êtes anglophobe, la solution est simple: Fixer votre container à utiliser 127.0.0.1 plutôt que 0. -
[Archlinux] Comment fixer "gcc: removing gcc-libs breaks dependency 'gcc-libs=7.1.1-2'"
Salut tout le monde, je viens d’avoir un petit problème en essayant de mettre à jour mon archlinux ce matin; Fixons ça en 2 minutes! Premièrement ce problème apparaitra seuelement si vous avez activé le support multilib d’archlinux (https://wiki.archlinux.org/index.php/multilib). Pour fixer ce problème vous devez installer tous les paquets gcc en multilib ou aucun, mais pas les deux. Premièrement, trouvons quels paquets foutent le bordel. Utilisez : 1 sudo pacman -Qs gcc Vous devriez avoir un output comme ça : -
Comment dockerizer une application ?
Comme vous avez pu le voir dans mon article précédent, docker est l’outil parfait pour assurer que votre application fonctionne sur toutes les plateformes. Maintenant le problème que l’on pourrait se poser est, comment faire pour dockerizer une application. Je vais vous donner mon retour après avoir perdu quelques cheveux sur cette techno. N’hésitez pas à contribuer à ce guide, je vous en serais plus que reconnaissant ! Définir les besoins de l’application Avant de commencer quoi que ce soit, vous devez vous demander de quoi votre application à besoin. -
Introduction à Docker
Wow, on attaque du lourd là. Docker. Docker, qu’est ce que c’est ? Cet outil va vous permettre de déployer des applications sans vous préoccuper de sur quelle machine, OS où vous voulez installer votre application, elle marchera quoi qu’il en soit. Pour être bref, Docker va vous aider à encapsuler vos logiciels au sein d’ultra légères VMs (qui ne n’en sont pas, mais on verra un peu plus tard dans l’article) qu’on appelle “containers”. -
Intégration continue d'un projet ionic avec Jenkins
Salut tout le monde, aujourd’hui on va voir comment pousser automatiquement chaque nouvelle mise à jour de notre application ionic sur le Google Play. Configuration sur le serveur Nous allons premièrement installer les dépendances sur le serveur sur lequel vous avez jenkins. Installation de ionic sudo npm install -g ionic@beta Ici j’utilise la version beta de ionic, vous pouvez très bien l’enlever si vous utilisez la v1. Installation de cordova sudo npm install -g cordova Installation du JDK Tout va dépendre de votre distribution, perso, je suis sous Archlinux, du coup j’ai tout installer avec pacman. -
Créez aisément une API rest grâce au django rest framework !
Salut ! Vous êtes sur le point de créer une nouvelle API. Vous hésitez encore sur quel framework choisir ? Si cette API est un ajout à votre projet django, le django rest framework sera parfait pour créer en quelques lignes une API REST, documentée, accessible et performante. Qu’est qu’une API REST ? Le REST va permettre de nous orienter pûrement vers une API décrivant les ressources utilisées dans notre application Django. -
Chiffrez votre site en HTTPS avec let's encrypt !
Salut tout le monde ! Aujourd’hui on va regarder comment passer notre serveur en https assez facilement avec let’s encrypt. On va générer nos certificats et configurer notre petit nginx afin d'être comme les grands en HTTPS Pourquoi HTTPS ? Déjà la première question que l’on pourrait se poser est pourquoi HTTPS ? C’est vrai ça, pourquoi ? Cela change t’il quelque chose à notre navigation ? Morf. Complexe question. -
Mitraillez votre web application avec Gatling !
Bonjour tout le monde, ça fait un bail ! Aujourd’hui on va regarder le framework de tests de performances Gatling que j’ai pu utiliser durant mon stage de fin de Master et vous montrer à quel point il est facile à prendre en main ! Introduction Pourquoi Gatling ? DSL pour l'écriture de scénarios Haute performance Rapport HTML généré après votre simulation Communauté ultra réactive Intégration avec Graphite en une ligne Et pour les gens pressés, il y a même un outil pour créer un scénario gatling à partir de votre utilisation de votre webapp depuis un navigateur Détection des cas d’utilisations Afin d’optimiser vos tests de performances, vous aurez besoin de détecter les cas d’utilisations de votre webapp, on appelera cela des “Personas”. -
Pourquoi ai-je migré tous mes projets sur Gitlab ?
Depuis la montée fulgurante de git au sein des projets informatiques, il est devenu un des outils indispensables. Suivant ce phénomène, l’apparition de services permettant d’héberger votre code ont vu le jour tel que GitHub et Bitbucket pour les plus connus. Le premier joue sur l’aspect communautaire et le second mise sur sa privatisation des projets (pour les versions gratuites). Cependant les entreprises ont plutôt eu tendance d’heberger eux-mêmes leur code avec GitLab ou GitBlit. -
Intégration continue d'un projet django avec jenkins
Yo ! Aujourd’hui on va voir comment faire de l’intégration continue pour un projet django. L’avantage de cette pratique, c’est que vous n’aurez plus jamais peur de mettre en production et ça je peux vous dire que c’est un vrai plaisir. Imaginez un monde dans lequel la feature toute fraichement codée apparaît sur votre app django déployée sur un serveur distant en quelques minutes. Incroyable hein? Voyons comment mettre ça en place. -
DRUMS - Mes tendres regrets
Salut tout le monde, aujourd’hui je vais vous parler d’un projet qui m’a tenu à coeur ces six dernières semaines, DRUMS. Afin que vous ayez un brève idée en quoi consiste ce projet, le tag contient une description de ce super projet. Maintenant que vous en savez un peu plus sur DRUMS. Je vais vous y ajouter le contexte. Faisant parti de l'équipe maître d’oeuvre du projet, un titre m’a été attribué. -
Les hooks git
Bonjour tout le monde, aujourd’hui je vais vous présenter les Git Hooks (ou crochets). Dans ce tuto, vous devez bien sûr avoir quelques connaissances sur ce qu’est Git (cela va sans dire). Si c’est la première fois que vous rencontrez ce mot, déjà, j’aimerai savoir où vous avez vécu (réponse acceptée : Mars), deuxièmement je vous invite à lire cette petite bible: Git Book Après les semaines de lecture que je viens de vous procurer, passons aux choses sérieuses. -
Comment créer une (superbe) page 404 pour Django
Salut tout le monde, aujourd’hui on traitera le sujet des 404 avec Django. Je trouve la documentation très légère et je dois avouer que j’ai un peu fouillé dans les entrailles du web pour trouver un semblant de résultat intéressant. Regardons ce que j’ai pu trouvé au cours de mes recherches. Afin de créer une page 404 plusieurs options s’offrent à vous : Utiliser la 404 par défaut de Django (beuuuuuuurk) Utiliser un template statique Utiliser un template dynamique. -
Comment créer un routeur de langue avec Go ?
Si vous vous êtes posé comme moi la question “Comment pourrais-je servir mes fichiers statiques correctement pour plusieurs langues ?", alors cet article est exactement fait pour vous ! N’ayant trouvé aucun équivalent répondant à mes attentes, je me suis donc attelé à la tâche de le créer. Voyons comment j’ai procédé. Quelle arborescence de fichiers choisir ? Ce fut la première question que je me suis posée. Une multitude de solution s’offre à nous pour répondre à ce problème.