MakeMake The Dwarf Planet is a feed agregator.

Sur Paris - Meetup Django le 30 septembre

by sabderemane from AFPy discuss

Meetup Django le 30 septembre 2025 dans les locaux d’Octopus Energy/Kraken Tech 87 Rue de Richelieu, Paris.

L’occasion de se retrouver et d’en apprendre plus sur:

  • Le futur de Django, Thibaud Colas (Français)
  • La Suite Numérique : quand Django propulse une bureautique européenne, libre et souveraine, Samuel Paccoud (Français)

Django Paris Meetup

2025-09-30 19:00 (Europe/Paris) → 2025-09-30 22:00 (Europe/Paris)

Rappel des informations de l’événement sur meetup.com.

Tres bonne journée à toute/s !

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

{Feel~Free} How to Call QuickBooks®️ Desktop™️ Support™️ Number – A Complete Guide

by aquamarineemeline from AFPy discuss

Reaching a live representative 1-855-838-5970 or 1 ⤷ 855 ⤷ 838 ⤷ 5977 at QuickBooks Desktop Support can make all the difference. You can call 1-855-838-5970 or 1 ⤷ 855 ⤷ 838 ⤷ 5977 or 1-800-QuickBooks (US/OTA) to speak directly with an agent—available 24/7. Whether it’s booking issues, cancellations, refunds, or technical +1-855-838-5970 problems, this guide walks you through every 1-855-838-5970 or 1 ⤷ 855 ⤷ 838 ⤷ 5977 contact method available so your concerns are handled quickly and easily.

The main QuickBooks Desktop Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with QuickBooks Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

The simplest way to speak with a live person is by calling our QuickBooks Payroll support number. QuickBooks’ Desktop main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Enterprise Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

The simplest way to speak with a live person is by calling our QuickBooks Online support number. QuickBooks’ main line is or 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

How Do I Contact QuickBooks Support by Phone?

The simplest way to speak with a live person is by calling our QuickBooks Error support number. QuickBooks’ main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

How do I contact QuickBooks Desktop Support Number?

The simplest way to speak with a live person is by calling our QuickBooks Desktop support number. QuickBooks’ Desktop main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Desktop Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

How do I contact QuickBooks Desktop Support Number?

The simplest way to speak with a live person is by calling our QuickBooks Desktop support number. QuickBooks’ main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

Contact QuickBooks Desktop support easily by calling 1⇀855⇀838⇀5977 or +1⇀855⇀838⇀5970. Their team can help you with data backups, syncing issues, report generation, and more. Whether you’re new to QuickBooks or need advanced troubleshooting, this number connects you directly to a knowledgeable specialist. Help is just one phone call away.

The main QuickBooks Desktop Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

How do I contact QuickBooks Error Support Number?

The simplest way to speak with a live person is by calling our QuickBooks Error support number. QuickBooks’ main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

? Calling QuickBooks Error Support at 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970. The quickest way to reach a live agent is by calling the QuickBooks Error support phone number: 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970. Our system will guide you through options such as QuickBooks Online, Desktop, or Desktop.

How do I contact QuickBooks Premier Support Number?

The simplest way to speak with a live person is by calling our QuickBooks Premier support number. QuickBooks’ Premier main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Premier Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Premier setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

How do I contact QuickBooks Online Support Number?

The simplest way to speak with a live person is by calling our QuickBooks online support number. QuickBooks’ Online main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Online Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Desktop setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

How do I contact QuickBooks Enterprise Support Number?

The simplest way to speak with a live person is by calling our QuickBooks Enterprise support number. QuickBooks’ Enterprise main line is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970 [US Support] (Live Agent). When you call, you’ll be connected to a live representative who can assist with billing, account management, software support, and more.

The main QuickBooks Enterprise Support number is 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970, where you can reach a live representative 24/7. Whether you’re dealing with Enterprise setup, login issues, subscription billing, or technical errors, speaking with a real person can make all the difference. You can also use QuickBooks live chat or email support for added flexibility. This guide walks you through how to contact QuickBooks support efficiently plus helpful tips to reduce wait times and get your issues resolved faster.

? Calling QuickBooks Desktop Support

The quickest way to reach a live agent is by calling the QuickBooks support phone number: 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970. Our system will guide you through options such as QuickBooks Online, Desktop, or Desktop.

Main QuickBooks Support

? 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970

QuickBooks Desktop Support

? 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970

QuickBooks Online Desktop Support

? 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970

QuickBooks Time Support

? 1⇢(855)⇢838⇢5977 or+1⇀855⇀838⇀5970

How to Contact QuickBooks Support By Phone

To talk with a QuickBooks representative, simply call 1-855-838-5970 or 1 ⤷ 855 ⤷ 838 ⤷ 5977 and follow the prompts. Whether it’s a billing inquiry, account recovery, or technical issue, our team will help resolve your issues.

Speak to Someone at QuickBooks Support

If you need detailed help with your QuickBooks account, don’t hesitate to call 1-855-838-5970 or 1 ⤷ 855 ⤷ 838 ⤷ 5977. Our team is ready to assist you with the most common support topics:

People Also Search For:

Call to Live Agent at QuickBooks

Contact QuickBooks Support

Speak to QuickBooks Representative

QuickBooks Help Desk

QuickBooks Live Chat Support

QuickBooks Customer Service Number

QuickBooks Help Center

Contact QuickBooks Tech Support

Talk to QuickBooks Expert

QuickBooks Desktop Support Number

QuickBooks Desktop Support Number

QuickBooks Enterprise Support Number

QuickBooks Online Support Number

QuickBooks Desktop Help

QuickBooks Desktop Customer Service

QuickBooks Technical Support Number

QuickBooks Desktop Phone Number

QuickBooks Desktop Phone Number

Are you struggling with QuickBooks ™️CUSTOMER Support issues You Can Dial 1-855-838-5977 and +1-855-838-5977 that are slowing down your business operations? Don’t worry—our team is here to help! Call the QuickBooks®️™️ Number 1-855-838-5977 and +1-855-838-5977 to connect with certified experts who specialize in solving QuickBooks®️™️ challenges.

Whether you’re dealing with installation problems, complex codes, or issues related to Desktop, taxes, or inventory management, we provide comprehensive QuickBooks®️™️1-855-838-5970 and +1-855-838-5977 . Our experts are available to walk you through each step, ensuring you get back to smooth operations as quickly as possible.

Why You Should Call the QuickBooks®️™️ Number?

1-855-838-5977 and +1-855-838-5977 are your go-to QuickBooks®️™️ Numbers, offering a direct line to certified professionals. We provide solutions for a wide range of issues, including:

Setup Assistance: Need help configuring your QuickBooks®️™️? Our experts guide you through everything from initial setup to d configurations, ensuring you get the most out of your software.

Code Troubleshooting: Encountering QuickBooks®️™️ codes? Call 1-855-838-5977 and +1-855-838-5977, and we’ll help you troubleshoot and resolve any s, from installation failures to malfunctioning modules.

Tax Filing and Desktop Help: Struggling with Desktop tax filings or tax updates in QuickBooks®️™️? Our team ensures that your tax table is up-to-date and that your Desktop is calculated correctly. Dial 1-855-838-5977 and +1-855-838-5977 to resolve these issues quickly and stay compliant.

Inventory Management : Managing inventory can be complex. If you’re encountering issues with QuickBooks®️™️ Inventory Management, our experts will help streamline your processes, from setting up stock levels to resolving inventory discrepancies.

Get the Most Out of QuickBooks®️™️: How Our Helps You

When you call the QuickBooks®️™️ Number, 1-855-838-5977 and +1-855-838-5977, you gain access to expert advice and assistance with:

System Integration

Sync your QuickBooks®️™️ with other business management systems to automate workflows and reduce s. Our experts help with system integration to save time and increase efficiency.

Multi-User Setup

If you’re adding users to your QuickBooks®️™️ system, we’ll guide you through the multi-user setup process, ensuring everyone can access the right information without complications.

Custom Reports and Analytics

QuickBooks®️™️* offers powerful reporting features. Whether you need to generate financial reports, tax documents, or sales analytics, we’ll assist in customizing reports that fit your business needs. Dial 1-855-838-5977 and +1-855-838-5977 for step-by-step guidance.

Data Backup and Recovery

Protect your business data with secure backup and recovery solutions. In case of data loss, call the QuickBooks®️™️ Number at 1-855-838-5977 and +1-855-838-5977 for quick assistance in restoring your data.

Software Updates

Stay up-to-date with the latest QuickBooks®️™️ features. Call us at 1-855-838-5977 and +1-855-838-5977 for guidance on updating your system and keeping it compliant with the latest tax laws and business requirements.

Steps to Contact QuickBooks®️™️

When you dial 1-855-838-5977 and +1-855-838-5977, you’ll get immediate access to a QuickBooks®️™️ specialist. Here’s how we can help:

Explain Your Issue: Our experts will listen carefully to your issue to understand exactly what’s going wrong with your QuickBooks®️™️ system.

Provide a Solution: Based on your needs, we’ll offer a step-by-step solution that fits your business’s unique requirements.

Assist with Configuration: Whether it’s system configuration, module settings, or user permissions, we’ll walk you through each step to ensure everything is set up correctly.

Ongoing : Our team doesn’t just solve your immediate problems—we’re here for ongoing advice and .

Why Trust QuickBooks®️™️ Number

Certified Experts: The QuickBooks®️™️ Number provides access to trained and certified professionals with deep expertise in QuickBooks®️™️.

Comprehensive Solutions: Whether you’re dealing with a technical glitch, tax issue, or inventory problem, our team offers a comprehensive solution.

Quick Response Time: When you call 1-855-838-5977 and +1-855-838-5977, you can expect a fast response from a QuickBooks®️™️ expert who will guide you through the issue at hand.

Frequently Asked Questions (FAQs)

Q1: How can I get help with QuickBooks®️™️?

Call 1-855-838-5977 and +1-855-838-5977for QuickBooks®️™️ and connect with an expert who will assist you with troubleshooting, configuration, and much more.

Q2: What types of issues can QuickBooks®️™️ help with?

Our covers a wide range of topics, including Desktop setup, inventory management, code troubleshooting, tax filing, and multi-user configuration.

Q3: Is available 24/7?

Yes, 1-855-838-5977 and +1-855-838-5977 provide 24/7 for any QuickBooks®️™️ issues that arise, no matter the time of day.

Q4: Can I get help with QuickBooks®️™️ installation?

Absolutely! Call 1-855-838-5977 and +1-855-838-5977 for assistance with QuickBooks®️™️ installation and setup, and we’ll walk you through the entire process.

Q5: How can I resolve QuickBooks®️™️ codes?

When you encounter codes in QuickBooks®️™️, call 1-855-838-5977 and +1-855-838-5977 for troubleshooting and expert guidance on resolving any message you’re facing.

Final Thoughts

For any QuickBooks®️™️ issue—whether it’s installation s, tax filing problems, inventory management challenges, or report generation concerns—1-855-838-5977 and +1-855-838-5977 are your QuickBooks®️™️ Numbers to call. Our experts provide step-by-step guidance and fast, reliable solutions to get your business back on track. Don’t let technical issues slow you down—contact us today!

QuickBooks®️™️ Related Numbers

QuickBooks®️

QuickBooks®️ Service

QuickBooks®️ Support

QuickBooks®️ Desktop Help

QuickBooks®️ Tax Filing Assistance

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Entr’ouvert - Développeur·euse Python/Django - [Paris, Lyon, télétravail]

by thomasnoel from AFPy discuss

Entr’ouvert est un éditeur de logiciels libres dont l’activité s’est développée autour de la gestion de la relation usager. Notre mission, c’est de simplifier les démarches des citoyens puis de les proposer en ligne… en ce moment cela a un certain succès.

Entr’ouvert est une SCOP fonctionnant depuis 2002 de manière démocratique, détenue intégralement et à parts égales par ses salarié·es et où chacun, en tant qu’associé·e, participe aux prises de décision. Et parce que nous ne faisons pas les choses à moitié, nous avons institué la stricte égalité salariale.

Nous sommes actuellement 29 : 13 développeuses·eurs, 13 fonctionnel·le·s, 2 administrateurs·rices systèmes, une responsable administratif et pratiquement aucun raton laveur.

Nous n’utilisons et ne produisons que des logiciels libres. Nous avons développé une relation de confiance avec nos clients, basée sur la qualité, l’importance accordée aux détails, le travail bien fait. Et cela ne nous empêche pas de rigoler, c’est même recommandé, l’esprit de sérieux étant un mauvais esprit. Au-delà des compétences professionnelles, nous recherchons des personnes qui sauront intégrer notre équipe et s’impliquer dans notre structure coopérative.

Nous cherchons un·e développeur·euse

  • Vous connaissez bien Python et Django, vous possédez des connaissances basiques en HTML, CSS et Javascript.

  • Vous savez faire un git commit et un git push (sans -f).

  • Vous êtes à l’aise avec l’écriture de tests, unitaires ou fonctionnels.

  • On suit les recommandations PEP8, on aime le code propre et maintenable et on espère que vous aussi.

  • Vous savez exprimer une situation ou une solution à vos collègues et aux clients.

  • Vous appréciez la relation directe avec les client·e·s afin de bien cerner leurs demandes.

  • Vous savez gérer les priorités et aimez tenir vos échéances.

  • A priori pour savoir faire tout cela, vous avez déjà quelques années d’expérience.

  • …. et au minimum une certaine sensibilité aux logiciels libres.

Votre mission

  • La majorité de votre travail sera dédiée à la solution « Publik Famille », un outil pour aider les mairies à la gestion des écoles, cantines, centres de loisirs, crèches, etc.

  • Après un temps de formation avec l’équipe, vous travaillerez à l’amélioration et sur les évolutions de Publik Famille en suivant les tickets et en participant à élaborer la roadmap.

  • Vous relirez des patches proposés par les collègues, chercherez à les améliorer, bref, vous ferez du code review.

  • Vous participerez également au support technique pour les collectivités utilisant Publik Famille.

Quelques exemples de notre quotidien

Les conditions de travail

  • CDI de 52 000 € brut annuel, soit environ 3300 € net par mois — même salaire pour tout le monde.

  • 99% des bénéfices répartis à parts égales entre les travailleuses·eurs, sous forme de participation, intéressement, primes (voir pappers.fr pour vous donner une idée).

  • Organisation du temps de travail sur 4 jours de la semaine.

  • Travail à Paris XIVème ou à Lyon, télétravail possible depuis partout en France.

  • Horaires souples.

  • Mutuelle familiale.

  • 8½ semaines de congés payés.

  • 50% de la carte Navigo, café, thé et chocolat inclus dans les bureaux parisiens et lyonnais.

  • Un bon ThinkPad, accompagné d’un grand écran, avec un beau clavier et une souris optique qui brille dans le noir (sans oublier un budget annuel pour tout type de matériel utile pour le télétravail).

  • Coopératrice·teur, associé·e de la SCOP, à part égale de tous les autres.

C’est trop beau !

Si vous avez lu notre annonce jusqu’ici et que vous vous dites, « c’est trop beau un job pareil, où est le piège ? », quelques éléments sur les difficultés à travailler dans une société comme Entr’ouvert :

  • Nous sommes tous partiellement patrons de notre entreprise, ce qui est souvent synonyme d’un engagement plus conséquent que si nous n’étions que salarié·es.

  • Ne pas avoir de patrons dans une entreprise à n coopérateurs·rices, cela veut dire avoir n-1 « quasi-patrons » avec qui échanger : de bonnes capacités de communication, voire de diplomatie, sont nécessaires.

  • Pour les personnes en télétravail, la frontière est parfois ténue entre autonomie et isolement.

Vous avez l’impression de ne pas correspondre entièrement au profil, cette annonce vous fait très envie mais vous doutez de vos capacités ? Écoutez votre cœur et postulez ! Les offres d’emploi décrivent toujours une personne qui n’existe pas : vous avez toutes vos chances.

Le processus de recrutement

Les candidatures doivent être envoyées avant le dimanche 14 septembre 2025 à 23h59. Le déroulé est ensuite l’organisation d’un entretien de présentation mutuelle, suivi de l’envoi d’un court test technique puis un second entretien de débrief et discussion avec des membres de l’équipe technique. Les deux entretiens auront lieu par visio-conférence.

Le formulaire de candidature

Post-scriptum : merci aux cabinets de recrutement de ne pas nous contacter ; nous recherchons des coopératrices·eurs voulant s’impliquer dans notre structure et non des salarié·es proposés sur catalogue.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

AFPy

by AFPy - Mastodon from AFPy - Mastodon

Call for sponsors for PyConFR 2025
- support a free conference
- promotes your brand to the French Python community
- gain visibility

Lire la suite…

AFPy

by AFPy - Mastodon from AFPy - Mastodon

Appel à sponsors pour la PyConFR 2025 qui se déroule à Lyon. Avantages écrits :
- soutient une conférence gratuite
- met en avant votre marque auprès de la communauté francophone Python
- gain en visibilité

Lire la suite…

Sur Paris - Meetup le 16 octobre

by Chadys from AFPy discuss

Ça fait longtemps alors un peu avant de se retrouver à la PyconFR, je vous propose ce meetup ou nous serons gentiment logés et nourris.

Sur Paris - Meetup le 16 octobre

2025-10-16 18:45 (Europe/Paris) → 2025-10-16 22:00 (Europe/Paris)

Lieu : Web-atrio 132 rue de Rivoli, 75001 · Paris

2-3 talks de 20-30min sont prévus ; si quelqu’un ici présent a envie de se proposer il reste des places :wink: !

Je donnerai plus de détail quand on se rapprochera de la date.

5 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

Incident du 26 août 2025 ayant touché les serveurs de production et de développement

by Benoît Sibaud,BAud,Xavier Teyssier,Jona from Linuxfr.org

Il y a exactement deux mois, un incident était survenu suite à un redémarrage brutal du serveur hébergeant les conteneurs de production et de développement ayant entraîné une attribution inattendue d’adresses IP. Et des réponses techniques 502 Bad Gateway pour notre lectorat.

Ce 26 août, vers 15:22, un message peu engageant est arrivé par pneumatique sur nos téléscripteurs (via Signal pour être précis) : « Tiens c’est bizarre j’ai perdu accès au site. Et au serveur oups. » L’après-midi et la soirée furent longues.

Sommaire

Premier diagnostic

Le serveur répond au ping et permet les connexions TCP port 22, mais pas le SSH. Et les services web ne répondent plus. Souci matériel ? Noyau en vrac ? Attaque en cours ? Les spéculations vont bon train.

La connexion au serveur revient par intermittence, permettant à un moment d’exécuter quelques commandes, à d’autres d’attendre longuement pour l’affichage d’un caractère ou l’exécution de la commande tapée.

Le premier contact réétabli avec le serveur est assez clair (une forte charge) :

$ uptime
15:06:59 up 2 days,  2:54,  1 user,  load average: 50,00, 205,21, 260,83

(dernier redémarrage le week-end précédent, mais surtout une charge système moyenne respectivement de 50, 205 et 261 sur les 1, 5 et 15 dernières minutes)

Initialement on suppose qu’il s’agit d’un trop grand nombre de requêtes ou de certaines requêtes tentant des injections de code sur le site (bref le trafic de fond plutôt habituel et permanent), et on ajoute des règles de filtrage péniblement et lentement pour bloquer les IP qui ressortent le plus dans nos logs.

Le site est alors inaccessible pendant plusieurs périodes. On arrête et relance ensuite plusieurs fois les services en pensant avoir ajouté suffisamment de filtrage, mais rapidement le serveur se retrouve englué. Les services sont alors arrêtés plus longuement le temps d’analyser les logs au calme. Au calme inclut notamment ne pas juste disposer d’une connexion ssh depuis un smartphone, mais plutôt d’un clavier et d’un grand écran par exemple, de l’accès à tous les secrets et toute la documentation aussi.

Finalement le trafic n’est pas énorme (en volume total) et si les requêtes hostiles sont bien présentes, rien ne semble inhabituel. Par contre les processus de coloration syntaxique partent en vrille, consommant chacun un processeur et aspirant allègrement la mémoire disponible. Avant d’être éliminés par le noyau Linux.

La console est remplie d’élimination de processus de ce type :

Le plein d’OutOfMemory

Mais si rien n’a changé niveau logiciel sur le conteneur LXC de production et si les requêtes ne sont pas inhabituelles, qu’est-ce qui peut bien écrouler le serveur et créer ces processus gourmands ?

Eh bien des requêtes habituelles…

Pendant les phases d’attente lorsque le serveur ne répondait plus vraiment, nous avons noté qu'une nouvelle entrée de suivi a été créée (merci BAud et merci RSS/Atom pour nous avoir permis de la voir alors que le serveur ne répondait déjà plus). Elle indique que la coloration syntaxique ne marche plus sur le site. Notamment l’exemple donné dans la documentation.

Pourtant le rendu fonctionne en testant en ligne de commande avec pygmentize.

Mais oui en testant l’exemple donné via le site, il est créé un processus Python2 pygment qui commence à se gaver de ressources.

Et en regardant les différents contenus et commentaires créés sur le site autour de l’incident, en filtrant sur ceux contenant des blocs avec de la coloration syntaxique, la dépêche (alors en préparation) sur G'MIC 3.6 apparaît. Et en testant cette dépêche, il est bien créé quatre processus Python2 pygment qui se gavent de ressources et ne semblent jamais vouloir se terminer. À rapprocher par exemple d’une page qui a été servie en 6785.9978s.

4 processus gourmands

OK, le souci vient de requêtes tout à fait habituelles de coloration syntaxique, reste à comprendre pourquoi ces processus tournent mal.

La boucle sans fin

Un petit strace pour suivre les appels système en cours sur un des processus infernaux relève une boucle assez violente :

(...)
close(623199355)                        = -1 EBADF (Bad file descriptor)
close(623199356)                        = -1 EBADF (Bad file descriptor)
close(623199357)                        = -1 EBADF (Bad file descriptor)
(...)

Il semble y avoir une immense itération sur des descripteurs de fichiers, en vue de les fermer, mais à l’aveugle, sans savoir s’ils existent réellement.

En regardant le code du composant utilisé (pygments), il semble n'y avoir qu'un seul appel à close() :

# close fd's inherited from the ruby parent
        import resource
        maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
        if maxfd == resource.RLIM_INFINITY:
            maxfd = 65536

        for fd in range(3, maxfd):
            try:
                os.close(fd)
            except:
                pass

Donc on itère sur tous les descripteurs entre 3 et le maximum déterminé…

>>> import resource
>>> print(resource.getrlimit(resource.RLIMIT_NOFILE)[1])
524288
>>> print(resource.RLIM_INFINITY)
-1

Un demi-million de fois ici donc. L’objectif initial de la boucle est de fermer les descripteurs de fichiers provenant du processus Ruby père, issue du fork via Open3.popen3. La version suivante du composant la remplace d’ailleurs par un ajout de l'option :close_others, qui précisément « modifie l’héritage [des descripteurs de fichiers du processus parent] en fermant les non-standards (numéros 3 et plus grands) ».

Sur une Debian 12, la limite du nombre de fichiers par défaut, c’est 1 048 576. C’est déjà probablement bien plus que la valeur qui prévalait à l’époque où a été écrit la boucle Python (on avait des limitations à 4096 à une époque reculée). Mais il s’avère que durant le week-end l’hôte du conteneur de production a été migré en Debian 13. Sans modification du conteneur de production pensions-nous. Sans modification directe du conteneur de production. Mais quid d’une modification indirecte ? Par exemple si la limite par défaut des « Max open files » était passée à 1 073 741 816 sur l’hôte, soit 1024 fois plus que quelques jours auparavant. Et donc des boucles nettement plus longues voire sans fin, sans libération de mémoire.

On ne peut mettre à jour le composant pygments dans l’immédiat, mais on peut limiter les dégâts en abaissant la limite du nombre de descripteurs de fichiers à quelque chose de raisonnable (i.e. on va gaspiller raisonnablement des cycles CPU dans une boucle un peu inutile mais brève…). Une édition de /etc/security/limits.conf, un redémarrage du conteneur de production et on peut vérifier que cela va nettement mieux avec cette réparation de fortune.

Une dernière page d’epub ?

Le conteneur LXC portant le service epub de production a assez mal pris la surcharge du serveur, et vers 20h08, systemd-networkd sifflera la fin de la récré avec un eth0: The interface entered the failed state frequently, refusing to reconfigure it automatically (quelque chose comme « ça n’arrête pas d’échouer, débrouillez-vous sans moi »). Le service epub est resté en carafe jusqu’au 27 août vers 13h31 (merci pour l’entrée de suivi).

Voir ce commentaire sur la dépêche de l’incident précédent expliquant la séparation du service epub et du conteneur principal de production (en bref : dette technique et migration en cours).

Retour en graphiques sur la journée

Le serveur était très occupé. Au point de n’avoir pas le temps de mettre à jour les graphiques de temps en temps.

Rétrospectivement les processeurs du serveur ont travaillé dur : 140 de charge sur le graphique (mais avec des pics jusque 260 d’après la commande uptime), contre moins de 5 en temps normal (un petit facteur de 28 à 52   ô_Ô)

Charge CPU

Et l’utilisation de la mémoire montre aussi de brutaux changements de comportement : libération intempestive de mémoire (Free, en vert), utilisation mémoire plus importante que d’habitude (Used, en jaune), là où le comportement normal est d’avoir le maximum en cache (Cached, en orange) et des processus tellement peu consommateurs en RAM que cela n’apparaît normalement pas.

Utilisation mémoire

Mesures préventives et correctives

Dans les actions en cours ou à prévoir :

  • mettre à jour la documentation pour disposer facilement et rapidement des informations pour les connexions aux cartes d’administration ou les procédures de blocages d’IP
  • procéder à la montée de version des composants (yapuka, épineux sujet de la dette technique à éponger)
  • vérifier l’efficacité des limitations CPU/mémoire mises sur certains conteneurs LXC et les étendre aux autres
  • mettre des limites sur des processus particuliers (comme ceux de pygments)
  • ajouter le déploiement des limites par utilisateur dans le code Ansible
  • corriger la collecte rrd des métriques concernant les interfaces réseau
  • remonter les alertes OOM qui ne sont pas normales
  • comprendre la surconsommation mémoire ? (les boucles actives expliquent la consommation processeur, mais pour la mémoire ?)

Bonus inattendu pour l’incident précédent du 26 juin 2025

De façon cocasse, ce nouvel incident et le temps passé à parcourir les différents logs ont permis de retrouver les infos de la carte d’administration distante et d’expliciter l’origine du redémarrage serveur intempestif. À quelque chose malheur est bon, si on peut dire. Ceci n’est pas une invitation pour un prochain incident.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Microdot : Un framework web ultra-léger pour Python et MicroPython

by Camille Roux from Human coders

Découvrez Microdot, un framework web minimaliste conçu pour Python et MicroPython. Développé par Miguel Grinberg, ce projet open source se distingue par son extrême légèreté, le rendant particulièrement adapté pour les projets IoT et les environnements avec des ressources limitées. Une alternative intéressante pour les développeur·se·s Python cherchant une solution web simple et efficace.


Commentaires
L'article Microdot : Un framework web ultra-léger pour Python et MicroPython a été posté dans la catégorie Python de Human Coders News

Lire la suite…