PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Loutre.ch : Archlinux: s'en sortir avec des dépendances de Python dans tous les sens

mardi 30 août 2016 à 07:42
capture dépendances python

Il y a plusieurs moyens d'installer des dépendances python avec Archlinux et il peut ainsi y avoir des problèmes de conflits, de versions, de base de données pas à jour, etc. Voici des pistes pour s'en sortir !

Ce post explique ma démarche au nettoyage de dépendances python sur Archlinux. Elle ne convient pas forcément à tout le monde, alors gare !

Dans ma quête d'installation de pulseaudio-dlna (permettant d'utiliser une Chromecast comme renderer audio, j'ai eu des petits problèmes de compilation. Ayant fait quelques recherches, j'ai découvert qu'il s'agissait sûrement de dépendances introuvables installées par Pip.

Je me suis dit mais tiens, pourquoi ai-je des paquets installés avec Pip ? J'ai rien demandé. Ça vient sûrement du fait que je connais pas du tout le monde de Python et que j'ai du copier-coller des commandes un peu au hasard.

Tout ça pour dire que généralement, il vaut mieux passer par le Package manager du système au lieu d'utiliser une application tierce, bien qu'elle soit utile. Sur Archlinux, grâce au dépôt AUR, il y a la grande majorité des paquets python, Pip n'est pratiquement pas requis pour mon utilisation.

J'ai donc décidé de supprimer tous les paquets qui ont été installés par Pip. La commande pip freeze va nous aider à faire ça (source). Avec un peu de bashing, on obtient la commande permettant de les déinstaller d'un coup:

$ pip freeze | sed 's/\\=/\\:/g' | cut -d: -f1 | xargs sudo pip uninstall -y 

Attention, cela désinstalle uniquement les paquets python3, il faut donc également faire:

$ pip2.7 freeze | sed 's/\\=/\\:/g' | cut -d: -f1 | xargs sudo pip2.7 uninstall -y 

Bon. faire cela a cassé certains de mes programmes, parce que certaines librairies étaient évidemment requises:

ImportError: The 'packaging.requirements' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.

Ce qui est "marrant", c'est qu'ils sont jugés comme installés par le système de paquets Archlinux. En utilisant pacman -Qd on peut voir ce qui est installé:

$ pacman -Qd | grep python

Il s'agit donc de tout réinstaller ? On va pas s'embêter:

yaourt -Qqd | grep python | xargs yaourt -S --noconfirm

Tu remarqueras que j'ai remplacé pacman par yaourt, ce qui permet d'avoir également les paquets dans AUR.

Suite à ça, j'ai pu installer pulseaudio-dlna sans aucun problème.

Gravatar de Loutre.ch
Original post of Loutre.ch.Votez pour ce billet sur Planet Libre.

arpinux : DFLinux n'est pas une distribution ! Mais elle est en ligne ;)

mardi 30 août 2016 à 02:32
bonjour à tout-e-s

La rentrée est là, déjà, et dans deux semaines, l'arrivée de la nouvelle version Debian-'Jessie'-8.6.
C'est normalement l'occasion de mettre à jour les images ISOs HandyLinux car la distribution suit les cycles de Debian.

Comme vous l'avez certainement lu , la distribution HandyLinux et la communauté Debian-Facile ont fusionné au début de l'été, afin de travailler ensemble et rendre Debian plus facile à appréhender pour les (grands) débutants.

De cette fusion est né le projet DFLinux pour DebianFacileLinux

DFLinux n'est pas une distribution :


DFLinux
est un projet délivrant des images ISOs basées sur Debian et agrémentées d'outils facilitants pour les débutants. Il prend la suite du projet live-debian-facile de la communauté Debian-Facile et d'HandyLinux qui depuis 2013, accompagne les débutants dans leurs premiers pas avec Debian.
DFLinux-nonfree est la branche *clone* d'HandyLinux tandis que DFLinux-Light se rapproche du projet Debian-Facile original.

DFLinux n'est pas une distribution : la distribution, c'est DEBIAN !

Lorsque j'ai initié cette fusion des communautés, j'avais à l'esprit le tout début, le commencement de notre aventure et le but fixé au départ : permettre à des utilisateurs de passer sur Debian facilement.
Et on a fait un fork, une Debian Derivative officielle et tout et tout... et on a "oublié" Debian. Certains de nos utilisateurs ne savent même pas qu'ils tournent déjà sur Debian.

Alors pour rendre à César, aidons les utilisateurs à bien passer sur Debian, et pas sur une énième dérivée .

C'est le but du projet DFLinux : fournir des images ISOs Debian facilitantes avec le moins d'impact possible sur le système Debian par défaut.

Mais alors, HandyLinux va disparaître ??

Non ! HandyLinux ne disparaît pas et reste en ligne, maintenue, et ses utilisateurs bénéficient désormais du support de plus d'humain-e-s au sein de la communauté Debian-Facile.

Y aura-t-il une HandyLinux-2.6 ??

Non, la version actuelle est stable et efficace, elle n'a pas besoin de maintenance particulière (l'avantage de la base Debian stable) et peut tout à fait être installée sur une machine.
Lors du passage à Debian-9 'Stretch', un script de mise à jour vous sera proposé automatiquement par le gestionnaire de mise à jour handylinux : jusque là, contentez-vous de faire régulièrement les mises à jour de vos applications et bien sûr, une tite sauvegarde de temps en temps, ça mange pas d'pain

ET si je veux passer sur le projet DFLinux ??

Ça tombe bien, les premières images ISOs sont disponibles au téléchargement
Notez que pour l'instant, ce sont des versions de développement (alpha2 à la sortie de cet article) et ne doivent pas être utilisées en système de production (oulajaipeur). Il me reste du travail, surtout pour la version "light" qui sera basée sur le bureau LXDE ou FLuxbox (le choix n'est pas encore arrêté), mais les versions "main" et "non-free" sont assez proches de ce que seront les versions Debian distribuées par le projet DFLinux



Et si on parlait g33k un peu ??

Le projet DFLinux utilise un dépôt spécifique (comme le faisait HandyLinux) afin de distribuer et maintenir à jour les outils facilitants intégrés. Ce dépôt est hébergé sur le site des cahiers du débutant , un autre outil du projet DFLinux pour aider les grands débutants à passer sur Debian
les outils intégrés sont distribués sous licence GPLv3 et toutes les sources sont disponibles dans le dépôt GIT dédié (merci Framasoft) ou depuis la commande classique :
apt-get sources nom_du_paquet
Les sources du projet DFLinux qui permettent de construire les 7 images ISOs sont aussi disponibles sur GIT .
Pour les plus curieux et les adeptes du DoItYourself (fais-le-toi-même), j'ai édité la documentation live-build (l'outil de construction des liveCD) et la doc howto-build-dflinux spécifique au projet DFLinux.

Debian-Facile + HandyLinux : quel plan pour un débutant ?


Parce que les discours et les idées, c'est bien, mais il fait quoi le gars qui imagine l'idée de la perspective du commencement de l'envie de passer sur Debian ??

Concrètement, voici les solutions offertes à un débutant sur Debian depuis la fusion de nos communautés :
Oui ... les ISOs ne sont que des outils, comme la doc et le forum, des outils pour vous aider à utiliser Debian, le système d'exploitation universel !
Pour tous les détails du projet DFLinux, visitez la page dédiée sur le portail Debian-Facile : vous y trouverez les spécificités de chaque version, les bases et les sources du projet ainsi que les liens de téléchargement ! La page dédiée du projet DFLinux .

Bon tests et bonne rentrée à tout-e-s !
HandyLinux - la distribution Debian sans se prendre la tête...

Gravatar de arpinux
Original post of arpinux.Votez pour ce billet sur Planet Libre.

Carl Chenet : Dans le Libre : gratter ses propres démangeaisons

mardi 30 août 2016 à 00:00

Je commence avec cet article une série de billets intitulée « Dans le Libre » afin de mettre en avant certaines bonnes habitudes à avoir lorsqu’on évolue dans le milieu du Logiciel Libre, toutes issues de mon expérience personnelle 🙂N’hésitez pas à compléter dans les commentaires.

Lorsqu’on est développeur du Libre, que l’on est attaché à cette communauté et donc que l’on souhaite évoluer et participer à ce mouvement, il est important de gratter ses propres démangaisons. Qu’entend-on par là ? À partir d’un exemple concret nous allons présenter les différentes étapes qu’un Libriste va suivre dans le processus visant à gratter ses propres démangeaisons.

Identifier le besoin

Disons que pendant vos heures de travail, vous devez opérer la même tâche plusieurs fois par jour. Une fois cette contrainte identifiée, comment allez-vous réagir ? Un développeur du Libre, aimant consacrer son temps à troller sur le Journal du hacker ou LinuxFR cherchera naturellement au bout d’un moment à automatiser la tâche en question.

La tâche est moins triviale qu’il n’y paraît. En effet certaines tâches sont difficilement automatisables, par leur complexité et vont requérir de subdiviser la tâche elle-même en de nombreuses sous-tâches afin de réussir l’automatisation. L’identification du besoin se double d’une définition des étapes nécessaires à la réalisation de l’automatisation de la tâche en question.

Lorsque j’ai fondé le Journal du hacker, je répondais à un besoin simple : il n’existait pas à l’époque de site d’information de partage de liens orienté Logiciel Libre, communautaire et francophone, à la Hacker News pour les anglophones. En présentant ce besoin à mon entourage, j’avais à chaque fois confirmation de la situation et du besoin qui en découlait. L’idée paraissait donc prometteuse.

Le Journal du hacker, un projet issu d'un besoin clairement identifié

Le Journal du hacker, un projet communautaire issu d’un besoin clairement identifié

La recherche de la solution et réutiliser l’existant

Une fois le besoin identifié, le Libriste doit d’abord chercher une solution existante. Coder billet en tête un nouveau programme est 99% du temps une erreur. En effet coder un nouveau  programme implique :

Pour en revenir à notre exemple, on peut commencer par chercher un logiciel qui permet d’effectuer la tâche en question et lancer le logiciel de façon automatisée aux heures auxquelles cette tâche doit être exécutée. Il est donc nécessaire d’effectuer une recherche sur les solutions déjà disponibles parmi les logiciels libres pour effectuer la tâche en question.

Une bonne recherche sur Github vous fera gagner beaucoup de temps

Une bonne recherche sur Github vous fera gagner beaucoup de temps

Typiquement les tests des différentes solutions seront effectués lors de cette étape pour :

  1. vérifier que les solutions trouvées marchent (la seule existence d’un dépôt Github parlant de votre problème ne garantit pas que le programme proposé fonctionne ou fonctionne dans votre cas précis)
  2. choisir la plus adaptée à votre besoin. Confronter à l’utilisation d’un programme commercial, à un service en ligne ou à un petit script à héberger vous-même, il vous reviendra d’évaluer de manière intelligente la solution qui se maintiendra la mieux dans le temps selon vos contraintes

Un excellent exemple de ce réflexe que doit avoir le Libriste est le projet Feed2tweet, petit projet qui récupère un flux RSS pour l’envoyer vers Twitter. Feed2tweet a divergé depuis rss2twitter , à l’abandon depuis 2 ans. Mais rss2twitter était codé en Python, un langage que je maîtrise, sous licence MIT,  fonctionnait bon gré mal gré et avait une base de code lisible. Il suffisait donc dans un premier temps de le faire évoluer et de le documenter. Une grande partie du travail nécessaire pour créer un logiciel ex nihilo a ainsi été économisé.

Feed2tweet, un projet peu coûteux au démarrage en temps de travail grâce aux facilités offertes par le Logiciel Libre

Feed2tweet, un projet peu coûteux au démarrage en temps de travail grâce aux facilités offertes par le Logiciel Libre

Un nouveau projet est né

Mais parfois vous défrichez une terre inconnue. Vous êtes le premier à ressentir un nouveau besoin. Ou alors personne n’a pris le temps d’automatiser la tâche qui vous oblige à intervenir manuellement. Qu’à cela ne tienne, vous êtes un programmeur ou vous souhaitez le devenir et vous allez vous y coller. C’est l’exemple parfait de gratter ses propres démangeaisons.

Vous vous lancez donc dans l’aventure. C’est la grande excitation d’écrire un bout de code sans précédent.

Quelques conseils pour les débuts de votre nouveau projet :

J’insiste sur ce dernier point. Considérez votre programme comme non-abouti et non-présentable tant que votre documentation n’est pas écrite et qu’un plan minimal de communication n’est pas prévu. À ce stade, la fiabilité du programme et ses fonctionnalités sont moins importantes que son image publique. C’est de toute façon la première version, personne ne s’attend à un programme stable. Par contre les gens attendent une présentation claire des buts de votre projet.

Lorsque j’ai écrit Retweet, un outil pour retweeter automatiquement selon de nombreux critères, j’ai eu conscience que l’intérêt du programme pouvait être mal compris. J’ai donc soigné dès le début la documentation du projet ainsi que la communication. Aujourd’hui avec une cinquantaine d’étoiles sur Github, 8 versions et 3 contributeurs, Retweet est un projet qui vit sa vie car il comble un besoin correctement décrit et que son utilisation est efficacement documentée avec une communication régulière via les sites communautaires, mais aussi via Twitter et Diaspora*.

Savoir communiquer autour de son projet est aujourd'hui crucial

Savoir communiquer autour de son projet est aujourd’hui crucial

Gratter ses propres démangeaisons mène à manger ce que l’on prépare

Vous avez donc créé un nouveau projet qui comble pour l’instant votre besoin. Mais très rapidement combler ce premier besoin a mener à en découvrir d’autres. Vous avez besoin de nouvelles fonctionnalités, de flexibilité dans l’utilisation de votre programme afin de gérer davantage de cas d’utilisation et vous permettre de continuer à diminuer le temps consacré à la tâche d’origine.

Vous découvrez donc de nouveaux besoins en utilisant votre propre programme. C’est ce qu’on appelle en anglais « Eat Your Own Dog Food » (manger sa propre nourriture pour chien). Et le détail de ce processus bien plus complexe qu’il y paraît au premier abord et les conséquences qu’il a sur votre projet seront abordés dans le prochain article de cet série 😉

Et de votre côté ? Avez-vous comblé vos propres besoins par la création d’un projet du Logiciel Libre ? N’hésitez pas à en parler dans les commentaires !

Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Ilphrin : Superpowers passe en 2.0, revenons dessus

mardi 30 août 2016 à 00:00

Je vous avais déjà parlé de Superpowers dans l’article précédent. Ce logiciel sert pour “la création de jeux 2D+3D pour tous”, et il est gratuit en entièrement Open Source!

Une nouvelle version est sortie il y a quelques jours, l’occasion pour moi de revenir parler un peu de ce logiciel, les deux/trois trucs que j’ai découvert dessus, et mon premier jeu de découverte de l’outil. Mais d’abord les nouveautés apportées par cete version:

Le développement de Superpowers avance constamment et ça fait plaisir à voir. Il y a encore peu de contributeurs au code principal, mais il y a une bonne communauté qui se forme que ce soit sur itch.io ou sur le chat Discord, et de plus en plus de gens se mettent à créer des jeux avec cet IDE.

J’aimerais parler d’une fonctionalité qui m’intéresse particulièrement, qui est l’ajout de Shaders. Pour une petite définition de ce qu’est un Shader je vous invite à lire l’article sur wikipedia.

superpowers_03

Lorsque l’on édite un Shader, on arrive sur une page découpé en 4 zones. En haut à gauche la définition des uniforms et des attributes, en haut à droite on a une prévsualisation du Shader sur la surface que l’on veut (Un plan, une image, une sphere, ou un cube), en bas a gauche l’éditeur de Shader Vertex, et en bas à droite l’éditeur de Shader Fragments.

J’ai commencé à apprendre à faire des Shader en découvrant cet outil (je ne savais même pas ce qu’était un Shader avant!), et depuis j’utilise Superpowers pour apprendre à utiliser et créer des Shader car il permet de rapidement voir le résultat sur des element de notre jeu et de les incorporer dans une scène.

Il existe déjà des outils très puissant en ligne pour les shaders (comme ShaderToy, bien que le site fasse ramer à mort mon ordinateur…), mais l’avoir directement dans son logiciel de développement de jeu rajoute un plus intéressant. Il ne manque plus qu’une auto-complétion pour divers elements: variables OpengL, Attributes/Uniforms/Varying, fonctions GLSL, etc… Dans l’editeur de code Vertex ou Fragment.

Pas de rapport ave les Shaders, mais je me suis lancé dans la création d’un petit jeu sans ambition pour apprendre à manipuler Superpowers. Vous pouvez le voir dans la partie “Projet” de mon site, il s’appelle Dodgell.

Dans ce jeu, vous jouez un petit bonhomme qui avance tout seul dans l’espace (on voit les planètes et les étoiles qui défilent en arrière-plan c’est pour ça =D), et vous devez esquiver le plus longtemps possible les ennemis qui arrivent du haut de l’écran. A chaque ennemis qui sort de l’écran par le bas, vous gagnez 5 points. Le meilleur score sur le même ordinateur est enregistré.

Faire ce petit jeu m’a permis d’apprendre les bases des bases avec Superpowers, c’est-à-dire l’utilisation des scènes, des behaviors, des tilemap, tilesets, etc… Et surtout de manipuler l’API TypeScript. Je ne compte pas le continuer bien longtemps, je pense rajouter des choses comme un menu, peut-être des niveaux différents, des ennemis différents (plus gros, plus rapides, avec des mouvements non-linéaires!). J’aimerais surtout me lancer dans un Shoot’em up, ça fait un moment que ça me trotte dans la tête (d’ailleurs on peut voir Dodgell comme un croquis de Shoot’em up, mais où on tire pas).

Surtout depuis que je me suis mis à des jeux comme Touhou Project, ou même d’autres jeux qui n’ont aucun rapport dans le principe mais qui m’ont donné beaucoup d’idées pour faire un jeu sympa, comme Fate Grand Order ou Path of Exile. Le premier ayant des fonctionalités telle que les événements ou les combats qu’on pourrait qualifier de collaboratifs (un boss avec X milliars de PV, chaque joueurs qui le combat peut faire tomber un certain nombre de millions de PV, si toute la communauté bat le boss dans le temps imparti ils gagnent des trucs). Dans le deuxième ce sont surtout les effets des mob qui sont intéressants, et qu’on peut appliquer dans un Shoot’em up (des ennemis qui vous tirent dessus, et qui en plus ont un lien de plasma qui les relient et qui sont mortels si vous passez au travers).

Enfin voilà tout ça pour dire que je vais bien m’amuser dans les temps qui viennent avec Superpowers, même si j’ai d’autres projets à faire en même temps (je me lance dans un lecteur de flux RSS entièrement en Rust :D) et que ma troisième année à Epitech va commencer, je vais essayer de prendre du temps pour avancer Dodgell, et faire d’autres jeux avec Superpowers, notamment avec d’autres gens pour ENFIN voir ce que valent ces fameuses fonctionalités collaboratives promises avec Superpowers. Ca intéresse quelqu’un dans le public de faire des jeux tous ensemble? ;)

Gravatar de Ilphrin
Original post of Ilphrin.Votez pour ce billet sur Planet Libre.

Tuxicoman : DummyDroid, créez un Google Framework Service ID sans appareil Android

lundi 29 août 2016 à 07:30

Pour utiliser GooglePlayDownloader, il faut un compte Google et un Google Framework Service ID (aussi appelé GSF). Celui -ci est consiste en un ID donné par Google en fonction de votre compte et des caractéristiques de votre appareil. Attention à ne pas le confondre avec l’Android ID ou Device ID.

Vous pouvez le récupérer sur un appareil Android qui a le PlayStore installé avec l’application GetID disponible sur Fdroid. Si vous savez comment le retrouver avec une commande adb je suis preneur.

C’est un peu embêtant. En effet, dans notre cas où l’on ne veut pas des Google apps espions sur notre téléphone, il faut faire un backup avec TWRP et réinstaller une ROM vierge avec les Google Apps pour obtenir ce sésame.

Heureusement, DummyDroid est un logiciel libre en Java qui permet de créer ce GSF ID sans matériel !

Tout d’abord il faut récupérer le fichier de profil de votre appareil Android. C’est le fichier /system/build.prop.

On peut facilement le copier sur son PC avec adb, par exemple :
$ adb shell cat /system/build.prop > nexus5x.prop

Je vous mets une copie en ligne du nexus5x.prop.

Ensuite on lance DummyDroid:
$ java -jar DummyDroid-1.1.jar

On sélectionne en entrée notre fichier de profil, suivant, suivant, suivant et voila ! Vous avez un Google Framework Service ID approprié à votre matériel sans devoir installer les Google Apps.

Merci à Patrick Ahlbrecht pour se logiciel. Il développe aussi Raccoon, qui est un projet similaire à mon GooglePlayDownloader

Related Posts:

J'aime !(0)Je n'aime pas !(0)

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.