Créez un système de migration des rapports de bug de GitHub à votre GitLab – Partie 2/2

2. Découverte de l’API GitLab

La documentation de l’API GitLab est bien évidemment disponible sur le Web (https://docs.gitlab.com/ee/api/README.html#gitlab-api). Montrons ici quelques cas d’utilisation, en utilisant l’instance GitLab hébergée par Framasoft (https://framagit.org/).

Lire la suite

Créez un système de migration des rapports de bug de GitHub à votre GitLab – Partie 1/2

Apprenez à manier les API de GitHub et GitLab afin d’effectuer des opérations courantes sur vos dépôts.

Il est de nos jours très courant pour des services web de fournir à leurs utilisateurs une API REST permettant d’effectuer diverses opérations depuis la ligne de commandes (notamment avec curl), ou d’écrire des applications utilisables en dehors du navigateur. Python étant un langage très populaire, de nombreuses API bénéficient d’une bibliothèque Python permettant de les manipuler. Voyons deux d’entre elles, qui permettent d’interagir avec des services d’hébergement de dépôts Git au travers de leurs API.

Lire la suite

Scapy, le couteau suisse Python pour le réseau – partie 2/2

2. Scan de ports

Il est assez facile, et très utile, d’écrire un programme effectuant un balayage de ports à l’aide de scapy : cela nous permet de trouver quels ports sont ouverts sur une machine distante. Il ne suffit pas d’envoyer n’importe quel paquet pour obtenir une réponse satisfaisante. Intéressons-nous à deux exemples détaillés.

Lire la suite

Scapy, le couteau suisse Python pour le réseau – Partie 1/2

Découvrez comment utiliser Scapy afin d’écrire vos propres outils réseau en Python.

Tout développeur réseau a déjà rêvé d’avoir à sa disposition une bibliothèque de manipulation de paquets, qui pourrait également être utilisée de façon interactive. C’est exactement ce que propose Scapy, que nous allons présenter dans cet article. Nous verrons tout d’abord son fonctionnement général, puis construirons des outils plus évolués. Il est impossible de détailler toutes les possibilités offertes par Scapy, mais à la fin de cet article, le lecteur devrait avoir toutes les bases nécessaires pour implémenter une application qui répondra à ses besoins.

Lire la suite

Constructions « with » en langage… bash ! – Partie 2/2

Mais en réalité, en deuxième paramètre, on n’est pas restreint aux seuls identifiants de signaux : la commande help trap (voir encadré) nous indique quelques possibilités supplémentaires. En particulier, on peut spécifier EXIT pour détecter la sortie du script, et donc exécuter un code adéquat juste avant de sortir.

Lire la suite

Constructions « with » en langage… bash ! – Partie 1/2

Dis-moi petit syntax checker, qu’as-tu à me dire sur mon code source ? Comment ça, tu me rends la main tout de suite ? Tu n’as rien trouvé ?? Pas le moindre petit warning ??? Allez, ne sois pas timide, je t’ai mis l’option ultra-verbose je te signale !! T’es pas censé être timide !! Écoute, tu vois bien que je travaille seul là-dessus… si tu ne me dis rien, qui d’autre va me faire la conversation ?? Bon. Tu l’auras voulu. Voyons si tu resteras de marbre quand j’aurai ajouté cette structure exotique à mon code source… Lire la suite

« Paie Ton Patch !™ » : Weboob – Partie 1/2

Combien de fois vous êtes-vous dit « Pourquoi c’est pas corrigé ça ? » ou « faudrait patcher ce truc » sans oser le faire ? Voici une occasion !

Web Outside of Browsers [1] est un ensemble d’outils modulaires en ligne de commandes écrits en Python, ainsi que quelques applications graphiques Qt. Son but est de pouvoir utiliser des sites web comme l’on utilise d’autres ressources sous Unix, à l’aide d’outils simples composables et scriptables. Parmi les outils de scraping existants, il s’agit probablement du plus complet, et décrire ses possibilités nécessiterait plusieurs articles. Ses compétences vont de la récupération de vidéos de sites web (et non-web en Flash) à l’émission de virements bancaires, en passant par l’édition de tickets dans un bugtracker, ou la recherche d’emploi. C’est cette dernière fonction que nous testerons, en contribuant au support du site LinuxJobs.fr [2].

Lire la suite