PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

elementary OS : Calculus, la calculette elementary

mercredi 14 janvier 2015 à 12:46

ATTENTION Article mis à jour (voir plus bas)

Il y a quelques mois, je vous présentais un projet de calculatrice à la sauce elementary, il existe un autre projet similaire, mais plus poussé et qui risque de devenir officiellement une application elementary. Marvin Beckers a en effet écrit une application de calculatrice portant le nom de Calculus, ce projet n'est pas encore finalisé, mais son développeur est ouvert à toutes idées et propositions. D'ailleurs, le projet est hébergé sur Launchpad: https://launchpad.net/calculus

Un dépôt PPA est disponible à cette adresse: https://launchpad.net/~embik/+archive/ubuntu/elementary-daily

Vous pourrez ainsi tester Calculus (uniquement sur la version Freya d'elementary OS) et rapporter à son développeur les possibles bugs ou encore demander d'ajouter de nouvelles fonctionnalités.

Pour les curieux, voici des captures d'écran postées par Marvin sur son compte Google+:

Mode normal

Mode normal

Mode étendu

Mode étendu

Historique

Historique

Comme on peut le voir sur ce rapport Launchpad, Calculus semble plaire et est bien parti pour être désigné comme application officielle et rajouté à la future beta2 de Freya.

EDIT: Comme quoi tout arrive, Calculus rebaptisé pantheon-calculator remplace gcalctool officiellement sur Freya dans les dernières mises à jour, par conséquent, pour ne pas se retrouvez avec deux voire trois applications de même type, pensez à faire:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove calculus (pour ceux qui utilisaient calculus via son PPA)
sudo apt-get remove gcalctool gnome-calculator

 

 

Le billet Calculus, la calculette elementary a été publié sur elementary OS Fr - Communauté francophone d'elementaryOS

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

Articles similaires

Guillaume Vaillant : postfix, spf, dkim, dmarc avec plusieurs domaines

mardi 13 janvier 2015 à 15:53

Après m’être un peu battu, voilà mes notes :)

Cas d’utilisation:

{ Internet }----[ relai smtp dmz ]----[ serveur de mail réel bien à l'abri ]

Du coup, sur le relai en DMZ, niveau SMTP, je gère toute la partie:

Tout ce qui est anti-spam/anti-virus se fait sur la machine réelle.

Bien entendu, je gère aussi les mails pour plusieurs domaines.

Prérequis/divers

SPF

DNS

enregistrement TXT et/ou SRV (j’utilise un a:… et pas mx car tous les MX n’ont pas vocation à envoyer du mail pour un domaine donné):

example.net IN TXT "v=spf1 a:smtp.example.net ~all"
example.net IN SRV "v=spf1 a:smtp.example.net ~all"

note: On peut remplacer le ~all (softfail) par -all (fail)

Postfix

But, seulement avoir un entête Received-SPF: qui sera utilisé par la suite. Mais ceux qui veulent peuvent aussi avoir des bounces quand il n’y a pas d’enregistrement SPF ou quand le teste échoue.

postfix-policyd-spf-python

Installer le package si nécessaire, puis le configurer (/etc/postfix/policyd-spf.conf):

debugLevel = 1
defaultSeedOnly = 0

HELO_reject = False
Mail_From_reject = False
PermError_reject = False
TempError_Defer = False

skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128,subnetLAN,ipPubliques

postfix/main.cf

smtpd_recipient_restrictions =
    […votre bazar habituel…]
    check_policy_service unix:private/policyd-spf

postfix/master.cf

policyd-spf    unix    -    n     n    -    0    spawn
    user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/postfix/policyd-spf.conf

DKIM

opendkim

/etc/default/opendkim

SOCKET="local:/var/spool/postfix/var/run/opendkim/opendkim.sock"

note: la socket doit-être dans le chroot de postfix, sinon, postfix ne la verra jamais (cf: saslauthd), ce qui implique:

mkdir /var/spool/postfix/var/run/opendkim/
chown opendkim:opendkim /var/spool/postfix/var/run/opendkim/
adduser postfix opendkim

/etc/opendkim.conf

Syslog yes
SyslogFacility mail
LogWhy no
X-Header no
UMask                002
AutoRestart          yes
AutoRestartCount     5
RequireSafeKeys      no
InternalHosts        /etc/postfix/dkim/trusted.dat
ExternalIgnoreList   /etc/postfix/dkim/trusted.dat
KeyTable             /etc/postfix/dkim/keys.dat
SigningTable         /etc/postfix/dkim/signing.dat
Canonicalization     relaxed/relaxed
Mode                 sv
DisableADSP          yes
OversignHeaders      From

LogWhy est utile en phase de debug/tests, période où le mettre à yes est utile. Idem pour X-Header qui sert juste à savoir si on est bien passé dans opendkim.

/etc/postfix/dkim/trusted.dat

## localhost
127.0.0.1
localhost
::1
## localnet (local.example.net)
192.168.1.0/24
fe80::/10
local.example.net

/etc/postfix/dkim/signing.dat

# "pattern" "%selector%._domainkey.%domain%
example.net example._domainkey.example.net
example.com example._domainkey.example.com
exemple.fr  example._domainkey.exemple.fr

notes:

/etc/postfix/dkim/keys.dat

#format:
# selector._domainkey.domain domain:selector:/path/to/private/key
example._domainkey.example.net example.net:example:/etc/postfix/dkim/example.private
example._domainkey.example.com example.com:example:/etc/postfix/dkim/example.private
example._domainkey.exemple.fr  exemple.fr:example:/etc/postfix/dkim/example.private

Clés

On génère la clé privée:

openssl genrsa -out /etc/postfix/dkim/example.private 2048

note: On peut se limiter à 1024, mais ça n’est pas recommandé.

On extrait la clé publique:

openssl rsa -inform PEM -outform PEM -in /etc/postfix/dkim/example.private -out /etc/postfix/dkim/example.txt -pubout

On la formatte pour l’enregistrement DNS:

grep -ve "BEGIN PUBLIC KEY" -ve "END PUBLIC KEY" -ve '^\\s*$' /etc/postfix/dkim/example.txt | base64

Pour cette clé publique:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp/ugSjDXVPt9CnwGhtty
b3wG/uJW/Roi3D/woYrHBspi/ToYS3Su4KsNx44FS01AcOHwPkT3jBPcyjPc63rk
1lAskDSFoShZL8sTT5NB9a8NoA++vObNEGWSbqLRdgQ1KexEoC/90pSeBb9L2YDB
NKlyQYTq0ePDfPleTuotD0JFxyEHxXM+9oxa0FtbaAhJhqi9rgH0+PDgfJnPkKhS
Og6O1nI2cQm1zQmg+hoCW0s7j973uSIpyNhfXxfBIF2/8ff/enBCFAQzfZK8jiUx
KDOLmW2XwVGFGrQIAuuCZgX4O+r8e4WyVRYQBnlUaffrU+PpO7jVRmH25SLox1aV
gQIDAQAB
-----END PUBLIC KEY-----

ça donne:

TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFwL3VnU2pEWFZQdDlDbndHaHR0eQpiM3dHL3VKVy9Sb2kzRC93b1lySEJzcGkvVG9ZUzNTdTRLc054NDRGUzAxQWNPSHdQa1QzakJQY3lqUGM2M3JrCjFsQXNrRFNGb1NoWkw4c1RUNU5COWE4Tm9BKyt2T2JORUdXU2JxTFJkZ1ExS2V4RW9DLzkwcFNlQmI5TDJZREIKTktseVFZVHEwZVBEZlBsZVR1b3REMEpGeHlFSHhYTSs5b3hhMEZ0YmFBaEpocWk5cmdIMCtQRGdmSm5Qa0toUwpPZzZPMW5JMmNRbTF6UW1nK2hvQ1cwczdqOTczdVNJcHlOaGZYeGZCSUYyLzhmZi9lbkJDRkFRemZaSzhqaVV4CktET0xtVzJYd1ZHRkdyUUlBdXVDWmdYNE8rcjhlNFd5VlJZUUJubFVhZmZyVStQcE83alZSbUgyNVNMb3gxYVYKZ1FJREFRQUIK

DNS

enregistrement TXT

example._domainkey.example.net    IN    TXT    "k=rsa; t=s; p=cléPublique"
example._domainkey.example.com    IN    TXT    "k=rsa; t=s; p=cléPublique"
example._domainkey.exemple.fr     IN    TXT    "k=rsa; t=s; p=cléPublique"

notes:

Postfix

main.cf

En fin de fichier, on ajoute:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

note: Cette partie ne permet d’avoir que la vérification des éventuelles signatures des messages reçus

master.cf

Si on veut que les messages sortant soient bien signés:

submission inet n       -       -       -       -       smtpd
    […votre bazar habituel…]
    -o smtpd_milters=unix:/var/run/opendkim/opendkim.sock
smtps     inet  n       -       -       -       -       smtpd
    […votre bazar habituel…]
    -o smtpd_milters=unix:/var/run/opendkim/opendkim.sock

DMARC

Installation d’opendmarc

Pour ceux qui tournent en Debian stable, il est disponible dans les backports, il faut donc au préalable:

Ajouter la source qui va bien dans apt (/etc/apt/sources.list.d/deb_bpo.list):

deb http://ftp.fr.debian.org/debian/ wheezy-backports main contrib non-free

Ajouter le pining qui va bien pour ne pas installer par défaut un package backporté plutôt qu’un officiel (/etc/apt/preferences.d/pining):

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=wheezy-backports
Pin-Priority: 1

Package: *
Pin: release a=testing
Pin-Priority: -10

Package: *
Pin: release a=experimental
Pin-Priority: -10

Package: *
Pin: release a=oldstable
Pin-Priority: -10

Configuration d’opendmarc

/etc/default/opendmarc

SOCKET="local:/var/spool/postfix/var/run/opendmarc/opendmarc.sock"

note: Comme pour opendkim ou saslauthd, on met la socket dans le chroot de postfix:

mkdir /var/spool/postfix/var/run/opendmarc/
chown opendmarc:opendmarc /var/spool/postfix/var/run/opendmarc/
adduser postfix opendmarc

/etc/opendmarc.conf

AuthservID HOSTNAME
PidFile /var/run/opendmarc.pid
RejectFailures false
Syslog true
SyslogFacility mail
TrustedAuthservIDs HOSTNAME
UMask 0002
UserID opendmarc:opendmarc
IgnoreHosts /etc/postfix/dkim/trusted.dat
AuthservIDWithJobID true

notes:

Configuration de postfix

postfix/main.cf

Il suffit de modifier les lignes smtpd_milters et non_smtpd_milters, en ajoutant à la fin le chemin vers la socket d’opendmarc (chemin relatif au chroot de postfix)

smtpd_milters = unix:/var/run/opendkim/opendkim.sock,unix:/var/run/opendmarc/opendmarc.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock,unix:/var/run/opendmarc/opendmarc.sock

DNS

Enregistrements TXT comme suit:

_dmarc.example.net IN TXT "v=DMARC1; rf=afrf; p=none; rua=mailto:postmaster@example.net"
_dmarc.example.com IN TXT "v=DMARC1; rf=afrf; p=none; rua=mailto:postmaster@example.com"
_dmarc.exemple.fr  IN TXT "v=DMARC1; rf=afrf; p=none; rua=mailto:postmaster@exemple.fr"

note:

Docs:

Exemple:

Quand tout marche bien, on trouve ce genre de choses:

Jan 13 12:47:29 MX postfix/smtpd[3255]: 2557039028: client=mail-lb0-x230.google.com[2a00:1450:4010:c04::230]
Jan 13 12:47:29 MX postfix/cleanup[2864]: 2557039028: message-id=
Jan 13 12:47:29 MX opendkim[61062]: 2557039028: mail-lb0-x230.google.com [2a00:1450:4010:c04::230] not internal
Jan 13 12:47:29 MX opendkim[61062]: 2557039028: not authenticated
Jan 13 12:47:29 MX opendmarc[2585]: 2557039028: gmail.com pass
Jan 13 15:13:06 MX postfix/smtpd[19051]: 8E86D39028: client=somehost.somedomain.net[x.y.z.t]
Jan 13 15:13:06 MX postfix/cleanup[19046]: 8E86D39028: message-id=
Jan 13 15:13:06 MX opendkim[61062]: 8E86D39028: somehost.somedomain.net[x.y.z.t] not internal
Jan 13 15:13:06 MX opendkim[61062]: 8E86D39028: not authenticated
Jan 13 15:13:06 MX opendkim[61062]: 8E86D39028: no signature data
Jan 13 15:13:06 MX opendmarc[2585]: 8E86D39028: somedomain.net none

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

Articles similaires

genma : Mozilla, FirefoxOS et Politique de confidentialité

mardi 13 janvier 2015 à 09:00

Dans mon billet, je FirefoxOS Localisation, Verrouillage, Effacer à distance, je parlais du service qu'offre Mozilla et j'évoquais le fait que je creuserai Les conditions d'utilisation du service. C'est chose fait et voici un petit billet de bilan ;

Firefox Cloud Services Privacy Notice

En cherchant la politique de Mozilla quand à l'usage des données personnelles, je suis arrivé sur cette page : Firefox Cloud Services Privacy Notice

Avec un paragraphe sur le service qui nous concerne :

Find My Device : If you enable Find My Device, we receive the approximate location of your device only when you sign into your Firefox Account and specifically request us to locate a connected device. While signed in, you can see your device's last known locations on a map. We regularly delete these locations and will not collect further locations until you request us to.

Ce que je traduirais par : Find My Device : si vous avez activé la fonctionnalité Find My Device, nous (Mozilla) recevons la localisation approximative de votre appareil uniquement lorsque vous vous connectez à votre compte Firefox et vous nous demandez explicitement de localiser votre appareil connecté. Une fois connecté, vous pouvez voir la dernière localisation connu de votre appareil connecté sur une carte. Nous effaçons régulièrement ces localisations et nous ne collectons pas d'autres localisations tant que vous ne nous le demandez pas.

Il n'y a pas plus d'information, cette page renvoyant vers les Mozilla Privacy Policy, en français.

Politique de confidentialité de Mozilla

Est donc disponible en français la Politique de confidentialité de Mozilla. J'ai lu le texte en entier, ce que je vous invite également à faire. Le texte est lisible et simple, c'est loin d'être du jargon juridique. Le tout tient en deux pages format A4.

Mozilla est donc susceptible de conserver et d'exploiter des données personnelles qu'on est susceptible de lui fournir, selon les conditions d'utilisation/autorisations qu'on lui accorde. Rien d'exceptionnel, rien d'anormal. On utilise Firefox, on a un compte Firefox. Mozilla connait notre login et notre mot de passe, notre mail et notre adresse IP. Mozilla connait donc des informations standards et nécessaires à l'usage de son service. Et l'exploitation qui en est faite et classique.

Analyses plus poussées

Le certificat Https sur le site, testé sur le site SSLLabs.com obtient un beau A vert, ce qui inspire plus que confiance dans le fait de se connecter sur le site (On prendra les précautions de rigueur : phrase de passe changée régulièrement, vérification que l'on est sur le bon site/bonne url etc).

Présence de tracker sur le site ? Ghostery ne signale pas de tracker sur la page https://find.firefox.com/ (pas de Google Analytic par exemple) et les pages que l'on consulte une fois connectée.

Si l'on regarde le code source des pages, on voit qu'il y a des références à https://api.tiles.mapbox.com/mapbox.js/ pour l'appel dun fichier CSS et d'un script javascript. On a donc une référence à un site extérieur...

Si on creuse, on voit que le site https://www.mapbox.com/developers/#javascript propose Mapbox.js Develop mobile and web applications with Mapbox.js, our open-source JavaScript library.

N'ayant pas réussi à faire afficher ma localisation (ni de carte), je ne saurai dire si les images des cartes proviennent du site www.mapbox.com (probablement que oui). Le fait qu'on demande une certaine zone géographique à ce site (pour le faire afficher par une IP donné) est d'une certaine façon une information personnelle... A voir si c'est gênant et si le site a cette information. A approfondir quand le service marchera pour moi.

Pour aller encore plus loin, il faudrait avoir le code source du site find.firefox.com, voir les appels des API etc... Mais on ne s'en sort plus ;-)

En conclusion

Si l'on utilise ce service, on doit faire "confiance à Mozilla". Rien que pour le code source de l'OS (qui est ouvert, que l'on peut compiler soi-même, mais personnellement j'utilise des Roms communautaires) par exemple. On pourra donc leur faire confiance sur le choix de Mapbox.com (ce n'est GoogleMap, c'est déjà ça...). A chacun de trouver le bon compromis entre le choix de l'usage de ce service et des fonctionnalités apportées et le fait que Mozilla sache où l'on est. Dans le cas où c'est un point gênant voir bloquant, on est dans une situation où on n'a pas de téléphone sur soi (voir pas de téléphone du tout). Personnellement, entre le fait que quelqu'un puisse avoir accès à des données personnelles s'il me vole mon téléphone et le fait que Mozilla puisse savoir où je suis, je choisis la solution deux : j'ai activé et je conserve la fonctionnalité qui me permettra de réinitialiser mon téléphone si j'en avais la nécessité.

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

Nizar Kerkeni : Richard Stallman en Tunisie

lundi 12 janvier 2015 à 16:42

Richard Stallman

Richard Stallman, aka rms, sera parmi nous en Tunisie pour un nouveau cycle de conférences :

  1. À Sousse le 14 février 2015 : “Copyright vs Community”
  2. À Jendouba le 16 février 2015 : “Le logiciel libre et l’éducation”
  3. À Tunis le 17 février 2015 : “Copyrights vs. Community”

Une nouvelle occasion pour la communauté du Libre en Tunisie pour rencontrer le fondateur et président de la Free Software Foundation.

Tweet

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

alterlibriste : Gérer des problèmes de dépendances en .deb

lundi 12 janvier 2015 à 16:26

Un petit billet technique pour régler (une partie) des problèmes de dépendances qui peuvent parfois bloquer l’installation de certains paquets ou simplement vous laisse des paquets non mis à jour lors des upgrade ou mises à jour automatiques sur une Debian (mais aussi sur la plupart des dérivées).
Le but étant d’être toujours ainsi après un apt-get install, upgrade ou autoremove :
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Avant toute chose, il faut d’abord s’assurer que les dépôts sont au carré car il peut y avoir des solutions inextricables mais je pars du principe que votre sources.list est relativement propre. Je pars également du principe que ceux qui ont taté à l’apt-pinning l’ont fait dans les règles de l’art sous peine de se retrouver rapidement avec un système bancal. Pour revenir à un sources.list au carré, je vous conseille ce site qui permet de générer ce qu’il faut selon vos besoins. Une fois cela fait ne pas oublier de faire un apt-get autoclean puis update pour recharger la liste des paquets disponibles avec cette nouvelle configuration.

Mais même sans avoir voulu chevaucher les dépôts les plus hasardeux, une simple utilisation du dépôt backports peut amener un cas comme celui-ci :
sudo apt-get install libqtwebkit4:i386

Les paquets suivants contiennent des dépendances non satisfaites : 
libqtwebkit4:i386 : Dépend: libgstreamer-plugins-base0.10-0:i386 (>= 0.10.31) mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».

En cherchant un peu, on trouve des conseils pas toujours recommandés comme ici
Certes, cela peut régler le problème s’il ne s’agit que d’un paquet bancal mais si des tas de paquets en dépendent, vous risquez de vous retrouver sans certains paquets essentiels comme Gnome, ce qui peut être un peu embêtant. En cherchant un peu plus, on trouve sur les forums des conseils parfois plus avisés et c’est ceux que je vais relayer dans ce billet.

Utiliser la commande aptitude -s (simulation donc aucun risque) afin d’avoir plus de détail sur le paquet qui coince :

aptitude install -s libqtwebkit4:i386

Ce qui nous donne :

Les paquets suivants ont des dépendances non satisfaites : 
liborc-0.4-0 : Casse: liborc-0.4-0:i386 (!= 1:0.4.19-1~bpo70+1) mais 1:0.4.16-2 doit être installé.
liborc-0.4-0:i386 : Casse: liborc-0.4-0 (!= 1:0.4.16-2) mais 1:0.4.19-1~bpo70+1 est installé.
Les actions suivantes permettront de résoudre ces dépendances :
Supprimer les paquets suivants : 1) audacity 2) brasero 3) calibre 4) cheese 5) ekiga 6) empathy 7) evolution 8) evolution-data-server 9) evolution-plugins 10) ffmpeg 11) gcompris 12) gdm3 13) gimp 14) gir1.2-clutter-gst-1.0 15) gir1.2-goa-1.0 16) gir1.2-javascriptcoregtk-3.0 17) gir1.2-rb-3.0 18) gir1.2-totem-1.0 19) gir1.2-webkit-3.0 20) gnome

Bon j’ai arrêté là la liste des réjouissances mais vous comprenez bien qu’il y a du monde qui dépend du paquet qui coince (ici liborc-0.4-0) et qu’une suppression sauvage aurait fait des dégâts lors d’un autoremove et je me serais alors retrouvé en ligne de commande avec tous mon environnement de bureau et ses outils désinstallés.

Mais on a déjà circonscrit le problème et à partir d’ici, on peut aller dans synaptic par exemple pour forcer une autre version du paquet ou continuer en ligne de commande comme je vais vous montrer. Pour savoir quels sont les différentes versions du paquet qui pose problème, on va utiliser la commande apt-cache policy :

apt-cache policy liborc-0.4-0

liborc-0.4-0: 
Installé : 1:0.4.19-1~bpo70+1
Candidat : 1:0.4.19-1~bpo70+1
Table de version :
*** 1:0.4.19-1~bpo70+1 0
100 http://ftp.debian.org/debian/ wheezy-backports/main amd64 Packages
100 /var/lib/dpkg/status
1:0.4.16-2 0
500 http://ftp.debian.org/debian/ wheezy/main amd64 Packages

Ici, on voit que c’est la version backports qui est installée car elle est prioritaire mais que si je veux installer le paquet du début, il va falloir que je repasse à la version stable par la commande apt-get install précisant la version :

sudo apt-get install liborc-0.4-0=1:0.4.16-2 -V

Forcément, si des paquets dépendent de la version backports, ils vont également être supprimés mais la liste ne devrait pas être aussi critique que précédemment et il faudra peut-être alors les réinstaller en version stable si vous en avez besoin.

Voilà, une façon relativement propre de remettre son système d’équerre et de ne plus tourner en rond avec des problèmes de dépendances à n’en plus finir.

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