denrou a écrit 13 commentaires

  • [^] # Re: Hairpinning

    Posté par  . En réponse au message Redirection de port Orange. Évalué à 2.

    Merci beaucoup pour la réponse et les solutions proposés !
    N'étant pas du tout à l'aise avec ça, je vais me contenter de faire deux entrées différentes dans mon /etc/hosts

  • [^] # Re: Retour d'expérience

    Posté par  . En réponse au message [Métiers] Data ?. Évalué à 1.

    Tu peux me contacter par mail sur deroussel at gmail

  • # Retour d'expérience

    Posté par  . En réponse au message [Métiers] Data ?. Évalué à 3.

    Le sujet tombe à pic car je viens d'être embaucher en tant que data scientist.

    Je viens d'une filière purement scientifique. J'ai toujours aimé programmé pour le plaisir, mais ça fait 2 ans que je me suis pris de passion pour les données. Voici donc mon expérience sur le sujet.

    La formation

    Comme cela a été dit, data scientist regroupe beaucoup de métiers différents qui n'ont parfois rien à voir entre eux : il y a des spécialistes de big data, de data mining, de machine learning, de data viz, …
    Mais il faut bien commencer quelque part. Pour ça, comme cela a été dit, l'apprentissage via des MOOC a plusieurs avantages : des cours structurés, des exercices, une certaine liberté de temps et un document qu'on peut afficher sur un CV. De plus pour commencer, la plupart des MOOC sur le sujet sont assez généraux pour permettre d'aborder plusieurs thèmes (comment lire des données, les nettoyer, les traiter, construire des modèles, …), ce qui permet de voir ce qui plait dans l'analyse de donnée. Il y a plein de plateformes différentes sur lesquelles je suis mes cours, certaines étantes payantes, d'autres non :

    • edX (pour l'apprentissage des stats, je recommande le cours "PH525.1x Statistics and R for the Life Sciences" où j'ai enfin compris d'où sortais cette p-value, oui je reviens de loin en stats)
    • datacamp
    • coursera
    • udacity
    La pratique

    Les exercices que j'ai pu faire en suivant des cours en ligne ne m'ont certainement pas suffit pour maîtriser les outils que j'ai pu apprendre. J'ai donc participé à des concours en ligne sur l'analyse de donnée et en particulier kaggle qui est très connu dans le milieu. Mon conseil la dessus est de te créer un compte si ce n'est pas déjà fait et de faire les premiers problèmes proposés qui possèdent des tutos. Tu vas pouvoir ensuite améliorer tes programmes au fur et à mesure et participer à des challenges un peu plus compliqués.
    Kaggle permet aussi de voir le code des autres participant. Et même si ce n'est pas facile au début, lire le code de quelqu'un d'autre et essayer de le comprendre font également parti de l'apprentissage (du moins de mon point de vue).

    Il existe d'autre plateformes qui proposent des exercices :
    - topcoder pour les data-science
    - codingame pour l'algorithmie
    - project euler pour algorithmie et maths

    Un autre exercice qui peu plaire à un recruteur c'est de se faire un projet personnel. Ouvre un compte sur https://www.data.gouv.fr/fr/, récupère des données qui te tiennent à cœur et analyse les. Publie ensuite les résultats dans un journal ici, sur github, ton site perso, ou tout autre plateforme qu'un recruteur pourra consulter.
    Par exemple, un projet que j'ai fait quand j'ai commencé, a consisté à récupérer les données des vélos en libre service de la ville de Seattle (parce que j'y ai passé un peu de temps) et essayer de prédire si à une date et une heure donnée, un vélo sera disponible à une certaine station.

    La recherche d'emploi

    D'après mon expérience, oublie les filières de recrutement classique car oui il y a des offres mais c'est là aussi où il y a le plus de réponses aux offres. Personnellement j'ai été recruté via un forum, parce que ça a été l'occasion pour moi d'avoir un recruteur directement un face à face et de montrer que mon projet professionnel tenait la route.
    J'ai eu plusieurs pistes par angel.co qui regroupent pas mal d'offres dans ce domaine (à l'étranger notamment).

    Il sera aussi plus dur d'intégrer une grosse boîte. J'ai eu un entretien pour travailler chez Veolia et j'ai eu une réponse assez franche : dans les grosses boîtes, les profils recherchés sont généralement très spécifiques et ils vont donc chercher des candidats avec un profil ciblé (des écoles de stats, des personnes avec de l'expérience dans un certain domaine).
    En revanche, les PME recherchent des personnes qui vont savoir être polyvalentes, et savoir où chercher l'information, ce que tu auras appris à faire en apprenant sur le tas.

    En tout cas je te souhaite bon courage, En étant déterminé il n'y a pas de raison pour que tu n'arrives pas à tes fins.

  • [^] # Re: gantt?

    Posté par  . En réponse au message gnuplot et représentation de delais. Évalué à 4.

    L'idée pourrait simplement être de rajouter une colonne pour convertir AUTOMATE_X en index de cette façon :

    $DATA << EOD
    #Task     start end ID
    AUTOMATE1 1     2   1
    AUTOMATE2 2     3   2
    AUTOMATE3 3     4   3
    AUTOMATE1 4     5   1
    EOD
    
    set yrange [-1:4]
    unset key
    
    plot $DATA using 2 : 4 : ($3 - $2) : (0.0) : yticlabel(1) with vector
  • [^] # Re: gantt?

    Posté par  . En réponse au message gnuplot et représentation de delais. Évalué à 4.

    Le diagramme de Gantt présenté dans l'exemple utilise simplement un vecteur. Donc il suffit de remplacer

    plot $DATA using (T(2)) : ($0) : (T(3)-T(2)) : (0.0) : yticlabel(1) with vector as 1, \
         $DATA using (T(2)) : ($0) : 1 with labels right offset -2

    par

    plot $DATA using (T(2)) : (0.0) : (T(3)-T(2)) : (0.0) with vector as 1, \
         $DATA using (T(2) + (T(3) - T(2)) / 2) : (0.1) : 1 with labels

    pour avoir un graphique à une seule dimension.

    with vector prend prend 4 paramètres : x, y, xdelta, ydelta. Le 5ème paramètre dans la première solution (yticlabel(1)) permet d'avoir les labels directement sur les axes sans passer par set axis.
    La deuxième ligne permet d'afficher un label contenu dans la première colonne directement sur le graphique.

  • # gantt?

    Posté par  . En réponse au message gnuplot et représentation de delais. Évalué à 3.

    Quelque chose dans ce genre peut-être ?

  • # carte sans contact pour Android

    Posté par  . En réponse au message Quel lecteur de puce avec et sans contact ?. Évalué à 0.

    Je suppose qu'il en existe plusieurs autres, mais NFC Reader est une apps sous licence apache2 qu'on retrouve facilement sur f-droid et probablement sur l'Android Market.

  • [^] # Re: demande à ton administrateur

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 1.

    Effectivement, les machines sont reliées à un NAS (ou un autre système de stockage) qui est monté sur une partition /home0. Malheureusement, un quota est imposé sur cette partition (200Go), ce qui est insuffisant.

    Du coup les données qui prennent trop de place sont stockées sur les machines de calculs qui possèdent leur propre disque dur. Mais les données stockées sur ces disques n'ont pas de redondances et n'ont aucun backup (d'où la perte des données en cas de fausse manip).

    À la base, toutes les données doivent être stocker sur le NAS, les disques dur des machines de calculs ne servant que pour les fichiers temporaires. Ce n'est pas le cas vu la quantité de donnée à garder…

    Vis à vis du contrat, j'avoue que je n'y ai pas fait trop attention, je vais me renseigner. Mes supérieurs sont cependant au courant que je sauvegarde régulièrement en dehors du labo et je n'ai jamais eu de remarque.

  • [^] # Re: demande à ton administrateur

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 0.

    En fait, je travaille sur plusieurs machines de calculs sur lesquelles je crée des données. Nous avons un système de sauvegarde (en fait une partition /home0 monté sur toutes les machines de calculs) qui nous permet de stocker les données. Mais je vois 2 inconvénients à ce système :

    1) La machine où on stocke les données se trouve au même endroit que les machines de caluls, donc si un problème arrive dans la salle (incendie, inondation, …), toutes les données sont perdus
    2) Nous avons une limite de 200Go par utilisateur sur la partition /home0, ce qui est trop peu. Des discussions sont en cours pour augmenter le quota, mais là dessus j'ai pas trop mon mot à dire mais les données générées sont souvent supérieures à ce quota, du coup (et je ne suis pas le seul à le faire) on laisse les données sur les machines de calculs qui elles n'ont de limite que la taille du disque dur (~1To par machine)

    D'où l'idée d'avoir mon serveur perso chez moi où je pourrai faire des sauvegarde régulière en gardant toutes les données.

  • [^] # Re: rebond ssh

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 1.

    Oui j'ai vu la documentation après, j'ai essayé, mais toujours la même erreur:

    [moi@machine_calcul ~]$ ssh -vvv serveur
    OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
    debug1: Reading configuration data /home/moi/.ssh/config
    debug1: Applying options for serveur
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug2: ssh_connect: needpriv 0
    debug1: Executing proxy command: exec ssh moi@localhost "nc xx.xx.xx.xx 22"
    debug3: Not a RSA1 key file /home/moi/.ssh/id_serveur.
    debug1: permanently_drop_suid: 2023
    debug2: key_type_from_name: unknown key type '-----BEGIN'
    debug3: key_read: missing keytype
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug3: key_read: missing whitespace
    debug2: key_type_from_name: unknown key type '-----END'
    debug3: key_read: missing keytype
    debug1: identity file /home/moi/.ssh/id_serveur type 1
    moi@localhost's password: 
    ssh_exchange_identification: Connection closed by remote host
    [moi@machine_calcul ~]$
    
    
  • [^] # Re: scp + unison ?

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 0.

    Le problème c'est que le disque dur du pc de bureau (60Go) n'est pas assez gros pour contenir les données des machines de calculs (~500Go). Du coup soit je ne sauvegarde pas tout soit je sauvegarde en plusieurs fois, ce qui me fait perdre pas mal de temps.

    Avoir une sauvegarde sur mon serveur me permettrait d'assurer les données en 2 endroits physiques différents. Si je demande ça maintenant c'est que je vient d'avoir un problème sur une machine de calcul sur laquelle le DSI, qui vient d'arriver, à mis à jour la distribution linux et a confondu la partition /home avec une partition /data (/home et / n'était pas 2 partitions séparées). Bien sûr aucun backup. Du coup j'ai perdu une dizaine de Go de données. Rien d'irrécupérable mais si à l'avenir je pouvais faire moi-même le backup ça m'arrangerai.

    Bref l'idée était vraiment d'utiliser l'ordinateur du pc de bureau comme passerelle entre la machine de calcul et le serveur.

    Merci quand même

  • [^] # Re: rebond ssh

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 1.

    Même commentaire que j'ai fait à sleibo. Je ne peux pas me connecter directement de la machine de calcul à mon pc de bureau.

    Du coup j'ai la même erreur:

    # Connection à la machine de calcul en utilisant port forward
    moi@(2)~ ssh -R 2222:localhost:22 (3)
    
    # modification du fichier de config
    moi@(3)~ cat .ssh/config
      Host serveur
      Hostname xx.xx.xx.xx
      User moi
      IdentityFile ~/.ssh/id_serveur
      ProxyCommand ssh localhost "nc serveur"
    
    # tentative de connexion entre machine de calcul et serveur
    moi@(3)~ ssh serveur
    usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]
    ssh_exchange_identification: Connection closed by remote host
    moi@(2)~ 
    
    

    Je vais me pencher sur la documentation de nc. Peut-être que je trouverais quelque chose là dedans

  • [^] # Re: Redirection de port

    Posté par  . En réponse au message SSH entre 3 machines. Évalué à 1.

    Problème, si je peux me connecter en ssh depuis le pc de bureau jusqu'à la machine de calcul, l'inverse n'est pas possible directement:

    moi@(2)~ ssh (3)   -->  OK
    moi@(3)~ ssh (2)   --> connection timed out
    
    

    Je peux toujours faire un port forward:

    moi@(2)~ ssh -R 2222:localhost:22 (3)
    moi@(3)~ ssh -p 2222 localhost
    
    

    Du coup j'ai essayé en utilisant les tunnels et en modifiant un petit peu:

    # Connection à la machine de calcul en utilisant port forward
    moi@(2)~ ssh -R 2222:localhost:22 (3)  
    moi@(3)~ ssh -L 56240:localhost:22 (2)  --> Connection closed by remote host
    
    

    J'ai pris le port 56240 car il était ouvert, vu que je comprend pas grand chose en réseau, peut-être que mon erreur vient de là. Pour voir les port ouvert, j'ai utilisé:

    netstat -antu
    
    

    Merci