Marotte ⛧ a écrit 8719 commentaires

  • [^] # Re: Pour quoi faire ?

    Posté par  . En réponse au message Programmer un daemon. Évalué à 3.

    C’est surtout que je souhaite apprendre le Python et si je peux apprendre à faire des scripts multi-plateformes je préférerais. Sinon systemd je l’utilise depuis un petit moment sur mon poste personnel, j’en suis très content.

    J’ai réussi à daemonizé mon script (pas la prouteuse, le script qui récupère les posts à intervalle réguliers…) me reste à apprendre à le contrôler (commandes start, stop…) et là je m’aperçois qu’un Ctrl+d, qui va donc fermer le shell avec lequel j’ai lancé le script l’arrête :/ Maintenant que j’ai compris la base va falloir que que je lise plus en profondeur la doc de la lib daemon…

  • [^] # Re: j'y connais rien mais faut vraiment que je m'y mettes

    Posté par  . En réponse au message Programmer un daemon. Évalué à 3.

    À la lecture de http://stackoverflow.com/questions/419163/what-does-if-name-main-do

    je pense que j’ai intérêt à le mettre ! ^^

  • [^] # Re: j'y connais rien mais faut vraiment que je m'y mettes

    Posté par  . En réponse au message Programmer un daemon. Évalué à 2.

    Merci beaucoup pour ta réponse. Alors voilà le code que j’ai pour arriver à ce que je veux. Bon OK ce que je veux est assez débile en vérité, je ne vais pas faire ça pour mon programme final mais voilà :

    #!/usr/bin/env python3
    
    from time import sleep
    import daemon
    import lockfile
    import sys
    
    def prout():
      while True:   
        print("prout !")
        sleep(3)
    
    context = daemon.DaemonContext(
      working_directory='./',
      pidfile=lockfile.FileLock('./Prout.pid'),
      stdout=sys.stdout
      )
    
    def run():
      with context:
        prout()
    
    #if __name__ == "__main__":
    run()

    Le programme tourne bien en tâche de fond mais continue de flatuler sur la sortie standard…

    Comme tu vois j’ai commenté le if __name__ == "__main__", pour voir si ça marchait sans… va falloir que j’aille lire le bon post SO qui traite de cette incantation pour être moins bête…

    Bon, en l’état pour « tuer » ce daemon je dois faire un kill… plus qu’à trouver comment je peux implémenter un ./Prout.py start pour le démarrer et un ./Prout.py stop pour l’arrêter… et bien sûr je ne vais pas rediriger la stdout vers sys.stdout mais plutôt vers un fichier standard.

    Merci NeoX, tu gères !

  • [^] # Re: Pourquoi tu dis que cela ne marche pas

    Posté par  . En réponse au message Programmer un daemon. Évalué à 2.

    Lorsque je fais un ps je vois bien un python3 ./daemon_prout.py mais ça me paraît normal vu que mon programme Prout.py fait un while True

    Je vais essayer la solution de NeoX (je n’ai pas besoin de deux fichiers déjà…) je vais faire simple. J’étais moi aussi tombé sur cette manière de faire en « pur Python », sans utiliser de lib dédiée, je m’y essayerai si la première solution ne fonctionne pas. Un grand merci pour ton aide.

  • [^] # Re: Pour quoi faire ?

    Posté par  . En réponse au message Programmer un daemon. Évalué à 2.

    Je ne connais pas assez la lib daemon pour te trouver un exemple et peut-être bien que ça n’offre aucune souplesse supplémentaire. Alors j’en un autre argument à avancer : ne pas être dépendant de systemd ?

  • [^] # Re: j'y connais rien mais faut vraiment que je m'y mettes

    Posté par  . En réponse au message Programmer un daemon. Évalué à 2.

    Merci je vais essayer ça.

  • [^] # Re: Pour quoi faire ?

    Posté par  . En réponse au message Programmer un daemon. Évalué à 2.

    Oui c’est une solution… Par contre je ne veux pas lancer ce script en tant que root (j’imagine que systemd permet de spécifier un utilisateur, faut que je RTFM je sais…)

    Par contre je suppose que ça permet quand même moins de souplesse qu’utiliser la lib daemon de Python…

  • # Wikipédia API

    Posté par  . En réponse au message JSON how to get the data I want.. Évalué à 2. Dernière modification le 06 septembre 2015 à 16:48.

    Après quelques expérimentations je précise que l’API Wikipédia offre le moyen de récupérer directement du texte brut et pas cette chose trop galère à parser nommée « wikitext » (même pandoc se vautre comme une loutre bourée, le « wikitext » c’est pas du pur « Mediawiki text »)

    Voir https://fr.wikipedia.org/wiki/Sp%C3%A9cial:ApiSandbox#action=query&prop=extracts&format=json&explaintext=&titles=moule&redirects=

  • # Le katana ça coupe !

    Posté par  . En réponse au message Problème de dépendance sur une bibliothèque. Évalué à 4. Dernière modification le 03 septembre 2015 à 07:39.

    Est-ce que tu peux désinstaller un package (meshlab) ?

    Je vois que tu as les dépôts jessie ET sid dans ton sources.list, comment est configuré ton "pinning" ? As-tu besoin du dépôt sid si tu utilises kali ? D’après le dépôt pour le CD je vois que tu as installé directement avec un CD Kali, c’est peut-être normal alors… mais sur leur site ils parlent juste d’ajouter leur dépôt en tous cas… Quand on fait ça (avoir des dépôts pour plusieurs version) il faut configurer d’autres choses, notamment les priorités, voir le lien que je te donne…

    Est-ce que Kali possède un forum sur lequel tu pourrais poser exposer ton problème ?

  • [^] # Re: j'y connais rien en python, alors je parle au sens general

    Posté par  . En réponse au message JSON how to get the data I want.. Évalué à 2.

    Ah oui pardon, j’avais mal compris. C’est une piste que j’ai pensé à suivre à un moment en effet.

  • # Merci

    Posté par  . En réponse au message JSON how to get the data I want.. Évalué à 4.

    Merci à tous pour votre aide. J’obtiens ce que je veux avec :

    def askwiki(word):
      session = requests.Session()
      url = "https://fr.wikipedia.org/w/api.php?action=query&titles="+word+"&prop=revisions&rvprop=content&format=json"
      headers = {"User-Agent": ""}
      r = requests.Request('GET', url, headers=headers)
      request = r.prepare()
      try:
        response = session.send (request)
      except requests.exceptions.ConnectionError as error:
        return str(error)   
      return response.text
    
    try:
      s_data = askwiki(sys.argv[1])
    except IndexError:
      print("Usage: "+sys.argv[0]+" <word>")
      exit(1)
    try:  
      data = json.loads(s_data)
      print(list(data['query']['pages'].values())[0]['revisions'][0]['*'])
    except json.scanner.JSONDecodeError:
      print(s_data)
      exit(1)
    
    exit(0)

    C’est sûrement ni pythonesque ni élégant mais ça m’ira :) J’ai tout de même pythonisé l’absence d’argument, c’est vrai que c’est plus joli.

  • [^] # Re: j'y connais rien en python, alors je parle au sens general

    Posté par  . En réponse au message JSON how to get the data I want.. Évalué à 2.

    Rien mais je ne connais pas l’ID à l’avance…

  • # Si jamais ça peut aider

    Posté par  . En réponse au message Minimiser les fenêtres. Évalué à 2.

    Sur Xfce c’est Ctrl+Alt+d par contre je ne sais pas comment modifier ce raccourci.

    Quel environnement de bureau utilise Mint ?

  • # Je sais pas

    Posté par  . En réponse au message STARTTLS et Outlook. Évalué à 2.

    Tu as un message d’erreur dans Outlook ?

  • [^] # Re: Grosse réserve

    Posté par  . En réponse au journal Giulia Anders : "Le charme discret de l'intestin" . Évalué à 2.

    L’espèce c’est rattus norvegicus (surmulot). Ils sont bien entendu issus de sélections, par contre des rats « modifiés » je ne crois pas que ce soit très répandu.

    D’après wikipédia il y a peu de rat transgéniques contrairement aux souris.

    Si tu as une source ça m’intéresse. J’adore ces petites bêtes.

  • [^] # Re: salut

    Posté par  . En réponse au message Vieuc PC portable et Linux. Évalué à 2.

    Version 13 LTS ce n’est pas possible ;)

    https://wiki.ubuntu.com/LTS

  • [^] # Re: salut

    Posté par  . En réponse au message Vieuc PC portable et Linux. Évalué à 3.

    Moi non plus mais cet ordi n’est pas si vieux… tu peux installer Ubuntu et si ce n’est pas assez fluide tu remplaces Unity par Xfce…

    Ou alors installer directement Xubuntu qui est une variante d’Ubuntu utilisant Xfce.

    http://doc.ubuntu-fr.org/xubuntu
    http://xubuntu.org/getxubuntu/requirements/

    Je ne connais pas Mint.

  • # salut

    Posté par  . En réponse au message Vieuc PC portable et Linux. Évalué à 2. Dernière modification le 29 août 2015 à 13:42.

    Ubuntu n’irait pas ?

    Pour la marche à suivre… Tu as un lecteur DVD dessus ? Sinon il faut voir s’il peut démarrer sur une clé USB.

    http://doc.ubuntu-fr.org/installation

  • [^] # Re: hmm…

    Posté par  . En réponse au journal Typographie & logiciels. Évalué à 2.

    « un groupe de mots »

  • [^] # Re: hmm…

    Posté par  . En réponse au journal Typographie & logiciels. Évalué à 1.

    "un groupe de mots"

  • # Youpi ça marche

    Posté par  . En réponse au message J’arrive pas à poster sur la tribune :(. Évalué à 4. Dernière modification le 28 août 2015 à 19:22.

    Tout d’abord encore un grand merci à chrisix< qui m’a donné la solution.

    Plusieurs choses. Déjà j’utilisais le mauvais cookie, il y a un cookie dans les requêtes (et les réponses) GET qui portent le même nom et qui change à chaque fois. Ce n’est évidement pas ce cookie qu’il faut utiliser mais bien celui, unique, qui est utilisé pour une requête POST lorsqu’on envoie un message sur la tribune. Ensuite, la fonction requests.post s’utilise ainsi :

    yo = requests.post("https://linuxfr.org/board", headers=headers, cookies=cookies, data=data)
    

    headers, cookies et data sont des dictionnaires.

    Pour finir, il faut aussi que l’entête "Referer" soit présente.

  • # Arf

    Posté par  . En réponse au message J’arrive pas à poster sur la tribune :(. Évalué à 2.

    Je risque pas d’y arriver comme ça c’est clair. Le cookie ne dure que le temps de la session, il faut le récupérer à chaque fois…

    Je posterais la solution si j’y arrive.

  • [^] # Re: Jack

    Posté par  . En réponse au journal Pulseaudio & Android. Évalué à 4.

    J’espère surtout que ce sera un véritable élan pour Jack et qu’il recevra un regain d’attention.

    Oui moi aussi. Je dois dire que Jack c’est pour l’instant le truc le plus prometteur que j’ai vu sous GNU/Linux pour gérer le son de manière… satisfaisante… Si je ne dis pas de connerie c’est un peu la même approche que Portaudio qui est si je ne m’abuse le standard de fait sur Mac ?

    « j’ai un éditeur/enregistreur audio sur mon bureau qui interagit avec jack qui interagit avec ma carte son »

    Moi je vois Jack surtout comme : « j’ai un éditeur audio qui interagit avec un contrôleur MIDI (ou 36…) qui interagit avec un rack de plugins LADSPA (ou LV2) qui interagit avec ma carte son ». Je ne crois pas que pulseaudio permette de faire ça… Si ?

    je dois pouvoir ajouter et retirer des cartes sons à la volée, router le son entre elles, ajouter des sources et sorties réseaux, et faire de même

    C’est quoi ton usage précisément ?

    Jack est sensé permettre d’ajouter des cartes sons à un server jack existant, dans les faits ça marchotte mal (certaines connexions sont sensées durées quelques secondes)
    Jack ne permet pas de débrancher la première carte son qui a été ajoutée.

    Je ne savais pas que c’était dans le cahier des charges de JACK et j’avoue mon ignorance… à quoi servent ces fonctionnalités ?

  • [^] # Re: explications plus longues ;o)

    Posté par  . En réponse au message J’ai besoin d’explication. Évalué à 2.

    Je préconise d'utiliser les {} meme quand c'est pas forcement nécessaire, cela évite de les oublier quand c'est utile ;o)

    Effectivement :)

    Merci pour l'explication.

  • # So… What ?

    Posté par  . En réponse au message J’ai besoin d’explication. Évalué à 1. Dernière modification le 25 août 2015 à 08:51.

    #!/bin/bash
    
    array1=("pi" "pas" "poux");
    array2=("bim" "bam" "boom");
    
    for ((i=0;i<${#array1[@]};++i));
     do
       echo "bim"
       array3[$i]=$array2[$i];
     done;
    
    echo
    echo ${array3}[0]};
    echo ${array3}[1]};
    echo ${array3}[2]};