Sauter la navigation.
Accueil
Groupe d'Utilisateurs de GNU/Linux et de Logiciels Libres Francilien

News aggregator

Verrou virtuel

Planet Parinux - lun, 22/09/2014 - 09:17
Niveau :       Résumé : vlock; vlock -ns Vous avez vu apparaître dans l'article sur tmux, un petit outil pour verrouiller le terminal, il s'appelle vlock. Son unique fonctionnalité est le locker un terminal et de demander un mot de passe pour être débloqué. Mine de rien ça lui fait quand même deux cas d'usage : bloquer l'accès […]

Screen killer

Planet Parinux - lun, 22/09/2014 - 09:17
Niveau :       Résumé : tmux Aujourd'hui tout le monde connaît et utilise screen. Miracle de la technologie, il permet de survivre aux déconnexions, de lancer des commandes longues sans avoir peur, de faire passer tous ses shells dans une seule connexion et on le trouve souvent associé à l'indémodable irssi. Comme vous le savez peut-être screen […]

De la soumission à l'Agenda du Libre

Planet Parinux - lun, 22/09/2014 - 09:17
Dans le cadre de la soumission d’événements se déroulant le premier samedi du mois, je me suis posé la question de générer automatiquement la liste des premiers samedis de tous les mois d’une année. La commande date de FreeBSD propose une option -v permettant rapidement d’obtenir d’autres dates, par addition. Ce n’est pas le cas de la commande GNU date. Néanmoins, on peu, en un ligne de shell trouver les premiers samedis d’une année : for i in january february march april may june july august september october november december ; do for j in 0 1 2 3 4 5 6 ; do if [ "`date --date "1 $i 2012 + $j days" "+%A"`" = samedi ] ; then date --date "1 $i 2012 + $j days" "+%c" ; fi; done ; done Dans le cadre de la soumission à l’Agenda du Libre, j’ai donc utilisé la commande suivante : for i in february march april may june july august september october november december ; do for j in 0 1 2 3 4 5 6 ; do if [ "`date --date "1 $i 2012 + $j days" "+%A"`" = samedi ] ; then ./adl-submit.py --file premier-samedi.xml --start-date `date --date "1 $i 2012 + $j days" --iso` ; fi; done ; done P.S. adl-submit.py se trouve sur la page de soumission d’événements. On y trouve également la description du format du fichier premier-samedi.xml

Network grep

Planet Parinux - lun, 22/09/2014 - 09:17
Niveau :       Résumé : ngrep I'm back ! Ça faisait longtemps ! Vous m'avez manqué. J'ai quelques petits articles pour vous. Oui c'est vraiment la reprise, même si c'est pas encore du triple A. Aujourd'hui ngrep. Ngrep est un pote de tcpdump, il sait utiliser les mêmes filtres que tcpdump et stocker les paquets dans un format pcap […]

FOSDEM 2012

Planet Parinux - lun, 22/09/2014 - 09:17
FOSDEM will be a great time to gather what are ongoing developement in FLOSS world.

De l'auto-hébergement (du mail)

Planet Parinux - lun, 22/09/2014 - 09:17
Je procrastinais sur l’écriture de ce cours depuis des mois, c’est maintenant chose faite. Vous pouvez donc télécharger un cours sur l’auto-hébergement du mail. Les sources sont versionnées sous git : Voir la source ou ici. Ce cours sera donné dans le cadre de la pollinisation du Loop et au moins lors de la prochaine Assemblée Générale de l’April. Pour suivre ce cours, un certain nombre de pré-requis sont indispensables : savoir utiliser un shell distant, et en particulier un éditeur de texte dans ce shell ; disposer d’une machine accessible sur Internet ; disposer d’un domaine complet (champ MX) ; un peu de temps et de courage.

Ubuntu Party Paris, c'est parti !

Planet Parinux - lun, 22/09/2014 - 09:17
Demain matin à 11h, nous ouvrirons les portes de l’Ubuntu Party pour une nouvelle édition. Le programme de cette édition est en ligne sur le site dédié. Cette année, je ne serais que responsable technique, en particulier pour les moyens matériels et pour les salles d’installation, en collaboration avec Coucouf et Libfy. Dimanche à 15h, je vous convie à un atelier de découverte d’OpenStreetMap, animé par Chrisitian d’OpenStreetMap France. N’hésitez pas non plus à faire un tour sur le stand de l’April. Bon week-end à tous.

Du pilotage d'une FreeboxV6 depuis le terminal

Planet Parinux - lun, 22/09/2014 - 09:17
Quelques soucis de connexions avec Free me poussent à devoir régulièrement redémarrer la Freebox. Celle-ci se trouvant au bout de l’appartement, je me connectais via l’interface web pour redémarrer l’engin. Il ne s’agit pas moins de taper un mot de passe, de regarder le statut et en fonction de celui-ci, de cliquer sur 3 liens différents. Il s’agit d’une tâche hautement automatisable. J’ai donc commis ce script.

De la migration de Gentoo

Planet Parinux - lun, 22/09/2014 - 09:17
L’installation de Gentoo ne pose aucun problème dans un vserver, à part avoir un peu de temps devant soi. La migration des services en elle-même se fait à grand coup de rsync et tout se passe pour le mieux dans le meilleur des mondes. Pour preuve ce blog est désormais servi par la nouvelle machine. Ce week-end, un peu le couteau sous la gorge (enfin, pas tout à fait non plus), je me suis enfin décidé à mettre en place de la colocation de serveur et à déplacer mon installation de Gentoo sur un vserver hébergé par Dedibox. L’installation de Gentoo ne pose aucun problème dans un vserver, à part avoir un peu de temps devant soi. La migration des services en elle-même se fait à grand coup de rsync et tout se passe pour le mieux dans le meilleur des mondes. Pour preuve ce blog est désormais servi par la nouvelle machine.

De l'hébergement de blogs

Planet Parinux - lun, 22/09/2014 - 09:17
Ça y’est, j’héberge, sur la même instance dotclear, plusieurs blogs. C’est en fait d’une simplicité déconcertante. J’ai juste du rajouter if ($_SERVER['HTTP_HOST'] == 'blog.thetys-retz.net') { define('DC_BLOG_ID','default'); }elseif ($_SERVER['HTTP_HOST'] == 'jumel.net') { define('DC_BLOG_ID','jumel'); }else { # Define your blog here define('DC_BLOG_ID','default'); } au fichier index.php de mon installation. On pourrait faire plus subtil, mais ça me convient. Ce nouveau blog est désormais disponible via http://jumel.net.

La sécurité, Bugzilla et Debian

Planet Parinux - lun, 22/09/2014 - 09:17
Pendant un certain temps, j'ai été l'un des développeurs d'un Logiciel Libre qui s'appelle Bugzilla. Ça reste l'une de mes contributions les plus importants (si ce n'est *la* plus importante) au monde du libre. Il y a quelques semaines, on m'a signalé sur le canal IRC de Parinux le ticket #638705 de Debian. Celui-ci a été crée par Moritz Muehlenhoff (membre de l'équipe sécurité de Debian) demandant qu'on retire le paquet de bugzilla des dépôts Debian. Il explique dans son ticket que le paquet de Bugzilla que distribue Debian souffre de plusieurs failles de sécurité et que le mainteneur n'a visiblement pas l'intention de publier une version qui les corrige. Alexander Reichle-Schmehl intervient alors dans le ticket pour dire le logiciel a été supprimé dans la base de données. J'ai informé les développeurs de Bugzilla de cette action (des fois, je me dis qu'il y a de gros problèmes de communication entre les distributions et les projets qu'ils distribuent). Globalement, tout le monde a semblé se réjouir de cette décision. Il y a maintenant plus de chance que les gens qui souhaitent installer Bugzilla sur Debian le fassent à partir des sources fournis par l'équipe Bugzilla plutôt qu'avec le paquet Debian. Ils auront donc un Bugzilla plus facile à installer (celui-ci de Debian ne marchait que dans certains conditions) et les personnes qui l'utiliseront ne partiront pas du principe que Debian gère pour eux mêmes la sécurité de leur installation. Le 10 octobre, l'équipe de sécurité a publié le bulletin d'alerte correspondant aux failles de sécurité en question. Malheureusement, on peut y lire la mention suivante "Pour la distribution oldstable (Lenny), il n'était pas pratique de rétroporter les correctifs pour corriger ces bogues. Nous recommandons très fortement aux utilisateurs de bugzilla sous Lenny de mettre à jour vers la version de la distribution Squeeze.". C'est dommage. Je vous avoue que, là, Debian baisse dans mon estime.

Du mail sur un système itinérant

Planet Parinux - lun, 22/09/2014 - 09:17
Ce billet va tâcher de décrire la configuration de la partie mail de mon laptop, vu comme une machine d’appoint itinérante. En voici le cahier des charges succints : Des connexions partout sécurisées De la connection directe quand on est connecté Du cache quand on n’est pas connecté Du choix si on désire se connecter Utiliser le plus possible les mécanismes standard (i.e. pas de VPN ni de tunnel ssh) Mon laptop est équipé des logiciels distribués par Debian GNU/Linux me permettant d’avoir une confiance assez relative dans les logiciels que je vais utiliser par la suite. Il s’agit bien sûr d’une machine d’appoint utilisée dans des conditions de mobilité et je souhaite que cette machine synchronise automatiquement une partie des mails lorsqu’elle est en ligne et me permette d’envoyer les mails lorsque je suis hors-ligne. Je passerais rapidement sur l’utilisation de Awesome, urxvt et GNU/Emacs comme outils principaux pour m’arrêter à la solution que j’ai retenu pour la gestion des mails. J’utilise mutt, en conjonction avec muttprofile pour changer de profile entre mes différentes sessions. Pour cela, il suffit de disposer des directives suivantes : zsh 1198 % ls -lh .mutt total 16K lrwxrwxrwx 1 endymion endymion 32 oct. 13 20:01 profile.active -> profile.endymion_network -rw-r--r-- 1 endymion endymion 1,8K juil. 24 22:13 profile.endymion -rw-r--r-- 1 endymion endymion 974 oct. 13 22:23 profile.endymion_network -rw-r--r-- 1 endymion endymion 1023 juin 27 19:47 profile.vincentxavier -rw-r--r-- 1 endymion endymion 995 oct. 13 22:23 profile.vincentxavier_network Un de ces fichiers contient par exemple : # NAME : imap://endymion@thetys-retz.net # DESC : This profile display imap mailboxes for endymion@thetys-retz.net account. source ~/.muttrc.commons set folder="imap://mail.thetys-retz.net" source ~/.muttrc.folders set imap_user="endymion" set imap_pass=`~/.local/bin/netrc.pl mail.thetys-retz.net endymion` # Mutt is able to deal with IMAP subscription, just enable it with # this variable set imap_check_subscribed="yes" set imap_list_subscribed="yes" # Mutt is able to send mail over various method, smtp being one of the # methods. These setting allows you to customize it. Beware that some # internet provider block port 25, so be sure to send on some other port. set smtp_url="smtps://username@mail.thetys-retz.net" set smtp_pass=`~/.local/bin/netrc.pl mail.thetys-retz.net endymion` Lorsque je ne suis pas connecté, j’utilise la version suivante : # NAME : endymion@thetys-retz.net # DESC : This profile display synchronised folders for endymion@thetys-retz.net account. source ~/.muttrc.commons set folder="~/.maildir/endymion@thetys-retz.net/" source ~/.muttrc.folders mailboxes =INBOX =Sent =Brouillons =Admin En ne précisant pas l’adresse du serveur smtp, Mutt va utiliser la version local de sendmail, qui chez moi est fournie par postfix. Et c’est là que l’utilisation de postfix va se révéler intéressante. Voici déjà une copie de ma configuration : # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_use_tls = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/postfix/mail.thetys-retz.net.pem # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = tauceticentral.thetys-retz.net alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases #myorigin = /etc/mailname myorigin = thetys-retz.net mydestination = relayhost = [mail.thetys-retz.net]:587 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only inet_protocols = all defer_transports = smtp Cette configuration permet de stocker tous les messages envoyés au serveur local, via sendmail et de les mettre dans une file d’attente s’il s’agit de les envoyer par smtp. Dès que je suis connecté, il suffit de lancer (manuellement ou autmatiquement) un postqueue -f pour vider la file d’attente. Le relais se fait exclusivement via mon propre serveur de mail via une connexion chiffrée et authentifiée. Pour cela, il ne faut pas oublier le mot de passe SASL : # destination credentials [mail.thetys-retz.net]:587 remotemail:password La configuration du système mail côté client a été jointe à ce billet. Du côté serveur, il faut créer un utilisateur remotemail, qui servira pour les envois via un relais authentifié. Pour cela, il faut rajouter remotemail@thetys-retz.net reject au fichier /etc/postfix/local_part. Dans la configuration de postfix, il ne faut pas oublier d’ouvrir les protocoles smtps et submission dans /etc/postfix/master.cf sans oublier de rajouter check_recipient_access hash:/etc/postfix/local_part dans smtpd_recipient_restrictions

De l'importance des AGs ou des réunions physiques type sprint

Planet Parinux - lun, 22/09/2014 - 09:17
Vendredi et samedi dernier se tenaient à La Cantine une journée de présentation sur OpenStreetMap suivie de l’assemblée générale constitutive de l’association française OpenStreetMap France (OSM-FR). Au delà de la constitution de l’association qui marque un tournant décisif dans la vie de la communauté française de cartographes, ce moment a été l’occasion d’échanger, de découvrir d’autres personnes animées par la même passion et d’échanger sur les sujets qui nous tenaient à cœur. C’est aussi le moment de refaire le plein de motivation pour un projet en particulier.Lire le communiqué portant sur la création

Ajouter un bloc avec une image aléatoire sous Drupal 6 avec CCK

Planet Parinux - lun, 22/09/2014 - 09:17
Je vais tâcher ici de décrire les étapes pour ajouter un bloc avec une image aléatoire sous Drupal 6 en n’utilisant que CCK. Pour cela, il faut, dans l’ordre ou le désordre : Créer une nouvelle vue de type nœud (node) Limiter le nombre d’éléments à 1 Rajouter le champ (Field) « Contenu: image » Mettre comme critère de tri (Sort Criteria) Random Rajouter les filtres : Node: Type = Image Node: Publié Taxonomie: Term contains 2011 si vous ne souhaitez que les images de 2011 Il faut ensuite rajouter un display de type « Bloc » pour qu’il apparaisse dans les liste des blocs disponibles. Vous pouvez trouver ce bloc contenant une image aléatoire sur le site de Parinux Je profite de ce post, pour rappeler qu’une explication texte aussi courte que celle-ci est plus efficace que les tutoriels vidéos qu’on peut trouver sur le net.

Du réseau à l'Ubuntu Party

Planet Parinux - lun, 22/09/2014 - 09:17
Ce billet décrit par les différentes étapes qui ont amenés à la mise en place d’une machine à la cité des sciences et de l’industrie pour faciliter les install parties régulières ayant lieu dans leurs locaux. Si vous êtes juste intéressés par les différents fichiers de configuration, vous pouvez vous rendre immédiatement à la fin de l’article. Un des intérêt de la cité des sciences et de l’industrie est que celle-ci dispose d’un réseau existant et d’un lien de qualité vers le reste d’Internet. Néanmoins, il ne s’agit que d’un lien de quelques gigabits qui peut rapidement être saturé, en particulier en cas d’utilisation intensive, ou si nous sommes basculés sur le lien de secours. Cette situation est fort peu agréable en particulier quand nous avons besoin d’accéder régulièrement au réseau Internet. Depuis déjà quelques éditions, nous sommes conscient de la nécessité de disposer d’un réseau maîtrisé. Celle-ci passe par la gestion de certains éléments, comme l’attribution des adresses IP, le choix du serveur DNS et ce qui en découle l’utilisation de miroirs locaux, servis de façon non-intrusive pour l’utilisateur final. Gardons en tête ce principe de ne pas impacter la façon d’installer. Autrement dit, nous n’irons ni modifier les sources de logiciel, ni modifier l’adresse des serveurs de noms utilisés par la machine. Ces contraintes imposent donc successivement que les entrées DNS correspondant aux archives Ubuntu doit pointer vers une machine locale. Il est donc nécessaire de maîtriser le serveur de nom. Pour que cela puisse se faire de façon transparente, il existe une condition supplémentaire : assigner nous même des baux d’adresses IP et en profiter pour annoncer nous même route et DNS par défaut. Ceci peut se faire en disposant de notre propre serveur DHCP. Ceci suppose également de ne pas rentrer en conflit avec d’autres serveurs, en particulier ceux de la cité des sciences et de l’industrie. Pour cela, nous disposons de notre propre plage d’IP sur un vlan dédié. Rentrons un peu plus dans les détails : les adresses IP sont attribuées via isc-dhcp-server ; le dns annoncé est un dns interne à notre vlan ; la passerelle annoncée permet de « sortir » sur internet ; les noms de domaines sont résolus en adresses IP par bind, « mentant » sur la résolution de certains noms, comme fr.archive.ubuntu.com ; les archives (et d’autres choses) sont servies par apache. Lors de la mise en place de cette solution et lors des événements précédents, nous avons rajouté un certain nombre de service. En particulier, nous proposons un miroir de téléchargement pour les images des cédéroms, un service de boot « PXE » ainsi qu’un cache sur les sites web fortement consultés, comme doc.ubuntu-fr.org En guise de note finale, vous trouverez le fichier Makefile de synchronisation des miroirs, ainsi que les différents fichiers permettant de dupliquer cette installation pour votre install party. Si vous disposez de plusieurs interfaces réseaux, vous pouvez également utiliser le script de NAT suivant qui nous sert à Parinux sur notre machine portable, Idia, nommé d’après la précédente (Oups.) Pour l’instant seuls les fichiers permettant de publier le miroir complet sur le réseau sont présent dans l’archive. Les fichiers feront certainement l’objet d’un billet spécifique.

Lire un flux SSL

Planet Parinux - lun, 22/09/2014 - 09:17
Niveau :       Résumé : tcpdump ssl ; ptrace ; ltrace Vous attendez la suite de mon article sur ce qui passe par les oreilles d'un android ? Hé bien vous allez attendre encore un peu ... Lorsque vous récupérez via tcpdump un flux SSL (au hasard du https), il est chiffré et c'est justement l'intérêt du SSL de vous […]

Sprint admin sys April du week-end du 20 et 21 mai 2011

Planet Parinux - lun, 22/09/2014 - 09:17
Une partie des administrateurs systèmes de l’April s’est réunie ce week end du 22 mai 2011 pour avancer sur un gros projet. En effet, un trop grosse partie de notre système d’information repose actuellement sur une machine historique de l’April, mescaline. Il a donc été décidé il y a fort longtemps de séparer le maximum de services de cette machine, ce projet est désormais en bonne voie. En effet depuis la migration Drupal, celui-ci est installé sur une machine distincte. Le reste des services est encore gérés par mescaline (la fameuse machine) sont le mail (outil essentiel de l’activité de l’April), les listes de diffusions et la gestion des adhérents. C’est donc un gros chantier qui nous attends. Réunis dans une maison de campagne, dans une banlieue lointaine, de l’autre côté du périphérique, benj, theo, Léobaillard, PoluX et moi-même étions présents, dès le matin 10h, heure de Moscou. Après l’exposé brillant du plan de migration par benj, nous nous sommes attachés à mettre en place la nouvelle infrastructure destinée à accueillir nos mails et nos listes de diffusions. Par consensus approximatif, nous avons opté pour Postfix, dovecot et roundcube pour le mail, spamassassin et amavis pour la gestion des spams, sympa pour la gestion des listes. Alternant de longues sessions de travail d’environ 3h par des pauses tarots, billard ou barbecue, nous avons tenus jusqu’à dimanche soir 22h, heure de Paris. Nous disposons désormais d’une nouvelle plateforme de mail+listes sur laquelle nous sommes en train de chasser tous les bugs encore existants. Un prochain WE servira à continuer la migration d’un certain nombre d’applications web vers d’autres machines et à continuer la migration du mail vers cette nouvelle plateforme.

Du partage de page de manuel

Planet Parinux - lun, 22/09/2014 - 09:17
Dans le cadre d’une utilisation un peu avancée d’Ubuntu, il est fréquent de faire des références au manuel, accessible avec la commande man. Il est parfois bien pratique de pouvoir visualiser ses pages de manuels ailleurs que dans un terminal et c’est l’objectif de Dustin Kirkland à l’aide de Ubuntu Manpages. Un des inconvénients de ce site résidait dans la longueur des URI pour accéder à une page particulière. Ce problème est désormais résolu. Le même Dustin vient de créer un réducteur d’URL spécialisé : http://manpg.es. Les pages de man sont désormais accessibles via http://manpg.es/bash. P.S. Une bonne façon d’indiquer une page de man consiste à rajouter le numéro de section : bash(1). Édition Depuis hier, comme indiqué dans un nouveau billet, ce service supporte la numérotation des pages : stty(1). Sans cette précision, manpg.es essaie de deviner les intentions de l’uitilisateur, conduisant à des suprises.

Du partage d'informations

Planet Parinux - lun, 22/09/2014 - 09:17
J’ai passé quelques heures à contribuer sur OpenStreetMap, le site de cartograohie sous licence libre (CC-BY-SA et peut-être ODbL 1.0 dans le futur). J’y ai redécouvert un certain nombre de projets intéressants et je me suis remotivé pour organiser un atelier sur le sujet dans le cadre des Premiers Samedis du Libre organisé par Parinux à la cité des sciences et de l’industrie, un lieu universcience etc. J’ai en particulier retrouvé Refuges.info qui se propose de lister les refuges dans les parcs naturels régionaux français de montagne. Vous pouvez en particulier lire sa licence et ses restrictions qui me semblent assez raisonnable. Pour répondre à une question posé lors d’une présentation il y’a quelques semaines, j’ai trouvé également une information. Certains utilisateurs proposent d’utiliser une île du l’Antartique comme bac à sable. J’aurais à présent une première réponse à fournir aux personnes qui se craignent d’endommager les données de la base.

Fedora et FVWM

Planet Parinux - lun, 22/09/2014 - 09:17
Ceux qui suivent l'actualité de Fedora savent que la Beta de Fedora 15 est sorti la semaine dernière. J'ai profité du weekend pour l'installer sur deux PC. L'un d'entre eux n'ayant pas de cartes graphique digne de ce nom, je me suis retrouvé avec le mode fallback de Gnome. Passons rapidement, celui-ci ne fera l'affaire pour personne, j'en ai peur. L'installation sur le portable s'est mieux passé. J'ai alors pu profiter pleinement des nouveautés de Fedora 15. Firefox 4 permet (enfin) de voir les vidéos Youtube sans avoir à installer Flash sur son ordinateur, Gnome 3 (dont je redoutais qu'il soit plus difficile à prendre en main que ça). Le ventilateur du portable s'emballant au bout d'une heure d'utilisation, je n'ai pas pu tester longtemps mais ça semble prometteur. L'actualité a aussi été marquée ces derniers temps par la sortie de FVWM 2.6.0. Pour ceux qui ont commencé à utiliser les distributions GNU/Linux après la sortie de les versions 1.0 de GNOME et KDE, ça marquera un retour aux sources. Avant Gnome et KDE, FVWM était le gestionnaire par défaut des distributions, en raison de sa très grande configurabilité. J'ai donc pris les archives disponibles sur fvwm.org, compilé des rpms et j'ai installé sur ma machine. Force est de constater que très peu de choses ont changés en 10 ans (la sortie de 2.4.0 date de 2001). La configuration par défaut est toujours aussi brut et FVWM est toujours (voire encore plus) configurable. Je sens que je vais l'installer sur les machines qui n'ont pas la configuration matériel nécessaire pour Gnome 3. L'autre nouveauté du projet, c'est l'abandon du cycle de développement actuel (on me souffle dans l'oreillette que 10 ans entre chaque version d'un logiciel, c'est long). Les développeurs de FVWM préparent une migration de CVS à git pour gérer leur code source et comptent utiliser les fonctionnalités de git pour développer les fonctionnalités majeures dans des branches spéciales. Une fois le développement d'une fonctionnalité terminé, on fusionne la branche principale avec la branche de développement et on se retrouve avec une version stable de FVWM qui contient la fonctionnalité en question. Les fonctionnalités seront donc disponibles des que possible aux utilisateurs de FVWM.
Syndiquer le contenu