harlock974 a écrit 278 commentaires

  • [^] # Re: blaque de R. Stallman

    Posté par  . En réponse à la dépêche Revue de presse de l’April pour la semaine 19 de l’année 2018. Évalué à 4.

    Justement, l'un des charmes du libre est lié aux blagues, traits d'humour et autres oeufs de Pâques qui parsèment la documentation et le code…

  • # Castor

    Posté par  . En réponse à la dépêche Sortie d’Ubuntu 18.04 LTS Bionic Beaver. Évalué à 6.

    C'est donc vrai, cette histoire des castors et des canards…

  • # Yen a trop

    Posté par  . En réponse au journal La ronde (boucle?) des langages. Évalué à 5.

    Point de vue d'un amateur, qui se limite à C et bash, et php / javascript pour le web : Je trouve assez surprenante la multiplicité excessive des langages de programmation. Je ne connais pas le milieu professionnel du développement, mais il doit y avoir une perte d'énergie considérable à l'apprentissage des langages et à l'attention à ne pas se mélanger les pinceaux entre les différentes syntaxes.
    Un truc qui m'étonne aussi, c'est la popularité des langages interprétés, y compris pour réaliser de gros programmes. Ce qui revient à faire porter au matériel la performance du logiciel.
    Et j'ai l'impression qu'on a tendance à éviter le C de nos jours, alors qu'en matière de performance (vitesse d'exécution), c'est quand même top.
    Enfin ce sont juste des ressentis par rapport aux actualités glanées ici où là, je n'ai pas de statistiques précises.

  • # Linux / Windows / Geany

    Posté par  . En réponse au journal Le débat est clos. Évalué à 4.

    Je ne comprends pas tout du sondage :

    Most popular platform : Linux 48.3 % / Windows 35.4 %
    Developers' Primary Operating Systems : Windows 49.4 % / Linux 23 %

    En plus il y a eu apparemment plusieurs choix possibles dans certaines questions, avec des totaux nettement supérieurs à 100 %, ce qui rend les interprétations un peu difficiles.

    Enfin il n'y a pas Geany dans les "Most Popular Development Environments". Pourtant, je l'utilise :D

  • # 1986

    Posté par  . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 1.

    Comme j'avais loupé le précédent échange, un grain de sel ici :
    Sur mon ordinateur de poche SHARP PC-1262 de 1986, si je tape :
    2 - 1.8 - 0.2 = 0
    Le résultat est bien 1
    Comme quoi, quand on veut…
    ;)

  • [^] # Re: C’est toujours mieux qu’un open-bar.

    Posté par  . En réponse au journal Et ca continue encore et encore ... avec la pomme ... la grande rigolade. Évalué à 4.

    J’ai un Mac, c’est mieux.
    Et je dis ça malgré les nombreux problèmes de High Sierra : ils ont dû me prendre 30min à résoudre, et pour l’escalation de privilèges je n’étais pas affecté, étant le seul utilisateur de mon mac.
    Quand j’avais un portable sous Linux (un thinkpad en plus, donc bon support et bonne documentation), 100% des fonctionnalités n’ont jamais marché, malgré des dizaines d’heures à bidouiller. Que ce soit le multi écrans, la gestion de l’energie ou les « périphériques » spécifiques, il y a toujours eu des soucis.

    Apple fabrique les machines ET l'OS. C'est donc la moindre des choses que leur OS marchent dans leur machine.
    Donc Mac, non ce n'est pas mieux que Linux. Le temps que tu passes à bidouiller pour faire marcher un truc sur Linux, les ingénieurs d'Apple l'on fait à ta place avant de vendre la machine. Essaye d'installer Mac OSX dans un thinkpad.

  • [^] # Re: Bof mouais pfff

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 1.

    C'est vrai que autant de lignes de codes pour un programme sans interface graphique, qui gère de l'informatique matérielle (capteurs - actionneurs), ça paraît très curieux.
    Peut-être utilisent-ils des environnements de développement dit rapides, qui produisent rapidement du code lourd et lent ?

  • [^] # Re: Article pas terrible

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 2.

    Pour être clair je pense que l'idée de faire du développement interactif avec un outil visuel permettant d'ajuster des blocs entre eux est en soi pertinente

    Et ça existe déjà. Ça s'appelle Scratch :D

  • # Un arduino

    Posté par  . En réponse au sondage Pour fermer mes volets / stores, j'utilise.... Évalué à 4.

    Des relais pilotés par Arduino, avec des cables partout, emballés dans du lego…

  • [^] # Re: Virer les onglets

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 1.

    Merci Abakkk
    Si pas de news pour l'extension, j'essaierais ta solution.

  • # Virer les onglets

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 0.

    Ce serait bien que les programmeurs de Firefox se rendent compte qu'il y a encore des gens qui utilisent d'autres interfaces que Gnome shell, Unity ou Androïd…
    Je suis peut être le dernier des mohicans, mais j'utilise une interface graphique avec un tableau de bord (panel) en bas, sur lequel les fenêtres ouvertes apparaissent sous forme de boutons. Dès lors, les onglets de Firefox ne servent à rien en ouvrant des pages dans une nouvelle fenêtre. Supprimer les onglets permet donc un gain de place sur l'écran. De même, lorsqu'une seule page est ouverte, ça ne sert à rien d'avoir un onglet, qui fait perdre 32 pixels. Avant on avait le choix, onglets ou fenêtres, et l'onglet n'était pas affiché s'il y en avait qu'un. Puis Firefox a imposé l'onglet permanent à partir de la version 29. Chris a eu la bonne idée de faire un plugin pour rétablir cette fonctionnalité, mais celui-ci est devenu obsolète avec la version 57. J'espère que l'auteur le mettra à jour.

  • # Pareil

    Posté par  . En réponse au message pc portable redemarre seul. Évalué à 1.

    J'ai le même souci, par intermittence, et je n'arrive pas à reproduire volontairement le problème.
    Pas de solutions pour l'instant.

  • # Avec wchar

    Posté par  . En réponse au message Linux ncurses emoticones. Évalué à 4.

    Essaye comme ça :

    #include <stdio.h>
    #include <wchar.h>
    #include <locale.h>
    main()
    {    
    setlocale(LC_ALL, "");
    wchar_t s[] = L"頁";
    printf("%ls\n",s);
    }
  • [^] # Re: Charset de l'éditeur

    Posté par  . En réponse au message Linux ncurses emoticones. Évalué à 2.

    echo '\u9801' | iconv -f utf-8 -t C99 = iconv: conversion to 'C99' is not supported

    Ça paraît normal, C99 n'est pas un jeux de code de caractères (cf iconv -l).

  • # Ils font de l'informatique chez DELL ?

    Posté par  . En réponse au message Dell XPS 13 sous Ubtuntu. Évalué à -1.

    J'ai voulu acheter un XPS 13 via le site de DELL, mais ils ont réussi à me décourager :
    - Bouton "Découvrer Windows 10 pro" à toutes les pages
    - À la racine "Ordinateurs portables", affiner votre recherche, choix du système d'exploitation, il n'y a que Windows 7 ou 10
    - Il faut vraiment sélectionner le modèle XPS13 pour découvrir dans un coin qu'il existe une version Ubuntu
    - impossible de trouver un numéro de téléphone ou une adresse mail pour poser une question. Le formulaire pour laisser un message bugue.
    - Le site est au niveau zéro de l'ergonomie. Ils ne connaissent pas des vrais développeurs chez DELL ?

  • # rm avec noms de fichiers corrompus ???

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 3.

    Je continue à enquêter sur le problème, et j'ai pu déterminer à 10 mn près l'heure d'effacement des fichiers. Il apparaît que le dernier être humain à avoir eu accès à l'ordinateur, environ 15 mn avant l'incident, a fait l'action suivante : il a connecté une carte SD pour copier quelques fichiers qui s'y trouvaient, avec le navigateur de fichier Caja (de Mate). il a ensuite demandé le démontage de la carte, et Caja a proposé d'effacer les fichiers de la corbeille de la carte, ce que l'opérateur a accepté. Puis la carte a été retirée.
    Cette carte équipe un terminal de terrain, où le constructeur a eu la bonne idée d'utiliser une sorte de Windows embarqué. En vérifiant le contenu de cette carte, il s'est avéré que le système de fichier FAT était corrompu, que que le répertoire corbeille contenait plusieurs fichiers dont les noms incluaient des caractères non ascii et des caractères de contrôle. Le syslog affichait d'ailleurs les erreurs suivantes au branchement de la carte :

    Oct 20 12:00:24 Serveur01 kernel: [4409259.900670] FAT-fs (sde1): error, invalid access to FAT (entry 0x0000f92a)
    Oct 20 12:00:24 Serveur01 kernel: [4409259.900718] FAT-fs (sde1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
    Oct 20 12:00:25 Serveur01 kernel: [4409260.803446] VFS: Lookup of '[02][0E][03][13][03]*[03]A[03]' in vfat sde1 would have caused loop

    En la formatant avec cfdisk, la carte a d'ailleurs pourri la console avec des caractères bizarres, et ce même après que la commande soit terminée (un peu lorsque l'on cat un fichier binaire).

    Bien que cela paraisse un manque de chance incroyable, serait il possible que Caja, en voulant effacer la corbeille, ait lancé l'équivalent d'un rm -rf sur un fichier commençant par les caractères '\' et 0x0A (saut de ligne) ?

  • [^] # Re: logs

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.

    L'historique du user a disparu avec le reste des fichiers, et rien d'anormal dans celui du root.
    Le dossier personnel est sur la même partition que le système.

    L'heure du problème a pu être cerné grâce à /var/log/syslog :

    à 12h30 un scripts situé dans le /home/user est lancé sans erreur par CRON.
    à partir de 13h23 j'ai des messages de pulseaudio et de rtkit-daemon qui ont l'air de mouliner dans la choucroute :

    Oct 20 13:23:49 Serveur01 pulseaudio[30315]: [pulseaudio] shm.c: shm_unlink(/pulse-shm-3311755292) failed: No such file or directory
    Oct 20 13:23:49 Serveur01 pulseaudio[30315]: [pulseaudio] shm.c: shm_unlink(/pulse-shm-975947294) failed: No such file or directory
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Successfully made thread 30929 of process 30929 (n/a) owned by '1000' high priority at nice level -11.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Supervising 1 threads of 1 processes of 1 users.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Supervising 1 threads of 1 processes of 1 users.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Successfully made thread 30930 of process 30929 (n/a) owned by '1000' RT at priority 5.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Supervising 2 threads of 1 processes of 1 users.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Supervising 2 threads of 1 processes of 1 users.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Successfully made thread 30931 of process 30929 (n/a) owned by '1000' RT at priority 5.
    Oct 20 13:23:50 Serveur01 rtkit-daemon[2176]: Supervising 3 threads of 1 processes of 1 users.
    Oct 20 13:23:51 Serveur01 pulseaudio[30929]: [pulseaudio] authkey.c: Failed to open cookie file '/home/tom/.config/pulse/cookie': No such file or directory
    Oct 20 13:23:51 Serveur01 pulseaudio[30929]: [pulseaudio] authkey.c: Failed to load authentication key '/home/tom/.config/pulse/cookie': No such file or directory
    Oct 20 13:23:51 Serveur01 pulseaudio[30929]: [pulseaudio] authkey.c: Failed to open cookie file '/home/tom/.pulse-cookie': No such file or directory
    Oct 20 13:23:51 Serveur01 pulseaudio[30929]: [pulseaudio] authkey.c: Failed to load authentication key '/home/tom/.pulse-cookie': No such file or directory
    Oct 20 13:23:51 Serveur01 pulseaudio[30929]: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files

    Et ça se poursuit comme ça sur des dizaines de lignes, à la même heure. Je ne sais pas ce qu'est rtkit-daemon.

  • [^] # Re: crontab

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.

    Si la variable $ARCHIVES n'est pas vérifiée avant la commande "find", je pense qu'en cas de loupé "mal intentionné" (de type injection de commandes dans la variable $ARCHIVES), cette tâche cron pourrait faire autre chose que d'effacer des fichiers .BAK.

    En effet. Ceci dit $ARCHIVES est déclaré de façon statique en début du script, du style $ARCHIVES = /mnt/sauvegarde/… Donc si quelqu'un peut modifier le scripts, c'est qu'il a déjà accès au système.

  • [^] # apache

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 4. Dernière modification le 24 octobre 2017 à 11:37.

    L'après-midi où les fichiers ont disparu, j'ai eu une tentative d'attaque :

    /var/log/apache2/access.log :
    
        27.255.65.171 - - [20/Oct/2017:12:11:47 +0400] "POST //%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 401 697 "-" "-"

    Ce qui, traduit en bon latin, donne :

        cgi-bin/php?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -d auto_prepend_file=php://input -n

    D'après des infos équivalente sur le ouèbe, cette attaque permet de télécharger et d'exécuter un script qui va miner des bitcoins. Si je regarde mon error.log à la même heure, j'ai :

        [Fri Oct 20 12:11:48.274578 2017] [access_compat:error] [pid 27640] [client 27.255.65.171:46553] AH01797: client denied by server configuration: /var/www/cgi-bin

    L'attaque aurait-elle échoué ? Ce serait intéressant de télécharger le script manuellement pour voir ce qu'il y a dedans, mais je ne vois pas comment reconstituer l'url de téléchargement à partir de la commande php ci-dessus. Quelqu'un à une idée ?

  • [^] # Re: crontab

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.

    Il y a bien un serveur web basique : apache2 et des pages web-php servant à consulter une base MySQL. Comment est il possible d'effacer des fichiers du /home par ce biais là ?

  • [^] # Re: crontab

    Posté par  . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.

    Merci Matthieu
    J'ai effectivement des scripts lancés par crontab :
    1)
    find /tmp/ -maxdepth 1 -name "cookie*" -mtime +1 -delete

    Celui-ci efface les fichiers cookie* qui s'accumulent dans /tmp donc à priori pas de souci.

    2)
    find $ARCHIVES -xdev -name "*.bak" -mtime +365 -delete

    Même style. En cas de loupé sur la variable $ARCHIVES (qui indique le chemin d'un répertoire de sauvegarde), ce ne sont de toutes façons que les fichiers *.bak qui sont effacés.

    C'est vraiment un mystère cette histoire. Le système de fichier est ext4. Ça ne me paraît pas possible, mais est qu'un problème matériel pourrait causer la disparition de tous les fichiers d'un seul utilisateur ?

  • # Merci

    Posté par  . En réponse à la dépêche Revue de livre : La face cachée d’Internet, de Rayna Stamboliyska. Évalué à 3.

    Merci pour cette revue bien faite qui m'a donné envie de lire le livre.
    J'aime bien les bouquins sur le monde de l'informatique, et il y en a assez peu, ou ils ne se font pas assez connaître. En ce moment je viens de terminer "Surveillance", de Tristan Nitot, et je lis "Hackers", de Steven Levy.
    Sinon :

    l'auteure fait référence à « Hackers » (si si, vous savez, ce film avec Angelina Jolie, où on apprend que « le RISC, c'est bien »). Et un livre qui y fait référence ne peut pas être mauvais.

    Heu sérieux, tu as aimé ce film ? Je l'ai trouvé insupportable de nullité, et la seule discussion technique entre "hackers", qui dure 10 secondes, est loufoque.

  • # Bof...

    Posté par  . En réponse au journal Vous avez aimé BSD vs System V ? Vous aimerez systemd vs openRC (et le reste du monde). Évalué à -1.

    System V, systemd ou openRC ? M'en fiche, je n'utilise aucun de ces programmes (du moins pas de façon consciente).

  • [^] # Re: En train...

    Posté par  . En réponse au journal Eolie, le petit frère de Lollypop. Évalué à 1.

    Dans le cas qui nous intéresse, ils sont en C++. Donc ce n'est pas Python qui va limiter les ressource. Même une partie de l'interface graphique est en C (via les bindings GTK). Ici, le Python ne fait que la "glue" entre les différents composants.

    OK.

    Le C n'est pas si compliqué ni si laborieux à programmer

    Pour une interface graphique, en travaillant proprement (et donc éviter les erreurs mémoires et autres joyeusetés du C), si.

    C'est vrai que la performance de l'exécutable nécessite une certaine discipline.

    Rien à voir avec une interface graphique donc. On n'est même pas sur du multitâche… En plus, parler de gros projet et coder sur Arduino…

    C'est juste un exemple pour expliquer qu'avec des librairies bien fichues, c'est facile de coder en C.

    Je ne vois pas ce que tu veux dire, Raspberry, c'est juste une plateforme matérielle. Après, il y a différents OS dessus et c'est du C classique pour communiquer avec l'OS. Comme tu le ferrais avec un PC classique.

    Autre exemple opposé au précédent. L'Arduino et le Raspberry Pi sont tout deux utilisés pour faire de l'informatique physique, c'est à dire communiquer avec des modules électroniques : capteurs, actionneurs, afficheurs, horloges,…
    Pour les premiers les librairies sont en C, tandis que pour le second, elles sont essentiellement en python.

  • [^] # Re: En train...

    Posté par  . En réponse au journal Eolie, le petit frère de Lollypop. Évalué à 0.

    Je n'ai rien contre Python, et j'ignorais même cette "sale réputation". Mais comme c'est un langage interprété, nécessairement, à tache égale, il sera plus lent et consommera plus de ressources machine.
    C'est juste mon avis, mais je pense qu'il n'est jamais très bon de compter sur la puissance des machines pour avoir des programmes rapides, et donc dans la mesure du possible, dès qu'on commence à avoir du gros code, choisir du compilé.
    Python est un langage facile d'accès et est donc désormais le langage préféré d'apprentissage. Mais comme il est également très riche et complet et qu'il existe une foultitude de librairies (on peut absolument tout faire avec), ceux qui ont débuté en Python restent en Python, y compris pour des très gros projets, ce qui peut impacter les performances des machines.

    Pourquoi faire? Mettre 2 ans pour faire ce que j'ai fait en 4 mois?

    Je pense que la différence de délai n'est pas due aux langages, mais au fait que tu touches en Python.

    Le C n'est pas si compliqué ni si laborieux à programmer. C'est même un langage assez simple dans sa syntaxe. La facilité de développement est plutôt lié à la disponibilité des librairies.
    Par exemple, programmer un Arduino en C est très simple car les librairies pilotant les modules sont toujours disponibles et bien conçues. Les concepteurs de l'Arduino on même ajouté des fonctions et types de base qui simplifient encore plus la stdlib.
    Pour le Raspberry, c'est plus compliqué. Les concepteurs ont choisi Python pour faire découvrir la programmation aux utilisateurs de leur machines, et donc la plupart des librairies pilotant les modules électroniques dédiés au Raspberry ont été développées en Python. Donc là, effectivement, c'est galère de programmer en C.