Merci pour ces compliments. J'étais assistant à l'université durant ma thèse (chimie) et j'étudiais l'auto-assemblage de molécules dites amphiphiles (notamment des micelles).
Comme on me l'a gentiment fait remarquer, il faut lire: Attention, je déconseille très fortement d'utiliser un tel savon sur la peau !!! La phrase originale comporte une double négation. Si un modo veut bien corriger. Je sais que beaucoup de moules sont chauves mais quand même. La soude, ainsi que ma phrase, piquent les yeux!
Le savon de marseille (un fork du savon d'Alep) est préparé à partir d'huile d'olive et de soude. La réaction est appelée saponification (c'est une hydrolyse): https://fr.wikipedia.org/wiki/Savon_de_Marseille
L'huile végétale (qui contient les esters) réagit avec la soude (NaOH) pour former
* des agents tensioactifs: les ions carboxylates (R est une longue chaîne hydrophobe et le carboxylate, hydrophile, est chargé négativement)
* de la glycérine
Voir ce wiki très sympatique: http://wiki.scienceamusante.net/index.php?title=Fabrication_du_savon
Attention, je déconseille très fortement de ne PAS utiliser un tel savon sur la peau !!! Il peut subsister des traces de soude caustique (NaOH) qui sont très irritantes et peuvent causer des lésions irréversibles. En cas de projection dans les yeux, c'est la cécité assurée.
Le procédé de fabrication du savon de Marseille est contrôlé et l'utilisation ne présente pas de danger bien évidemment. Le fait d'avoir un produit solide facilite son stockage et sa conservation. Stabiliser une émulsion est bien plus compliqué.
Note: mon post a uniquement vocation de donner un complément d'information. Je n'ai rien contre la méthode "No poo" si ça marche. Je ne travaille pas pour une société active dans les cosmétiques.
But du lavage
La plupart des "crasses" dont nous voulons nous débarrasser sont hydrophobe. Elles ne sont pas miscible à l'eau (comme de l'huile) et sont donc non chargées. Les semblables dissolvent les semblables. Étant donné que la plupart d'entre-vous ne veut pas prendre de douche au chloroforme, au propanol, au perchloroéthylène, ou au benzène (c'est le principe du nettoyage à sec), il est nécessaire d'utiliser un truc pour solubiliser les impuretés dans l'eau.
C'est la raison pour laquelle il est nécessaire d'utiliser un "agent compatibilisant" qui permet de solubiliser ces impuretés dans l'eau. Ces compatibilisants sont appelées agents tensioactifs car ils modifient la tension de surface de l'eau (dans le cas qui nous intéressent, elles abaissent celle de l'eau). Ces molécules possèdent la particularité de posséder une partie hydrophile et une autre partie hydrophobe. Par exemple, le laurylsulfate de sodium possèdent une extrémité chargée (la fonction sulfate) qui est hydrophile et une longue chaîne carbonée hydrophobe. Lorsque la concentration de ces molécules est suffisante, elles s'auto-assemblent en micelles: plusieurs molécules se groupent en plaçant les chaînes hydrophobes au centre de l'assemblage en repoussant l'eau et les fêtes hydrophiles font face à l'eau. Les micelles ont la propriété de pouvoir solubiliser des impuretés hydrophobes (qui se retrouvent dans le cœur de l'objet).
Un shampoing contient un grand nombre de tensioactifs mais pas que. Il contient également des arômes, des parfums et des agents stabilisants pour le pH (voir le paragraphe suivant) etc.
L'influence du pH sur le cheveu?
Un cheveu est principalement composé de kératine . La kératine est une protéine fibreuse dont l'hydrophobicité dépend du pH. Son point iso-électrique (le pH auquel elle est neutre) est situé entre 4 et 4.5. Cela signifie, qu'à pH plus acide (< 4), la kératine se charge positivement et au dessus (pH basique), elle se charge négativement. La structure des cheveux est telle qu'à pH basique, le cheveu "s'ouvre": les écailles s'écartent les une des autres comme les pétales d'une fleur. Le cheveu est alors cassant, mat et s’emmêle facilement. Au point iso-électrique, les écailles sont serrées et le cheveu est luisant.
Le paragraphe précédent permet d'expliquer le principe d'une coloration:
1) une solution colorante basique est appliquée afin d'ouvrir le cheveu
2) le pigment s'insère dans le cheveu
3) une solution de rinçage acide permet de refermer le cheveu.
Quels paramètre affecte le shampoing?
Le pH d'un shampoing ne doit donc pas être trop basique au risque d’abîmer le cheveu. Le pH optimal est situé entre 5 et 7 afin d'ouvrir le cheveu mais pas trop. Un pH trop acide décompose le cheveu (vous pouvez dissoudre les bouchons de cheveu de la douche avec de l'esprit de sel - attention aux canalisations métalliques).
D’où vient la mousse?
La plupart des gens aiment quand le shampoing mousse. La mousse est un état dans lequel l'air (hydrophobe) est emprisonné dans des cavités composées d'eau et de tensioactif.
Or, tous les tensioactifs ne moussent pas. C'est pourquoi certains agents moussant sont ajoutés aux produits vaisselle et savon dans le but unique de mousser. La propriété moussante d'un agent tensioactif dépend principalement de la nature et de la longueur de la partie hydrophobe.
PEG-7 glyceril cocoate: un autre tensioactif appelé émulsifiant: le gel douche est une solution aqueuse mais il contient beaucoup de molécules organiques qui ne sont pas forcément solubles dans l'eau (parfums, arômes, …) Le rôle de celui-ci est de solubiliser ces additifs dans l'eau du pot. Cela permet d'éviter d'avoir deux phases dans le pot telle une mayonnaise qu'on aurait laissé trop longtemps au frigo. Note: la mayonnaise est une émulsion.
cocamidopropyl betaine: tensioactif dérivé de l'huile de noix de coco et de la diméthylaminopropylamine. Elle est utilisée dans de nombreux produits nettoyants, dont les gels douche et shampoings pour ses propriétés peu irritantes en comparaisons à d'autres agents de surface. https://fr.wikipedia.org/wiki/B%C3%A9ta%C3%AFne_de_cocamidopropyle
Styrene acrylate copolymer: Donne un aspect blanc et opaque au gel. C'est un polymère (cad une longue chaîne) inerte dans ce cas-ci.
Polyquaternium-22: un polymère cationique( chargé +). Il sert à éviter que le cheveu de se charge d'électricité statique. Note: le laurylsulfate est chargé négativement. Il est impératif de bien doser tout ça pour éviter de neutraliser le tout et de former un précipité.
Les gels douche sont très stables dans le temps, or ils résultent d'un mélange instable. Une erreur de formulation mènerait très rapidement à la formation de plusieurs phases.
Acide citrique: le même que dans le jus de citron. Il permet de refermer le cheveu et de lui donner un bel aspect.
PEG-150 Pentaerythrityl Tetrastearate: un agent tensioactif stabilisant de mousse et émulsifiant.
benzoate de sodium: un conservateur (un gel douche ne périme pas).
PEG-6 caprylic/capric glycerides: émulsifiant qui adouci la peau
Nitrate de magnésium: conditionneur capillaire (beaux cheveux facile à coiffer)
Mel extract: extrait de miel: agent hydratant (pour la peau)
magnésium aluminium silicate: il permet de contrôler la rhéologie de la solution (viscosité, anti agglomération, etc)
prunus amygdalus dulcis: agent hydratant (extrait de l'amande douce)
méthylisothiazolinone: biocide et conservateur. Il est allergénique et cytotoxique. Il est conseillé de ne plus l'utiliser. Je ne sais pas de quand date l'image de l'étiquette.
Chlorure de magnésium: contrôle de la viscosité
sorbate de potassium: un additif alimentaire (agent conservateur)
gomme xanthane: polymère à base de sucre: additif alimentaire également: gélifiant ou épaississant
La formulation peut également incorporer des agents qui diminuent l'effet d'une eau dure (calcaire). Un des agents les plus utilisés est l'EDTA (Éthylène Diamine Tétra-Acétique). L'EDTA permet de capter les ions Ca2+ et Mg2+ qui neutralisent les tensioactifs anioniques (chargés négativement).
Si tu veux une IP statique tu peux la demander à Proximus (belgacom) ou bien aller chez Voo
D'après ce que je lis, Proximus ne propose des IP statiques que pour les offres pro qui sont excessivement chères. Tu as un lien vers cette info?
est buggée et empêche d'héberger un serveur accessible de l'extérieur.
Elle est buggée où elle suit le même schéma que la BBOX 2 ?
La BBOX 2 par défaut bloque en entrée les port 23, 80 et 443, mais il suffit de suivre ce tuto pour les ouvrir
C'est un bug. Les ports sont évidemment ouverts, la procédure que tu cites est suivie mais le routage vers la machine locale ne fonctionne pas.
Boaf j'ai des dynamiques depuis qu'internet existe en Belgique et je bidouille depuis ce temps ^ ^
Justement, à chaque fois que je me suis fait bloqué des IP par google pour "requêtes étranges", au lieu de râler en attendant un dé-ban (qui peut prendre du temps) il m'a à chaque fois suffit de reset le routeur ^ ^
Moi aussi je bidouille mais certaines choses sont plus compliquées avec une ip dynamique. Si ces requêtes proviennent de ta machine, le fait que tu aies une ip dynamique n'y change rien. Je ne comprends pas l'intérêt de cet argument, mis à part une période de ban limitée si tu envoies n'importe quoi sur le réseau (est-ce un avantage?).
Oui et non. Ça rend ton service facilement retrouvable pour les clients (et encore, tu veux vraiment leur demander de taper une IP en barre d'URL?), autant que pour les pirates.
On a inventé les noms de domaine pour ça ;-). L'intérêt d'une IP fixe est de pouvoir avoir un nom de domaine "normal" et pas un nom de domaine en noip ou dyndns "moins sérieux".
Actuellement j'utilise un système d'ip dynamique + DDNS, si on tente de me DDOS j'ai juste à changer d'adresse IP et temporairement stopper les DDNS et toute mon infra reste accessible via les portes cachées (Tor, Proxy, etc) sans être perturbée par l'attaque qui viserait les hostname connu :)
Pour ce qui est des attaques, il suffit de mettre en place fail2ban. Vu le nombre de scans et de script kiddies qui essayent de faire tomber mon serveur domestique, une IP dynamique ne protège absolument pas des attaques.
Note que ce point est une erreur : rien ne t'empêche prendre un nom de domaine et de faire signer le certificat TLS lié, ainsi il n'y aura pas de message d'alerte de sécurité.
Faire pointer un nom de domaine vers un domaine dyndns me semble contre productif. Les caches des serveurs DNS mettent plusieurs heures à se synchroniser. Faire ça revient à avoir son nom de domaine indisponible tous les trois jours…
il est impossible d'héberger son mail
Ce n'est pas lié a l'IP dynamique (tu peux utiliser un nom de domaine encore une fois) mais au module anti-spam des FAI et au fait que les fournisseurs principaux de services mails peuvent te considérer comme un spam et te bloquer.
Ça revient au même. Et étant donné que des plages entières d'IP chez OVH sont considérées comme du spam malgré SPF+ADSP+DMARC (cf ici), héberger ça sur une IP dynamique ne facilitera pas la tâche. Surtout si une IP met plusieurs semaines à sortir des listes noires…
Bref, je ne suis toujours pas convaincu de l'intérêt d'une IP dynamique mis à part ton cas particulier où cela t'évite de perdre à ton jeu. Note que tu pourrais résoudre ton problème avec une règle fail2ban en t'épargnant le reboot du routeur.
Personnellement, pour subir une IP dynamique depuis des années, je préférerais largement avoir une IP statique. Ça facilite l'auto-hébergement. Pour le moment (à ma connaissance), il est impossible d'héberger son mail, d'avoir un certificat qui n'alerte pas le navigateur ou d'avoir un nom de domaine qui ne soit pas un équivalent d'un produit noip. Pire,la box v3 de proximus (le FAI le plus connu) est buggée et empêche d'héberger un serveur accessible de l'extérieur. Il y a de nombreux postes de joueurs qui ne peuvent plus joueur en ligne avec leur PlayStation 4. Visiblement, elle nécessite l'ouverture de ports sur le routeur. Donc oui, l'ipv6 apporte quelque chose mais il faut que ce soit bien implémenté et de manière générale, une IP statique est pratique si on veut bidouiller.
Merci pour ton journal didactique une fois de plus. Mis à part dans Twisted que vous utilisez, est-ce qu'il y a des implémentations en python? J'utilise SleekXMPP mais ça n'a pas l'air de beaucoup bouger de ce côté. Slixmpp se différencie? As-tu une idée de la raison pour laquelle Jingle n'est-ce pas plus répandu, même dans d'autres langages?
Il me semble que ce serait possible. Soit en connaissant la distance focale de la caméra et la taille d'un objet déterminé soit de manière empirique puis par interpolation d'une courbe d’étalonnage Distance vs taille image. Je n'ai jamais vu de système basé sur cette approche mais c'est intéressant. Après, il faut baliser les pièces où le robot évolue mais c'est probablement plus simple à mettre en place qu'une solution basée sur des détecteur de distance laser.
Pour fournir quelques informations supplémentaires et ouvrir le débat, j'ai décidé d'acquérir un Raspberry Pi 2 alors que je possédais le Beagle Bone Black car le traitement vidéo n'était pas assez optimal sur le BBB. La résolution maximale est 320x240 pour mon système. N'ayant pas envie de recompiler OpenCV avec le support de libjpeg-turbo, j'ai préféré changer de carte et garder le BBB pour des applications où il sera plus à l'aise (avec ses nombreuses GPIO). Une autre limitation est la présence d'un seul port USB, ce qui empêche l'utilisation simultanée du Wifi et de la webcam. Pour les personnes intéressées, j'avais trouvé beaucoup d'informations pertinentes sur ce blog: http://blog.lemoneerlabs.com/category/OpenCV
Sinon, le code morse a été reformaté, j'espère que ça n'a pas nuit à sa traduction.
Merci pour ces précisions. Je verrai ce que je peux faire mais je garde bien précieusement ton message sous le coude! Le robot qui reconnaît les visages est en python (R1D2). R1D1 est codé en C++ et il ne fait que détecter les visages. Il est aussi capable de suivre la main de quelqu'un mais c’est approximatif.
Merci à toi pour tes articles sur XMPP qui ont inspiré une partie de ce travail. Ils m'ont éviter de réinventer la roue (par exemple des commandes à bases de '!mode_panneau' tout en proposant une solution élégante.
Merci pour ces remarques très intéressantes. Pour l'instant, il n'y a pas de mécanisme d'apprentissage. La reconnaissance de visage est basée sur ce schéma:
model = cv2.createLBPHFaceRecognizer()
[...]
[p_index, p_confidence] = model.predict(image)
Concernant l'utilisation de la probabilité de trouver quelqu'un dans un lieu donné à une certaine heure, c'est une excellente idée. Il est prévu que le robot puisse créer des cartes des pièces dans lesquelles il se trouve et si possible, qu'il puisse ensuite les comparer avec les endroit qu'il connaît afin nommer les pièces. Cela permettrait de lui donner des ordres du type 'va dans la cuisine'. Pour le moment j'en suis loin car le SLAM (Simultaneous Localization And Mapping) demande du matériel que je n'ai pas encore ainsi qu'un robot fonctionnel afin de faire des tests.
Je resterai sur mes gardes :-).
Cette valeur représente la "distance" entre une image donnée et le modèle établi pour une personne donnée (composé à partir de plusieurs portraits). Plus cette valeur est élevée, plus la confiance est paradoxalement faible. Le terme confiance pourrait être remplacé par un mot plus approprié.
Avahi le permet. Il faut installer le programme sur le serveur ainsi que sur la tablette. Le serveur sera accessible sur le réseau local à l'adresse mp.local. Sur Android, il semble qu'il y ait des navigateur "Bonjour" (un autre nom du protocole). Microsoft propose également un protocole (NetBIOS/WINS/ActiveDirectory) mais il n'est pas non plus reconnu par Android sans intervention.
Qu'en est-il du code? Il y a des API pour les programmeurs mais le cœur (algorithmes de vision, pilotage etc) sera-t-il libéré à terme? En tout cas, je leur souhaite plein de succès pour ce joli drone.
PS: la vidéo est très bien faite et ça fait plaisir de voir le Mémorial Interallié, la rue Saint-Paul, Cointe, le Val-Benoît, etc aussi bien mis en valeur.
Merci beaucoup pour vos réponses détaillées. Si je condense les réponses de Jehan et de Goffi, on peut donc imaginer le mécanisme suivant:
1° On envoie directement le fichier au destinataire s'il est connecté (sans quota de taille).
2° Si le destinataire est déconnecté, le programme spécifie que l'autre pair est le serveur (du destinataire si il est disponible ou celui de l'émetteur dans l'autre cas voir un serveur externe HTTP ou autre à paramétrer). Il y aurait alors des quotas de taille de fichier dépendant du serveur qui héberge le fichier.
3° Si le destinataire était non connecté lorsque le fichier a été envoyé, il a la possibilité de le récupérer lors de sa prochaine connexion (le serveur lui envoie un message contenant l'URI).
4° Le destinataire a le choix de laisser la pièce jointe sur le serveur pour consulter la pièce jointe depuis un autre client ou alors d'effacer le fichier du serveur après téléchargement sans possibilité de le récupérer depuis un autre client.
Je pense qu'un schéma de ce type permettrait de remplacer (et de surpasser)complètement l'usage du mail. Si on veut envoyer une grosse archive de photos, on est plus obligé d'envoyer 10 mails de 15Mo contenant chacun son lot de fichier, mais de simplement fixer un moment où le destinataire allume son client et on attend que transfert ait lieu afin de récupérer la série de fichier d'un coup. Si on veut simplement envoyer un fichier de taille raisonnable à un destinataire non connecté, on peut le faire aussi facilement qu'avec un mail.
Est-ce qu'un support des pièces jointes est prévu? Si je ne me trompe pas, le transfert de fichier présenté ici nécessite que le destinataire accepte le fichier et donc qu'il soit connecté.
Est-il possible d'envoyer un fichier à un destinataire non connecté? Il existe des mécanismes afin qu'un utilisateur récupère les messages qui lui ont été envoyé lorsqu'il était déconnecté. Si un tel mécanisme existe pour le transfert de fichier, alors il n'y a virtuellement plus de différence entre l'utilisation d'XMPP et du mail. On peut penser à l'ajout d'un champs XML d'un message donné où le fichier serait codé en base64 (ça existe peut-être ou cette une approche est peut-être trop naïve). Quoiqu'on pense de l'usage des pièces jointes, elles sont indispensables si on veut concurrencer les emails.
Encore merci pour tes articles de qualité et le temps que tu passes à vulgariser XMPP, SàT ainsi que tout l'écosystème autour.
Etant sous Archlinux depuis des années, je me suis passé de Pulseaudio pendant longtemps mais je l'ai finalement installé sur une nouvelle config l'an dernier. J'avais également ce soucis de volume au démarrage que j'ai réglé à coups de
ponymix unmute
ponymix set-volume 85
dans le fichier .xinitrc.
Concernant les vieux programmes propriétaires qui restent muets en se plaignant de ne pas avoir accès à /dev/dsp en démarrant, je lance cette petite commande juste avant de les démarrer:
Si la mémoire de l'eau existait, des groupes internationaux dans le domaine de la chimie avec des moyens énormes l'utiliseraient ou tenteraient de l'utiliser afin de la mettre à profit en catalyse: une quantité infinitésimale de catalyseur permet d'accélérer grandement des réactions chimiques. Cela permettrait de ne plus en mettre du tout! Cela permettrait d'éviter de dépenser des milliards en extraction , achat et purification de métaux précieux (platine, palladium, ruthénium etc). De plus, pourquoi tenter de convaincre de l'existence de la mémoire de l'eau avec des expériences biologiques moins fiables que des processus aqueux plus simples à réaliser et moins aléatoires?
Je n'ai pas spécialement confiance en un prix Nobel de médecine qui fait de la chimie dans son coin. C'est comme si François_Englert disait qu'il peut soigner efficacement des malades en leur donnant uniquement de la mousse au chocolat. Sauf que son protocole ne prendrait en compte que les Maladie_spontanément_résolutive.
Si la mémoire de l'eau existait et pouvait être réellement mise à profit, elle le serait et ça rapporterait des milliards. Or, elle va à l'encontre de toute la chimie moderne et ses défenseurs se bornent à faire leurs expériences dans des conditions discutables.
Parfait, merci! Ton exemple marche parfaitement et je vais m'en inspirer pour un projet. Ma prochaine étape est d'arriver à avoir des menus de longueur différente en fonction des items choisis:
* envoi commande -> send_message -> Fin
* déconnexion -> self.disconnect(wait=True) -> Fin
* choisis ton mode (si admin) - mode 1 -> Fin
- mode 2 -> Fin
- mode 3 -> Fin
Merci beaucoup pour cet article. J'ai également commencé à utiliser les commandes ad-hoc suite à ton précédent journal. J'utilise SleekXMPP et Gajim comme dans ton exemple et j'ai été confronté à des erreurs de sessionid qui variaient au cours de la session. Ce comportement est contraire à la XEP et Gajim signale l'erreur. J'essayerai avec ton exemple ce soir afin de voir ce qu'il en est. J'utilise aussi la version 1.3.1 de SleekXMPP (Archlinux). Tu as rencontré des soucis à ce niveau?
Voici deux exemples d'implémentation en python avec la bibliothèque SleekXMPP: adhoc_provider.py et adhoc_user.py. adhoc_provider.py est un simple bot qui accueille un utilisateur et adhoc_user.py s'y connecte et lance la commande.
Il n'est jamais rentable de ne pas écouter le peuple. Jamais.
Un argument de plus pour les vendeurs de boîtes noires :-).
Ou alors il veut dire qu'il aurait fallu écouter les arguments des contestataires de la loi mais c'est ambigu.
[^] # Re: Complément d'information
Posté par jnanar (site web personnel) . En réponse au journal Retour sur le « No poo ». Évalué à 2.
Merci pour ces compliments. J'étais assistant à l'université durant ma thèse (chimie) et j'étudiais l'auto-assemblage de molécules dites amphiphiles (notamment des micelles).
[^] # Re: Complément d'information
Posté par jnanar (site web personnel) . En réponse au journal Retour sur le « No poo ». Évalué à 5.
Comme on me l'a gentiment fait remarquer, il faut lire: Attention, je déconseille très fortement d'utiliser un tel savon sur la peau !!! La phrase originale comporte une double négation. Si un modo veut bien corriger. Je sais que beaucoup de moules sont chauves mais quand même. La soude, ainsi que ma phrase, piquent les yeux!
[^] # Re: Complément d'information
Posté par jnanar (site web personnel) . En réponse au journal Retour sur le « No poo ». Évalué à 6. Dernière modification le 24 juillet 2016 à 20:38.
Le savon de marseille (un fork du savon d'Alep) est préparé à partir d'huile d'olive et de soude. La réaction est appelée saponification (c'est une hydrolyse):

https://fr.wikipedia.org/wiki/Savon_de_Marseille
L'huile végétale (qui contient les esters) réagit avec la soude (NaOH) pour former
* des agents tensioactifs: les ions carboxylates (R est une longue chaîne hydrophobe et le carboxylate, hydrophile, est chargé négativement)
* de la glycérine
Voir ce wiki très sympatique:
http://wiki.scienceamusante.net/index.php?title=Fabrication_du_savon
Attention, je déconseille très fortement de ne PAS utiliser un tel savon sur la peau !!! Il peut subsister des traces de soude caustique (NaOH) qui sont très irritantes et peuvent causer des lésions irréversibles. En cas de projection dans les yeux, c'est la cécité assurée.
Le procédé de fabrication du savon de Marseille est contrôlé et l'utilisation ne présente pas de danger bien évidemment. Le fait d'avoir un produit solide facilite son stockage et sa conservation. Stabiliser une émulsion est bien plus compliqué.
La différence entre un savon et un shampoing est très ténue. En général, un savon est solide et un shampoing est liquide. Ensuite, il peut y avoir plus d'additifs spécifiques dans le shampoing pour rendre les cheveux souples, brillants, etc.
http://www.lescheveuxdemini.com/2013/10/quelle-est-la-difference-entre-un.html
http://www.sirtin.fr/2012/06/28/quelle-difference-entre-un-savon-et-un-shampoing/ (voir le dernier paragraphe)
Oups: doublé.
# Complément d'information
Posté par jnanar (site web personnel) . En réponse au journal Retour sur le « No poo ». Évalué à 10.
Sommaire
Note: mon post a uniquement vocation de donner un complément d'information. Je n'ai rien contre la méthode "No poo" si ça marche. Je ne travaille pas pour une société active dans les cosmétiques.
But du lavage
La plupart des "crasses" dont nous voulons nous débarrasser sont hydrophobe. Elles ne sont pas miscible à l'eau (comme de l'huile) et sont donc non chargées. Les semblables dissolvent les semblables. Étant donné que la plupart d'entre-vous ne veut pas prendre de douche au chloroforme, au propanol, au perchloroéthylène, ou au benzène (c'est le principe du nettoyage à sec), il est nécessaire d'utiliser un truc pour solubiliser les impuretés dans l'eau.
C'est la raison pour laquelle il est nécessaire d'utiliser un "agent compatibilisant" qui permet de solubiliser ces impuretés dans l'eau. Ces compatibilisants sont appelées agents tensioactifs car ils modifient la tension de surface de l'eau (dans le cas qui nous intéressent, elles abaissent celle de l'eau). Ces molécules possèdent la particularité de posséder une partie hydrophile et une autre partie hydrophobe. Par exemple, le laurylsulfate de sodium possèdent une extrémité chargée (la fonction sulfate) qui est hydrophile et une longue chaîne carbonée hydrophobe. Lorsque la concentration de ces molécules est suffisante, elles s'auto-assemblent en micelles: plusieurs molécules se groupent en plaçant les chaînes hydrophobes au centre de l'assemblage en repoussant l'eau et les fêtes hydrophiles font face à l'eau. Les micelles ont la propriété de pouvoir solubiliser des impuretés hydrophobes (qui se retrouvent dans le cœur de l'objet).
https://fr.wikipedia.org/wiki/Laurylsulfate_de_sodium
https://fr.wikipedia.org/wiki/Tensioactif
https://en.wikipedia.org/wiki/Micelle
https://en.wikipedia.org/wiki/File:Micelle_scheme-en.svg
Qu'est-ce qu'un shampoing?
Un shampoing contient un grand nombre de tensioactifs mais pas que. Il contient également des arômes, des parfums et des agents stabilisants pour le pH (voir le paragraphe suivant) etc.
L'influence du pH sur le cheveu?
Un cheveu est principalement composé de kératine . La kératine est une protéine fibreuse dont l'hydrophobicité dépend du pH. Son point iso-électrique (le pH auquel elle est neutre) est situé entre 4 et 4.5. Cela signifie, qu'à pH plus acide (< 4), la kératine se charge positivement et au dessus (pH basique), elle se charge négativement. La structure des cheveux est telle qu'à pH basique, le cheveu "s'ouvre": les écailles s'écartent les une des autres comme les pétales d'une fleur. Le cheveu est alors cassant, mat et s’emmêle facilement. Au point iso-électrique, les écailles sont serrées et le cheveu est luisant.
Référence qui vaut ce qu'elle vaut mais qui m'a l'air documentée
Coloration
Le paragraphe précédent permet d'expliquer le principe d'une coloration:
1) une solution colorante basique est appliquée afin d'ouvrir le cheveu
2) le pigment s'insère dans le cheveu
3) une solution de rinçage acide permet de refermer le cheveu.
Quels paramètre affecte le shampoing?
Le pH d'un shampoing ne doit donc pas être trop basique au risque d’abîmer le cheveu. Le pH optimal est situé entre 5 et 7 afin d'ouvrir le cheveu mais pas trop. Un pH trop acide décompose le cheveu (vous pouvez dissoudre les bouchons de cheveu de la douche avec de l'esprit de sel - attention aux canalisations métalliques).
D’où vient la mousse?
La plupart des gens aiment quand le shampoing mousse. La mousse est un état dans lequel l'air (hydrophobe) est emprisonné dans des cavités composées d'eau et de tensioactif.
Or, tous les tensioactifs ne moussent pas. C'est pourquoi certains agents moussant sont ajoutés aux produits vaisselle et savon dans le but unique de mousser. La propriété moussante d'un agent tensioactif dépend principalement de la nature et de la longueur de la partie hydrophobe.
https://fr.wikipedia.org/wiki/Mousse_(physique)
Propriétés attendues d'un shampoing:
Dissection d'une étiquette
http://www.leblogdelapeausaine.org/understanding-labels-what%E2%80%99s-in-my-shower-gel/

Exemple:
http://www.observatoiredescosmetiques.com
Note: le PEG est le polyethylene glycol. Un polymère inoffensif.
La formulation peut également incorporer des agents qui diminuent l'effet d'une eau dure (calcaire). Un des agents les plus utilisés est l'EDTA (Éthylène Diamine Tétra-Acétique). L'EDTA permet de capter les ions Ca2+ et Mg2+ qui neutralisent les tensioactifs anioniques (chargés négativement).
[^] # Re: Contrôle des IPs internes
Posté par jnanar (site web personnel) . En réponse au sondage Utilisez-vous IPv6 ?. Évalué à 2. Dernière modification le 03 mai 2016 à 19:49.
D'après ce que je lis, Proximus ne propose des IP statiques que pour les offres pro qui sont excessivement chères. Tu as un lien vers cette info?
C'est un bug. Les ports sont évidemment ouverts, la procédure que tu cites est suivie mais le routage vers la machine locale ne fonctionne pas.
Moi aussi je bidouille mais certaines choses sont plus compliquées avec une ip dynamique. Si ces requêtes proviennent de ta machine, le fait que tu aies une ip dynamique n'y change rien. Je ne comprends pas l'intérêt de cet argument, mis à part une période de ban limitée si tu envoies n'importe quoi sur le réseau (est-ce un avantage?).
On a inventé les noms de domaine pour ça ;-). L'intérêt d'une IP fixe est de pouvoir avoir un nom de domaine "normal" et pas un nom de domaine en noip ou dyndns "moins sérieux".
Pour ce qui est des attaques, il suffit de mettre en place fail2ban. Vu le nombre de scans et de script kiddies qui essayent de faire tomber mon serveur domestique, une IP dynamique ne protège absolument pas des attaques.
Faire pointer un nom de domaine vers un domaine dyndns me semble contre productif. Les caches des serveurs DNS mettent plusieurs heures à se synchroniser. Faire ça revient à avoir son nom de domaine indisponible tous les trois jours…
Ça revient au même. Et étant donné que des plages entières d'IP chez OVH sont considérées comme du spam malgré SPF+ADSP+DMARC (cf ici), héberger ça sur une IP dynamique ne facilitera pas la tâche. Surtout si une IP met plusieurs semaines à sortir des listes noires…
Bref, je ne suis toujours pas convaincu de l'intérêt d'une IP dynamique mis à part ton cas particulier où cela t'évite de perdre à ton jeu. Note que tu pourrais résoudre ton problème avec une règle fail2ban en t'épargnant le reboot du routeur.
[^] # Re: Contrôle des IPs internes
Posté par jnanar (site web personnel) . En réponse au sondage Utilisez-vous IPv6 ?. Évalué à 5.
Personnellement, pour subir une IP dynamique depuis des années, je préférerais largement avoir une IP statique. Ça facilite l'auto-hébergement. Pour le moment (à ma connaissance), il est impossible d'héberger son mail, d'avoir un certificat qui n'alerte pas le navigateur ou d'avoir un nom de domaine qui ne soit pas un équivalent d'un produit noip. Pire,la box v3 de proximus (le FAI le plus connu) est buggée et empêche d'héberger un serveur accessible de l'extérieur. Il y a de nombreux postes de joueurs qui ne peuvent plus joueur en ligne avec leur PlayStation 4. Visiblement, elle nécessite l'ouverture de ports sur le routeur. Donc oui, l'ipv6 apporte quelque chose mais il faut que ce soit bien implémenté et de manière générale, une IP statique est pratique si on veut bidouiller.
# Implémentations python
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 10 - copie de fichiers et Jingle (suite). Évalué à 3.
Merci pour ton journal didactique une fois de plus. Mis à part dans Twisted que vous utilisez, est-ce qu'il y a des implémentations en python? J'utilise SleekXMPP mais ça n'a pas l'air de beaucoup bouger de ce côté. Slixmpp se différencie? As-tu une idée de la raison pour laquelle Jingle n'est-ce pas plus répandu, même dans d'autres langages?
[^] # Re: Complément d'informations
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 3.
Il me semble que ce serait possible. Soit en connaissant la distance focale de la caméra et la taille d'un objet déterminé soit de manière empirique puis par interpolation d'une courbe d’étalonnage Distance vs taille image. Je n'ai jamais vu de système basé sur cette approche mais c'est intéressant. Après, il faut baliser les pièces où le robot évolue mais c'est probablement plus simple à mettre en place qu'une solution basée sur des détecteur de distance laser.
# Complément d'informations
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 2.
Pour fournir quelques informations supplémentaires et ouvrir le débat, j'ai décidé d'acquérir un Raspberry Pi 2 alors que je possédais le Beagle Bone Black car le traitement vidéo n'était pas assez optimal sur le BBB. La résolution maximale est 320x240 pour mon système. N'ayant pas envie de recompiler OpenCV avec le support de libjpeg-turbo, j'ai préféré changer de carte et garder le BBB pour des applications où il sera plus à l'aise (avec ses nombreuses GPIO). Une autre limitation est la présence d'un seul port USB, ce qui empêche l'utilisation simultanée du Wifi et de la webcam. Pour les personnes intéressées, j'avais trouvé beaucoup d'informations pertinentes sur ce blog: http://blog.lemoneerlabs.com/category/OpenCV
Sinon, le code morse a été reformaté, j'espère que ça n'a pas nuit à sa traduction.
[^] # Re: confiance
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 2.
Merci pour ces précisions. Je verrai ce que je peux faire mais je garde bien précieusement ton message sous le coude! Le robot qui reconnaît les visages est en python (R1D2). R1D1 est codé en C++ et il ne fait que détecter les visages. Il est aussi capable de suivre la main de quelqu'un mais c’est approximatif.
. -. -.-. --- .-. . —. .-. -.-. .. :-)
[^] # Re: rafraîchissant
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 3.
Merci à toi pour tes articles sur XMPP qui ont inspiré une partie de ce travail. Ils m'ont éviter de réinventer la roue (par exemple des commandes à bases de '!mode_panneau' tout en proposant une solution élégante.
[^] # Re: confiance
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 4.
Merci pour ces remarques très intéressantes. Pour l'instant, il n'y a pas de mécanisme d'apprentissage. La reconnaissance de visage est basée sur ce schéma:
model = cv2.createLBPHFaceRecognizer()
[...]
[p_index, p_confidence] = model.predict(image)
qui retourne un index (la personne la plus proche de l'image fournie ainsi que de fameux paramètre de confiance). Cette confiance n'est pas un pourcentage, c'est un nombre entier positif.
Voir: http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_api.html#facerecognizer-predict
Concernant l'utilisation de la probabilité de trouver quelqu'un dans un lieu donné à une certaine heure, c'est une excellente idée. Il est prévu que le robot puisse créer des cartes des pièces dans lesquelles il se trouve et si possible, qu'il puisse ensuite les comparer avec les endroit qu'il connaît afin nommer les pièces. Cela permettrait de lui donner des ordres du type 'va dans la cuisine'. Pour le moment j'en suis loin car le SLAM (Simultaneous Localization And Mapping) demande du matériel que je n'ai pas encore ainsi qu'un robot fonctionnel afin de faire des tests.
[^] # Re: confiance
Posté par jnanar (site web personnel) . En réponse au journal Mon ami se fait des amis. Évalué à 3. Dernière modification le 02 mars 2016 à 21:49.
Je resterai sur mes gardes :-).
Cette valeur représente la "distance" entre une image donnée et le modèle établi pour une personne donnée (composé à partir de plusieurs portraits). Plus cette valeur est élevée, plus la confiance est paradoxalement faible. Le terme confiance pourrait être remplacé par un mot plus approprié.
# Avahi
Posté par jnanar (site web personnel) . En réponse au message Accéder à une application web depuis le serveur local avec le hostname de la machine. Évalué à 2. Dernière modification le 03 janvier 2016 à 16:54.
Avahi le permet. Il faut installer le programme sur le serveur ainsi que sur la tablette. Le serveur sera accessible sur le réseau local à l'adresse mp.local. Sur Android, il semble qu'il y ait des navigateur "Bonjour" (un autre nom du protocole). Microsoft propose également un protocole (NetBIOS/WINS/ActiveDirectory) mais il n'est pas non plus reconnu par Android sans intervention.
# Oufti! , des Liégeois sur LinuxFR! ;-)
Posté par jnanar (site web personnel) . En réponse au journal Drone sphérique - kickstarter. Évalué à 4. Dernière modification le 04 décembre 2015 à 13:18.
C'est un très beau projet et innovant en plus.
Qu'en est-il du code? Il y a des API pour les programmeurs mais le cœur (algorithmes de vision, pilotage etc) sera-t-il libéré à terme? En tout cas, je leur souhaite plein de succès pour ce joli drone.
PS: la vidéo est très bien faite et ça fait plaisir de voir le Mémorial Interallié, la rue Saint-Paul, Cointe, le Val-Benoît, etc aussi bien mis en valeur.
[^] # Re: Pièce jointe
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 9 - copie de fichiers et Jingle. Évalué à 1.
Merci beaucoup pour vos réponses détaillées. Si je condense les réponses de Jehan et de Goffi, on peut donc imaginer le mécanisme suivant:
1° On envoie directement le fichier au destinataire s'il est connecté (sans quota de taille).
2° Si le destinataire est déconnecté, le programme spécifie que l'autre pair est le serveur (du destinataire si il est disponible ou celui de l'émetteur dans l'autre cas voir un serveur externe HTTP ou autre à paramétrer). Il y aurait alors des quotas de taille de fichier dépendant du serveur qui héberge le fichier.
3° Si le destinataire était non connecté lorsque le fichier a été envoyé, il a la possibilité de le récupérer lors de sa prochaine connexion (le serveur lui envoie un message contenant l'URI).
4° Le destinataire a le choix de laisser la pièce jointe sur le serveur pour consulter la pièce jointe depuis un autre client ou alors d'effacer le fichier du serveur après téléchargement sans possibilité de le récupérer depuis un autre client.
Je pense qu'un schéma de ce type permettrait de remplacer (et de surpasser)complètement l'usage du mail. Si on veut envoyer une grosse archive de photos, on est plus obligé d'envoyer 10 mails de 15Mo contenant chacun son lot de fichier, mais de simplement fixer un moment où le destinataire allume son client et on attend que transfert ait lieu afin de récupérer la série de fichier d'un coup. Si on veut simplement envoyer un fichier de taille raisonnable à un destinataire non connecté, on peut le faire aussi facilement qu'avec un mail.
# Pièce jointe
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 9 - copie de fichiers et Jingle. Évalué à 6.
Est-ce qu'un support des pièces jointes est prévu? Si je ne me trompe pas, le transfert de fichier présenté ici nécessite que le destinataire accepte le fichier et donc qu'il soit connecté.
Est-il possible d'envoyer un fichier à un destinataire non connecté? Il existe des mécanismes afin qu'un utilisateur récupère les messages qui lui ont été envoyé lorsqu'il était déconnecté. Si un tel mécanisme existe pour le transfert de fichier, alors il n'y a virtuellement plus de différence entre l'utilisation d'XMPP et du mail. On peut penser à l'ajout d'un champs XML d'un message donné où le fichier serait codé en base64 (ça existe peut-être ou cette une approche est peut-être trop naïve). Quoiqu'on pense de l'usage des pièces jointes, elles sont indispensables si on veut concurrencer les emails.
Encore merci pour tes articles de qualité et le temps que tu passes à vulgariser XMPP, SàT ainsi que tout l'écosystème autour.
[^] # Re: Aide sur Pulseaudio
Posté par jnanar (site web personnel) . En réponse à la dépêche PulseAudio 6.0 et 7.0. Évalué à 4. Dernière modification le 17 octobre 2015 à 14:43.
Etant sous Archlinux depuis des années, je me suis passé de Pulseaudio pendant longtemps mais je l'ai finalement installé sur une nouvelle config l'an dernier. J'avais également ce soucis de volume au démarrage que j'ai réglé à coups de
dans le fichier .xinitrc.
Concernant les vieux programmes propriétaires qui restent muets en se plaignant de ne pas avoir accès à /dev/dsp en démarrant, je lance cette petite commande juste avant de les démarrer:
où PROGRAM.BIN est le nom de l'exécutable.
Pour le reste, je ne remarque aucune différence à l'usage.
[^] # Re: Pas spécialement stressant
Posté par jnanar (site web personnel) . En réponse au journal Psychologie, science et reproductibilité. Évalué à 10.
Si la mémoire de l'eau existait, des groupes internationaux dans le domaine de la chimie avec des moyens énormes l'utiliseraient ou tenteraient de l'utiliser afin de la mettre à profit en catalyse: une quantité infinitésimale de catalyseur permet d'accélérer grandement des réactions chimiques. Cela permettrait de ne plus en mettre du tout! Cela permettrait d'éviter de dépenser des milliards en extraction , achat et purification de métaux précieux (platine, palladium, ruthénium etc). De plus, pourquoi tenter de convaincre de l'existence de la mémoire de l'eau avec des expériences biologiques moins fiables que des processus aqueux plus simples à réaliser et moins aléatoires?
Je n'ai pas spécialement confiance en un prix Nobel de médecine qui fait de la chimie dans son coin. C'est comme si François_Englert disait qu'il peut soigner efficacement des malades en leur donnant uniquement de la mousse au chocolat. Sauf que son protocole ne prendrait en compte que les Maladie_spontanément_résolutive.
Si la mémoire de l'eau existait et pouvait être réellement mise à profit, elle le serait et ça rapporterait des milliards. Or, elle va à l'encontre de toute la chimie moderne et ses défenseurs se bornent à faire leurs expériences dans des conditions discutables.
[^] # Re: Pas spécialement stressant
Posté par jnanar (site web personnel) . En réponse au journal Psychologie, science et reproductibilité. Évalué à 1.
Quelques arguments "contre":
http://www.unice.fr/zetetique/articles/HB_memoire_eau.html
[^] # Re: Merci !
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 7 - cas pratiques: SleekXMPP et SàT. Évalué à 1.
Parfait, merci! Ton exemple marche parfaitement et je vais m'en inspirer pour un projet. Ma prochaine étape est d'arriver à avoir des menus de longueur différente en fonction des items choisis:
* envoi commande -> send_message -> Fin
* déconnexion -> self.disconnect(wait=True) -> Fin
* choisis ton mode (si admin) - mode 1 -> Fin
- mode 2 -> Fin
- mode 3 -> Fin
Longue vie à Salut à Toi :-).
# Merci !
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 7 - cas pratiques: SleekXMPP et SàT. Évalué à 2.
Merci beaucoup pour cet article. J'ai également commencé à utiliser les commandes ad-hoc suite à ton précédent journal. J'utilise SleekXMPP et Gajim comme dans ton exemple et j'ai été confronté à des erreurs de sessionid qui variaient au cours de la session. Ce comportement est contraire à la XEP et Gajim signale l'erreur. J'essayerai avec ton exemple ce soir afin de voir ce qu'il en est. J'utilise aussi la version 1.3.1 de SleekXMPP (Archlinux). Tu as rencontré des soucis à ce niveau?
[^] # Re: Des exemples simples?
Posté par jnanar (site web personnel) . En réponse au journal Parlons XMPP - épisode 6 - les commandes à distance. Évalué à 1.
Voici deux exemples d'implémentation en python avec la bibliothèque SleekXMPP: adhoc_provider.py
et adhoc_user.py.
adhoc_provider.py
est un simple bot qui accueille un utilisateur etadhoc_user.py
s'y connecte et lance la commande.[^] # Re: Astérix
Posté par jnanar (site web personnel) . En réponse à la dépêche diaspora* sort en version 0.5.0.0. Évalué à 3.
L'exemple le plus frappant étant "Nouveau", le pilote libre. Ce choix est difficilement compréhensible.
# Contresens?
Posté par jnanar (site web personnel) . En réponse au journal boitenoirekiller.com veut pourrir les boites noires de la DCRI. Évalué à 10.
Lu sur le site:
Un argument de plus pour les vendeurs de boîtes noires :-).
Ou alors il veut dire qu'il aurait fallu écouter les arguments des contestataires de la loi mais c'est ambigu.