You're seeing this page as if you were . The main menu is still yours, though. Exit from immersion
Yves DupratYD

Yves Duprat

Expert python

750 €/jour
Lille, FR
8-15 ans

Délai de réponse moyen : 1h

À propos de Yves

Informaticien freelance depuis 2004, je travaille au quotidien en Python sur des missions de développement d'applications backoffice, d'assistance, d'audit d'expertise et de formation à la carte.

Tous mes travaux sont réalisés en Python 3.x et mettent en oeuvre des échanges avec des bases de données SQL (MySQL, SqlServer, PostGres) et/ou NoSQL (MongoDB, Redis).
Certains sont inclus dans des containers Docker.

Je suis le créateur et organisateur du Meetup python sur Lille
A bientôt,

Yves
  • Anglais

    Capacité professionnelle complète

  • Français

    Bilingue ou natif

Accepte de travailler sur site
Lille (jusqu’à 50 km), Paris (jusqu’à 50 km), Bruxelles (jusqu’à 10 km)

Expériences

  • Freelance
    Audit et expertise
    CONSEIL & AUDIT
    janvier 2017 - Aujourd'hui (9 ans et 5 mois)
    Juin 2020 – Logiciel pour orthophonistes – Optimisation d’un traitement TR de datas audios dans une application Python (Bibliothèques python externe sounddevice, soundcard, audioop)

    Python 3.7
    Méthodologie de travail :
    • Etude et mesures en « temps passé » des routines cibles du traitement
    ◦ Analyse statique du code et isolation des traitements gourmands en CPU et/ou mémoire
    ◦ Mise en place de sondes (marqueurs de temps) avec enregistrements fichiers en fin de traitements pour analyse différée
    • Réécritures de ces routines:
    ◦ Suppression des calculs redondants par la mise en place de constantes (Ne jamais oublier que Python est interprété)
    ◦ Conservation des calculs longs en temps d’exécution par la mise en place de cache mémoire, soit à la volée, soit au lancement du programme
    ◦ Ré-écriture de code, ré-agencement des routines

    → Résultat : gain en temps d’exécution  de 35 % en moyenne
    → Temps de travail : 2 journées sur poste de développement à partir du code brute

    +-------------------------------------------------------+

    Juillet 2019 – Fournisseur d’énergie - UK - Optimisation de simulations de consommation électrique pour une flotte de véhicules (Bibliothèque python externe numpy, pandas)

    Python 3.6
    Méthodologie de travail :
    • Etude et repérage des routines «consommatrices »
    ◦ Lancement du profiler Python – Analyse du ration temps passé/nombre d’appels pour toutes les routines
    ◦ Etude du code chaque fonction – Isolation des codes suspects
    • Réécritures des routines candidiates:
    ◦ Suppression des calculs de redondants par la mise en place de constantes
    ◦ Optimisation des traitements Pandas (Suppression d’appel de méthodes .apply, factorisation de traitements)
    ◦ Mise en place de caches mémoires recalculés à la demande ou sauvegarder/charger depuis des fichiers pickles
    ◦ Mise en place d’un mécanisme de multiprocessing via un map/reduce de données pour supprimer des traitements de lots en série.
    ◦ Refactoring de codes

    → Résultat : gain en temps d’exécution pour les traitements les plus long de x 40 (De 40 minutes à 1 minute)
    → Temps de travail : 5 journées environ sur poste de développement à partir du code et des datas

    +-------------------------------------------------------+

    Juin 2018 – Site web marchand - Audit et ré-ingénierie de 4 scripts Python backoffice (Relevage de mails sur différents boites, enregistrements de pièces jointes sur ressources externes, insertion en base de données SQLServer)

    Python 2.7
    Méthodologie de travail :
    • Audit  des 4 scripts
    ◦ Etats des lieux au niveau bibliothèques standards, interne, externe
    ◦ Etats des lieux au niveau des fonctions avec arbres d’appels à partir de la procédure principale
    ◦ Etats de lieux des structures de données mise en oeuvre
    • Ré-ingénérie des scripts
    ◦ Mise en place d’un fichier de configuration par script contenant les ressources externes, compte et mot de passe. Cryptage de ces derniers
    ◦ Suppression des variables globales
    ◦ Reécriture du code sous forme de fonction avec respect de la PEP8
    ◦ Mise en place de fichiers de traces (DEBUG, INFO, ERROR) pour le suivi

    → Résultat : Scripts documentés pour la maintenance corrective et évolutive. Scripts portables pour une migration en Python 3. Scripts supervisables
    → Temps de travail : 5 journées environ sur poste de développement avec plateforme de tests complète (Ressources, mails et SGBD)

    +-------------------------------------------------------+

    Février 2017 – Gestion d’approvisionnements pharmacie – Recherche d’une fuite mémoire dans un script Python (bibliothèque externe raven pour accès Sentry)
    Python 2.7

    Méthodologie de travail :
    • Reproduire la fuite mémoire qui oblige à un redémarrer d’un script au bout d’une semaine.
    ◦ En forçant les appels pour simuler les traitements sur 1 semaine
    ◦ Isoler les fonctionnalités de l’application
    ◦ Tester unitairement, chaque fonctionnalité pour reproduire la fuite mémoire
    ◦ Isoler la fonctionnalité et la fonction qui produit la fuite mémoire
    → Résultat : Identification de la fuite dans une bibliothèque externe écrite en C++ appelée depsuis Python (Absence d’un « del» au regard d’un « new ») - Correction effectuée par le client
    → temps de travail : 1 journée en situation sur une plate-forme de production
  • EDF R&D (Mi-temps)
    Chef de projet SGBD, Développeur Back-end
    août 2009 - Aujourd'hui (16 ans et 9 mois)
    Conception et mise en oeuvre d'une base de données pour le suivi des cycles de charges des véhicules électriques
    Traitements multiples en backoffice
    Python MySQL PostgreSQL Mongo Redis SQL Server C++
  • Urbanis (Mi-temps)
    Chef de projet
    décembre 2003 - décembre 2012 (9 ans)
    Paris
    Chef de projet
    Création et mise en oeuvre d'une de base de données pour le suivi des opérations de type OPAH, PIG
    Filemaker Python MySQL Ldap

Recommandations

Soyez le premier à recommander Yves

Contribuez à la réussite de ce freelance en partageant votre expérience de collaboration avec lui.

Ces profils de freelance correspondent également à vos critères

AgathaA

Agatha Frydrych

Backend Java Software Engineer

4.7

(3)

2

BaptisteB

Baptiste Duhen

Fullstack developer

4.6

(4)

5

AmedA

Amed Hamou

Senior Lead Developer

4

(2)

7

AudreyA

Audrey Champion

Web developer

4.3

(3)

4

Formations

  • Licence Professionnelle Informatique
    Université Paris VI
    2004

Compétences (15)

Catégories