jnanar a écrit 290 commentaires

  • # Comparaison

    Posté par  (site web personnel) . En réponse au journal j'ai testé... devenir radioactif. Évalué à 10.

    Pour information je reposte ici le très bien fait xkcd idoine. Wikipedia indique que le patient reçoit une dose équivalente inférieure à 10 mSv.
    Cela correspond à environ deux mois de la dose annuelle autorisée pour les travailleurs en contact avec du matériel radioactif (voir zone verte).
    XKCD

  • [^] # Re: Analogie

    Posté par  (site web personnel) . En réponse au journal Toute résistance n’est pas futile.. Évalué à 2. Dernière modification le 24 novembre 2016 à 14:09.

    Est-ce qu'on ne pourrait pas dire qu'une résistance est un bouchon qui laisse passer une partie de l'eau dans un tuyau? Je ne parle pas d'un bouchon de bouteille de vin mais plutôt d'un filtre qui ralenti le débit d'eau dans un entonnoir, ou d'un bouchon de cheveu dans la douche (désolé pour l'image cracra). Un tel bouchon ralenti le débit pour une tension donnée. Il y a bien une "résistance" au passage de l'eau. Pour garder un débit constant en présence du bouchon, il faut appliquer une tension plus importante. L'eau s'accumule en amont du bouchon. Cela permet-il d'expliquer la chute de tension aux bornes de la résistance? Corrige-moi si je me trompe, c'est juste une idée comme ça.

  • [^] # Re: Reconnaissance vocale

    Posté par  (site web personnel) . En réponse à la dépêche Kalliope, votre assistant personnel vocal. Évalué à 1.

    Le projet Voxforge vise à proposer un modèle libre dans différentes langues mais celui pour le français n'est complété qu'à 25%. Une fois que le modèle sera disponible, il sera utilisable par les différentes solutions basées sur le moteur Julius. Cela marchera sans connexion internet. Le commentaire plus bas détaille le cas de Simon mais il contient des liens qui pourraient répondre à tes questions.

  • # Assistant libre

    Posté par  (site web personnel) . En réponse à la dépêche Kalliope, votre assistant personnel vocal. Évalué à 7.

    Pour l'avoir essayé il y a quelques années, Simon marche très bien. Contrairement à beaucoup d'applications, il ne dépend pas d'un modèle prédéfini. L'utilisateur peut créer son propre modèle en lisant des mots du dictionnaire (si possible plusieurs fois) en les liant à un terme bien précis. La reconnaissance vocale est basée sur le moteur Julius. Simon peut servir à commander des applications par la voix mais il y a la possibilité de définir des commandes personnalisées. A l'époque, je l'avais relié à un système de synthèse vocale et ça marchottait. Simon n'est pas lié à un modèle de diction, cela permet aux personnes ayant des difficultés de prononciation ou aux personnes ayant un accent marqué de pouvoir être reconnues par le système une fois celui-ci entraîné.
    Voir l'excellente dépêche pour des compléments d'information.

    Malheureusement, j'ignore si il est encore activement développé.

    Si vous avez envie d'utiliser un modèle libre tout fait, ce n'est pas possible en français. En effet, le projet Voxforge vise à proposer un modèle libre dans différentes langues mais celui pour le français n'est complété qu'à 25%.

    Dans le domaine de la reconnance vocale et des assistant personnel, il y a le projet Alfred de Christophe Nowicki qui m'avait beaucoup plu à l'époque (2009).
    https://csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/
    Il parle notamment de son approche, du choix du micro (haut de gamme) et de sa technique pour entraîner le modèle de manière automatique.

    Bref, les briques sont là mais il manque encore un modèle français libre pour se passer de Google. Qui sait, un projet comme Kalliope pourra peut-être relancer l'intérêt pour la reconnaissance vocale libre.

  • [^] # Re: spoil ?

    Posté par  (site web personnel) . En réponse au journal Élections américaines. Évalué à 7.

    Quelques éléments de réponses ont été publiés aujourd'hui par Odieuxconnard (ça vaut ce que ça vaut):
    https://unodieuxconnard.com/2016/11/09/le-candidat/

  • # Contournement

    Posté par  (site web personnel) . En réponse au message Problème envoi mail depuis docker. Évalué à 1.

    Finalement, il semblerait que le problème provienne du fait que je teste ça sur un VPS. Les mails qui sortent de l'hôte passent mais tout ce qui vient d'un sous réseau est bloqué, probablement par l'hôte du VPS. Je m'en suis sortis en codant un petit serveur SMTP en python à l'aide de la bibliothèque dédiée. Ce service tourne sur l'hôte et accepte les mails des conteneurs. Il les transmet ensuite en utilisant le serveur SMTP fourni dans le fichier de configuration. Plus d'infos ici:

    https://docs.python.org/3/library/smtpd.html

  • # Complément d'informations

    Posté par  (site web personnel) . En réponse au message Problème envoi mail depuis docker. Évalué à 1.

    Pour compléter mon investigation, j'ai lancé un scan nmap depuis le container pour le comparer à un scan depuis ma machine personnelle:

    Machine perso:

    nmap mail.gandi.net
    
    Starting Nmap 7.30 ( https://nmap.org ) at 2016-10-21 07:49 CEST
    Nmap scan report for mail.gandi.net (217.70.184.11)
    Host is up (0.034s latency).
    Other addresses for mail.gandi.net (not scanned): 2001:4b98:c:521::11
    rDNS record for 217.70.184.11: agent.mail.gandi.net
    Not shown: 992 filtered ports
    PORT    STATE SERVICE
    80/tcp  open  http
    110/tcp open  pop3
    143/tcp open  imap
    443/tcp open  https
    465/tcp open  smtps
    587/tcp open  submission
    993/tcp open  imaps
    995/tcp open  pop3s
    
    Nmap done: 1 IP address (1 host up) scanned in 11.56 seconds
    

    Container:

    nmap mail.gandi.net
    
    Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-21 05:49 UTC
    Nmap scan report for mail.gandi.net (217.70.184.11)
    Host is up (0.0013s latency).
    rDNS record for 217.70.184.11: agent.mail.gandi.net
    Not shown: 994 filtered ports
    PORT    STATE SERVICE
    80/tcp  open  http
    110/tcp open  pop3
    143/tcp open  imap
    443/tcp open  https
    993/tcp open  imaps
    995/tcp open  pop3s
    
    Nmap done: 1 IP address (1 host up) scanned in 22.19 seconds
    

    On voit bien que les ports qui permettent l'envoi de mail (465 et 587) ne sont pas visibles ici. Je me demande si c'est le fournisseur du serveur mail qui bloque ou moi.

  • [^] # Re: docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 1.

    Il est normal que le build soit réalisé avant reste car avant ça, on a pas de container.

    Pourquoi ne pas installer MySQL dans le script data_install.sh?
    Les données seraient déjà montées dans le bon dossier avec les bonnes permissions et l'installation de MySQL détecterait que le dossier existe et est rempli avec les données sans l'écraser.

  • # Liens

    Posté par  (site web personnel) . En réponse au message pre-realease de battle-rage un jeu de combat a la street fighter.. Évalué à 1.

    Bonjour,

    Bravo pour le lancement du jeu mais les liens du post ne fonctionnent pas. Pourrais-tu les réintroduire dans un commentaire?

  • [^] # Re: ipv4/ipv6

    Posté par  (site web personnel) . En réponse au message Problème envoi mail depuis docker. Évalué à 1.

    Bonsoir,

    Merci pour ta réponse. Oui, l'hôte est connecté en ipv4 et ipv6 alors que le container est uniquement connecté en ipv4. Est-ce une cause probable du problème? J'ignore si docker se marie bien avec l'ipv6.

  • [^] # Re: docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 1.

    Je ne connaît pas assez docker-compose mais il ne me semble pas qu'il y ait possibilité de faire des pré/post commandes.
    https://github.com/docker/compose/issues/468

    Je ne suis pas certain d'avoir totalement compris la demande. Détrompe-moi si je dis une bêtise. Je dirais qu'il faut créer un script qui effectue toutes les démarches en dehors de docker-compose:
    1) montage du point /mnt/bdd/docker-build-test qui accueille les données de mysql
    2) vérifications si /mnt/bdd/docker-build-test contient bien des données
    3) choix d'un Dockerfile en fonction du résultat:
    mv Dockerfile_mysql_OK Dockerfile ou mv Dockerfile_mysql_KO Dockerfile
    5) docker-compose up

    Si les outils de montage NFS sont disponibles sur l'hôte, il n'y a rien qui empêche de faire les vérifications avant de lancer docker-compose up.

  • [^] # Re: docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 2.

    Bonjour,

    Je suis content de voir que tu avances.

    Le problème du container qui s'arrête après avoir lancé sa commande est connu. Je l'avais également avec un container qui effectuait une sauvegarde d'une BDD postgresql mais c'était voulu. Il est possible de laisser tourner le container. Il faut peut-être s'inspirer du côté des container mysql du hub:
    https://hub.docker.com/_/mysql/
    Il faut notamment regarder du côté des scripts "entrypoint".
    Il y en a de plusieurs sortes et ce sont eux qui sont lancés au démarrage du container.

  • [^] # Re: docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 2.

    En principe l'installation doit avoir lieu dans le dockerfile. Les images de base sont allégées et il faudra probablement fortement la modifier pour que nfs soit utilisable à l'intérieur. C'est pourquoi ma solution privilégiée serait de découpler le service en un container pour MySQL et un autre pour nfs. Voire, plus simple: créer un partage du dossier /Var/lib/MySQL et partager le dossier correspondant sur l'hôte à l'aide de nfs (installé sur l'hôte donc). À mon avis, ce serait plus simple, plus dans l'esprit docker et plus modulable.

  • [^] # Re: docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 1.

    L'user 0 est bien root. Si tu veux exécuter des commandes en tant que root, il faut s'assurer que tu aies les bons droits. Tu peux essayer de modifier légèrement ton DOCKERFILE:

    USER 0
    RUN mkdir /run/mysqld
    RUN mkdir /var/lib/mysql/
    RUN chmod 777 /var/lib/mysql/ 
    RUN mount -t nfs4 x.x.x.x:/mnt/bdd/docker-build-test /var/lib/mysql/ 
    RUN echo "x.x.x.x:/mnt/bdd/docker-build-test /var/lib/mysql/ nfs  defaults 0  0" >> /etc/fstab 
    RUN mount -a
    

    L'avantage est qu'il va créer une image à chaque ligne. Si il échoue et que tu modifies la troisième ligne, il repartiras de là sans réexécuter la première et la deuxième ligne (il part de la dernière image qui fonctionne). De plus, il te donneras un message d'erreur que tu pourras relier à la commande qui pose problème. Pour le moment, comme toutes les commandes correspondent à une seule ligne, tu ne sais pas quelle étape échoue réellement.

    Par ailleurs, il n'est pas possible de rationaliser le chmod 777 ? En général, on évite car ça donne touts les droits à tout le monde. Il n'est pas possible de trouver un groupe "partage" qui aurait accès en lecture et éventuellement écriture au répertoire /var/lib/mysql/ sans que tout le monde puisse lire le contenu?

  • # docker -v

    Posté par  (site web personnel) . En réponse au message Docker montage local/NFS. Évalué à 1.

    Bonjour,
    Personnellement, je n'essayerais pas d'installer un client nfs dans le container. Je partagerais le dossier /var/lib/mysql sur l'hôte afin d'assurer la persistance des données et je le partagerais par NFS depuis l'hôte. L'avantage est de garder une image mysql vanilla et de bénéficier de la persistance de donnée. Il est aussi possible de partager les données via un autre container qui est équipé pour les partages NFS. Dans ce deuxième container, le dossier /var/lib/mysql du container 1 est partagé dans /media/share du container 2 par exemple. C'est /media/share qui est partagé par NFS. docker-compose permet de réaliser ce montage facilement et de faciliter le découpage par tâche.

    Sinon, est-ce que vous avez bien ajouté USER 0 avant les lignes suivantes?

    RUN mkdir /run/mysqld && mkdir /var/lib/mysql/ && chmod 777 /var/lib/mysql/ && \
    mount -t nfs4 x.x.x.x:/mnt/bdd/docker-build-test /var/lib/mysql/ &&\
    echo "x.x.x.x:/mnt/bdd/docker-build-test /var/lib/mysql/ nfs  defaults 0  0" >> /etc/fstab && \
    mount -a
    
  • # Installation

    Posté par  (site web personnel) . En réponse au journal Premiers jappements de Cagou. Évalué à 1.

    Quand est-il de l'installation? Je suppose qu'il faut avoir la version de développement de SàT pour bénéficier de la refactorisation des messages.

    Ensuite, une fois qu'elle est dispo et dans le PYTHONPATH, Il suffit d'installer Kivy, de cloner le dépôt et ça roule? Il n'y a pas de dépendance additionnelle?

    Encore bravo pour le travail fourni. C'est toujours aussi impressionnant.

  • [^] # Re: Backups et root

    Posté par  (site web personnel) . En réponse au journal Un ransomware tout à fait déloyal ... et inquiétant. Évalué à 10.

    curl -s | sudo sh …

  • [^] # Re: GPG aussi

    Posté par  (site web personnel) . En réponse au message [systemd] désactivation de la demande de mot de passe via GUI lors de l'arrêt/relance d'un service. Évalué à 2.

    J'ai le même comportement avec GnuPG en ligne de commande. A ton avis, il est autant en cause que systemd? J'avoue que ça ne m'a jamais gêné.

  • # GPG aussi

    Posté par  (site web personnel) . En réponse au message [systemd] désactivation de la demande de mot de passe via GUI lors de l'arrêt/relance d'un service. Évalué à 0.

    Sous Arch, lorsque je déchiffre un fichier en ligne de commande dans une session X, une boîte de dialogue me demande également le mot de passe. Cela n'était pas le cas il y a quelques années (autre PC sous arch également). Le problème n'est pas forcément lié à systemd.Je chercherais du côté de polkit.

  • [^] # Re: Complément d'information

    Posté par  (site web personnel) . En réponse au journal Retour sur le « No poo ». Évalué à 5.

    Oui, je déconseille d'utiliser le savon fait soi même. Le savon de Marseille est très bien. Le problème est qu'on ajoute généralement un excès de soude pour déplacer l'équilibre de la réaction. Il en reste donc dans le mélange final. Il est possible de la neutraliser avec un acide et de vérifier le pH avant utilisation mais ça reste du bricolage. Dans le cadre d'une utilisation domestique sur la peau, je m'abstiendrais de jouer avec ça.

  • # Budget

    Posté par  (site web personnel) . En réponse au message Kit robotique. Évalué à 3.

    Bonjour,

    Tout dépend du budget. Personnellement, je partirais plus sur de l'Arduino. Je pense que ce sera plus facile de contrôler des moteurs et des senseurs. J'ai commencé avec ce kit:
    https://shop.mchobby.be/cartes-kits/11-kit-d-experimentation-arduino-francais-uno-r3-adafruit-ardx-v13-3232100000117.html
    Si le but est de réaliser un robot mobile, ils en ont également:
    https://shop.mchobby.be/arduino/308-arduino-robot.html
    L'avantage avec mchobby est qu'ils traduisent en français la documentation et qu'ils disposent d'un wiki bien fait. Ils sont facilement joignable et très aimables. Je n'ai pas d'action chez eux mais j'ai commandé plusieurs fois dans leur boutique.

  • [^] # Re: Complément d'information

    Posté par  (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  (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  (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
    saponification
    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  (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:

    • lave les cheveux --> agent tensioactif
    • odeur agréable: parfum
    • conservation plus de 2 mois: agent conservateur, anti agglomération,
    • ne laisse pas la peau sèche et crevassée: agents hydratants

    Dissection d'une étiquette

    http://www.leblogdelapeausaine.org/understanding-labels-what%E2%80%99s-in-my-shower-gel/
    Exemple:
    ex

    • Eau
    • Laurylsulfate de sodium: un tensioactif
    • Chlorure de sodium (du sel de cuisine)
    • Glycérine (ou glycérol, ce sont des synonymes): utilisé pour éviter le dessèchement de la peau. https://fr.wikipedia.org/wiki/Glyc%C3%A9rol
    • 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

    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).