Planet Libre

Tom : Création d’un MOTD dynamique : dynmotd


Depuis que je m’occupe de la gestion d’un parc de serveurs Linux, environ 200, j’ai mis en place certaines petites customisations maison.

Ainsi, dès que je me connecte en SSH à un serveur, un motd dynamique s’exécute et il m’est donc simple de savoir quel est le serveur sur lequel je me connecte. Qu’est ce que le motd me demanderont certains ? Simplement l’abréviation de Message Of The Day.

Mettre en place un motd dynamique est très simple.

Suivez le tutoriel ci-dessous

  • Mise à jour pour dû à un bug du TERM qui bloquait les transfert en SCP
  • Mise à jour du fichier dynmotd.sh avec : optimisation des variables
  • Mise en place du dynmotd uniquement pour le compte root et le groupe admin

Tutoriel

Installation des pré-requis

Debian / Ubuntu

sudo apt-get install lsb-release

RedHat / CentOS

sudo yum install redhat-lsb-core

On désactive l’affichage du motd du serveur ssh

sudo sed -i 's/#PrintMotd yes/PrintMotd no/g' /etc/ssh/sshd_config

On active le lancement du motd au démarrage de n’importe quelle session SSH ou locale pour l’utilisateur root et les utilisateurs du groupe « admin » (c’est spécifique à ma configuration … vous pouvez changer le nom du groupe, mettre un utilisateur … bref regardez votre fichier /etc/sudoers)

Vous pouvez faire un copier coller directement j’utilise des caractères échappatoire pour pouvoir copier les variables

sudo cat > /etc/profile.d/dynmotd.sh < /dev/null RETURN=\\$? if [ \\$RETURN = 0 ]; then /usr/local/bin/dynmotd; # Si root se connecte on active le dynmotd elif [ \\$EUID = 0 ]; then /usr/local/bin/dynmotd; # Sinon on affiche un message "standard" pour les simples utilisateurs else echo "" echo "" echo "---> Welcome \\$USER on \\$(hostname)" echo "" echo "###########################################################################" echo "# #" echo "# ALERT! You are entering into a secured area! Your IP, Login Time, #" echo "# Username has been noted and has been sent to the server administrator! #" echo "# This service is restricted to authorized users only. All activities on #" echo "# this system are logged. #" echo "# #" echo "# Unauthorized access will be fully investigated and reported to the #" echo "# appropriate law enforcement agencies. #" echo "# #" echo "###########################################################################" echo "" echo "" fi fi EOFDYN

Création de notre fichier motd dynamique qu’on va rendre exécutable.

sudo touch /usr/local/bin/dynmotd sudo chmod +x /usr/local/bin/dynmotd

Puis copier/coller le texte ci-dessous pour la création de votre dynmotd.sh

sudo cat > /usr/local/bin/dynmotd <

Personnalisation du dynmotd

Actuellement j’ai simplifié son utilisation et je l’ai découpé en 3 sections :

System Data :

  • Affichage du hostname
  • Affichage de l’adresse IP ou des adresses IP
  • Affichage de la version du système
  • Affichage de la version du kernel
  • Affichage du uptime
  • Affichage des informations sur le CPU
  • Affichage de l’utilisation de la mémoire

User Data

  • Affichage du nom de l’utilisateur
  • Affichage des 5 processus les plus gourmands

Information/Role

  • C’est la partie à faire à la main. Dedans j’y met les informations sur le serveur. Par exemple si c’est un serveur FTP, ou un serveur Apache, ou un serveur d’administration NIS … etc etc

 

Chez moi, sur l’un des serveurs, voila ce que ça rend :

putty

Modification du Serveur SFTP

En appliquant ce motd dynamique, lorsqu’on essaye de se connecter avec WinSCP on se retrouve avec un problème : impossible de se connecter.

Nous avons un erreur. Ceci est dût au serveur sftp utilisé par défaut dans les distributions linux. Si vous rencontrez le problème alors il vous sera nécessaire de changer le serveur utilisé dans le fichier /etc/ssh/sshd_config

Commentez la ligne

Subsystem sftp /usr/libexec/openssh/sftp-server

Ajouter la ligne

Subsystem sftp internal-sftp

Merci à Oddball  pour m’avoir remonté le problème.

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

Articles similaires

Thuban : (Open)?BSD4* - Échanges autour d'OpenBSD

Vous l'aurez compris, plus j'utilise OpenBSD, plus il m'épate. Seulement, je ne suis qu'un débutant sur ce système, et bien que la FAQ soit une véritable mine d'or, je n'y trouve pas toujours la solution à mes petits soucis. Et embêter la liste de diffusion pour parler de problèmes de gros noob (comme disent certains), franchement, ça me met mal à l'aise.

Et puis, j'ai reçu des messages très sympa de Stephane, qui m'a renvoyé vers le blog de Vigdis. Il y a donc du monde qui aime OpenBSD au moins autant que moi. Ça m'a donc décidé à publier ce qu'on peut appeler un "site d'échange autour d'OpenBSD" : (Open)?BSD4* .

On peut y trouver un wiki pour échanger des astuces, et une section pour poser ses questions.
Initialement, le site était auto-hébergé, mais mon starsheep tout doux m'a signalé que c'était quand même lent. Et puisque je dois revoir toute l'installation de mon serveur, j'ai préféré le mettre ailleurs. Donc désolé pour le certificat SSL...
J'ignore si ce site sera réellement utile et utilisé à vrai dire. Selon les cas, je le déplacerai peut-être ailleurs.

Comme d'habitude, toute contribution sera la bienvenue ☺

[center][img]https://framapic.org/LnYASvh9rozI/k8uywufISZha.png|alt[/img][/center]
— (permalink)

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

Full Circle Magazine FR : Voici le numéro 107

Bonjour !

L'équipe du FCMfr est heureuse de vous présenter le numéro 107 (celui de mars 2016) du magazine Full Circle entièrement traduit en français. Comme toujours, vous pouvez le lire ou le télécharger sur notre page Numéros ou le télécharger directement en cliquant sur l'image de couverture ci-dessous.

issue107fr.png

Vous y trouverez, notamment :

  • Comment transformer une vieille tablette en un tout petit serveur sous Ubuntu !
  • La troisième partie de la série sur Linux pour les photographes, écrite par un francophone, François Edelin, pour les français. Ce mois-ci, le sujet est la calibration de la chaîne couleur.
  • La présentation d'un système d'exploitation basé sur Ubuntu et Debian, fait en Chine et qui ne cesse de changer de nom ! Il s'appelle actuellement deepin OS. Il propose un nombre faramineux d'environnements de bureau ; en revanche les téléchargements, notamment des mises à jour, peuvent être d'une lenteur plus qu'exaspérante.
  • Enfin, outre les tutoriels et autres rubriques habituels, il y a trois critiques : une du livre Able2Extract 10 et une de chacun de deux jeux - Saints Row IV et The Kindred.

Autrement dit, il y a de quoi faire. Bonne lecture !

Toute l'équipe, dont, ce mois-ci :

  • Bab, le scribeur ;
  • AE, d52fr et erlevo, les traducteurs ;
  • Bab, d52fr, erlevo et moi-même, AuntieE, les relecteurs.

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires

alterlibriste : L'avenir des Planet vous appartient

L’ami Cascador aime jouer avec le feu : il craint l’animosité et les retours violents mais ne manque pas une occasion de donner des coups de pied dans toutes les fourmilières qu’il croise afin d’inciter à la réflexion. Ce n’est pas moi qui vais m’en plaindre puisqu’il me cite régulièrement en exemple.
En l’occurrence, cette fois-ci, il s’attaque à une fourmilière qui ressemble plus à une ruche décimée par les attaques multifactorielles des parasites, neurotoxiques et des prédateurs, à savoir les Planet.
Il m’a soumis son article au cas où je trouve ses arguments complètement faux. Ce n’est pas le cas mais ce n’est que son avis. Je continue personnellement à trouver le Planet-Libre pertinent. Avant de m’en expliquer, je vais revenir sur mon rapport à ce site. Avis qui sera partial (puisque je fais partie des quelques rescapés qui s’en occupent) mais qui n’engage que moi.

Lorsque j’ai commencé à m’intéresser au monde du libre au delà de la distribution qui faisait tourner mon PC, j’ai découvert (par l’intermédiaire des podcasts qui furent ma véritable porte d’entrée) les sites qui regroupaient les articles et informations sur les logiciels libres : entre autres LinuxFr et Planet-Libre. J’ai ainsi commencé à suivre certains blogs qui par interaction en font découvrir d’autres et constituent ainsi peu à peu la liste des flux rss que j’ai suivis. Étant à l’époque réfractaire à toute forme de réseaux sociaux, je ne savais pas encore que beaucoup de contenu avait migré dessus et surtout que c’était devenu une forme de promotion pour tous les créateurs de contenus.
Lorsque je me suis lancé dans le projet d’avoir un blog, il y a trois ans, le Planet-Libre me semblait être un formidable outil pour le faire connaître à ceux intéressés par le monde du libre. Au cas où certains l’ignoreraient, pour apparaître sur le site, il faut s’inscrire en soumettant un flux dédié au libre et l’équipe valide si cela correspond au cahier des charges (à savoir, au moins trois articles traitant du libre et en français). Cela permet ainsi simplement à l’aide du tag dédié au flux en question de faire apparaître le billet sur le flux du Planet. L’équipe se réserve toujours le droit de modérer a posteriori dès qu’un article ne semble pas correspondre. Globalement, il y a très peu de refus et on envoie toujours un message circonstancié que les auteurs comprennent bien (ex : jeu-concours, articles en anglais, billet anniversaire d’un blog, promotion d’un outil non libre, ...)

Mais je me suis un peu trop avancé car je vous décris déjà le fonctionnement vu de l’intérieur. J’ai intégré l’équipe de modération suite à un appel du pied d’antistress qui m’incitait à venir soutenir l’équipe il y a deux ans. Comme j’avais profité de cet outil pour faire connaître mon blog et que j’adhérais à la philosophie du site, je ne vois pas pourquoi je ne l’aurais pas fait. Le rôle que j’y ai pris est bien modeste : aller voir les blogs soumettant leur flux, aller modifier ou réactiver les flux qui étaient tombés en rade, répondre aux demandes de contact et faire une promotion discrète auprès des auteurs de blogs sur le libre qui y auraient leur place.

Maintenant, quel avenir pour les Planet touchant de près ou de loin au libre ?
Peut-être que quelques-uns pourraient se réunir car contiennent peu de flux ou sont mis de façon redondante dans plusieurs endroits mais je ne connais pas bien l’historique de chacun des sites et des éventuelles frictions ou concurrences. Je n’ai pas connu la période d’or durant laquelle des dizaines de blogs commentaient les moindres améliorations du noyau et attendaient avec impatience chaque nouvelle version d’Ubuntu sous la houlette des plus grands noms de la blogosphère libre française actuellement retranchés sur leurs blogs perso.
Je n’accorde aussi peu d’importance aux stats du Planet-Libre qu’à celles de mon blog, mais je constate qu’il y a tous les jours des articles et que c’est déjà pas mal ; cela permet en tout cas de tous les lire alors que d’autres en fournissent plusieurs dizaines (bien trop à lire tous si on n’y passe pas plus d’une heure par jour) et que ceux qui m’intéressent sont déjà dans mon agrégateur. Ce fonctionnement n’inciterait pas à former une communauté, mais comme on l’a vu récemment, il n’y a pas une communauté définie, il n’y a qu’un ensemble d’acteurs qui s’accordent ou pas sur certaines idées et interagissent au gré des projets, forums, blogs, réseaux, ... et sans doute beaucoup d’autres qui restent silencieux.

Pour moi, l’intérêt, c’est l’émulation entre blogueurs, comme nous le faisons en ce moment entre Cyrille, Cascador et moi et cela ne dépend pas de l’outil qui relaie les articles mais des articles en eux-mêmes qui se répondent, se critiquent, s’apostrophent, se remercient.
L’avantage du Planet-Libre est que c’est un carrefour permettant de réunir un ensemble de flux sur un sujet précis tout en étant totalement décentralisé puisque chaque blog conserve les commentaires et échanges avec ses lecteurs. Les outils plus modernes qui promeuvent les articles vont déplacer les commentaires en leur sein au lieu d’enrichir l’article mais je ne vais pas reprendre à mon compte les arguments de Cyrille qui en remettra probablement une couche pour l’occasion.

Peut-être que Cascador a raison et que le fonctionnement des Planet est bien vieux et dépassé mais pour moi rien ne le remplace avantageusement pour l’instant, ou alors reste à inventer.

L’avenir des Planet vous appartient, si en tant que blogueurs, vous continuez à les alimenter, ils continueront à vivre. Si vous êtes un grand stratège et que l’outil vous semble à améliorer dans sa forme ou son fonctionnement ou que vous voulez simplement donner un coup de main, viendez parce qu’il n’y a plus vraiment de pilote actuellement et que les occupations de chacun a limité l’équipe au minimum vital : quelques acteurs dans l’ombre qui continuent à faire tourner le truc parce qu’il leur convient tel qu’il est.
Et comme tout projet libre, chacun peut y prendre la place et les responsabilités qu’il veut bien y prendre... ou forker vers autre chose.

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

Goffi : SàT: quelques nouvelles en vrac

Salut à vous,

j'ai assez peu de temps devant moi, alors je vais faire bref pour les quelques nouvelles sur notre avancement.

Déjà je voulais annoncer que nous ne sommes plus à plein temps sur SàT, Souliane et moi avons repris un travail salarié. Le rythme de développement s'en retrouve bien sûr réduit, mais reste relativement soutenu.

Le développement sur Cagou, notre prochaine interface bureau/appareils portables promise suite à notre financement participatif, est d'ailleurs en cours, il est possible de se connecter depuis, et il y a une gestion basique des widgets.

Voici une petite vidéo avec les premières images. La gestion des widgets est inspirée de l'excellente interface de Blender : l'idée est d'avoir à la base un seul widget que l'on peut changer en cliquant sur une icône (un widget pouvant être une conversation, un fil de blogs, des fichiers en partage, la liste de contacts, etc), et de pouvoir séparer l'écran en faisant glisser une barre. Ne faites pas attention à l’aspect graphique qui va changer (j'ai pris une barre du thème par défaut de Kivy pour le développement, mais ça va changer par la suite).

Your browser can't manage the "video" tag, you should update it, e.g. with the last Firefox >

Mais ça n'est pas tout ! Un autre frontal est en cours de développement, destiné à Emacs le bien connu système d'expl éditeur de texte. Il répond au doux nom de « Sententia », et c'est Xavier Maillard qui s'est lancé dedans, et vous pouvez suivre son avancement (ou lui filer un coup de pouce *clin d'œil* *clin d'œil*) sur http://git.maillard.im/xma/sententia.
Une petite mise en appétit :

Première image de sententia

Il y a pas mal de développements en cours, mais je commence à fatiguer, alors je détaillerai une autre fois.

Enfin, pour ceux qui sont dans cette zone, nous serons Souliane et moi à la « Linuxwochen » ce samedi à Vienne (Autriche) pour présenter SàT : https://cfp.linuxwochen.at/de/LWW16/public/events/398.

À bientôt !

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

Articles similaires

ardechelibre[.org] : Article du Dauphiné Libéré le 11 avril 2016

L’article suivant est paru dans le Dauphiné Libéré du 11 avril 2016, suite à notre atelier « Libère ton ordi ! » du 7 avril 2016 au bistrot associatif de Saint-Julien-du-Serre :

Monde du libre - Le Dauphiné Libéré - 11 avril 2016

Merci au Dauphiné Libéré pour l’article, à Gilbert pour l’organisation, et au bistrot associatif St Ju pour l’accueil !

Cet article Article du Dauphiné Libéré le 11 avril 2016 est apparu en premier sur ardechelibre[.org].

Gravatar de ardechelibre[.org]
Original post of ardechelibre[.org].Votez pour ce billet sur Planet Libre.

Articles similaires

ardechelibre[.org] : Article du Dauphiné Libéré le 1er avril 2016

Cet article a été publié dans le Dauphiné Libéré le 1er avril 2016 pour annoncer la série de 3 ateliers à Saint-Julien-du-Serre :

Libère ton ordi ! - Le Dauphiné Libéré - 1er avrilMerci au Dauphiné Libéré pour cet article, et à Gilbert ROCHE pour l’organisation !

Cet article Article du Dauphiné Libéré le 1er avril 2016 est apparu en premier sur ardechelibre[.org].

Gravatar de ardechelibre[.org]
Original post of ardechelibre[.org].Votez pour ce billet sur Planet Libre.

Articles similaires

RaspbianFrance : La Raspberry Pi Foundation sort une nouvelle Caméra officielle pour la Raspberry

Aujourd’hui, et pratiquement deux mois après la sortie de la Raspberry Pi 3, la fondation annonce une nouvelle version de leur caméra pi. Trois ans après la première version, la fondation a décidé de remettre la webcam du Raspberry Pi au goût du jour.

Une nouvelle caméra officielle pour contrer un arrêt de production

Jusqu’à présent, la « Caméra Pi » proposée par la Raspberry Pi fondation était basée sur le capteur OmniVision OV5647, lequel a vu sa production stoppée en 2014.

Après avoir écoulé la quasi totalité des stocks, la Fondation a donc dû se pencher sur la réalisation d’une nouvelle version de sa caméra.

Une caméra de 8 mégapixels dédiée à la Raspberry Pi

Cette nouvelle caméra spécialement conçue pour la Raspberry Pi reste compatible avec toutes les versions de celle-ci, ainsi qu’avec les extensions de l’ancienne caméra.

La nouveauté majeure, c’est bien-sûr le passage à un capteur de 8 mégapixels, contre 5 mégapixels sur la précédente version. Ce nouveau capteur est signé par Sony et ne devrait pas, du moins nous l’espérons, se retrouver en rupture de stock avant quelques temps !

Comme précédemment, nous retrouvons une caméra standard, mais également une version infrarouge dédiée à la vision nocturne.

En terme de prix, pas de changement, que ce soit pour acheter la version normale où pour acheter la version infrarouge, vous devrez comptez environ 25€.

#go-pricing-table-2157 .gw-go-col-wrap { min-width:130px; } #go-pricing-table-2157 .gw-go-col-inner { border-radius:0 0 0 0; } #go-pricing-table-2157 .gw-go-tooltip-content { background-color:#9d9d9d;color:#333333;max-width:130px; } #go-pricing-table-2157 .gw-go-tooltip:before { border-top-color:#9d9d9d; } #go-pricing-table-2157 .gw-go-col-wrap-0.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2157 .gw-go-col-wrap-0 .gw-go-price-wrap span, #go-pricing-table-2157 .gw-go-col-wrap-0 .gw-go-coinf div, #go-pricing-table-2157 .gw-go-col-wrap-0 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2157 .gw-go-col-wrap-1.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2157 .gw-go-col-wrap-1 .gw-go-price-wrap span, #go-pricing-table-2157 .gw-go-col-wrap-1 .gw-go-coinf div, #go-pricing-table-2157 .gw-go-col-wrap-1 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2157 .gw-go { visibility:visible; }@media only screen and (max-width: 479px) { #go-pricing-table-2157 .gw-go-col-wrap { width:100%; } }

Caméra Pi V227€27€
  • Capteur : Sony IMX219
  • Définition : 8 mégapixels
  • Résolution photo max : 3280 x 2464
  • Résolution vidéo max : 1080p
Acheter la Caméra Pi V2Caméra Pi V125€25€
  • Capteur : OmniVision OV5647
  • Définition : 5 mégapixels
  • Résolution photo max : 2592 x 1944
  • Résolution vidéo max : 1080p
Acheter la Caméra Pi V1 Une meilleure colorimétrie et une meilleure gestion en faible luminosité.

Autre point, souvent négligé mais pourtant très important, la colorimétrie et la gestion de la faible luminosité sont très largement améliorées par cette nouvelle version.

Grâce au VideoCore IV, la conversion des images brutes en fichiers images se fait tout en corrigeant l’image en travaillant le bruit, les pixels défectueux, la distorsion de l’image, etc.

Tout ce travail sur l’image permet un rendu assez incroyable notamment en terme de qualité des couleurs, beaucoup plus proches de la réalité, comme le montre ces deux images issues du site officiel de fondation, à gauche sans correction, à droite avec.

Balances des blancs - amélioration des couleurs froides

Balances des blancs – amélioration des couleurs froides

Balances des blancs - amélioration des couleurs chaudes

Balances des blancs – amélioration des couleurs chaudes

Une nouvelle webcam prometteuse pour notre Raspberry Pi

Le moins que l’on puisse dire, c’est que les photos mises en avant par la fondation sont prometteuses et que cette Webcam donne particulièrement envie.

La caméra est dès à présent disponible à la vente chez Kubii.fr, et nous avons hâte de tester cette nouvelle Camera-Pi et de voir ses performances réelles sur le terrain.

Cette sortie semble faire suite aux efforts de la Raspberry Pi Foundation pour proposer une gamme d’accessoires officiels et pleinement supportés par la raspi, chose dont nous nous réjouissons.

Cet article La Raspberry Pi Foundation sort une nouvelle Caméra officielle pour la Raspberry est apparu en premier sur Raspbian-France.

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

Articles similaires

PostBlue : GNOME : autostart en arrière-plan

Sur ma session GNOME, l’utilisation quotidienne de certains programme a créé le besoin d’avoir certaines applications qui se lancent automatiquement (autostart) au démarrage. Cependant, je ne voulais pas que celles-ci se retrouvent propulsées à l'avant-plan : je voulais que ces applications se lancent en arrière-plan.

Pour démarrer certaines applications à l’ouverture de session, il « suffit » de copier le fichier .desktop depuis /usr/share/applications/ dans ~/.config/autostart/. Le fichier .desktop regroupe toutes les informations relatives à une application installée sur la machine, de son nom à la ligne de commande à exécuter.

Le même résultat peut être obtenu en utilisant l’Outil de personnalisation de GNOME (gnome-tweak-tool), permettant de personnaliser les réglages avancés de GNOME 3 avec une prise en main plus user friendly que par la ligne de commande ou la copie manuelle de fichiers. À l’écran Applications au démarrage, il est possible d’ajouter des applications en cliquant sur le bouton + au pied de celui-ci. S’ouvre alors une popup avec la liste des applications graphiques installées sur le système, qu’il suffit de sélectionner pour qu’elle(s) soi(en)t lancée(s) à la prochaine ouverture de session.

Cependant, les applications ainsi ajoutées se lancent en avant-plan et, comme je l’ai dit en introduction, je désire que ces applications soient lancées en arrière-plan (minimisées dans la barre des tâches ou cachées, ça dépend de ce qui est offert par l’application).

Le programme Préférences des applications au démarrage (gnome-session-properties) a été retiré de GNOME dans sa version 3.12. Il permettait l’édition manuelle des programmes lancés à l’ouverture de session, mais faisait double emploi avec la possibilité d’ajout de programmes par gnome-tweak-tool. Cependant, ce dernier n’intègre pas (encore) la possibilité d’éditer les fichiers .desktop pour passer un argument à la ligne de commande de lancement de l’application1 : il va donc falloir éditer à la main les fichiers .desktop.

Quelques exemples : il faut éditer dans les fichiers ~/.config/autostart/*.desktop la ligne Exec= où se retrouve la ligne de commande lancée quand on clique sur le raccourci d’une application, et y ajouter un argument supplémentaire.

  • Empathy (~/.config/autostart/empathy.desktop), le client de messagerie instantanée, peut être démarré de façon cachée (--start-hidden). De la sorte, je me connecte à mon compte XMPP dès le démarrage de session et permet d’être joignable sans avoir à penser à lancer le programme. Ce qui donne :

    Exec=empathy --start-hidden
  • Telegram Desktop (~/.config/autostart/telegramdesktop.desktop) peut être démarré minimisé dans la barre des tâches avec l’argument -startintray, ce qui donne :

    Exec=/opt/telegram/Telegram -startintray -- %u
  • Transmission GTK (~/.config/autostart/transmission-gtk.desktop), le gestionnaire de torrents, peut également être lancé minimisé avec l’argument --minimized, ce qui donne :

    Exec=transmission-gtk --minimized %U
  • Steam (~/.config/autostart/steam.desktop) aussi peut être lancé minimisé, il suffit de lui ajouter l’argument -silent :

    Exec=/usr/bin/steam -silent %U

Il est relativement simple d’ajouter des applications graphiques au démarrage de la session GNOME avec l’Outil de personnalisation de GNOME (gnome-tweak-tool). Cependant, obliger le lancement en arrière-plan desdites applications n’est pas du tout convivial, obligeant à une édition manuelle d’un fichier verbeux et austère.

On le remarque avec les quelques exemples ci-dessus : aucune de ces applications n’admet le même argument pour être démarrée en arrière-plan. Normaliser la nomenclature de cet argument pourrait être une piste de résolution pour une configuration conviviale du lancement automatique en arrière-plan, à moins que ça ne soit intégré directement dans les applications admettant d’être démarrées en arrière-plan.

Par ailleurs, quelques applications n’admettent pas d’être démarrées de la sorte, le gestionnaire de mail Evolution en première ligne, logiciel que j’utilise tous les jours. Le gestionnaire Geary intègre cette possibilité par défaut, avertissant dès lors par une notification la réception d’un mail. Cependant, Geary n’est plus maintenu (dernière mise à jour le 30 mars 2015) et n’intègre pas le support du chiffrement/déchiffrement des mails, ce qui pour moi est un manquement dont je ne peux me passer.

  1. Édition du 26 avril 2016 : j’ai ajouté une demande d’amélioration sur le bugtracker de Gnome Tweak Tool en ce sens suite à ma réponse au commentaire de Leo ci-dessous.

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

Thuban : image - 640x3359px

Infographie pour le logiciel libre à propos du projet de loi "République numérique" à faire tourner, puisqu'un nouvel alinéa vise à pouvoir fermer l'accès aux documents administratifs "en cas de risque d'atteinte « à la sécurité des systèmes d'information des administrations »", tournure trop évasive.

Vous pouvez appeler nos sénateurs : ils se sentiront un peu plus gênés que lorsqu'on va crier dans les rues (qui revient souvent à gueuler dans le c.. d'une vache). Toutes les informations sont disponibles sur le site de l'april
— (permalink)

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

Journal du hacker : Liens intéressants Journal du hacker semaine #16

Pour la 16ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Planet Libre : Brèves du Planet Libre - lundi 25, avril 2016

Le projet Tor renforce sa sécurité pour détecter l'espion - silicon chiffrement Tor pistage

antistress : "À l’heure où le FBI et Apple s’opposent sur le chiffrement, le projet Tor renforce la sécurité de son réseau d’anonymisation et réaffirme qu’une cryptographie forte est nécessaire."

Red Hat, 1er acteur Open Source à réaliser 2 Mds de $ de CA - silicon Red_Hat libre

antistress : Ça, c'est fait.

Cazeneuve : « Ceux qui nous frappent utilisent le Darknet » - Numerama chiffrement droit institution Tor

antistress : "Lors des questions au gouvernement, le ministre de l'Intérieur a affirmé que les terroristes utilisaient « le Darknet » et « des messages chiffrés ». Mais sans preuve."

L'interdiction des machines à voter (à nouveau) rejetée à l’Assemblée - Next INpact vote droit institution

antistress : "Les députés de la commission des lois ont rejeté ce matin un amendement écologiste qui proposait d’interdire une bonne fois pour toutes les machines à voter en France (sous le coup d’un moratoire datant de 2007). Le sujet devrait à nouveau être abordé demain dans l'hémicycle."

Deux sénateurs militent pour une vraie liberté de panorama - Next INpact droit copyright Wikimédia

antistress : "L’introduction de l’exception de liberté de panorama continue de diviser les parlementaires. Dans la liasse des premiers amendements au Sénat en séance, deux d’entre eux veulent la libérer plus largement, en faisant sauter les verrous semés au fil des débats."

Le RGI v2 officialisé, ODF préféré à OpenXML - silicon LibreOffice Microsoft format administration droit interopérabilité

antistress : "La seconde mouture du Référentiel général d’interopérabilité est publiée au Journal Officiel. L’usage du format ODF, issu de la suite OpenOffice, doit désormais être privilégié dans les administrations."
(via le Journal du Hacker)

Sortie du noyau Linux 4.5 - LinuxFR.org Linux LinuxFR.org ext4

antistress : Le détail des nouveautés du dernier noyau Linux par le menu, et surtout en français comme à chaque fois : merci LinuxFR.org ! La mise en commun des architectures ARMv6 et v7, l'ajout au pilote amdgpu de la fonction PowerPlay pour certains processeurs graphiques AMD (désactivée par défaut) et l'intégration du pilote etnaviv pour les processeurs graphiques Vivante font partie des nouveautés notables selon moi.
Tiens, en lisant les commentaires, je découvre que ext4 prend en charge le chiffrement depuis le noyau 4.1 (cf https://lwn.net/Articles/639427/)  !

Android : la Commission européenne accuse Google d'abus de position dominante - Next INpact Android Google recherche droit Europe

antistress : "La Commission européenne a révélé la communication de ses griefs à Google sur Android. Au regard des éléments en sa possession, l'institution considère que le groupe américain abuse de sa position dominante en imposant aux constructeurs et opérateurs utilisant Android d'installer ses services. Google a 12 semaines pour réagir.".
V. aussi http://www.numerama.com/business/164912-antirust-ce-que-bruxelles-reproche-a-android-et-google.html

[EN] Microsoft sues US government, asks court to declare secrecy orders unconstitutional - ExtremeTech pistage institution Microsoft

antistress : Microsoft demande à la justice de déclarer inconstitutionnelle la loi qui permet au gouvernement américain, lorsqu'il requiert d'un fournisseur l'accès aux communications d'un utilisateur, d'interdire ledit fournisseur d'en faire état ("gag order").
NB : Cette interdiction fait en pratique parfois l'objet d'un contournement au moyen du procédé du warrant canary : http://www.internetactu.net/2015/06/03/la-garantie-du-canari/
(via les Liens en vrac de sebsauvage)

Richard Stallman : « Plus rien ne me fait rêver dans la technologie » - Tech - Numerama entretien Stallman pistage smartphone

antistress : "Entretien avec Richard Stallman, l'inventeur du logiciel libre, résolument attaché aux libertés et au combat contre toutes les technologies qu'il juge « oppressives »."

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

Articles similaires

RaspbianFrance : Top 3 des concurrents et clones de la Raspberry Pi

Le moins que l’on puisse dire, c’est qu’avec plus de 8 millions d’exemplaires vendus, la Raspberry Pi a rencontré un franc succès.
Bien évidemment, ce succès a inspiré de nombreux concurrents et nous avons vu fleurir des clones, plus ou moins réussis, de la Raspberry Pi.

Nous vous proposons donc une petite sélection de quelques uns de ces clones et autres concurrents de la Raspberry Pi qui nous semblent dignes d’intérêt.

Petit résumé des caractéristiques des différents concurrents de la Raspberry Pi

Pour les plus pressés d’entre vous, nous vous proposons un petit tableau comparatif des clones de la Raspberry Pi !

#go-pricing-table-2135 .gw-go-col-wrap { min-width:130px; } #go-pricing-table-2135 .gw-go-col-inner { border-radius:0 0 0 0; } #go-pricing-table-2135 ul.gw-go-body, #go-pricing-table-2135 ul.gw-go-body li { border:none !important; padding-top:1px; } #go-pricing-table-2135 ul.gw-go-body li .gw-go-body-cell { padding-top:1px; } #go-pricing-table-2135 ul.gw-go-body { padding-bottom:1px; } #go-pricing-table-2135 .gw-go-tooltip-content { background-color:#9D9D9D;color:#333333;max-width:130px; } #go-pricing-table-2135 .gw-go-tooltip:before { border-top-color:#9D9D9D; } #go-pricing-table-2135 .gw-go-col-wrap-0.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-0 .gw-go-price-wrap span, #go-pricing-table-2135 .gw-go-col-wrap-0 .gw-go-coinf div, #go-pricing-table-2135 .gw-go-col-wrap-0 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-1.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-1 .gw-go-price-wrap span, #go-pricing-table-2135 .gw-go-col-wrap-1 .gw-go-coinf div, #go-pricing-table-2135 .gw-go-col-wrap-1 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-2.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-2 .gw-go-price-wrap span, #go-pricing-table-2135 .gw-go-col-wrap-2 .gw-go-coinf div, #go-pricing-table-2135 .gw-go-col-wrap-2 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-3.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2135 .gw-go-col-wrap-3 .gw-go-price-wrap span, #go-pricing-table-2135 .gw-go-col-wrap-3 .gw-go-coinf div, #go-pricing-table-2135 .gw-go-col-wrap-3 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2135 .gw-go { visibility:visible; }Raspberry Pi 340€40€
  • Ram : 1 Go
  • Nombre de processeur : 4
  • Processeur : ARM Cortex-A53 (64 bits)
  • Cadence du processeur : 1200 Mhz
  • Support de Windows 10 : Partiel (IoT)
  • Stockage interne : Non (carte MicroSD)
  • Ports : 4 USB 2.0
  • Ports GPIO : 40
  • Port jack audio/vidéo : 1
  • Bluetooth : 4.1
  • Wi-Fi : Oui (802.11 n)
  • Port Ethernet : 100 Mbits/s
  • Port SATA : Non
  • Ports CSI : 2
Acheter la Raspberry Pi 3Archos Stick100€100€
  • Ram : 2 Go
  • Nombre de processeur : 4
  • Processeur : Intel Core Atom Z3735F
  • Cadence du processeur : 1300 Mhz
  • Support de Windows 10 : Complet
  • Stockage interne : 32Go (extensible via MicroSD)
  • Ports : 1 USB 2.0
  • Ports GPIO : Non
  • Port jack audio/vidéo : Non
  • Bluetooth : 4.0
  • Wi-Fi : Oui (802.11 b/g/n)
  • Port Ethernet : Non
  • Port SATA : Non
  • Ports CSI : Non
Acheter l'Archos StickBanana Pro60€60€
  • Ram : 1 Go
  • Nombre de processeur : 2
  • Processeur : A20 ARM CortexTM-A7
  • Cadence du processeur : 1000 Mhz
  • Support de Windows 10 : Non
  • Stockage interne : Non (carte MicroSD)
  • Ports : 2 USB 2.0
  • Ports GPIO : 40
  • Port jack audio/vidéo : 1
  • Bluetooth : Non
  • Wi-Fi : Oui (802.11 b/g/n)
  • Port Ethernet : 1000 Mbits/s
  • Port SATA : Oui (SATA2)
  • Ports CSI : 2
Acheter la Banana ProArduino Uno20€20€
  • Non comparable
Acheter l'Arduino UNO Petit rappel des caractéristiques de la Raspberry Pi 3

Avant de nous pencher sur les concurrents de la Raspberry, faisons un rapide résumé de ses caractéristiques.

Le dernier modèle disponible de la Raspberry Pi, l'Archos Stick d'Intel, propose un processeur quatre cœurs ARM Cortex-A53 (donc 64 bits ARM) épaulé d’une mémoire vive de 1 Go.

Au niveau de la connectique, la dernière mouture de la Raspi propose 4 ports USB, une sortie HDMI ainsi qu’un port jack audio/vidéo. Vous trouverez également les traditionnels ports GPIO ainsi que les connectiques CSI.

Enfin, en terme de réseau la Raspberry Pi 3 possède un port Ethernet 100 Mbits/s, mais surtout, grande nouveauté, une carte Wifi 802.11n et Bluetooth 4.1 !

La Raspberry Pi 2 est arrivée

Petite précision, comme pour ses concurrents, la Raspberry Pi se présente sous la forme d’une carte mère « nue ». Si vous n’en possédez pas, il vous faudra donc vous procurer une alimentation, un clavier, une carte MicroSD/SD ou encore un écran, selon vos besoins.

1 – L’Archos Stick, un concurrent de la Raspberry Pi orienté Windows 10

Premier concurrent qui nous semblait intéressant, l'Archos Stick est un mini PC (ce qui le place de fait en concurrence avec la Raspberry Pi), orienté mobilité et Windows 10.

L’idée est la suivante, un ordinateur de la taille d’une clef USB, que vous branchez sur un écran HDMI et sur une prise secteur. Vous obtenez alors un ordinateur nomade, sur lequel vous utilisez votre smartphone/tablette comme clavier (notez que le premier démarrage nécessitera un véritable clavier physique).

Au niveau de la connectique, l’Archos Stick est largement en dessous de la Raspberry Pi, puisqu’il ne dispose que d’un seul port USB, n’a pas de port Ethernet (seulement Wifi et Bluetooth), ne propose pas de ports GPIO ou encore CSI. De même s’il dispose d’un port HDMI, il ne possède pas de port jack audio/vidéo.

Néanmoins, l’Archos Stick propose une configuration légèrement plus musclée que la Raspberry Pi, avec 2 Go de RAM, un mémoire interne de 32 Go et un processeur Intel AtomTM à quatre cœurs.

L’Archos Stick se destine donc à un usage relativement différent de la Raspberry Pi, plus orienté professionnel, et particulièrement pour les personnes amenées à se déplacer pour faire des présentations, etc.

C’est là que l’Archos Stick révèle son principal intérêt, puisqu’il est équipé d’une version complète de Windows 10, permettant donc de faire des présentations, d’utiliser la suite Office, mais également d’utiliser des logiciels propriétaires internes aux entreprises.

L'Archos Stick est plus orienté Windows

Si l’Archos Stick se destine donc à un public et un usage différents de ceux de la Raspberry Pi, le prix est également très différent, puisque vous devrez comptez un peu plus de 100€ pour acheter l'Archos Stick.

#go-pricing-table-2139 .gw-go-col-wrap { min-width:130px; } #go-pricing-table-2139 .gw-go-col-inner { border-radius:0 0 0 0; } #go-pricing-table-2139 ul.gw-go-body, #go-pricing-table-2139 ul.gw-go-body li { border:none !important; padding-top:1px; } #go-pricing-table-2139 ul.gw-go-body li .gw-go-body-cell { padding-top:1px; } #go-pricing-table-2139 ul.gw-go-body { padding-bottom:1px; } #go-pricing-table-2139 .gw-go-tooltip-content { background-color:#9D9D9D;color:#333333;max-width:130px; } #go-pricing-table-2139 .gw-go-tooltip:before { border-top-color:#9D9D9D; } #go-pricing-table-2139 .gw-go-col-wrap-0.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2139 .gw-go-col-wrap-0 .gw-go-price-wrap span, #go-pricing-table-2139 .gw-go-col-wrap-0 .gw-go-coinf div, #go-pricing-table-2139 .gw-go-col-wrap-0 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2139 .gw-go-col-wrap-1.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2139 .gw-go-col-wrap-1 .gw-go-price-wrap span, #go-pricing-table-2139 .gw-go-col-wrap-1 .gw-go-coinf div, #go-pricing-table-2139 .gw-go-col-wrap-1 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2139 .gw-go { visibility:visible; }Raspberry Pi 340€40€
  • Ram : 1 Go
  • Processeur : ARM Cortex-A53 (64 bits)
  • Cadence du processeur : 1200 Mhz
  • Support de Windows 10 : Partiel (IoT)
  • Stockage interne : Non (carte MicroSD)
  • Ports : 4 USB 2.0
  • Ports GPIO : 40
  • Port jack audio/vidéo : 1
  • Port Ethernet : 100 Mbits/s
Acheter la Raspberry Pi 3Archos Stick100€100€
  • Ram : 2 Go
  • Processeur : Intel Core Atom Z3735F
  • Cadence du processeur : 1300 Mhz
  • Support de Windows 10 : Complet
  • Stockage interne : 32Go (extensible via MicroSD)
  • Ports : 1 USB 2.0
  • Ports GPIO : Non
  • Port jack audio/vidéo : Non
  • Port Ethernet : Non
Acheter l'Archos Stick

 

2 – La Banana Pro, un clone de la Raspberry Pi assez multimédia

Second concurrent de la Raspberry Pi, son clone le plus célèbre, la Banana Pro (successeur de la Banana Pi), ressemble très fortement à notre framboise préférée.

Comme la Raspberry Pi 3, la Banana Pro embarque 1 Go de mémoire vive et ne dispose pas de stockage interne, utilisant une carte MicroSD à la place.

Au niveau du processeur, la Banana Pro utilise un Allwiner A20 Cortex A7, avec deux coeurs seulement donc, contre quatre pour la Raspberry Pi.

Au niveau de la connectique, la Banana Pro est relativement proche de la Raspberry Pi (HDMI, jack audio/vidéo, ports GPIO, CSI, etc.), mais ajoute également un récepteur infrarouge et micro intégré. Elle ne dispose en revanche que de 2 ports USB.

Pour ce qui est du réseau, la Banana Pro ne dispose pas de Bluetooth, mais c’est sur la connexion internet qu’elle tire son épingle du jeu. En effet, la Banana Pro dispose d’une puce Wi-fi 802.11 b/g/n, mais surtout d’un port Ethernet 1000 Mbits/s, contre seulement 100 Mbits/s pour la Raspberry Pi.

Autre point intéressant, la Banana Pro dispose d’une connexion SATA2, permettant de connecter un disque dur, notamment SSD (les disques mécaniques devront disposer d’une alimentation externe).

Banana Pro un clone du Raspberry Pi

C’est donc sur la connexion que la Banana Pro est intéressante, sa connexion SATA2 et son port 1 Gbits en faisant un bon candidat pour une installation multimédia. Le prix est légèrement supérieur à celui de la Raspberry Pi, comptez environ 60€ pour une Banana Pro nue, à laquelle vous devrez au minimum rajouter une carte MicroSD et une alimentation adaptée.

#go-pricing-table-2136 .gw-go-col-wrap { min-width:130px; } #go-pricing-table-2136 .gw-go-col-inner { border-radius:0 0 0 0; } #go-pricing-table-2136 ul.gw-go-body, #go-pricing-table-2136 ul.gw-go-body li { border:none !important; padding-top:1px; } #go-pricing-table-2136 ul.gw-go-body li .gw-go-body-cell { padding-top:1px; } #go-pricing-table-2136 ul.gw-go-body { padding-bottom:1px; } #go-pricing-table-2136 .gw-go-tooltip-content { background-color:#9D9D9D;color:#333333;max-width:130px; } #go-pricing-table-2136 .gw-go-tooltip:before { border-top-color:#9D9D9D; } #go-pricing-table-2136 .gw-go-col-wrap-0.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2136 .gw-go-col-wrap-0 .gw-go-price-wrap span, #go-pricing-table-2136 .gw-go-col-wrap-0 .gw-go-coinf div, #go-pricing-table-2136 .gw-go-col-wrap-0 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2136 .gw-go-col-wrap-1.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2136 .gw-go-col-wrap-1 .gw-go-price-wrap span, #go-pricing-table-2136 .gw-go-col-wrap-1 .gw-go-coinf div, #go-pricing-table-2136 .gw-go-col-wrap-1 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2136 .gw-go { visibility:visible; }Raspberry Pi 340€40€
  • Nombre de processeur : 4
  • Processeur : ARM Cortex-A53 (64 bits)
  • Cadence du processeur : 1200 Mhz
  • Ports : 4 USB 2.0
  • Bluetooth : 4.1
  • Port Ethernet : 100 Mbits/s
  • Port SATA : Non
Acheter la Raspberry Pi 3Banana Pro60€60€
  • Nombre de processeur : 2
  • Processeur : A20 ARM CortexTM-A7
  • Cadence du processeur : 1000 Mhz
  • Ports : 2 USB 2.0
  • Bluetooth : Non
  • Port Ethernet : 1000 Mbits/s
  • Port SATA : Oui (SATA2)
Acheter la Banana Pro

 

3 – L’Arduino, un microcontrôleur complémentaire à la Raspberry Pi

Dernière carte que nous allons vous présenter, l'Arduino UNO, un microcontrôleur parfois mis en concurrence avec la Raspberry Pi, mais qui se révèle finalement assez complémentaire.

Si la Raspberry Pi vise à créer un système Linux complet, capable de remplacer un ordinateur comme de faire de la domotique, l’Arduino, lui est clairement destiné à la domotique, à l’électronique et à l’embarqué.

Puisque la Raspberry Pi est également utilisée pour de la domotique, elle se retrouve forcément un peu en concurrence avec l’Arduino. Cependant, les deux sont en fait régulièrement utilisés ensemble, la Raspberry Pi étant plus adaptée à la création et à l’hébergement d’un véritable logiciel complet, tandis que l’Arduino est utilisé pour contrôler des équipements électroniques, faire de la robotique, etc.

Arduino UNO un microcôntroleur

Niveau prix, il vous faudra compter environ 20€ pour une carte Arduino Uno.

#go-pricing-table-2137 .gw-go-col-wrap { min-width:130px; } #go-pricing-table-2137 .gw-go-col-inner { border-radius:0 0 0 0; } #go-pricing-table-2137 ul.gw-go-body, #go-pricing-table-2137 ul.gw-go-body li { border:none !important; padding-top:1px; } #go-pricing-table-2137 ul.gw-go-body li .gw-go-body-cell { padding-top:1px; } #go-pricing-table-2137 ul.gw-go-body { padding-bottom:1px; } #go-pricing-table-2137 .gw-go-tooltip-content { background-color:#9D9D9D;color:#333333;max-width:130px; } #go-pricing-table-2137 .gw-go-tooltip:before { border-top-color:#9D9D9D; } #go-pricing-table-2137 .gw-go-col-wrap-0.gw-go-hover .gw-go-header-top { background-color:#3498db; } #go-pricing-table-2137 .gw-go-col-wrap-0 .gw-go-price-wrap span, #go-pricing-table-2137 .gw-go-col-wrap-0 .gw-go-coinf div, #go-pricing-table-2137 .gw-go-col-wrap-0 .gw-go-coinb div { color:#3498db; } #go-pricing-table-2137 .gw-go { visibility:visible; }Arduino Uno20€20€
  • Non comparable
  • Entrées/sorties digitales : 14 (dont 6 pouvant être utilisées comme sorties PWM)
  • Entrées Analogiques : 6
  • Memoire Flash : 32 KB (ATmega328) dont 0.5 KB utilisé par le bootloader
  • SRAM :2 KB (ATmega328)
  • EEPROM :1 KB (ATmega328)
  • Fréquence d'horloge :16 MHz
Acheter l'Arduino UNO

 

Des alternatives mais une Raspberry Pi qui domine le marché

Nous vous avons présenté trois concurrents de la Raspberry Pi qui nous semblent offrir une vraie alternative à la Raspberry Pi, mais de nombreux autres clones ont vu le jour.

De façon générale, si les alternatives à la Raspberry Pi sont intéressantes dans des cadres très précis (besoin de Windows, multimédia avec de grandes vitesses de transfert ou encore domotique et électronique), la Raspberry Pi, elle, est portée par sa grande souplesse et sa très grande communauté.

Car c’est bien là la force de la Raspberry Pi, une communauté immense, active et passionnée, qui en fait le champion incontesté des micro-ordinateurs !

Alors si, comme nous, malgré tous ses concurrents, la Raspberry Pi reste la seule à trouver grâce à vos yeux, n’hésitez pas à faire un tour sur notre article dédié aux accessoires de la Raspberry Pi !

Cet article Top 3 des concurrents et clones de la Raspberry Pi est apparu en premier sur Raspbian-France.

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

Articles similaires

Thuban : Mettre OpenBSD à jour

Mettre OpenBSD à jour n'est pas plus compliqué que pour beaucoup d'autres distributions. Ce billet va expliquer la procédure à suivre en présentant une méthode plus technique et une méthode facile.

Mettre les paquets à jour :
C'est l'histoire d'une seule commande :
#pkg_add -u

Mettre le système à jour :
Tout d'abord, un petit rappel :
OpenBSD est fournit en 3 "saveurs" (flavour) :
** release : il s'agit de la version publiée et que vous avez sans doute téléchargée pour installer OpenBSD.
** stable : c'est la version release avec plusieurs correctifs de sécurité. C'est celle-ci que nous souhaiterons suivre.
** current : c'est la prochaine mouture en préparation d'OpenBSD, dans le dépôt CVS (qui sert au développement du code source).

Cependant, il peut arriver que des bugs soient découverts. Il est donc recommandé d'appliquer les correctifs de sécurité. Vous pouvez suivre les indications de la page errate pour cela. Cependant, comme appliquer les patches n'est pas forcément facile, on peut alors pour suivre stable suivre ces indications et celles-ci, qui vont nous permettre d'appliquer simplement les patches.

On a 2 méthodes. D'abord, la plus compliquée :

Pour commencer, on récupère les sources "patchées" et corrigées :
# cd /usr # cvs -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_5_9 -P src # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_9 -P ports
Si vous aviez déjà les sources, il suffit alors de lancer :
# cd /usr/src # cvs -q up -rOPENBSD_5_9 -Pd # cd /usr/ports # cvs -q up -rOPENBSD_5_9 -Pd

La première fois, c'est long, pas d'inquiétudes.

Ensuite, on passe les commandes suivantes pour compiler le noyau :
# cd /usr/src/sys/arch/$(uname -m)/conf # config GENERIC # cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC # make clean && make # make install
Il faut maintenant redémarrer (commande reboot) avant de passer à la suite, où l'on met à jour les fichiers du système après un petit nettoyage

# rm -rf /usr/obj/* # cd /usr/src # make obj # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # cd /usr/src # make build

Voilà, rien de plus qu'une série de petites commandes simples.

Cette opération peut être relativement lourde et longue. Heureusement, il existe le service m:tier, qui permet de vérifier les éventuelles mises à jour disponibles et de les installer tout simplement. Voici la marche à suivre :

## Récupérer le script openup
## Lancer ce script
## C'est tout ☺.

Vraiment, c'est extrêmement simple, non?

En gros, ça tient en :
curl -s https://stable.mtier.org/openup | sh

Passer à une version supérieure
Si on suit la branche stable, on peut mettre OpenBSD à jour seulement lorsqu'une nouvelle version est publiée. Il suffit alors de suivre les indications de notes de version. C'est toujours bien expliqué, et vraiment, tout bête.

Je vous invite à jeter un oeil des manipulations du passage de la 5.8 à la 5.9. Simple non?

Suivre current

On peut suivre la version current d'openBSD grâce à des snapshots réguliers. Je n'ai pas encore réalisé ce genre d'opération, donc ne le détaillerai pas ici pour l'instant . ☺

Être averti des mises à jour
Envoyer un mail à majordomo@OpenBSD.org avec à l'intérieur :
subscribe announce
— (permalink)

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

mozillaZine-fr : Le saviez-vous ? Dropbox est passé à Rust

Dans un article de Wired daté du 13 mars, on peut lire (en anglais) comment Dropbox a quitté Amazon pour créer sa propre infrastructure. Au passage, on apprend qu’ils ont choisi le langage de programmation Rust, créé par Mozilla. Dropbox avait commencé par utiliser le langage Go, créé par Google, mais l’a abandonné pour Rust qui consomme moins de mémoire. Cela semble confirmer le succès de ce projet de Mozilla, initialement lancé pour produire le nouveau moteur de rendu expérimental Servo.

Gravatar de mozillaZine-fr
Original post of mozillaZine-fr.Votez pour ce billet sur Planet Libre.

Tuxicoman : Windows 10, ce n’est pas gratuit

windows

Windows 10 c’est 135€ en version Famille et 279€ pour la version Professionnelle (nécessaire pour joindre un domaine réseau ou faire du bureau à distance) sur le Windows Store officiel de Microsoft.
Seule la mise à jour depuis un ordinateur ayant un Windows 7, 8 ou 8.1 fonctionnel est gratuite. Si vous pensiez réinstaller votre ordinateur boiteux avec simplement votre clé de Windows 8.1 en main, c’est raté. Il faut obligatoirement faire tout le processus de mise à jour logicielle sur l’ordinateur et ensuite seulement Microsoft vous donnera une clé pour réinstaller Windows 10 from scratch. Pénible à souhait.
Si votre PC était livré avec Windows préinstallé, vous pouvez le mettre à jour gratuitement à Windows 10. Mais attention, ça restera une version OEM, c’est à dire non transférable à un autre ordinateur. Or je doute que vous comptiez mettre à jour un PC de 2009 (année de sortie de Windows 7) Au cas où vous l’envisagiez, sachez que selon les tests de QueChoisir: Windows 10 dégrade les performances et l’autonomie ordinateurs par rapport à Windows 8.1.

Bref, si vous changer d’ordinateur, il y a de fortes chances que Windows 10 ne soit pas plus gratuit qu’avant. Au mieux vous n’en verrez pas le prix car il sera compris dans le prix global de l’ordinateur (Sachez que vous pouvez demander à vous le faire rembourser)

office

Office 2016 c’est (Word, Excel, Powerpoint et Note) c’est 149€ pour 1 PC, et directement 279€ si vous voulez Outlook en plus.
Microsoft propose la suite Office complète en location pour 69€/an (1 ordinateur) ou 99€/an (5 ordinateurs). Comme d’habitude avec la location, c’est moins cher au début mais plus cher à la fin.

Donc pour une personne qui voudrait faire de la bureautique sur son PC fixe et son PC portable, il lui faudra débourser sur 3 ans:

  • Win 10: 2×135€ = 270€
  • Office: 2×149€ ou 3×99€ = 297€

Soit 567€ !

Mais vous pouvez aussi regarder des logiciels libres qui sont à prix …libres et sans limites de temps ou de copie.

Related Posts: J'aime !(13)Je n'aime pas !(6)

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

Thuban : Configuration de dwm sous OpenBSD

Voilà un article un peu plus geek, où vous trouverez la configuration permettant de configurer le gestionnaire de fenêtres dwm sur openbsd.

Tout d'abord, la capture d'écran obligatoire :

[center][img]http://yeuxdelibad.net/Blog/img/77/dwm_openbsd.png[/img][/center]

Une fois ceci fait, voici le fichier de configuration pour dwm. C'est une configuration très épurée, qui permet entre autres les choses suivantes :

* Fermeture d'une fenêtre avec un clic-milieu sur le titre de celle-ci
* Augmentation/réduction du volume sonore en actionnant la molette sur la barre de status
* Plusieurs raccourcis clavier bien pratiques (pour mpd, firefox, lanceur dmenu...)

/* See LICENSE file for copyright and license details. */ /* appearance */ static const char *fonts[] = { "LiberationMono:size=9" }; static const char dmenufont[] = "LiberationMono:size=9"; static const char normbordercolor[] = "#08090a"; static const char normbgcolor[] = "#08090a"; static const char normfgcolor[] = "#606c78"; static const char selbordercolor[] = "#606c78"; static const char selbgcolor[] = "#606c78"; static const char selfgcolor[] = "#08090a"; static const unsigned int borderpx = 2; /* border pixel of windows */ static const unsigned int snap = 32; /* snap pixel */ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ /* tagging */ static const char *tags[] = { "*", "w", "@", ";", "+" }; static const Rule rules[] = { /* xprop(1): * WM_CLASS(STRING) = instance, class * WM_NAME(STRING) = title */ /* class instance title tags mask isfloating monitor */ { "Crawl-tiles", NULL, NULL, 0, True, -1 }, { NULL, NULL, "Jabber", 1<<2, False, -1 }, { NULL, NULL, "Mutt", 1<<2, False, -1 }, { "Firefox", NULL, NULL, 1<<1, False, -1 }, { "surf", NULL, NULL, 1<<1, False, -1 }, { "Surf", NULL, NULL, 1<<1, False, -1 }, { "tabbed-surf", NULL, NULL, 1<<1, False, -1 }, { "tabbed", NULL, NULL, 1<<1, False, -1 }, { "Gimp", NULL, NULL, 1<<4 , False, -1 }, { "stalonetray", NULL, NULL, 0, True, -1 }, { "menu", NULL, NULL, 0, True, -1 }, }; /* layout(s) */ static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ static const Layout layouts[] = { /* symbol arrange function */ { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "[M]", monocle }, }; /* key definitions */ #define MODKEY Mod1Mask #define TAGKEYS(KEY,TAG) \\ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \\ { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \\ { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \\ { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, /* helper for spawning shell commands in the pre dwm-5.0 fashion */ #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } /* commands */ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL }; static const char *termcmd[] = { "st", NULL }; static Key keys[] = { /* modifier key function argument */ { MODKEY, XK_p, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, { MODKEY, XK_i, incnmaster, {.i = +1 } }, { MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, { MODKEY, XK_Return, zoom, {0} }, { MODKEY, XK_Tab, view, {0} }, { MODKEY|ShiftMask, XK_c, killclient, {0} }, { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_agrave, view, {.ui = ~0 } }, { MODKEY|ShiftMask, XK_agrave, tag, {.ui = ~0 } }, { MODKEY, XK_comma, focusmon, {.i = -1 } }, { MODKEY, XK_semicolon, focusmon, {.i = +1 } }, { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, { MODKEY|ShiftMask, XK_semicolon, tagmon, {.i = +1 } }, TAGKEYS( XK_ampersand, 0) TAGKEYS( XK_eacute, 1) TAGKEYS( XK_quotedbl, 2) TAGKEYS( XK_apostrophe, 3) TAGKEYS( XK_parenleft, 4) TAGKEYS( XK_minus, 5) TAGKEYS( XK_egrave, 6) TAGKEYS( XK_underscore, 7) TAGKEYS( XK_ccedilla, 8) { MODKEY, XK_w, spawn, SHCMD("firefox") }, { MODKEY, XK_a, spawn, SHCMD("~/.dmenu/actions") }, { MODKEY, XK_s, spawn, SHCMD("sch") }, { MODKEY, XK_x, spawn, SHCMD("~/.dmenu/dmlaunch") }, { MODKEY, XK_z, spawn, SHCMD("~/.dmenu/dmpc") }, { MODKEY|ShiftMask, XK_l, spawn, SHCMD("mpc next") }, { MODKEY|ShiftMask, XK_h, spawn, SHCMD("mpc prev") }, { MODKEY|ShiftMask, XK_n, spawn, SHCMD("mpc toggle") }, { 0, 0x1008ff13, spawn, SHCMD("mixerctl outputs.master=+10") }, { 0, 0x1008ff11, spawn, SHCMD("mixerctl outputs.master=-10") }, { 0, 0x1008ff12, spawn, SHCMD("mixerctl outputs.master.mute=toggle") }, { MODKEY|ShiftMask, XK_q, quit, {0} }, }; /* button definitions */ /* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ static Button buttons[] = { /* click event mask button function argument */ { ClkLtSymbol, 0, Button1, setlayout, {0} }, { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, { ClkWinTitle, 0, Button2, killclient, {0} }, { ClkWinTitle, 0, Button4, focusstack, {.i = +1 } }, { ClkWinTitle, 0, Button5, focusstack, {.i = -1 } }, { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, { ClkClientWin, MODKEY, Button1, movemouse, {0} }, { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, { ClkTagBar, 0, Button1, view, {0} }, { ClkTagBar, 0, Button3, toggleview, {0} }, { ClkTagBar, MODKEY, Button1, tag, {0} }, { ClkTagBar, MODKEY, Button3, toggletag, {0} }, { ClkStatusText, 0, Button3, spawn, SHCMD("~/.dmenu/dwm_menu/dwm_menu.sh") }, { ClkRootWin, 0, Button3, spawn, SHCMD("~/.dmenu/dwm_menu/dwm_menu.sh") }, { ClkStatusText, 0, Button4, spawn, SHCMD("mixerctl outputs.master=+10") }, { ClkStatusText, 0, Button5, spawn, SHCMD("mixerctl outputs.master=-12") }, };

Ensuite, si vous avez bien observé, vous aurez remarqué que la barre de status est un peu spéciale. Il y a à l'intérieur des barres de niveau par exemple. Le tout est en plus entièrement codé en C, c'est très léger et rapide! Je me suis nettement inspiré de dstat, que l'on trouve sur la page de dwmstatus. Parmis ses fonctionnalités :

* Informartions sur la musique jouée par le lecteur MPD
* Affichage du nombre de messages dans vos dossiers Maildir
* Utilisation CPU
* Status de la batterie
* Volume sonore
* Date et heure


Voici donc le code pour le compiler :

config.mk
NAME = dwmstatus VERSION = 1.2 # Customize below to fit your system # paths PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man X11INC = /usr/X11R6/include X11LIB = /usr/X11R6/lib # mpd + openbsd MPDFLAG = -DMPD LOCALINCLUDE = /usr/local/include LOCALLIB = /usr/local/lib # includes and libs INCS = -I. -I/usr/include -I${LOCALINCLUDE} -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -L${LOCALLIB} -lmpdclient # flags CPPFLAGS = ${MPDFLAG} -DVERSION=\\"${VERSION}\\" CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} #CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} LDFLAGS = -g ${LIBS} #LDFLAGS = -s ${LIBS} # Solaris #CFLAGS = -fast ${INCS} -DVERSION=\\"${VERSION}\\" #LDFLAGS = ${LIBS} # compiler and linker CC = cc

le dwmstatus.c
#define _BSD_SOURCE #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define D_BUF 64 char *tzparis = "Europe/Paris"; static Display *dpy; char * smprintf(char *fmt, ...) { va_list fmtargs; char *buf = NULL; va_start(fmtargs, fmt); if (vasprintf(&buf, fmt, fmtargs) == -1){ fprintf(stderr, "malloc vasprintf\\n"); exit(1); } va_end(fmtargs); return buf; } int runevery(time_t *ltime, int sec){ /* return 1 if sec elapsed since last run * else return 0 */ time_t now = time(NULL); if ( difftime(now, *ltime ) >= sec) { *ltime = now; return(1); } else return(0); } void setstatus(char *str) { XStoreName(dpy, DefaultRootWindow(dpy), str); XSync(dpy, False); } void settz(char *tzname) { setenv("TZ", tzname, 1); } char * mktimes(char *fmt, char *tzname) { char buf[129]; time_t tim; struct tm *timtm; memset(buf, 0, sizeof(buf)); settz(tzname); tim = time(NULL); timtm = localtime(&tim); if (timtm == NULL) { perror("localtime"); exit(1); } if (!strftime(buf, sizeof(buf)-1, fmt, timtm)) { fprintf(stderr, "strftime == 0\\n"); exit(1); } return smprintf(buf); } char *get_nmail(char *directory, char *label) { /* directory : Maildir path * return label : number_of_new_mails */ int n = 0; DIR* dir = NULL; struct dirent* rf = NULL; dir = opendir(directory); /* try to open directory */ if (dir == NULL) perror(""); while ((rf = readdir(dir)) != NULL) /*count number of file*/ { if (strcmp(rf->d_name, ".") != 0 && strcmp(rf->d_name, "..") != 0) n++; } closedir(dir); if (n == 0) return smprintf(""); else return smprintf("%s%d",label, n); } static const char *d_bar(unsigned char p) { const char *s[] = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "█" }; return s[((8 * p) / 100)]; } static char *d_cpu(void) { static long cpu[CPUSTATES]; int mib[2] = { CTL_KERN, KERN_CPTIME }, p; long c[CPUSTATES]; size_t sz = sizeof(c); if (sysctl(mib, 2, &c, &sz, NULL, 0) == -1) return smprintf("sysctl failed"); p = (c[CP_USER] - cpu[CP_USER] + c[CP_SYS] - cpu[CP_SYS] + c[CP_NICE] - cpu[CP_NICE]) / (double) (c[CP_USER] - cpu[CP_USER] + c[CP_SYS] - cpu[CP_SYS] + c[CP_NICE] - cpu[CP_NICE] + c[CP_IDLE] - cpu[CP_IDLE]) * 100; memmove(cpu, c, sizeof(cpu)); return smprintf("CPU %d%% %s", p, d_bar(p)); } static char *d_bat(int fd) { struct apm_power_info api; if (ioctl(fd, APM_IOC_GETPOWER, &api) == -1) return smprintf("ioctl failed"); return (api.ac_state == APM_AC_ON) ? smprintf("⚡ %d%% %s A/C", api.battery_life, d_bar(api.battery_life)) : smprintf("⚡ %d%% %s %u:%02u", api.battery_life, d_bar(api.battery_life), api.minutes_left / 60, api.minutes_left % 60); } static char *d_vol(int fd) { static int cls = -1; struct mixer_devinfo mdi; struct mixer_ctrl mc; int v = -1, p; for (mdi.index = 0; cls == -1; mdi.index++) { if (ioctl(fd, AUDIO_MIXER_DEVINFO, &mdi) == -1) return smprintf("ioctl failed"); if (mdi.type == AUDIO_MIXER_CLASS && !strcmp(mdi.label.name, AudioCoutputs)) cls = mdi.index; } for (mdi.index = 0; v == -1; mdi.index++) { if (ioctl(fd, AUDIO_MIXER_DEVINFO, &mdi) == -1) return smprintf("ioctl failed"); if (mdi.type == AUDIO_MIXER_VALUE && mdi.prev == AUDIO_MIXER_LAST && mdi.mixer_class == cls && !strcmp(mdi.label.name, AudioNmaster)) { mc.dev = mdi.index; if (ioctl(fd, AUDIO_MIXER_READ, &mc) == -1) return smprintf("ioctl failed"); v = mc.un.value.num_channels == 1 ? mc.un.value.level[AUDIO_MIXER_LEVEL_MONO] : (mc.un.value.level[AUDIO_MIXER_LEVEL_LEFT] > mc.un.value.level[AUDIO_MIXER_LEVEL_RIGHT] ? mc.un.value.level[AUDIO_MIXER_LEVEL_LEFT] : mc.un.value.level[AUDIO_MIXER_LEVEL_RIGHT]); } /* todo: handle mute */ } return v == -1 ? "volume failed" : (p = (v * 100) / 255, smprintf("♫ %d%% %s", p, d_bar(p))); } /* simple function to retrieve mpd status */ char * getmpdstat() { struct mpd_song * song = NULL; const char * title = NULL; const char * artist = NULL; char * retstr = NULL; int elapsed = 0, total = 0; struct mpd_connection * conn ; if (!(conn = mpd_connection_new("localhost", 0, 30000)) || mpd_connection_get_error(conn)){ return smprintf(""); } mpd_command_list_begin(conn, true); mpd_send_status(conn); mpd_send_current_song(conn); mpd_command_list_end(conn); struct mpd_status* theStatus = mpd_recv_status(conn); if ((theStatus) && (mpd_status_get_state(theStatus) == MPD_STATE_PLAY)) { mpd_response_next(conn); song = mpd_recv_song(conn); title = smprintf("%s",mpd_song_get_tag(song, MPD_TAG_TITLE, 0)); artist = smprintf("%s",mpd_song_get_tag(song, MPD_TAG_ARTIST, 0)); elapsed = mpd_status_get_elapsed_time(theStatus); total = mpd_status_get_total_time(theStatus); mpd_song_free(song); retstr = smprintf("[♪ %s - %s - %.2d:%.2d/%.2d:%.2d ♪]", artist, title, elapsed/60, elapsed%60, total/60, total%60); free((char*)title); free((char*)artist); } else retstr = smprintf(""); mpd_response_finish(conn); mpd_connection_free(conn); return retstr; } int main(void) { int a = -1, m = -1; char *status; char *tmprs = NULL; char *mail_laposte = NULL; char *mail_educ = NULL; char *mail_yt = NULL; char *mail_y = NULL; char *mail_p = NULL; char *cpu = NULL; char *bat = NULL; char *vol = NULL; char *mpd = NULL; time_t count5min = 0; time_t count60 = 0; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\\n"); return 1; } if ((a = open("/dev/apm", O_RDONLY)) == -1 || (m = open("/dev/mixer", O_RDONLY)) == -1) err(1, "open failed"); for (;;sleep(1)) { /* checks every minutes */ if ( runevery(&count60, 60) ) { free(tmprs); free(bat); tmprs = mktimes("%d/%m/%y %H:%M", tzparis); bat = d_bat(a); } /* checks mail every 5 minutes */ if (runevery(&count5min, 300) ) { free(mail_laposte); free(mail_educ); free(mail_yt); free(mail_y); free(mail_p); mail_laposte = get_nmail("/home/thuban/Maildir/laposte/new", " LP:"); mail_educ = get_nmail("/home/thuban/Maildir/educ/new", " LP:"); mail_yt = get_nmail("/home/thuban/Maildir/ythuban/new", " LP:"); mail_y = get_nmail("/home/thuban/Maildir/y/new", " LP:"); mail_p = get_nmail("/home/thuban/Maildir/physique/new", " LP:"); } /* checks every second */ free(cpu); free(vol); free(mpd); cpu = d_cpu(); vol = d_vol(m); mpd = getmpdstat(); status = smprintf("%s [✉ :%s%s%s%s%s] [%s | %s | %s] [%s]", mpd, mail_laposte, mail_educ, mail_yt, mail_y, mail_p, cpu, bat, vol, tmprs); setstatus(status); free(status); } XCloseDisplay(dpy); return 0; }

La commande "make" vous donnera l'éxécutable dwmstatus à lancer en début de session.

Que c'est bon d'avoir un vrai environnement de travail!
— (permalink)

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

Angristan : Mettre à jour Ubuntu 14.x ou 15.x vers la 16.04 LTS

ubuntu-16.04-xenial-xerus

C'est hier,  2 ans après la dernière version LTS qu'est sortie la dernière mouture d'Ubuntu : la 16.04 LTS Xenial Xerus.

Qulques nouveautés sont présentes dans cette version qui sera supporté 5 ans :

  • Noyau Linux 4.4 avec support des processeurs Intel Skylake
  • Support de ZFS
  • Python 3.5 est la version de python par défaut, Python 2 est toujours disponible
  • Support du nouveau type de paquets : Snappy
  • Unity 7.4, avec la possiblité de mettre le Dash en bas
  • Nouvelle app calendrier et nouvelle logithèque
  • Les logiciels GNOME en version 3.18
  • LibreOffice 5.1
  • Un nouveau fond d'écran ! :D

Fond d'écran Ubuntu 16.04 Xenial Xerus

 

Je vous conseille de faire des sauvegardes de vos données, et si possible d'attendre quelques jours avant de faire la mise à jour, histoire d'être sûr que votre PC va tenir le coup.

Sachez que vous pouvez mettre à jour depuis le logiciel graphique de mises à jour dans Ubuntu. Mais personnellement je préfère le terminal pour bien savoir ce que je fais :)

Mise à jour depuis Ubuntu 15.04 ou 15.10

On fait d'abord une petite mise à jour pour avoir les paquets les plus récents possibles :

sudo apt update sudo apt full-upgrade

Puis on met à jour vers Ubuntu 16.04 :

sudo do-release-upgrade

Attendez un peu, et il vous fera un résumé de paquets qui seront mis à jour. Généralement c'est plusieurs centaines de Mo.

Mise à jour depuis Ubuntu 14.04

On fait d'abord une petite mise à jour pour avoir les paquets les plus récents possibles :

sudo apt update sudo apt full-upgrade

Sous Ubuntu 14.04, il va falloir jour un tout petit peu plus pour pouvoir mettre à jour. En effet par défaut il ira chercher la dernière version non-LTS, donc il va falloir aller modifier ça :

Dans le terminal :

sudo nano /etc/update-manager/release-upgrades

Dans un éditeur de texte :

sudo gedit /etc/update-manager/release-upgrades

Et remplacez, dans la dernière ligne, normal par lts, comme ceci :

Prompt=lts

Mettre à jour Ubuntu 14.x ou 15.x vers la 16.04 LTS

 

C'est bon, on peut mettre à jour vers Ubuntu 16.04 :

sudo do-release-upgrade

Attendez un peu, et il vous fera un résumé de paquets qui seront mis à jour. Généralement c'est plusieurs centaines de paquets à mettre à jour, alors soyez patients !

 

Mettre à jour Ubuntu 14.x ou 15.x vers la 16.04 LTS

 

Une fois que la mise est terminée, vous pouvez redémarrer votre ordinateur.

 

On vérifie à nouveau que tout est bien à jour

sudo apt update sudo apt full-upgrade

On nettoie le cache, là où se trouves tous les paquets que l'on a téléchargé, ce qui doit représenter 1 ou 2Go :

sudo apt-get clean sudo apt-get autoclean sudo apt-get autoremove

Et on vérifie qu'on est bien sous Ubuntu 16.04 LTS Xenial Xerius !

lsb_release -a

Mettre à jour Ubuntu 14.x ou 15.x vers la 16.04 LTS

 

Voilà, j'espère que tout s'est bien passé pour vous :)

 

Sources :

L'article Mettre à jour Ubuntu 14.x ou 15.x vers la 16.04 LTS a été publié sur Angristan

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

Articles similaires

Thuban : Mise à jour de dontpanic en version 1.3

Depuis le temps, je me replonge dans le code de dontpanic bien qu'il n'y ait plus grand chose à y faire en réalité :)

Il passe donc en version 1.3, avec les changements suivants :

- Correction du bug pour recherche sur tous les moteurs même avec traduction activée,
- Correction d'un bug lors du téléchargement des sous-titres,
- Le même dossier temporaire est utilisé entre deux sessions. Cela évite le surpeuplement de /tmp,
- Dontpanic affiche un petit message s'il peut être mis à jour,
- L'apparence légèrement améliorée.

Je vous invite donc à mettre à jour dontpanic en téléchargeant la dernière version.

Si vous avez ajouté mon dépôt debian, alors un simple "apt update && apt upgrade" sera suffisant.

N'hésitez pas à commenter si vous avez des suggestions à faire ;)
— (permalink)

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

Nicolas Lœuillet : Un dépôt monolithique pour wallabag ?

Un dépôt monolithique, kézaco ? C'est un dépôt global, qui regroupe tous les applications de votre projet.

Par exemple, un dépôt monolithique pour wallabag, ça serait un dépôt qui recense le code source de l'application web, de la documentation, du site web, de l'appli android, de l'image Docker, etc.

Mais t'es fou ? Tout dans un seul dépôt ?

Oui. Tout.

Quelques exemples de projets qui font ça ? Google, Facebook ou plus proche de wallabag, Symfony.

Dans le projet Symfony, il y a un dépôt qui regroupe tout le code source du framework et un dépôt par composant.
Par exemple, le composant Console a son propre dépôt ici : https://github.com/symfony/Console et se trouve aussi dans le dépôt global : https://github.com/symfony/symfony/tree/master/src/Symfony/Component/Console

Tout est synchronisé automatiquement (via un outil développé par Fabien Potencier pour remplacer git subtree, pas assez performant pour un projet comme Symfony).

L'intérêt ? La personne qui souhaite récupérer tout le projet Symfony peut récupérer le framework complet. La personne qui ne souhaite que le composant Console le peut également.

Quels intérêts pour wallabag ?

Prenons le cas de notre dépôt pour l'image Docker : https://github.com/wallabag/docker/blob/master/Dockerfile

Dans ce fichier se trouve la dernière version stable de wallabag en dur.

Dans le projet wallabag/wallabag, on a aussi des fichiers où cette version est stockée (la documentation, le README, etc.).

Si nous n'avions qu'un seul dépôt, une seule pull request serait nécessaire. Là, il en faut une par dépôt. Donc autant de revues de code nécessaires.

Certains changements (typiquement, des changements dans l'API) pourraient également impacter les applications pour smartphone par exemple. Là encore, un seul dépôt pour gérer tout ça apporterait de la flexibilité pour faire évoluer les projets.

La documentation de tous nos projets se trouverait à un seul endroit.
Il n'y aurait qu'un seul endroit pour rapporter des bugs : bien plus pratique pour les utilisateurs qui n'auraient pas à se demander si c'est dans tel ou tel dépôt.

Quelles contraintes ?

C'est là le souci : il faudrait mettre ça en place et j'ai une crainte de tout casser.

Il faudrait aussi mettre en place la synchronisation automatique entre tous les dépôts, pour éviter de devoir ça manuellement à chaque merge.

Quelques inconnues sur la mise en place, mais je compte bien me lancer.
Je vais surement ouvrir un ticket sur wallabag/wallabag pour avoir l'avis des principaux contributeurs à wallabag.

À suivre donc, car je compte avancer là-dessus dans les semaines à venir.

Gravatar de Nicolas Lœuillet
Original post of Nicolas Lœuillet.Votez pour ce billet sur Planet Libre.

Pages