PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

https://lh5.googleusercontent.com/-xDs23ZpH7WQ/VcMTW11PBSI/AAAAAAAASXA/n5H2V1EC9kM/w881-h440-no/CLa0q-7UwAAIvxs.jpg-large.jpeg

jeudi 6 août 2015 à 10:01
L'espace... Cifiste
Trouvé via google+
Un pare feu intégré dans le câble ethernet, ils ont de l'humour chez ce fabricant xD
En même temps, c'est uen base que l'on apprend en cours: Si tu veux que ton serveur soit sécurisé à 100%, débranche la prise ethernet :-)
(Permalink)

Le lobby du tabac sort gagnant du tax shift selon la Fondation contre le cancer

jeudi 6 août 2015 à 09:46
alexis j : : web
Grâce au tax shift tel que prévu par notre gouvernement, 261 million d'euro arriveront dans la poche des cigarettiers plutôt que dans les caisses de l'état... Cherchez l'erreur.

"Luk Joossens, expert pour la Fondation contre le cancer, s’étonne : « Le gouvernement aurait pu procéder par accises spécifiques et empocher tout le supplément qui sera payé par les fumeurs. (…) La déclaration de gouvernement prévoyait d’ailleurs d’utiliser les accises spécifiques, nous ne comprenons pas pourquoi il y a renoncé. » Et l’expert de conclure : « Le lobby du tabac ressort gagnant du tax shift. Nous n’aurions pas pu imaginer pire scénario. »"
(Permalink)

La caféine contres les limaces

jeudi 6 août 2015 à 09:27
ZeShaarli
à tenter l'année prochaine !
(Permalink)

Powershell Scripts | Programmation et Scripting sous Powershell

jeudi 6 août 2015 à 09:17
Share-Link
(Permalink)

Releases · 10se1ucgo/DisableWinTracking

jeudi 6 août 2015 à 08:33
Liens d'un Parigot-Manchot

Un lgiciel Ouvert pour désactiver l'espionnage dans Windows 10.
Semble plus clean que celui présenté chez Korben !

Trouvé via le flux de Nikopik qui n'a pas publié le billet...


(Permalink)

Au Brésil, la violence policière vire au “nettoyage social”

jeudi 6 août 2015 à 08:01
@Pas de pierre, pas de palais... Pas de palais... Pas de palais !
(Permalink)

Face Recognition by Thermal Imaging - Schneier on Security

jeudi 6 août 2015 à 07:52
@jeekajoo shaarlinks
"""
New research can identify a person by reading their thermal signature in complete darkness and then matching it with ordinary photographs.
"""

Je suppose que pour brouiller l'emprunte on peut utiliser un accessoire proche de la peau et qui fait augmenter la température de la surface recouverte. Maintenant quid des masques qui recouvrent entièrement le visage?

Cette news me fait penser à:
http://graphism.fr/mais-qui-est-lhomme-la-pancarte/
http://mods-n-hacks.wonderhowto.com/how-to/make-infrared-mask-hide-your-face-from-cameras-201280/
(Permalink)

How to generate a string made of repetitions of any character / substring ?

jeudi 6 août 2015 à 07:38
Httqm's Links
For the sake of knowledge, just because I was wondering how to do this in Bash. The Perl and Python solutions are now well-known, and easily available via search engines.
(Permalink)

Charles Burns et Sammy Harkham répondent aux étudiants

jeudi 6 août 2015 à 07:36
@Pas de pierre, pas de palais... Pas de palais... Pas de palais !
ChiFouMi fait pas les choses à moitié !
Charles Burns tonton, quand même !
(Permalink)

• Sonerezh - Premières impressions

jeudi 6 août 2015 à 07:30
Shaarli geek de geekz0ne.fr
http://leeloo.me:1000
login : demo@demo.demo
password : demodemo

Je vous demanderais de ne pas modifier le login ou le mot de passe et ce pour évité d'emmerder vos petits camarades qui aimerais peut-être eux aussi tester... D'avance merci.

--Installation--

L'installation est assez simple et la documentation assez fournit, bien qu'on aurait aimé (particulièrement moi) avoir plus de détails sur certains points. Par exemple pour le package Apache/MySQL/PHP on installe tout ça :

apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-gd

On aurait bien aimé savoir qu'il faut faire la commande suivante sur le dossier contenant la musique (ça peut paraitre évident comme ça, mais pour un Linuxien tout nouveau ça coule pas forcément de source) :

cd /home/<nom_du_compte>
sudo chown -R www-data: Musique/ && sudo chmod -R 775 Musique/

(Donc là on part du principe que vous avez foutu votre musique dans le dossier Musique situé dans votre dossier personnel.)

Bref, heureusement que j'ai eu de l'aide d'oros ;)

--Musique--

J'ai d'abord fait un test avec une dizaine de musiques, c'est là que je me suis rendu compte qu'il fallait faire la commande ci-dessus sinon Sonerezh n'a pas l'accès récursif dans les dossiers et du coup ça ne sert pas à grand-chose.
Une fois que c'était corrigé, j'ai mis toute ma musique (130Go - 19.000 titres). Sans compter le temps de copie, la mise à jour de la base de données sous Sonerezh n'a pas été très longue : une demi heure / trois quarts d'heure environ pour tout assimiler.
La base de données assez conséquente n'est pas un souci pour la fluidité de navigation à l'intérieur de la musicothèque, le chargement n'est pas long.

--Fonctionnalités--

Je vous le dis tout de suite : ce n'est pas une usine à gaz, l'application ne fait pas 40.000 trucs, elle ne gère pas les tags ID3, elle ne permet pas de télécharger la musique, elle ne permet pas le partage de musique sans création de comptes, elle ne permet pas plein d'autres trucs... Mais ce qu'elle permet de faire, elle le fait bien !
• Sonerezh permet l'affichage de la musique sous 3 vues différentes (une que je qualifierais d'un peu en vrac, une autre vue par artistes et une autre par albums)
• Sonerezh permet de rechercher dans la musicothèque
• On peut créer des playlists
• On à une file d'attente ou on peut mettre les titres qu'on veut lire après la piste en cours, c'est un peu une liste de lecture, mais qui se vide tout le temps
• Dans le même esprit pour la vue par album on à une lecture complète d'un album avant que la musique s'arrête. Sur la vue artistes la lecture s'arrête dès qu'elle arrive à la fin d'une piste, il faut ajouter les pistes dans la file d'attente pour une lecture continue
• On à un bouton pour la lecture en boucle et aléatoire et un bouton pour afficher ou masquer la file d'attente
• On peut créer des utilisateurs avec seulement 3 info : une adresse mail (qui peut-être bidon), un mot de passe et un statut ("listener" ou "administrator")
• Pour le chargement de la musicothèque, ça se fait à l'aide d'un scroll infinie
• Dans les paramètres on peut changer le dossier où se trouve la musique, on peut décider de convertir automatiquement en mp3 les pistes en OGG, WMA, FLAC et AAC (qui ne sont pas lu par le navigateur) et on peut également faire un reset complet de la BDD, vider le cache ou la mettre à jour.

Et voilà, "c'est tout", mais ça marche bien.
Pour les versions suivantes (rappelons que c'est la première version) j'aimerais bien un petit bouton download pour les albums et les pistes. J'aimerais bien qu'on puisse ajouter autant de dossiers musicaux que l'on souhaite (parce que concrètement à terme j'aurais plusieurs disques durs avec de la musique dessus donc forcément plusieurs chemins à spécifiés)
(Permalink)

BIRD/Quagga : différences et cas d'usage particuliers

jeudi 6 août 2015 à 02:06
GuiGui's Show - Liens
Quagga et BIRD sont tous deux d'excellentes suites de logiciels de routage (création automatique des tables de routage, utilisées pour transférer les paquets IP).

Les deux sont très bons pour faire des tests et des maquettes mais en production (route server, routeur d'un FAI associatif ou autre petite structure,...), certaines contraintes apparaissent. Actuellement, ma préférence va à BIRD (pour les raisons que je vais exposer ci-dessous) mais sur un même réseau, même associatif, on peut vouloir de la diversité du code pour éviter les embrouilles (exemple : attribut 99 - https://labs.ripe.net/Members/erik/ripe-ncc-and-duke-university-bgp-experiment/). Mais la diversité a un coût en maintenance : il faut maintenir deux fichiers de conf', dans deux syntaxes différentes et trouver les équivalences entre les syntaxes.


Bien que j'ai utilisé BIRD et Quagga dans différents contextes (RPKI+ROA (http://www.guiguishow.info/2013/09/18/securiser-le-routage-sur-internet/), OSPF (http://www.guiguishow.info/2013/07/27/routeurs-logiciels-et-ospf/), route reflector BGP (http://www.guiguishow.info/2013/09/15/mettre-en-place-un-route-reflector-bgp-avec-quagga-pour-samuser/)), je parlerai uniquement de BGP dans la suite de ce shaarli.


Différences entre BIRD et Quagga :
   * Protocoles de routage supportés. BIRD : BGP, OSPF, BFD, RIP, static, RA. Quagga : BGP, OSPF, ISIS, RIP, static et, en dehors du package : OLSR et LDP.

   * De par sa popularité, c'est souvent dans Quagga que sont développés des fonctionnalités/protocoles (exemples : Babel fût un temps ; RPKI-RTR ; Graceful Router Updates for Link-State Protocols,...)

   * La modularité en démons (zebra, ospfd, bgpd,...) de Quagga semble mieux comprise que la modularité en protocoles de BIRD (kernel, ospf, bgp,...) alors qu'il s'agit de la même chose. Notons que l'un comme l'autre peut être compilé avec le support d'un nombre restreint de protocoles de routage (pour les adeptes du code minimal sur un router ;) ).

   * BIRD est à la fois plus brut de fonderie (la syntaxe de la configuration, les filtres, bref tout ressemble à un langage de programmation avec sa syntaxe propre) mais est aussi plus simple, plus concis et plus compréhensible que l'enchaînement des commandes IOS que l'on retrouve dans Quagga. Ça se vérifie particulièrement pour l'usage de sessions BGP over IPv6. BIRD : fichier de configuration séparé, CLI séparée,... Quagga : il faut penser à virer le support IPv4 over IPv6 (no neighbor 2001:db8::1 activate) pour ne pas avoir de préfixes IPv4 qui circulent sur la session IPv6 puis à activer la capability Multiprotocol Extensions pour IPv6 (address-family ipv6 + neighbor 2001:db8::1 activate) puis bien positionner les filtres et compagnie dans le bloc de la capability. En ce sens, Quagga est plus brut de fonderie, respecte l'aspect extensions de BGP et le format des paquets alors que BIRD offre une abstraction : je veux faire de l'échange de préfixes IPv6 sur une session BGP over IPv6, point, active les extensions kiVontBien tout seul.

   * BIRD supporte les tables de routage multiples (une par instance du protocole « kernel », directive « kernel table <table_ID> »). Quagga ne supporte pas les tables de routage multiples, seulement le changement de la table utilisée (directive « table » dans Zebra).

   * BIRD permet de spécifier l'adresse source à indiquer lors de l'export des routes vers le kernel. Cela permet de faire en sorte que le routeur lui-même (ça ne concerne pas les paquets qui transit par le routeur mais dont le routeur n'est pas l'émetteur) utilise cette adresse IP lorsqu'il sortira un paquet vers une destination donnée en utilisant la route injectée par BIRD. Cela permet donc de jouer sur l'algorithme de sélection de l'adresse source à utiliser. Puisque certains prestataires (transitaires IP) bloquent le trafic sur les IPs d'interconnexion, cette directive permet de spécifier une IP de votre propre allocation et permet donc au routeur d'émettre avec cette IP plutôt qu'avec l'IP d'interconnexion. Il s'agit de la directive « krt_prefsrc = <IP_à_utiliser> » à spécifier dans un export filter dans le protocole « kernel » sous BIRD. Sous Quagga, l'équivalent est d'utiliser, dans Zebra, la directive « ip protocol bgp route-map <nom_routemap> » ainsi qu'une route-map avec la directive « set src <IP_à_utiliser> ». Cette directive n'est pas disponible en IPv6 sous Quagga... Voir ci-desous pour un contournement.


Quelques petits trucs à connaître :
   * Lors de l'établissement d'une session iBGP directe (sans routeur intermédiaire), il faut ajouter la directive ... « direct » dans la configuration du protocole bgp de BIRD. Dans le cas contraire, BIRD s'attend à devoir utiliser une route existante pour transférer les paquets au next-hop indiqué dans les annonces BGP et, n'en trouvant pas, indique que toutes les routes échangées sont « unreachable ». Ce point ne concerne pas Quagga ;

   * Si la session BGP over IPv6 est montée sur un adressage link-local (fe80::/10), il faut spécifier l'interface : « neighbor fe80::1%eth0 as 65000 » pour BIRD, «
neighbor fe80::1%eth0 interface eth0 » pour Quagga. Les adresses link-local IPv4 (169.254.0.0/16) ne sont pas concernées car pas considérées comme de véritables link-local (regardez un output de ip a s, le scope sera bien global ;) ) ;

   * Pour reproduire le comportement de krt_prefsrc en IPv6 avec Quagga, il faut ruser : il faut utiliser une interface dummy avec l'IP globale à utiliser en « scope global » et indiquer un scope link pour toutes les autres interfaces réseau, même celles adressées avec des IPs globales. Ainsi, pour sortir, le noyau sera forcément obligé d'utiliser la seule IP dont la portée est globale, c'est-à-dire celle de la dummy. « ip a a <IP>/<netmask scope link dev eth0 » ou « scope link » dans /etc/network/interfaces pour rendre ça persistant. :)

   * Il est d'usage de laisser les démons de routage créer une route de blackhole correspondante à l'allocation qui sera annoncée en BGP. Cela permet au routeur de se débarrasser au plus tôt d'un paquet pour lequel il ne connaît aucune route pour joindre la destination (cas d'une IP ou d'un sous réseau, que vous n'avez pas encore attribué). Cela permet également que ces paquets ne soient pas renvoyés sur l'interface de transit si vous n'avez pas filtré votre allocation en input de votre BGP. ;)

       Sur BIRD, en IPv4, comme en IPv6 : « route <allocation> unreachable; » dans un protocole static.

       Sous Quagga :
           En IPv4 : « ip route <allocation> <netmask> Null0 » dans Zebra.

           En IPv6, la cible blackhole (traduction de Null0 sous Linux) n'existe pas dans les vieux kernel (3.2). Or, Quagga souhaite rester compatible. Il faut donc ruser et utiliser la cible lo + reject : « ipv6 route <allocation> ::1 reject ».

       Pour info, dans Linux : reject = unreachable = on rejette le paquet en envoyer un message ICMP à la source présumée du paquet ; drop = blackhole = on supprime le paquet sans rien dire.


   * Soit l'interface tap d'une machine virtuelle configuée avec « ip a a 198.18.0.1/24 dev tap1 » et « ip r a 192.0.2.0/24 via 198.18.0.2 dev tap1 ». On sait que, lors de la destruction d'une interface, Linux nettoie les routes associées à cette interface. Que se passe-t-il à l'arrêt de la VM (ou sa migration à chaud avec Ganeti) ? BIRD : BIRD prend en compte la disparition de l'interface (protocole device) et fait aussi le ménage dans ses routes importées. Quagga : Quagga détecte bien la disparition de l'interface mais garde la route ... avec une interface inconnue (exemple : « 149.11.26.41, via unknown ») et continue à l'annoncer en iBGP ou en OSPF...
(Permalink)

The F*cking Tube Strike

jeudi 6 août 2015 à 01:46
gathered
There's a fucking tube strike today in London.
Love the english response :)

"Always look to the bright side of life"
(Permalink)

Tutorial - Apache Storm

mercredi 5 août 2015 à 23:22
GuiGui's Show - Liens
Storm est un framework Java (comme tous les frameworks big data, n'en déplaise aux détracteurs de Java :D ) permettant de créer des clusters de traitement de messages.

Ça se compose d'un Nimbus (ordonnanceur de tâches sur le cluster) et de supervisors (membres du cluster) qui lancent des workers, c'est à dire des unités de travail (un processus quoi :- ) qui eux-mêmes exécutent des tâches sur les messages reçus, à l'infini. La communication entre un Nimbus et les supervisors se fait à travers un Zookeeper.

Au niveau logique, Storm fait du stream processing : on a un enchaînement d'unités de travail : des spouts et des bolts. Les spouts sont les points d'entrée, les sources d'informations, ceux qui lisent les messages à traiter depuis un Kafka, un fichier texte ou autre. Les spouts exécutent des tâches, de préférence simples. On enchaîne des spouts et des bolts pour séparer les différentes actions (lecture du message et parse, enrichissement, calcul statistique,...). C'est cet enchaînement qui forme une topologie Storm.  La communication entre ces composants (spouts, bolts) se fait sous forme de tuple. Il est possible de demander à Storm de réaliser des actions sur ces tuples comme des jointures, des agrégations, des filtres. Exemple : vous voulez que tous les messages ayant une même caractéristique (exemple : le champ "toto" = 42 ) soient traités par un même bolt : il suffit de réaliser une agrégation sur cette caractéristique.

Une topologie Storm, en définitive, c'est un gros jar qui contient votre code et toutes les lib dont il a besoin. Ça se charge sur le cluster à partir du Nimbus qui s'occupe du reste.

La beauté de Storm, c'est la montée en charge et le passage à l'échelle dans un framework qui mâche le travail du développeur.
(Permalink)

Popcorn Time serait vulnérable aux tentatives de Hack

mercredi 5 août 2015 à 23:11
Strak.ch | Actu et liens en vrac
Prudence donc.
(Permalink)

Kafka | Blog Xebia France

mercredi 5 août 2015 à 23:04
GuiGui's Show - Liens
Ce que je retiens de Kafka : mécanisme de transmission de messages / queue , réparti, conserve l'ordre des messages, l'unité pour le passage à l'échelle est la partition.

Pour les cas d'utilisation possibles, voir : https://kafka.apache.org/documentation.html#uses. Je m'en sers pour injecter et conserver un flux Netflow (provenant d'un gros réseau), ce qui me permet d'alimenter un cluster Storm qui réalise un traitement sur ce Netflow (enrichissement + production de stats).

Notons que Kafka utilise Zookeeper pour stocker les membres du cluster, les partitions ainsi que les derniers offsets consommés par les clients dans chaque topic. Notons qu'un producteur n'a pas besoin d'aller chercher des infos dans Zookeeper : il contacte simplement un broker qui, via le protocole Kafka, lui indiquera les topics, les partitions et les replicats. Un consommateur a forcément besoin de s'enregistrer auprès de Zookeeper (dernier offset consommé). Pour ceux que ça intéresse : Zookeeper repose en partie sur les algorithmes de Lamport. ;)

Notons que si l'on a besoin d'avoir un cluster mi-privé (un cluster dans lesquels les membres doivent se parler via un réseau cloisonné adressé en RFC1918 mais où des clients externes doivent aussi joindre les Kafka, il y a une directive de configuration pour cela, « advertised.host.name » pour s'enregistrer différemment dans Zookeeper et fournir les bons noms dans les métas-données échangés avec un client. Sauf que ce n'est pas terriblement efficace et que je préfère traiter le problème via un mécanisme de nommage (DNS ou /etc/hosts) qui est fait pour ça. Voir : http://shaarli.guiguishow.info/?PazcBw

Comme dans tous les systèmes répartis, quand ça marche, ça juste marche bien et ça dépote mais quand ça chie, le debug est vraiment galère : identifier la partition qui pose problème dans les logs qui savoir quel logiciel produit et consomme dans cette partition puis... D'autant plus que les messages d'erreur de Kafka sont loin d'être explicites. Exemples :
   * Dans les logs d'un producteur : « Could not create kafka client : kafka server: Replica infomation not available, one or more brokers are down. » -> la machine leader pour une partition doit être en rade. Il faut arrêter les consommateurs Kafka, reboot la machine kafka en rade et fsck les partitions utilisées par Kafka. Refaire partir kafka. Les producteur devraient remonter.

   * Dans les logs d'un broker (server.log.<date>), Kafka se plaint d'index invalides lors d'une reprise après incident. Il faut stopper le broker et supprimer les fichiers d'index invalides dans le dossier data de Kafka (mv /kafka/<ID_partition>/*/*.index ~/backup/)

   * Dans les logs d'un broker (server.log.<date>), Kafka se plaint que les index demandés sont trop vieux : vos consommateurs sont à la traîne. Soit il y a un problème de leur côté, soit il faut augmenter la durée de conservation des données dans Kafka.

   * Le message le plus incompréhensible est celui d'un Kafka qui refuse de démarrer, prétextant un fichier d'index invalide alors qu'il n'y a aucun fichier dans le dossier de données ! Il faut vérifier à ce qu'il n'y ait aucun fichier caché, en fait. Cela arrive quand vous monter des partitions fraîchement créées dans le dossier de données (cas d'usage : plusieurs partitions sur plusieurs SSD dans l'optique de répartir la charge).
(Permalink)

zone de confort : osez en sortir - Youtube

mercredi 5 août 2015 à 22:46
Shaarli | Orangina Rouge
Sacrément intéressant cette vidéo !!!

via http://coreight.com/content/zone-de-confort-osez-en-sortir
via http://coreight.com/content/qualites-ingenieur-avec-ou-sans-diplome
via http://shaarli.pandouillaroux.fr/?Epy5Lw
via https://www.shaarli.fr/
(Permalink)

Windows 10 - Comment désinstaller Candy Crush (ou d'autres applications pré-installées) - Korben

mercredi 5 août 2015 à 22:26
le hollandais volant
Mince, Windows se met donc réellement au gestionnaire de paquets accessible en ligne de commandes…

Avec en plus la gratuité et les bureaux virtuels, on se demande bien où ils sont allé chercher toutes ces idées révolutionnaires…

#grosTroll
— (permalink)

[Brico] Des hologrammes 3D grâce à votre smartphone et une boite à CD | Nokians – La parole aux fans de Nokia en France et partout ailleurs !

mercredi 5 août 2015 à 22:19
Bill2's Links
A tester
(Permalink)

High Availability with PostgreSQL and Pacemaker

mercredi 5 août 2015 à 22:03
GuiGui's Show - Liens
Corosync et Pacemaker font partie de la pile logicielle Linux-HA et remplacent Heartbeat. Le premier permet la mise en cluster, la circulation des messages et la synchronisation entre les différentes machines du cluster. Le deuxième est un gestionnaire des ressources d'un cluster : il s'occupe des services qui tournent sur le cluster (start/stop/migrate). Corosync peut fonctionner en multicast (défaut) ou en unicast (http://docs.openstack.org/high-availability-guide/content/_set_up_corosync_unicast.html). On peut bâtir des infras avec du failover vraiment automatisé (sauf en cas de split brain avec drbd, vous ne couperez pas à une intervention manuelle).
(Permalink)

RaspbianFrance : Installer WordPress sur une Raspberry Pi (avec Nginx).

mercredi 5 août 2015 à 21:26
@Pas de pierre, pas de palais... Pas de palais... Pas de palais !
Miniaturisation et accélération de son auto-hébergement avec raspi2 et nginx avec wordpress.
(Permalink)