URL: https://linuxfr.org/users/steckdenis/journaux/deux-petites-chose-pour-vous-occuper-jusqu%C3%A0-demain Title: Deux petites chose pour vous occuper jusqu'à demain Authors: steckdenis Date: 2009年11月12日T21:28:41+01:00 Tags: Score: 18 Bonjour, Cela fait quelques temps que je n'ai plus fait de journaux, et cette fois-ci, ce ne sera pas un journal élogieux sur un projet sujet à troll que j'aime particulièrement. Aujourd'hui, je vais vous proposer le fruit de plusieurs mois de travail, le tout présenté correctement, je l'espère, et Libre, bien entendu. **Le gestionnaire de paquetages Setup** Comme annoncé dans [ce journal](https://linuxfr.org/~steckdenis/28793.html), je travaille depuis quelques temps sur un gestionnaire de paquets. Le but, au lieu de récupérer l'existant, est de se baser sur du propre. Le gestionnaire de paquet est quasiment utilisable (il installe des paquets), mais est encore loin d'être fini. Il propose néanmoins déjà quelques fonctionnalités normales ou intéressantes que voici : * Gestion des dépôts multiples de logiciels, de plusieurs types (distants et locaux pour le moment, mais bientôt sur CD/DVD, etc). Le FTP est géré * Résolution des dépendances avec le système par branches décrit dans mon journal (lien plus haut), et qui marche * Installation des paquets * Signature des métadonnées du dépôt avec une clef GPG, somme de contrôle SHA1 pour tous les fichiers téléchargés * Toute petite infrastructure de messages entre les paquets et l'utilisateur. Au menu pour ce week-end : gestion complète de tout ça sous forme de questions stockées dans un fichier XML, à la manière de debconf * Affichage de plein d'informations, localisées dans la langue de l'utilisateur (pour le moment juste le français et un tout petit peu d'anglais) Ça, tous les gestionnaires de paquets le font plus ou moins. La différence, c'est que Setup fait ça en moins de 4000 lignes, bibliothèque de gestion des paquetages et front-end console compris. Le tout est relativement léger, bien que pas encore optimisé. Ainsi, on a une base propre et simple sur laquelle construire l'avenir des gestionnaires de paquets. La méthodologie est la même que celle utilisée par KDE : tout refaire, mais suffisamment bien pour que les modifications soient plus faciles à faire, et ainsi pouvoir amener des choses intéressantes. Setup est codé en C++ et utilise Qt. Pourquoi ce bloat ? Parce que Qt (dont le module GUI n'est pas utilisé) factorise suffisamment le code pour permettre de créer un Setup léger de 4000 lignes, et comporte des modules très intéressantes : * QtCore pour la base et plein d'autres choses. Une table de hash avec Qt, c'est du bonheur. Parser un fichier de configuration, c'est super simple. Gérer des options, un jeu d'enfant, etc * QtNetwork, qui permet, en ne dépendant ni de GNOME ni de KDE, de permettre à l'utilisateur d'utiliser des dépôts HTTP, FTP, NFS, et tout ce que QtNetwork peut gérer (il est prévu pour une future version de Qt de baser QtNetwork sur GVFS ou KIO, suivant le DE utilisé en dessous. Que du bon) * QtScript, qui permet de scripter Setup. Pour le moment, seul la "pesée" des branches peut être contrôlé. Ainsi, on peut en modifiant un script choisir si on préfère télécharger le moins, installer uniquement des paquets stables, etc. Sachant que c'est du script ECMAScript, la syntaxe est suffisemment riche pour permettre un équivalent du APT Pinning, etc * QtXml, pour lire les métadonnées (descriptions, mais aussi icône, changelog, etc) Le résultat est disponible en téléchargement, et tester Setup est expliqué en détail sur [le site flambant neuf de Logram](http://www.logram-project.org/wiki-test-setup.html). Normalement, ça marche, j'ai testé. S'il y a des erreurs, signalez-les moi. Si vous sortez des sentiers battus, il se pourrait que quelque-chose ne marche pas (la mise à jour de la BDD après installation est encore quelque peu fragile, la suppression n'est pas gérée). Et comme pas mal d'entre vous m'avez posé pas mal de questions sur le fonctionnement de Setup, j'ai pensé à vous, et rédigé [**une documentation complète**](http://www.logram-project.org/wiki-setup-technical.fr.html) sur le fonctionnement interne de Setup et de sa base de donnée. C'est, je crois, le seul qui existe en français. **Travail collaboratif d'un projet dans un environnement de rêve** Pour ceux qui suivent un peu l'histoire de Logram, l'environnement de bureau et distribution que je développe, vous avez pu remarquer que le site a changé. En effet, cela fait depuis 3 ou 4 mois que je code cette nouvelle version, en parallèle à Setup. Logram dispose maintenant d'un site aux fonctionnalités de pointe, intégrées au sein d'un même environnement : * Un forum plus que convenable avec modération, sondages, gestion du lu/non-lu, abonnement aux sujets, permissions, etc * Un wiki correct et suffisant, avec historique des pages, droits, protection, privatisation (ok, les moules n'aiment pas ce mot), etc. Il ne vaut pas MediaWiki (utilisé par Wikipédia), mais c'est correct pour l'utilisation qu'on en fait * Un webSVN basique mais permettant de directement montrer aux gens du code. Ainsi, ça encourage les membres à participer, du fait qu'ils voient les modifications de code en direct * Un système de demandes permettant de gérer les bugs, les demandes de code, les idées, et tout ce qu'on veut, avec gestion des sous-demandes, demandes liées, importance, assignation, fichiers liés, et des dizaines d'autres détails qui rendent la vie agréable * Un espace de téléchargement basique permettant de vite télécharger un truc * La gestion des paquets de Setup est intégrée au site. C'est comme packages.debian.org, mais en mieux intégré au reste, et avec un design plus "frais" * Un système de messagerie privée à plusieurs participants * Un système d'envoi de fichiers avec gestion des dossiers et des quotas * Un système de gestion des nouvelles, publiques ou privées (équivalent Linuxfr : dépêches ou journaux), avec validation, modération, gestion du workflow (ici on peut éditer un journal en ligne, on peut aussi le dé-publier, et gérer ça comme un blog) Pourquoi je me permet de faire de la pub pour mon site !? Et bien, c'est simple : **il est disponible pour tout le monde sous GNU GPL**, avec quelques fichiers dans le domaine public (templates), et quelques fichiers en CC-By-Sa (images, design, icônes Oxygen réutilisées). De plus, ce site est intéressant du fait qu'il ne suit pas les conventions. En effet, il est développé en **Python** et utilise le framework [Django](http://www.djangoproject.com/). Du côté serveur, ce n'est pas Apache mais Nginx qui tourne, largement plus rapide (on peut servir 20 pages par secondes sur la page d'accueil, alors que Apache en WSGI ne dépasse pas 6 pages par secondes, sur le même serveur hardware). Le code est librement téléchargeable, et [consultable dans notre WebSVN](http://www.logram-project.org/websvn-1.html?p=/trunk/www). Des rapports de bugs ont déjà été remplis, la méthode pour tester est détaillée (besoin de Django, MySQL, et quelques dépendances), et normalement ça marche. Django découpe suffisamment en modules pour permettre de remplacer la gestion des paquets de Logram par n'importe quelle autre gestion. Le but de cette ouverture est de permettre aux autres distributions, ou aux autres projets, de bénéficier d'une forge de qualité intégrant de bons outils (par exemple, un forum correct, introuvable sur les autres forges). L'administration est encore un peu compliquée, mais le projet est jeune. C'est vraiment un truc que j'ai développé pour les autres avant de le faire pour moi, le fait que Logram l'utilise est un simple "bonus". Si un projet Libre, de préférence francophone (parce qu'on n'a pas encore totalement fini le support multi-lingue), genre Wormux, a besoin d'un site web, j'espère que cette version conviendra. Si vous avez des demandes, je suis à l'écoute. Par contre, je ne pourrai pas aider pour le support, je n'ai malheureusement pas le temps. Il faudra un peu se débrouiller (mais normalement, le code est pris en main en une journée) Bonne découverte.

AltStyle によって変換されたページ (->オリジナル) /