DéveloppementPaiement protégéEn savoir plus
- Les retouches prévues par la formule sont gratuites.
- Sans réponse de votre part dans les 3 jours suivant la livraison, le travail est validé automatiquement.
L’argent est réservé au paiement et versé uniquement une fois le travail validé.

Exemple de résultat
Fusion des fichiers de ventes mensuels de 9 boutiques en un seul rapport Excel
Comment on le lance
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Dossier : sales/2026-10, 9 fichiers trouvés
2026-11-02 09:14:03 INFO shop-01.csv : 1 284 lignes
2026-11-02 09:14:04 INFO shop-02.xlsx : 967 lignes
2026-11-02 09:14:04 WARN shop-07.csv : 3 lignes sans prix ignorées (lignes 88, 412, 913)
2026-11-02 09:14:05 INFO Terminé : 10 412 lignes -> report-2026-10.xlsx (feuilles « Ventes » et « Totaux »)
Des paramètres, pas du code
Les noms de colonnes de chaque boutique se trouvent dans settings.ini : une nouvelle boutique ou une colonne renommée, c’est une ligne à modifier :
[columns]
date = Date, Date de vente, Jour
product = Produit, Article, Désignation
quantity = Qté, Quantité, Pièces
price = Prix, Prix unitaire
Un extrait du code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Lit le fichier d’une boutique et lui donne les noms de colonnes du rapport."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name} : aucune colonne pour '{name}' (recherché : {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Fichiers : une archive ZIP avec merge_sales.py (310 lignes), settings.ini, requirements.txt et un README qui explique comment installer Python, lancer le script et ce que signifie chaque message du journal. Le client le lance sur son propre ordinateur.
Client : une petite chaîne de 9 papeteries ; chaque boutique envoie ses ventes du mois en fichier CSV ou Excel, avec des noms de colonnes légèrement différents. Tâche : un seul script qui lit chaque fichier d’un dossier, met les colonnes au même format et écrit un rapport Excel unique avec toutes les ventes et une feuille de totaux par boutique.
Le client et tous les détails sont fictifs.
À propos de ce service
Votre serveur web note chaque requête dans son log d’accès, mais un fichier de millions de lignes ne dit pas grand-chose tant qu’il n’est pas compté. Ce script Python lit les logs d’accès Nginx ou Apache, y compris les anciens compressés, et produit un rapport : requêtes par jour et par heure, pages les plus visitées, codes de statut, pages qui renvoient 404 ou 500 et provenance des visiteurs. Premium compte à part les passages des moteurs de recherche et enregistre un classeur Excel avec un onglet par section. Les adresses IP des visiteurs restent hors du rapport par défaut, ou sont tronquées si vous en avez besoin. Envoyez-nous la ligne de format de log de la configuration de votre serveur et 20 à 30 lignes avec les adresses modifiées. Vous le lancez sur votre serveur ou votre ordinateur ; il lit les logs et ne modifie aucun réglage.
Ce qui est inclus
- Ce que vous recevezUne archive ZIP avec le script Python, un README avec des instructions pas à pas et, dès Standard, un fichier de paramètres avec les chemins des logs et les options du rapport ; le code est aussi affiché sur la page de la commande.
- Nginx et ApacheLes formats de log courants, ou le vôtre s’il diffère
- Erreurs avec les pagesQuelles adresses renvoient 404 ou 500, et à quelle fréquence
- Les anciens logs aussiDès Standard, fichiers .gz compressés lus tels quels
- Aucune donnée personnelleAdresses IP exclues ou tronquées
- Code lisibleAvec des commentaires, pour ajouter facilement une section plus tard
Comment ça marche
- 1TâcheVous envoyez le format de log et quelques lignes avec les adresses modifiées
- 2CodeNous écrivons le script et le guide pour le lancer
- 3Testez-leVous le lancez sur une copie du log d’une journée et regardez le rapport
- 4RetouchesVous demandez des retouches selon votre formule et envoyez les éventuels messages d’erreur
Ce dont nous avons besoin
Votre serveur web (Nginx ou Apache), la ligne log_format ou LogFormat de sa configuration si elle a été modifiée, et 20 à 30 lignes du log d’accès avec les adresses IP remplacées par des adresses fictives. L’emplacement des logs et leur rotation, la taille d’un log journalier, ce que le rapport doit montrer et sous quelle forme (CSV ou Excel), et l’endroit où il tournera : le serveur lui-même (avec son système) ou votre ordinateur.
Nous vous demanderons :
- Quel serveur web et quel format de log ?
- Que doit montrer le rapport ?
- À quelle fréquence vous le faut-il ?
- Où va-t-il tourner ?
Comparer les formules
| Formules | EssentielUn log, un rapport15 € | StandardRapport avec paramètres30 € | PremiumOutil de rapport de logs60 € |
|---|---|---|---|
| Délai | 1 jour | 2 jours | 3 jours |
| Retouches | 1 | 2 | 3 |
| Code | jusqu’à 150 lignes | jusqu’à 400 lignes | jusqu’à 1 000 lignes |
| Fichiers de code | 1 | jusqu’à 3 | jusqu’à 8 |
| Fichier de paramètres | Non | Oui | Oui |
| Messages d’erreur clairs et journal | Non | Oui | Oui |
| Options de lancement et guide pour l’exécution planifiée | Non | Non | Oui |
| Guide d’installation et d’utilisation (README) | Oui | Oui | Oui |
| Langage | Python | Python | Python |
| Commander Essentiel | Commander Standard | Commander Premium |
Paiement protégé
Vous payez à la commande, mais l’argent n’est versé que pour un travail validé.
- Prix fixeLe prix de la formule ne change pas après le paiement.
- L’argent est réservéAu paiement, le montant est seulement réservé. Il n’est versé à Dleex qu’une fois le travail validé.
- Vérifié avant livraisonChaque résultat passe un contrôle qualité avant de vous parvenir, et vous le voyez sur la page de la commande avant de le valider.
- Retouches gratuitesDemandez des retouches dans le cadre de votre brief autant de fois que la formule le permet.
- Validation au bout de 3 joursSi, dans les 3 jours suivant la livraison, vous n’avez ni validé le travail ni demandé de retouches, il est validé automatiquement. Si vous écrivez dans le chat de la commande après la livraison, la commande est mise en attente ; après notre réponse, nous pourrons relancer le délai de 3 jours et vous le signalerons dans le chat.
- Travail refait ou remboursement intégralSi le résultat ne correspond pas à votre brief et que les retouches n’y ont rien changé, ou si le travail prend plus du double du délai prévu, écrivez dans le chat de la commande : nous referons le travail ou vous rembourserons intégralement.
Questions et réponses
Est-ce la même chose qu’un outil d’analyse d’audience ?
Non. Il compte ce que le serveur a vu : chaque requête, y compris celles des moteurs de recherche et des scripts, sans cookies ni code de suivi. Les chiffres différeront de votre outil d’analyse, et chaque vue est utile à sa manière.
Et les adresses IP des visiteurs ?
Elles sont considérées comme des données personnelles dans de nombreux pays : par défaut, le rapport les exclut. Si vous en avez besoin, par exemple pour repérer une adresse qui inonde le site, elles peuvent être tronquées.
Peut-il bloquer les visiteurs malveillants ?
Non. Il se contente de lire les logs et de produire un rapport ; il ne modifie ni la configuration de votre serveur ni votre pare-feu.
Allez-vous lire mes logs ?
Non. Vous lancez le script de votre côté. Il nous faut seulement la ligne de format et quelques lignes avec les adresses modifiées.
Vous n’avez pas trouvé la réponse ?


