Babelouest a écrit 709 commentaires

  • [^] # Re: Pas tout à fait

    Posté par  (site web personnel) . En réponse au journal L’État d’urgence permanent. Évalué à 10.

    Contrôle a posteriori, ca veut dire que tu peux être assigné à résidence pendant des semaines (mois) avant qu'un juge administratif ne le fasse cesser, et si tu es la cible d'une perquisition administrative, ben le juge il pourra dire qu'il comprend mais qu'il n'y peut rien.

    Les décisions de perquisition ou d'assignation sont prises par le ministère de l'intérieur et ses exécutants (préfet, police), pas par le juge administratif.

    http://www.conseil-etat.fr/Actualites/Communiques/Perquisitions-sur-le-fondement-de-l-etat-d-urgence

  • [^] # Re: Mot de passe en md5 ?

    Posté par  (site web personnel) . En réponse au journal Retour d'expérience Yunohost. Évalué à 3.

    Je connais pas la config de Yunohost et j'ai pas trouvé dans les sources de config spécifique pour slapd, j'en conclus que le mot de passe est hashé avec l'algorithme par défaut de openldap/Debian, c'est à dire SSHA, autrement dit du SHA1 salé.
    C'est mieux que du SHA1 grâce au sel, cela dit j'ai pas pu trouver de manière convaincante dans mes recherches si c'est équivalent à du SHA256 ou SHA512 pour la robustesse.

    Openldap ne supporte que quelques algos de chiffrement pour les mots de passe:
    - {SHA}: SHA1 classique
    - {SSHA}: SHA1 salé avec le sel concaténé après le hash
    - {MD5}: MD5 classique
    - {SMD5}: MD5 salé avec le sel concaténé après le hash
    - {CRYPT}: standard unix qui peut être propre au système sur lequel il tourne (man 3 crypt)

    Si j'ai bien compris, le fait que {SSHA} soit l'algorithme par défaut dans Openssl est du au fait que c'est le moins pire dans les algos portables. {CRYPT} peut être mieux dans certains cas mais pas partout, et ne garantit par la portabilité, voire n'est pas présent sur tous les systèmes supportés par OpenLdap.

  • [^] # Re: Enregistrement des mots de passe

    Posté par  (site web personnel) . En réponse à la dépêche Firefox zone en version 51 . Évalué à 6.

    Effectivement, ce qui ce passe ici c'est la méthode HTTP Basic Auth. Le serveur lors d'une connexion invalide renvoie une erreur 401 et un realm (une sorte de nom de contexte qui permet d'utiliser des user/mot de passe différents sur le même site), l'utilisateur doit recommencer la connexion avec un couple login/mot de passe encodé en base64 et transmis au serveur http via le header Authorization.

    Ensuite, les implémentations de navigateur gardent le login/mot de passe en cache quelque part et le redonnent à chaque connexion au même serveur s'il réclame le même realm, pour éviter d'avoir à se cogner le mot de passe à chaque changement de page.

    On peut aussi spécifier le login/mdp HTTP Basic Auth dans l'url de cette manière:

    http://<user>:<mot de passe>@domaine.tld/reste_de_l_url/
    

    Donc, une astuce pour se "déconnecter" est de modifier l'url en http://error:error@domaine.tld/reste_de_l_url/, ce qui forcera la connexion avec le user error et interdira la connexion, et normalement aura pour effet de vider le mot de passe du cache de ton navigateur.

    Cela dit, j'ai jamais compris moi non plus pourquoi les navigateurs n'avaient pas un bouton ou une fonctionnalité "se déconnecter" accessible pour ce genre de site.

    C'est une méthode d'authentification assez facile à implémenter et à utiliser, et elle permet effectivement dans certains cas de faire l'authentification avant même d'exécuter le moindre code métier coté serveur, genre directive Auth dans apache, super pratique quand on veut faire de l'authentification sans avoir nécessairement besoin d'identification.

    Mais il reste que le HTTP Basic Auth est une méthode d'authentification figée, peu souple, et peu sécurisée par rapport à ce qu'on est capable de faire de nos jours (oauth, hawk, soap, certificats, etc.), elle impose l'utilisation d'un couple user/mot de passe, et permet dans n'importe quel navigateur d'avoir accès au mot de passe en clair, vu qu'au pire, t'as juste à décoder le header en base64.

    Donc je restreindrais l'utilisation du HTTP Basic Auth à des sites pour lesquels tu n'as pas besoin de te déconnecter.

  • [^] # Re: bypasser un alias

    Posté par  (site web personnel) . En réponse au journal Des "basheries". Évalué à 2.

    J'ai aussi cet alias bien pratique, j'ai même rajouté ses cousins:

    alias cp='cp -i'
    alias mv='mv -i'
    

    et si tu veux "forcer" sans avoir le prompt (bien pratique quand tu rm plein de fichiers), tu peux y aller à coups de rm -f.

  • [^] # Re: Donc pour résumer…

    Posté par  (site web personnel) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2.

    XKCD a déjà proposé une approche plus pragmatique de la résolution de ce genre de problème:

    XKCD

  • # ma vie

    Posté par  (site web personnel) . En réponse au journal Quel Périphérique de pointage ?. Évalué à 4.

    C'est un peu hors sujet mais de mon coté, j'utilise une souris classique à deux balles, sauf que chez moi je l'utilise de la main droite, et au boulot je l'utilise de la main gauche.

    Ca m'a pris quelques jours d'adaptation au début, étant donnée que je suis droitier et pas du tout ambidextre, mais j'ai assez vite pris le tour de main. Et en alternant comme ca, je limite la fatigue du poignet et (peut-être) l'apparition des problèmes articulaires. En tout cas après toutes ces années à rester devant un écran un grand nombre d'heures par jour, je n'ai pas encore à me plaindre.

  • [^] # Re: Intéressant

    Posté par  (site web personnel) . En réponse à la dépêche Ma domotique avec le système Angharad, troisième génération. Évalué à 4.

    Rapidement comme cela ca me parait pas facile. Mon système est autonome mais est basé sur un serveur central qui pilote et monitore les composants.

    Si tu veux y accéder de l'extérieur, il te faut accéder à ce serveur depuis l'extérieur et chez moi ca se fait par ma connexion internet.
    Dans le cas d'une installation nomade, la connexion depuis l'extérieur est plus difficile je pense. Pour une connexion permanente, une connexion 3G et une connexion à un VPN pourrait faire l'affaire, mais ca prend un budget spécifique.
    Sinon pour une connexion plus intermittente, tu peux imaginer un serveur qui, toujours via une connexion 3G, se connecte régulièrement à un service distant et pousse les dernières données, et lise dans une file d'attente les commandes envoyées de manière asynchrones. Puis pour la sécurité gérer une sorte de système d'alarme qui envoie une alerte s'il détecte qu'il se déplace grâce au GPS ou qu'une porte a été ouverte par exemple.

    Ton problème est pas simple parce qu'il y a beaucoup de petits problèmes pas forcément indépendants…

    En tout cas bon courage!

  • [^] # Re: Cool

    Posté par  (site web personnel) . En réponse à la dépêche Ma domotique avec le système Angharad, troisième génération. Évalué à 7.

    Non, c'est pour ca qu'il y a un mpd par rpi/pièce, et pilotables indépendamment, donc tu écoutes un truc dans une pièce et un autre truc dans l'autre, personne n'est gêné…

    De la même manière, tu peux créer autant de webradios que tu veux, dépendamment des ressources de ton système quand même, parce que ca bouffe de la RAM un liquidsoap en fait.

  • [^] # Re: intéressant

    Posté par  (site web personnel) . En réponse au journal Ma domotique avec le Système Angharad, 3e génération. Évalué à 4. Dernière modification le 30 septembre 2016 à 15:07.

    Bonne idée aussi,

    En ce qui concerne les scénarios, je me souviens avoir voulu faire une gestion de scénarios au début, à base de séries d'actions à lancer itérativement, et le résultat d'une peut conditionner l'exécution du reste du scénario. Sauf que c'était pas facile à implémenter, et pour ne jamais l'utiliser aussi finement au final.

    J'ai préféré changer d'approche et gérer la notion de scénarios en scripts qui lancent une série d'actions atomiques itérativement, et des événements qui sont déclenchés soit de manière programmée (tous les matins le réveil se met en marche), soit déclenchés par un événement extérieur (la lumière s'allume quand le détecteur de présence se déclenche).

    Dans la dernière version, j'ai aussi ajouté des conditions optionnelles aux événements. Par exemple, le détecteur de présence déclenche l'événement, l'événement mesure la luminosité et lance le script si la luminosité est inférieure à un seuil -> quand je rentre chez moi la nuit, la lumière s'allume toute seule.

    Peut-être que plus tard j'aurai besoin de scénarios plus complexes, mais je sais qu'à l'utilisation, ces fonctionnalités-là me suffisent amplement.

    Pour le choix du langage, c'est une question de goût personnel, et de confort d'utilisation pour moi. Même si mon serveur domotique est un Odroid C1, je l'ai testé avec succès sur un Rpi Zero, vu que le programme serveur ne bouffe que 5 à 6 Mo en utilisation régulière. Je sais que plein d'autres langages fourmillent de frameworks que je n'aurais pas eu à redévelopper, mais c'est dans mon langage de prédilection qu'il manque d'outils comme ca.

    Nodejs est une plateforme sympa, en cherchant vite fait, j'ai vu un add-on pour openzwave, donc les outils sont là, yapluka, bon courage :)

  • # De quoi ca a l'air

    Posté par  (site web personnel) . En réponse au journal Ma domotique avec le Système Angharad, 3e génération. Évalué à 10.

    Exemple d'écrans

    Dashboard

    Moniteur

    Musique

  • [^] # Re: Entropie disponible

    Posté par  (site web personnel) . En réponse au journal OneRNG: générateur de nombres aléatoires open hardware/source. Évalué à 6.

    L'entropie c'est pas le pays en Afrique qu'on a fait une chanson pour les aider dans les années 80 avec tous les chanteurs français dans la télé de l'époque?

    Je suis déjà dehors ----> []

  • [^] # Re: 5G vs EDGE ?

    Posté par  (site web personnel) . En réponse au journal Internet, 5G et chantage. Évalué à 6.

    Au Canada, les abonnements sont nettement plus chers qu'en France pq la densité de population est bien moindre.

    Juste un petit bémol, c'est la raison invoquée mais j'ai peine à y croire.

    Les antennes ne sont pas réparties équitablement sur tout le territoire non plus, il y a beaucoup de zones habitées non desservies ou desservies uniquement par un opérateur, et de nombreuses zones non habtées mais empruntées par de nombreuses personnes pas desservies du tout.

    Je ne te parle pas du grand nord mais de régions moins denses entre les villes moyennes par exemple qui sont bien moins desservies "et tout le monde le sait mais on peut rien y faire". Si tu fais Montreal Royn-Noranda t'auras pas de réseau pendant une bonne partie du trajet. Ou encore Québec Gaspé, t'auras plus de réseau passé Matane jusqu'à Gaspé selon ton opérateur.
    Après, je veux bien croire que la densité plus faible de population joue sur le prix de l'abonnement, mais le cartel des opérateurs joue aussi sur le prix, pour ne jamais proposer d'offre trop différente du voisin et jouer sur les petits détails comme le prix de l'Iphone, mais pas vraiment sur le prix de l'abonnement.

    Chez le voisin d'en bas, où la densité est probablement comparable, on a des prix et des services bien meilleurs, mais c'est pas pareil, probablement parce qu'ils ont beaucoup d'habitant entre Seattle et le Montana vu que j'avais du réseau tout le temps pendant mon trajet de 3 jours, alors qu'entre Québec et Saguenay, sur 4 heures de trajet, t'as 2 heures sans réseau, sur un trajet emprunté quotidiennement par des milliers de voyageurs.

    D'ailleurs, pour me prouver la véracité des prix, qu'on me dise une bonne fois pour toutes combien y'a d'antennes, où elles se trouvent, et quelles puissance elles émettent, en France et au Canada, qu'on puisse avoir des bases comparables et qu'on me prouve une bonne fois pour toutes que si c'est plus cher c'est parce que y'a moins de monde au Km². Sinon je vais continuer à croire que les prix élevés sont aussi dû aux opérateurs qui le font exprès…

  • # [X] Résoudre un problème

    Posté par  (site web personnel) . En réponse au sondage Ce que je préfère en informatique / programmation / codage c'est... . Évalué à 5.

    Ce que je préfère dans la programmation c'est résoudre un problème posé, répondre à un besoin.

    Ca passe par le design, le codage, les tests, la documentation, la traduction, le packaging, etc.

  • # Eat your own food

    Posté par  (site web personnel) . En réponse au journal testmysite.thinkwithgoogle.com. Évalué à 6.

    D'après ce service, le site http://www.google.com/ a le score suivant:

    Mobile Friendliness
    100/100
    Good

    Mobile Speed
    79/100
    Fair

    Desktop Speed
    92/100
    Good

    Encore des progrès à faire sur la vitesse pour les mobiles apparemment :)

  • [^] # Re: installation Ubuntu avec UEFI activé

    Posté par  (site web personnel) . En réponse au message boot sur UEFI. Évalué à 3.

    je pense que j'ai mal cherché en fait: https://doc.ubuntu-fr.org/uefi

    Je vais vérifier ca ce soir

  • # Fork ou nouvelle version?

    Posté par  (site web personnel) . En réponse au journal Angular 1 vs Angular 2. Évalué à 7.

    Je connais AngularJs 1.3/4/5 depuis peu, mais j'ai entendu parler de Angular 2 dès mon arrivée dans ce milieu.

    L'impression que ca me donne c'est que dans Angular 2, ils ont voulu faire quelque chose de tout nouveau et n'ont pas cherché la compatibilité ascendante pour s'enlever une dette technique qui fait mal aux pieds. D'ailleurs Angular 1.x est appelé AngularJs avec Google en dessous, alors que Angular 2 est appelé Angular tout court, et Google a disparu de la page principale.

    Je penche donc sur deux projets distincts qui vont évoluer en parallèle, parfois avec des cross overs quand une nouvelle fonctionnalité intéressante de l'un sera transmise à l'autre, mais tu ne verras pas de modules ou application compatibles Angular 1 && 2.

    Puis un beau jour un des deux projets va se renommer tout seul et la confusion disparaîtra.

    Mais de toutes façons on sera déjà passé à la nouvelle techno à la mode donc personne n'y fera attention.

  • [^] # Re: ESP8266

    Posté par  (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 3.

    Ca dépend du contexte, mais si tu as confiance en ton réseau et qu'il est inaccessible aux non connectés, ou si tu te fout qu'on y écoute ce qui y passe, genre le capteur de la température extérieure, c'est pas très grave…

    Maintenant je suis d'accord que les cas où tu désactives le tls doivent être des exceptions mûrement réfléchies et non pas:

    "je désactive tls parce que j'ai la flemme"

  • [^] # Re: Nommage des structures

    Posté par  (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 5. Dernière modification le 02 juin 2016 à 15:59.

    Question de goût et d'habitude là aussi.

    Le C a des conventions différentes du C++, et j'ai souvent vu des syntaxes comme celles que j'utilise, je les ai donc écrites comme ca.

    On le voit ailleurs dans d'autres libs, certains types sont en fait des structures avec un typedef. Ca permet de garantir le même comportement d'une architecture ou une implémentation à l'autre, sans que le programme client ait à se poser la question de comment est implémenté telle ou telle fonction.

    Le choix de préfixer avec des blah (_) et de ne pas utiliser de typedef n'a pas de raison précise, mais c'est comme ca que je l'ai fait. Dans mon raisonnement, je me dis que préfixer un nom de structure par blah indique que c'est une structure interne à la lib, et spécifier explicitement le mot-clé struct lors de sa déclaration c'est pour dire que la structure est une structure dont tous les membres sont utilisables en tant que tels, et que je n'abstrait pas une partie du traitement à l'utilisateur. Et si l'utilisateur veut utiliser ma lib dans son programme, il sait que s'il choisit des déclarations de types qui commencent par _u_, ou des déclarations de fonctions qui commencent par ulfius_, il risque d'écraser une des miennes, c'est pour ca que j'ai utilisé un préfixe qui est le même partout et ne laisse pas place à l’ambiguïté.

    Mais je suis pas fermé aux changements d'habitudes si ca se justifie, on n'est pas des bêtes ;)

    Merci pour le compliment sur le code, là aussi je me dis que si je veux que ca soit utilisé, autant que ce soit accessible.

  • [^] # Re: libuv : Cross-platform asynchronous I/O

    Posté par  (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 2.

    Comme mon projet est surtout une encapsulation de MHD pour la partie webserver, je laisse le soin à MHD de gérer la boucle d'événements et la partie réseau bas-niveau.

  • [^] # Re: ESP8266

    Posté par  (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 3.

    J'ai déjà bricolé sur un ESP8266 mais avec l'IDE de l'Arduino, je saurais pas te dire si Ulfius et ses dépendances pourraient tenir sur un chip comme ca.

    Libmicrohttpd dit qu'il peut tenir sur un binaire de 32Ko en enlevant ssl et quelques options, libcurl peut être minimisé aussi, voire enlevé si on n'utilise pas les requêtes sortantes, et jansson est assez petit également (~50Ko sur ma debian).

    Par contre pour l'ESP8266, j'utilisais justement une lib dont la syntaxe rappelle aussi ce genre de framework: https://github.com/babelouest/taulas/blob/master/taulas_esp8266_webserver/taulas_esp8266_webserver.ino

  • [^] # Re: Pourquoi en C ?

    Posté par  (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 10.

    Parce que je préfère ce langage aux autres pour les applications serveur autonomes.

    Je peux gérer les ressources de manière plus fine, il y a pléthore de librairies pour faire plein d'autres choses comme accéder aux BD, communication, manipulation d'images, etc.

    J'ai rien contre les autres langages, mais je suis juste plus à l'aise en C pour un programme qui tourne en tâche de fond. C'est beaucoup une question de goût.

  • [^] # Re: Pas tout jeune :)

    Posté par  (site web personnel) . En réponse au journal Journée internationale contre les DRM :: le test. Évalué à 3.

    Amazon ne propose pas de musique en téléchargement dans tous les pays (i.e. pas au Canada), et la solution que j'ai trouvé, outre itunes, c'est google music qui permet dans l'interface web de télécharger l'album, mais avec une limite de 2 téléchargements par album.

  • [^] # Re: En hiver

    Posté par  (site web personnel) . En réponse au journal Moto journal: Le nucléaire passera-t-il ?. Évalué à 4.

    Dans un endroit au climat subpolaire que je connais bien (le Québec), les motos n'ont de fait pas le droit de circuler l'hiver, car pendant l'hiver, les pneus neige sont obligatoires pour rouler, mais il n'y a pas de pneu neige disponible pour les motos (problème d'homologation je crois).

    Donc les motards rongent leur frein et attendent le 15 mars pour l'autorisation légale, mais plus spécialement le retour des beaux jours, comme le week-end dernier, pour sortir la moto.

    De plus, même sur une route déneigée, ca reste dangereux de conduire en deux roues en hiver, les routes sont remplies de sel, sable ou gravier pour l'adhérence, le froid constant implique une combinaison adéquate, et en plus retire une bonne partie du plaisir.

    Enfin, les véhicules qui ne sont pas des automobiles sont très mal vues et on beaucoup moins d'infrastructures qui leur sont dédiées, car si on n'est pas en voiture, l'état considère que c'est du loisir. Les mentalités sont longues à changer, mais ca arrive peu à peu.

  • [^] # Re: Je n'arrive pas à voir ce qui est de gauche chez Hollande...

    Posté par  (site web personnel) . En réponse au journal [HS] Déchéance de nationalité et constitutionnalisation de l'état d'urgence bronsonisés. Évalué à 1. Dernière modification le 30 mars 2016 à 21:16.

    Mélenchon s'est opposé à bon compte à l'état d'urgence, après que le vote fut passé, et que les députés de son propre parti (PCF alliés dans le Front de Gauche) aient voté pour l'état d'urgence, et sans désavouer les députés de son propre parti, moi j'appelle ca au mieux de l'opportunisme, au pire de l'incompétence.

    S'il avait voulu être cohérent avec ses idées, il aurait du quitter le Parti de Gauche après le vote de l'état d'urgence, et créer sont nouveau nouveau parti, comme il l'a fait à l'époque quand il est parti du PS.

  • [^] # Re: Pour quel coût ?

    Posté par  (site web personnel) . En réponse au journal L'increvable. Évalué à 9.

    Oui mais pas uniquement, le ton que tu emploies est trop péremptoire et mérite d'être nuancé (50 fois sur des tons qui iront du blanc au noir en passant par le gris probablement).

    Tu dis toi-même:

    C'est cher, mais comme tu vas la garder des années, cela va t'éviter de racheter 3 ou 4 machines entre temps

    Quand on veut un bon produit pérenne (même un habit !), il n'y a pas de secret, il faut mettre le prix.

    Mais plus haut tu dis quand-même:

    Il existe aussi des marques solides et moins chères que Miele, comme AEG par exemple.

    Tu dis donc que si on veut du pérenne, il faut payer cher, mais on peut aussi payer moins cher et aussi pérenne si on prend une autre marque.

    Donc je relativiserai en disant que souvent le prix permet d'avoir un produit de meilleure qualité, mais le prix seul n'est pas un gage de qualité. Le prix est un indicateur à prendre en compte pour faire son choix, mais ce n'est ni le seul, ni le plus important.