Suite

OpenLayers 3: le monde est enveloppé mais les couches vectorielles ne sont pas répétées


Avec OpenLayers v3.1.1, le monde est enveloppé de sorte que vous puissiez effectuer un panoramique sans limites horizontalement ou le long de l'axe de longitude, mais les entités sur une couche vectorielle sont ne pas répété, si vous vous déplacez au-delà de l'instance d'origine du calque de base. Je trouve que cela est très incohérent et rend l'expérience utilisateur terrible !

Je souhaite soit empêcher l'enroulement horizontal autour de la ligne de date de la couche de base, soit forcer les couches vectorielles à se répéter de la même manière que les tuiles de la couche de base.

Apparemment, il y avait unwrapXpropriété sur certaines sources ouwrapDateLinepropriété surCouchemais aucun de ceux-ci n'est documenté dans la documentation de l'API pour v.3.1.1 : http://openlayers.org/en/v3.1.1/apidoc/

En fait, je ne trouve aucune référence à eux et aucune solution alternative au problème.

Existe-t-il un moyen d'empêcher l'enveloppement du monde ou d'entraîner également l'enveloppement des couches vectorielles?


Selon les notes de version, lewrapXLa propriété est uniquement disponible sur les sources tileJSON à partir de la version 3.1.1, et disponible sur les sources OSM et BingMaps à partir de la version 3.2.0.

Si vous utilisez l'un de ces types de sources et que vous disposez d'une version suffisamment récente d'OpenLayers, vous pouvez désactiver le wrapping horizontal en ajoutantwrapX : fauxà vos options de source.

Ceci est illustré dans le jsFiddle suivant avec une source OSM : https://jsfiddle.net/fg1oxpu0/

Si vous effectuez un zoom arrière, vous pouvez voir que le calque n'est pas répété horizontalement.


Je suis tout à fait d'accord pour dire qu'OpenLayers devrait documenter comment il gère le panoramique continu dans le monde entier. Cependant, un peu d'expérimentation en demandant à la carte son étendue actuelle révèle qu'OpenLayers ne réinitialise pas sa longitude à 360 degrés une fois que vous avez parcouru le globe dans une direction. Au lieu de cela, il rend simplement la longitude en longitude toujours croissante (par exemple, 361 degrés et -361 degrés). Ainsi, si votre code n'est pas assez avisé pour lui fournir des fonctionnalités / images pour des longitudes ou des latitudes ridiculement grandes, ou si vous ne lui dites pas de restreindre les étendues, il permet alors à l'utilisateur de quitter complètement la carte. Heureusement, une fois que vous avez compris cela, il n'est pas trop difficile de fournir des données OpenLayers, même pour des étendues absurdes. FWIW, recherchez la fonction floormod utilisée par windy.js.


Désaturer la couche de tuiles dans OpenLayers 3

J'ai une carte OL3 avec une couche de tuiles et une couche vectorielle. Étant donné que les caractéristiques de la couche vectorielle ne ressortent pas suffisamment par rapport à la couche de tuiles en arrière-plan, je souhaite désaturer la couche de tuiles.

Je connais l'exemple de teinte/saturation, mais cette approche ne fonctionne qu'avec WebGL. WebGL à son tour ne prend pas en charge les couches vectorielles.

Comment désaturer une couche de tuiles OpenLayers 3 lors de l'utilisation du moteur de rendu Canvas ?

REMARQUE : je ne peux pas désaturer les tuiles sur le serveur, car je ne contrôle pas le serveur qui héberge les tuiles.


Exercices de pratique

Voici des liens Web pour fournir des ressources supplémentaires afin que vous puissiez effectuer les exercices ci-dessous :

Cliquez sur les liens suivants, qui s'ouvriront dans une nouvelle fenêtre.

Exercice 1 : Création d'une carte Google My Map

Exercice 2 : Cartographie avec l'API Google Maps Embed

Exercice 3 : Créer une carte simple avec l'API JavaScript de Google Maps

Exercice 4 : Utilisation d'OpenStreetMap

OpenStreetMap est une sorte de Wikipédia de cartographie : contrairement à Google Maps, OSM n'appartient à aucune organisation et est librement disponible pour téléchargement et modification.

Exercice 5 : Utilisation de Mapbox

Boîte à cartes fournit des conceptions de fond de carte supplémentaires qui ne peuvent être trouvées ni dans Google Maps ni dans OSM, donne accès aux images Landsat et permet aux utilisateurs de dessiner et d'importer leurs propres données vectorielles. Mapbox peut être modifié directement depuis le navigateur ou depuis un progiciel téléchargeable appelé Mapbox Studio.

Exercice 6 : Utilisation de CartoDB

CartoDB est une autre plate-forme de cartographie Web construite en grande partie avec des outils open source et fournissant un niveau de cartographie d'entrée de gamme gratuit. Comme Mapbox, CartoDB donne accès à plusieurs couches cartographiques stylisées à utiliser comme fonds de carte et la possibilité d'importer des données, et comme Google Fusion Tables, il fournit des fonctionnalités SIG de base pour interroger et symboliser les données.

Exercice 7 : Utilisation d'OpenLayers

OpenLayers prend en charge plusieurs types différents de couches de fond de carte en mosaïque, y compris celles d'OpenStreetMap et Mapbox, ainsi que plusieurs types de formats de données vectorielles. Largement repensée dans la dernière version (OpenLayers 3), cette bibliothèque de cartographie est accessible à partir d'un script à partir d'une page HTML, similaire à l'API Google Maps, mais la distribution complète peut également être téléchargée et exécutée sur un serveur local car elle est entièrement open source.

Exercice 8 : Utilisation de la brochure

Brochure est open source et vous permet d'importer de nombreux types différents de tuiles de fond de carte et de formats de données vectorielles pour créer des cartes interactives. Comme il s'agit d'une bibliothèque JavaScript, le code ressemble à nos précédents exemples JavaScript.


Filtrer la vue en fonction de la partie affichée d'une carte Open Layers

J'ai une page qui affiche une carte OpenLayers alimentée par des données provenant d'une vue de superposition de données Open Layers (emplacements des utilisateurs, l'emplacement est fourni via un champ cck d'emplacement dans les paramètres du compte utilisateur). Juste en dessous de la carte, les données de superposition sont répertoriées à l'aide d'un clone de la superposition de données Open Layers.

Existe-t-il un moyen de filtrer les entités affichées dans la liste en fonction de la partie de la carte actuellement consultée ? Autrement dit, existe-t-il un moyen de masquer des entités de la liste lorsque je zoome sur une autre partie de la carte ?

Exemple : Zoom au maximum, montrant le monde entier -> afficher toutes les entités. Zoom sur les États-Unis, affichant uniquement la Californie -> afficher toutes les entités avec un emplacement californien.


Un système hybride de recommandations de modèles pédagogiques basé sur une décomposition en valeurs singulières et des attributs de données variables

Pour mener à bien des processus d'enseignement/apprentissage efficaces, les enseignants de divers établissements d'enseignement ont souvent besoin d'un soutien. Ils ont donc recours aux conseils d'enseignants plus expérimentés, à des processus formels de formation tels que des spécialisations, des masters ou des doctorats, ou à l'autoformation. Des coûts élevés en temps et en argent sont invariablement impliqués dans les processus de formation formelle, tandis que l'auto-formation et les conseils comportent chacun leurs propres risques spécifiques (par exemple, suivre de nouvelles tendances qui ne sont pas entièrement évaluées ou le risque d'appliquer des techniques inappropriées dans des contextes). Cet article présente un système qui permet aux enseignants de définir leurs meilleures stratégies d'enseignement à utiliser dans le contexte d'une classe spécifique. Le contexte est défini par : les caractéristiques spécifiques de la matière traitée, les objectifs spécifiques que l'on attend d'atteindre en classe, le profil des étudiants du cours, les caractéristiques dominantes de l'enseignant et l'environnement de la classe pour chaque session, entre autres. Le système présenté est le Système de recommandation de modèles pédagogiques (RSPP). Pour construire le RSPP, une ontologie représentant les schémas pédagogiques et leur interaction avec les fondamentaux du processus éducatif a été définie. Un système d'information Web a également été défini pour enregistrer les informations sur les cours, les étudiants, les enseignants, etc. RSPP dispose d'une vue exploitable, d'une structure tabulaire qui résume et organise les informations enregistrées dans le reste du système tout en facilitant la tâche de recommandation. Les données enregistrées dans la vue exploitable sont transportées dans un espace latent, où le bruit est réduit et l'essence de l'information contenue dans la structure est distillée. Ce processus utilise la décomposition en valeur singulière (SVD), couramment utilisée par les systèmes de recherche d'informations et de recommandation. Des résultats satisfaisants à la fois dans la précision des recommandations et dans l'utilisation de l'application générale ouvrent la porte à de nouvelles recherches et élargissent le rôle des systèmes de recommandation dans les processus de soutien aux enseignants.

Points forts

► Les ontologies sont un outil efficace pour représenter les modèles pédagogiques. ► Le système proposé permet aux enseignants d'améliorer leurs compétences pédagogiques. ► Le système proposé permet aux enseignants de résoudre des problèmes pédagogiques en classe. ► Un test pilote montre des résultats satisfaisants dans l'exactitude des recommandations. ► L'évaluation de la précision des prédictions montre de meilleurs résultats que les neuf autres recommandations.


Aperçu

Un aperçu de l'architecture de geoplotlib est donné sur la figure 1 . geoplotlib s'appuie sur numpy [6] et scipy [7] pour les calculs numériques, et OpenGL/pyglet [35] pour le rendu graphique. geoplotlib implémente le rendu de la carte, la projection géographique, l'interaction de l'interface utilisateur et un certain nombre de visualisations géographiques courantes.

Fig 1 : Présentation conceptuelle de l'architecture geoplotlib. geoplotlib s'appuie sur numpy, scipy et OpenGL/pyglet. Il permet de générer une visualisation géographique sous forme de raster, dans une fenêtre interactive ou à l'intérieur de notebooks IPython.

Principes de conception

geoplotlib est conçu selon trois principes clés :

simplicité: geoplotlib essaie de minimiser la complexité de la conception des visualisations en fournissant un ensemble d'outils intégrés pour les tâches les plus courantes telles que la visualisation de la densité, les graphiques spatiaux et les fichiers de formes. L'API geoplotlib est inspirée du modèle de programmation et de la syntaxe matplotlib [14], la norme de facto pour la visualisation des données en python, ce qui facilite le démarrage des utilisateurs de matplotlib.

l'intégration: les visualisations geoplotlib sont des scripts python standard et peuvent contenir n'importe quel code python arbitraire et utiliser n'importe quel autre package. Il n'est pas nécessaire d'exporter vers d'autres formats (par exemple, des fichiers de formes, HTML) ou d'utiliser des programmes externes. Cela prend en charge une intégration complète avec le riche écosystème d'analyse de données python tel que le calcul scientifique, l'apprentissage automatique et les packages d'analyse numérique. La visualisation peut même s'exécuter dans une session IPython [36], prenant en charge l'analyse interactive des données et facilitant la conception itérative des visualisations.

performance: sous le capot, geoplotlib utilise numpy/scipy pour des calculs numériques rapides, et pyglet/OpenGL pour le rendu graphique avec accélération matérielle. Cela permet aux visualisations de s'adapter à des millions de points de données en temps réel.

Un premier scénario

Un simple script geoplotlib ressemble à ceci :

Ce script lance la fenêtre geoplotlib et affiche une carte à points des points de données, dans cet exemple l'emplacement des arrêts de bus au Danemark (Fig. 2 ). geoplotlib détermine automatiquement le cadre de délimitation de la carte, télécharge les tuiles de la carte, effectue la projection géographique, dessine le fond de carte et les couches de visualisation (les points dans cet exemple). La carte est interactive et permet à un utilisateur de zoomer et de se déplacer avec la souris et le clavier.

Comme indiqué ci-dessus, l'utilisation de l'API geoplotlib est très similaire à matplotlib. Le canevas de visualisation est initialement vide et chaque commande ajoute une nouvelle couche de graphiques. La fenêtre geoplotlib s'affiche lorsque show() est appelé. Alternativement, la carte peut être rendue dans un fichier image à l'aide de savefig('filename') , ou affichée en ligne dans un bloc-notes IPython à l'aide de inline() .

Couches

Le package geoplotlib fournit plusieurs visualisations géographiques courantes sous forme de couches. L'API fournit des méthodes pratiques pour ajouter rapidement une nouvelle couche de visualisation. Dans cette section, nous fournissons un résumé des visualisations intégrées. Les données de tous les exemples sont disponibles sur le site Web du projet [13] .

Carte à points

Une opération élémentaire en visualisation géographique est d'afficher « ce qui est où », c'est-à-dire de placer un élément graphique sur la carte pour chacun des objets considérés. Cela donne une idée immédiate des emplacements absolus et relatifs des objets. De plus, la densité des points correspond directement à la densité des objets sur la surface géographique, identifiant les zones de densité plus élevée et plus faible. Un exemple de carte de points est montré dans la Fig. 2 . La carte à points montre la répartition spatiale des arrêts de bus au Danemark en un coup d'œil. Les zones de densité plus élevée – correspondant à la zone métropolitaine de Copenhague et aux autres grandes villes sont immédiatement reconnaissables. La méthode par points permet aux utilisateurs de configurer la taille, la couleur et la transparence des points, et éventuellement d'attacher une info-bulle dynamique à chaque point.

Fig 2 : Une carte à points des arrêts de bus au Danemark, où chaque échantillon est représenté par un point.

Histogramme 2D

Une limitation des cartes de points est qu'il est difficile de distinguer les zones de haute densité, car le nombre de points est si élevé qu'ils couvrent uniformément le canevas de visualisation. Une visualisation plus directe de la densité consiste à calculer un histogramme 2D des coordonnées des points. Une grille uniformément espacée est placée sur la carte et le nombre d'échantillons dans chaque cellule est compté. Cette valeur est une approximation de la densité et peut être visualisée à l'aide d'une échelle de couleurs. Dans geoplotlib, nous pouvons générer l'histogramme 2D des données en utilisant hist :

Ici, la taille du bac fait référence à la taille en pixels des bacs de l'histogramme.

L'exemple ci-dessus charge certaines données relatives aux positions des tours de téléphonie cellulaire au Danemark, puis génère un histogramme avec une échelle de couleurs et une taille de bac spécifiques (Fig. 3 ). Par rapport à l'exemple de carte de points, l'histogramme fournit une représentation plus claire de la distribution de la densité.

Fig 3: Un histogramme 2D des emplacements des tours de téléphonie cellulaire au Danemark, en utilisant la palette de couleurs « chaude » (le rouge foncé est plus bas, le jaune-blanc est plus haut).

Carte de chaleur

La principale lacune des visualisations d'histogramme est qu'elles sont des approximations discrètes d'une fonction de densité (effectivement continue). Cela crée une dépendance vis-à-vis de la taille et du décalage du bac, ce qui rend les histogrammes sensibles au bruit et aux valeurs aberrantes. Pour générer une approximation plus douce, un estimateur de densité à noyau se rapproche de la vraie fonction de densité en appliquant des fonctions à noyau dans une fenêtre autour de chaque point

[37] . La taille de cette fenêtre dépend du paramètre de bande passante : une bande passante plus petite produira une estimation plus détaillée mais aussi plus bruyante, tandis qu'une bande passante plus grande produira une estimation moins détaillée mais plus fluide. Une fonction d'estimation du noyau peut alors être visualisée par une surface où la couleur code la valeur de densité (cette visualisation est souvent appelée « heatmap »). Dans geoplotlib, la méthode kde génère une visualisation d'estimation de la densité du noyau :

La figure 4 montre l'estimation de la densité du noyau appliquée aux données de la tour cellulaire. En comparant l'histogramme de la figure 3 avec l'estimation de la densité du noyau de la figure 4, il est évident que cette dernière produit une visualisation plus fluide et par conséquent plus claire de la densité. La bande passante du noyau (en coordonnées d'écran) peut être configurée pour réguler la fluidité. La limite supérieure de densité peut être définie pour écrêter les valeurs de densité au-dessus d'un seuil. De plus, la limite inférieure de densité peut être définie, pour éviter de rendre les zones de très faible densité :

Fig 4: Une carte thermique (estimation de la densité du noyau) des emplacements des tours de téléphonie cellulaire au Danemark, utilisant une carte de couleurs chaude (le rouge foncé est plus bas, le jaune-blanc est plus élevé). La densité du noyau produit une estimation beaucoup plus lisse et donc une représentation visuelle plus claire de la densité, si elle est comparée à un histogramme (Fig. 3).

Marqueurs

Dans certains cas, il est utile de représenter des objets sur la carte à l'aide de symboles personnalisés ayant une signification spécifique. La méthode des marqueurs permet à un utilisateur de placer des marqueurs douaniers sur la carte :

La figure 5 montre un exemple de marqueurs personnalisés pour les arrêts de métro et de train à Copenhague. Les graphiques des marqueurs peuvent être dans n'importe quel format raster courant (png, jpeg, tiff) et peuvent être redimensionnés à une taille personnalisée. En option, une info-bulle dynamique peut être attachée à chaque marqueur.

Fig 5: Marqueurs indiquant l'emplacement des stations de train et de métro dans la région de Copenhague. geoplotlib peut utiliser n'importe quelle image raster (png, jpg) comme marqueurs.

Graphique spatial

Les graphes spatiaux sont un type spécial de graphes où les nœuds ont une configuration spatiale bien définie. Les exemples incluent les réseaux de transport (routes de bus, voies ferrées, trajets aériens), les réseaux de chaîne d'approvisionnement, les réseaux d'appels téléphoniques et les réseaux de navette. Dans geoplotlib graph rend un graphe spatial :

La figure 6 montre le graphique spatial résultant des emplacements des aéroports, où chaque nœud représente un aéroport et chaque bord représente une connexion de vol. Les bords sont colorés à l'aide d'une palette de couleurs codant la longueur des bords.

Fig 6 : Graphique spatial des emplacements des aéroports, où chaque nœud représente un aéroport et chaque bord représente une connexion de vol. Les bords sont colorés à l'aide d'une palette de couleurs codant la longueur des bords.

Pavage de Voronoï

Un pavage de Voronoï [38] est une partition de l'espace en régions induite par certains points germes, de sorte que chaque région (appelée cellule de Voronoï) se compose de tous les points plus proches d'un germe spécifique que de tout autre. L'analyse de la tessellation de Voronoi est utilisée dans de nombreux domaines, notamment l'écologie, l'hydrologie, l'épidémiologie, l'exploitation minière et les études de mobilité.

Dans geoplotlib, voronoi peut être utilisé pour générer une visualisation de tessellation de Voronoi. Le remplissage, l'ombrage et les couleurs des cellules Voronoi peuvent être configurés.

La figure 7 fournit un exemple de tessellation de Voronoi des arrêts de bus au Danemark. Les cellules de Voronoï fournissent une mesure de l'espace plus proche d'un arrêt que n'importe quel autre. La densité des points est également capturée par la taille des cellules de Voronoï, car les cellules plus petites indiquent des zones plus densément couvertes.

Fig 7 : Tessellation de Voronoi des arrêts de bus au Danemark. Les cellules de Voronoï fournissent une estimation de l'espace plus proche d'un arrêt que de tout autre. La densité des points est également capturée par la taille des cellules de Voronoï, car les cellules plus petites indiquent des zones plus densément couvertes.

Triangulation de Delaunay

Une triangulation de Delaunay [39] est une méthode pratique pour générer des maillages de triangles à partir d'un ensemble de points. Dans geoplotlib, la méthode delaunay peut être utilisée à cette fin. La couleur des bords peut être configurée sur une valeur fixe ou pour coder la longueur des bords.

La figure 8 montre la triangulation de Delaunay des arrêts de bus, avec des bords colorés en fonction de la longueur.

Fig 8 : Une triangulation de Delaunay des arrêts de bus au Danemark, avec des bords colorés en fonction de la longueur

Enveloppe convexe

Une enveloppe convexe [39] d'un ensemble de points finis est le plus petit polygone convexe qui contient tous les points. Les coques convexes peuvent être utilisées par exemple pour visualiser la surface approximative correspondant à un ensemble de points. Dans geoplotlib :

La figure 9 montre les points d'arrêt de bus divisés en 6 groupes, et chaque groupe est représenté par une coque convexe de couleur différente.

Fig 9 : Les points d'arrêt de bus sont divisés en 6 groupes, et chaque groupe est représenté par une coque convexe de couleur différente.

Fichiers de formes

est un format de fichier populaire pour décrire des graphiques vectoriels pour les systèmes d'information géographique. geoplotlib utilise pyshp

[41] pour analyser les fichiers de formes. La couleur de la ligne peut être configurée et une info-bulle facultative peut être attachée à chaque forme. Dans l'exemple suivant, nous affichons le kommuner régions administratives du Danemark (Fig.dix ):

Fig 10 : Rendu des fichiers de formes pour le kommuner régions administratives du Danemark.

GeoJSON

GeoJSON [42] est un format lisible par l'homme pour coder des données géographiques, telles que des polygones et des lignes. geoplotlib peut restituer des formes à partir du format GeoJSON, et la couleur de la forme et l'info-bulle peuvent être modifiées dynamiquement pour encoder les données. Par exemple, les formes GeoJSON peuvent être utilisées pour générer un choroplèthe où chaque unité géographique est colorée pour coder une variable continue. Dans l'exemple suivant (Fig. 11 ) nous générons un choroplèthe du chômage aux USA [43] :

Fig 11 : Choroplèthe du chômage aux États-Unis à l'aide des fichiers de formes GeoJSON

J'ai entendu parler de sceller le grain final et de laisser le morceau sécher tout seul, mais je pense qu'il existe même des manières différentes pour chacun d'eux.

Oui, c'est la façon standard de sécher tout le bois, qu'il s'agisse de planches ou du type de pièce qui serait une ébauche de tournage.

La raison pour sceller le grain final est de ralentir séchage, car c'est par le fil du bois que le bois perd et absorbe le plus d'humidité.

Comme l'objectif est de faire sécher le bois, il semble contre-productif de faire quelque chose qui ralentit le processus, mais malheureusement, dans la plupart des cas, ce n'est qu'en le faisant lentement que vous réduisez les risques de divers types de défauts de fissuration et de gauchissement. Le séchage forcé comme dans un four est différent puisque le bois est séché rapidement mais dans des conditions contrôlées.

Comment sceller le grain final
Si vous n'utilisez pas de produit commercial conçu à cet effet (par exemple, Anchorseal), la meilleure chose à utiliser pour sceller le grain final est la cire fondue. N'importe quel type de cire ne fera pas de mal en étant bon marché. Cependant, la plupart de la cire peut être récupérée, grattée du grain final, refondue et réutilisée indéfiniment, de sorte que cela ne coûtera pas trop cher si vous utilisez quelque chose comme la cire d'abeille.

Il y a beaucoup d'aide en ligne à ce sujet dans tous les forums sur le travail du bois qui disent que vous pouvez enduire le grain final avec n'importe quoi, et presque inévitablement les prochains mots tapés seront "à l'aide de peinture au latex" (Royaume-Uni: émulsion domestique) mais ce sont de mauvais conseils et besoins cesser de se répéter. La peinture de ce type est en fait beaucoup trop poreuse pour assurer une bonne étanchéité. Est-ce mieux que rien ? Probablement. Est-ce vraiment une bonne voie à suivre ? Non.

Si le faire avec de la cire fondue n'est pas faisable ou trop compliqué et qu'un produit comme Anchorseal est trop cher, les meilleures choses à utiliser sont le vernis ou la peinture émaillée à base d'huile, qui forment tous deux une bonne barrière à l'eau dans un revêtement épais. Idéalement, vous voudriez appliquer l'une ou l'autre fortement, et si vous voulez vous donner la peine d'appliquer plus d'une couche, c'est encore mieux.

Vous ne regretterez pas de trop sceller le grain final. Vous êtes sûr de le regretter si vous le scellez trop légèrement.

Notez qu'avec les planches, vous les séchez généralement (presque toujours) à plat, avec des autocollants, mais avec une ou deux espèces susceptibles de tacher, la convention est de les sécher verticalement, ce qui, si vous le faites vous-même, signifie généralement vous appuyer contre un mur. Avec les ébauches de tournage ainsi qu'avec les bâtons, il est assez courant de les sécher debout.

Accélérer le séchage à la maison
Vous pouvez parfois vous en tirer en accélérant le séchage du bois avec des morceaux plus petits. Il y a toujours la possibilité d'échecs, en particulier avec des ronds ou de petites sections de rondins, mais en général plus un morceau de bois est petit, moins le risque est grand. L'une des meilleures méthodes pour le faire à la maison à petite échelle consiste à utiliser votre micro-ondes, mais vous pouvez décider d'acheter un deuxième micro-ondes bon marché à cet effet uniquement si vous le faites régulièrement. En savoir plus à ce sujet dans Puis-je utiliser un four conventionnel ou un four grille-pain comme quelque chose de similaire à un séchoir ?

Notez que vous ne scellez pas le grain final et que vous le faites ensuite, pour des raisons qui devraient être évidentes :-)


Moucherons (Chironomidae)

Il s'agit d'une famille d'espèces minuscules à moyennement grandes, dont les adultes ressemblent superficiellement à des moustiques. Les plus petites espèces sont considérées par certaines personnes comme de "jeunes" moustiques. Cependant, les moucherons diffèrent des moustiques en ce que les ailes ne sont pas écailleuses et les pièces buccales sont courtes et non adaptées pour piquer. Les moucherons adultes sont minces, rarement plus de 10 mm de long, mais généralement moins de 5 mm le thorax est relativement grand, cachant partiellement la petite tête sphérique et les antennes sont minces, 5 à 14 segmentées, plus ou moins poilues dans le femelles mais plumeuses chez les mâles. Les pattes sont fines et longues, en particulier les pattes antérieures, et les tarses sont souvent très longs. Les ailes sont longues et étroites, nues ou à poils clairsemés chez les femelles et plumeuses chez les mâles. L'abdomen est long et étroit, surtout chez les mâles, celui des femelles étant plus court et plus robuste, et les pièces buccales forment une courte trompe.

Grodhaus (1963) a décrit sous forme de tableau concis les adultes de 13 espèces de chironomes considérés comme importants comme nuisibles nuisibles en Californie, donnant la couleur, la longueur des ailes, les habitudes larvaires associées aux émergences massives, des notes sur les occurrences géographiques en Californie et les caractéristiques des 3 sous-familles. Une clé des chironomes adultes capturés dans ou à proximité des rizières, et des clés des espèces de ces larves et pupes élevées en adultes, ont été préparées par Darby (1962). Les clés des adultes et des larves des espèces habitant la lagune californienne ont été préparées par Grodhaus (1967) mais il faut prendre soin, lors de l'identification des adultes avec ces clés, de ne pas inclure d'espèces provenant de sources autres que les lagunes.

Comme les moustiques, les moucherons pondent sur l'eau. Les larves de moucherons sont des charognards et sont aquatiques ou rarement terrestres. Les espèces terrestres vivent dans et sur la végétation en décomposition, les excréments, les champignons, les mousses, sous l'écorce et dans le sol. Les larves aquatiques se trouvent dans des eaux calmes ou courantes et peuvent devenir abondantes dans les lacs, les étangs, les réservoirs et les réservoirs. La plupart se nourrissent de fond et se trouvent parfois à des profondeurs de près de 300 m. Pour la plupart des espèces, on pense que la nourriture est constituée de particules constituées d'algues, d'autres cellules végétales et de divers détritus. Ils possèdent un système respiratoire fermé (apneustique) et, contrairement aux larves de moustiques, n'ont pas besoin de remonter à la surface pour respirer. Ils absorbent l'oxygène dissous dans l'eau au moyen de petites « branchies ». Certaines larves vivent librement et d'autres fabriquent des tubes de boue ou des étuis sur des pierres, des feuilles et des morceaux de bois.

Dans la sous-famille Chironominae, qui comprend l'important genre Chironome, les larves sont généralement rouges, avec une certaine variation d'intensité. Ils habitent généralement des tubes constitués de petites particules et situés dans les sédiments du fond. Les pupes habitent également ces tubes, partant juste avant l'émergence des adultes (Grodhaus, 1963).

Les moucherons chironomidés comme parasites. Bien qu'ils ne soient pas capables de percer la peau ou de mordre, les moucherons peuvent néanmoins être de sérieuses nuisances en milieu urbain comme en milieu rural. Dans les zones urbaines, les eaux de ruissellement des rues des zones résidentielles et commerciales se retrouvent dans un réseau de fossés de drainage et de canaux d'inondation. L'eau de drainage est riche en nutriments et crée un environnement très favorable à la production de moucherons tout au long de l'année sauf, en Californie, lors des crues hivernales. Immédiatement après les crues hivernales, des espèces de Chironome et Tanypus peuvent devenir si nombreux que des milliers de personnes se reposeront sur les murs extérieurs, sous les avant-toits et dans les portes des maisons à moins d'un quart de mile (400 m) des sources de reproduction, et entreront dans la maison par la moindre fissure ou ouverture. C'est particulièrement le cas la nuit, car ils sont attirés par la lumière artificielle (Thompson et al., 1970). Ils volent dans les yeux, les oreilles et la bouche des gens et sont parfois inhalés. Lorsqu'ils sont en grand nombre, ils contaminent rapidement les aliments servis dans les zones éclairées. Là où les épidémies sont fréquentes, les araignées qui se nourrissent de moucherons deviennent vite aussi des nuisances. Les valeurs immobilières ont tendance à être réduites là où les moucherons sont abondants. Les moucherons peuvent également interférer avec le traitement du papier, des plastiques et des produits alimentaires, ainsi qu'avec les opérations de finition automobile (Grodhaus, 1963 Anderson et al., 1965).

Les chironomes sont souvent présents en grand nombre dans les réservoirs et peuvent passer dans l'eau potable. Ils émergent souvent en très grand nombre des lagunes de stabilisation des eaux usées ou des bassins d'oxydation (Usinger et Kellen, 1955 Grodhaus, 1967 Brumbaugh et al., 1969). Il s'agit de bassins peu profonds recevant les eaux usées domestiques ou d'autres déchets liquides. L'action bactérienne et la photosynthèse altèrent la matière organique et une grande partie des déchets est convertie en plancton. La couche molle de sédiments organiques qui s'accumule au fond fournit de la nourriture et un substrat aux larves de chironomes. Comme on pouvait s'y attendre, les moucherons chironomidés sont produits en très grand nombre dans les rizières. Darby (1962) a recensé 30 espèces dans les rizières du sud de la vallée de Sacramento, en Californie, dont 18 étaient considérées comme rares.

Chironomus plumosus L.

Ces moucherons, souvent appelés « mouches des lacs », sont communs dans une grande partie des États-Unis. Ils peuvent créer un grave problème dans les collectivités riveraines. Le problème dans l'une de ces communautés en Californie a été décrit graphiquement par Bay (1967). Chironomus plumosus est un ravageur non seulement en raison de la présence d'essaims d'adultes gênants, mais aussi parce que les adultes peuvent pondre leurs œufs dans de grands dépôts sombres et collants collés sur les côtés des bâtiments ( figure 315) et sur des surfaces telles que les fenêtres, les murs, enseignes au néon et bateaux amarrés. Ces masses d'œufs exposées, contenant chacune jusqu'à 2 000 œufs, n'éclosent jamais, car l'éclosion n'est possible que lorsqu'elles sont déposées dans l'eau. Les masses d'œufs deviennent dures et sèches ou, si elles deviennent humides, se dissolvent et enduisent des taches brunes disgracieuses. S'il n'y a pas de lumières sur le rivage pendant l'heure suivant le coucher du soleil, peu de masses d'œufs seront déposées sur les structures terrestres, mais si les femelles sont attirées par les lumières du rivage, elles resteront et y déposeront leurs œufs, puis mourront. Les masses d'œufs sèches peuvent être éliminées en essuyant avec un chiffon sec. Si les œufs ont été maculés de pluie, ils doivent être mouillés avec une solution aqueuse de 10 à 20 % de Clorox ou un agent de blanchiment commercial similaire, puis lavés après quelques minutes (Bay, 1967).

La description. Les adultes ( figure 316) mesurent environ 12 mm de long - les plus grands chironomes américains. Ils sont principalement brun clair, souvent teintés de vert ou de jaune, et les deux tiers basaux de chaque segment abdominal sont brun foncé. Les tergites thoraciques ont des zones sombres médianes antérieures et postérieures latérales. Les pattes pâles ont des bandes sombres étroites à l'extrémité distale de chaque segment tarsien. Lorsqu'il émerge pour la première fois, l'adulte a une dominante rougeâtre, mais celle-ci disparaît et s'assombrit après quelques heures, bien qu'une partie de la couleur rougeâtre puisse être visible dans le thorax pendant plus d'une journée (Hilsenhoff, 1966).

Cycle de vie. Plus de 90 % de la ponte a lieu 1 ou 2 heures après le coucher du soleil. La masse d'œufs, longue de 3 à 5 mm, est ordinairement placée sur un lac ou un autre grand plan d'eau, où elle gonfle à plusieurs fois sa taille d'origine et devient transparente, révélant les œufs individuels ( figure 317). La masse d'œufs coule lentement au fond (Hilsenhoff, 1966 Bay, 1967). Le temps nécessaire à l'éclosion des œufs dépend de la température au fond et peut varier de 3 jours à 24 °C (75 °F) à 14 à 9 °C (48 °F) (Hilsenhoff, 1966).

Les larves du premier stade sont incolores et ce n'est qu'à la fin du deuxième stade qu'une couleur rose pâle apparaît. Au troisième stade, la couleur s'intensifie jusqu'au rouge clair, devenant rouge très foncé au quatrième stade. Il existe également une quantité considérable de pigment vert juste avant la nymphose, en particulier dans la région thoracique. Les larves adultes mesurent de 15 à 30 mm de longueur. Les larves se nourrissent d'algues et de diatomées en décomposition. Au moins les 3 derniers stades, ils construisent des tubes en forme de U dans la boue. On a observé des larves de quatrième stade rampant hors de leurs trompes pour se nourrir tout en restant ancrées dans les trompes par leurs fausses pattes caudales. Alors que les tubes des larves du deuxième et du troisième stade se trouvent à la surface de la boue ou juste en dessous, les larves du quatrième stade peuvent construire leurs tubes en forme de U pour s'étendre jusqu'à 8 cm dans la boue.

La nymphose a lieu dans le terrier larvaire. Dans le lac Winnebago, Wisconsin, la nymphose peut nécessiter 6 à 10 jours début mai, lorsque les températures de la boue au fond sont d'environ 10 °C (50 °F), et aussi peu que 1 jour en juillet et août, lorsque les températures varient normalement. de 23 à 25 °C (73 à 77 °F). Comme pour les larves, la nymphe est également rouge, avec un peu de pigment vert, et en vieillissant, elle devient plus foncée jusqu'à devenir presque noire. Les pupes femelles mesurent en moyenne 17,7 mm de long, contre 16,8 mm pour les mâles. Une fois la nymphose terminée, la nymphe quitte le terrier larvaire et nage vers la surface. L'adulte émerge alors en 15 à 30 secondes. Les nymphes vides flottent pendant au moins 24 heures et s'accumulent souvent en andains à la surface (Hilsenhoff, 1966).

Chironomus attenuatus Marcheur [=Tendipes décorus Johannsen et T. attenuatus (Marcheur)]

Cette espèce est largement distribuée aux États-Unis et est souvent un ravageur gênant. Il se reproduit normalement dans les lacs, les étangs, les rivières et les ruisseaux, mais dans les régions semi-arides, des situations de reproduction saisonnières peuvent se développer. En Californie, dans des conditions de précipitations et d'eau favorables, il peut développer 2 ou plusieurs couvées consécutives dans le limon organique de ses habitats aquatiques, avec des populations larvaires de 5 000 à 50 000 par mètre carré. Les essaims d'adultes peuvent non seulement interférer avec les activités normales de plein air, telles que le séchage des vêtements et la peinture, mais peuvent également pénétrer dans les maisons et gêner les occupants, ou pénétrer dans les bâtiments commerciaux éclairés et causer des dommages, tels que s'incruster dans des bâches en plastique ou apporter l'émaillage des voitures à l'arrêt (Grant 1960). Avec d'autres chironomes, en particulier Tanypus grodhausi, il peut constituer un danger pour les automobilistes lorsqu'il se produit en essaims denses à proximité des sites de reproduction (Baie et al., 1965).

Chironomus attenuatus était parmi les 3 espèces les plus importantes de moucherons apparentés dans les bassins d'épandage d'eau du comté de Los Angeles étudiés par Anderson et al. (1964), les autres étant C. californicus et Pentaneura monilis. C'était le plus important ravageur chironome dans les lagunes de stabilisation des eaux usées à Stockton, Californie (Brumbaugh et al., 1969), et était l'une des rares espèces apparentées trouvées dans la matière organique des étangs d'oxydation des eaux usées (Usinger et Kellen, 1955). Il a été noté qu'il était présent en grand nombre dans les rizières de Californie (Darby, 1962).

La description. Les adultes ( figure 318) mesurent de 5 à 6,5 mm de long et ont une couleur de fond allant du vert pruiné clair au brun clair. Les antennes, les pièces buccales et les marques thoraciques sont brun ocre à brun foncé. L'abdomen est généralement vert pâle, avec 2 à 7 tergites ayant chacun une bande centrale transversale brune, indiquée sur la figure, occupant du quart à la plus grande partie de sa longueur. Chez certains spécimens occasionnels, l'abdomen est entièrement vert. Les mâles peuvent être identifiés par leurs antennes plumeuses sinon, les 2 sexes sont similaires en apparence générale. L'absence habituelle de « barbe tarsienne » et les nervures alaires épaisses et brun foncé distinguent cette espèce exceptionnellement variable des autres du genre.

La biologie. À partir du moment où un essaim d'adultes est remarqué au coucher du soleil, il grandit jusqu'à ce qu'il puisse former une colonne de 30 cm de diamètre, d'environ 1,5 m de hauteur et avec une base à environ cette distance au-dessus du sol. L'accouplement a lieu dans l'essaim. Lors de la ponte, la femelle extrude une masse d'œufs bruns et la dépose sur les fémurs postérieurs. Il y est maintenu 2 ou 3 minutes, puis jeté à la surface de l'eau. La masse d'œufs se dilate ensuite progressivement. Il y a en moyenne environ 700 œufs dans la grappe (Ping, 1917).

La larve, d'abord gris pâle, devient rouge, avec une tête brunâtre, et mesure environ 5 mm de long. À tous égards, elle ressemble à la larve mature, qui atteint une longueur de 11 à 12 mm et possède des branchies sanguines ventrales d'environ 2 mm de long. Il a été rapporté que le 1 larve se nourrissait de végétation aquatique (Ping, 1917), mais il a également été démontré que l'introduction de matière organique brute, lorsqu'elle contrebalance les agents de décomposition établis, a tendance à soutenir des populations élevées de ce moucheron et d'autres ( Whitsel et al., 1963).

La nymphe mature, longue d'environ 7 mm, nage comme un têtard sous la surface de l'eau. Une fois la nymphose terminée, la nymphe quitte le terrier larvaire et nage vers la surface. L'adulte se libère généralement de la peau nymphale en moins de 15 secondes, et fréquemment en 4 ou 5 secondes. Les adultes ont vécu jusqu'à 6 jours dans des conditions de laboratoire très humides, mais pourraient vivre plus longtemps dans les graminées, les joncs et les carex sur les rives des plans d'eau. Il y a généralement 5 générations par an (Ping, 1917 Hilsenhoff, 1966).

Chironomus californicus Johannsen (=Dicrotendipes)

Un grand nombre de ces moucherons ( figure 319) deviennent des nuisances lorsqu'ils se reposent sur la végétation et les portes moustiquaires des propriétés résidentielles à proximité des réservoirs et d'autres sources. Les adultes sont de couleur grisâtre et mesurent environ 4,5 mm de long, apparemment trop gros pour passer à travers une moustiquaire ordinaire. Selon E. C. Bay (correspondance), les émergences maximales se produisent généralement entre 2 et 3 semaines après la formation des environnements nouvellement mouillés, puis diminuent à environ 10 ou 15 % de leur nombre initial après l'épidémie initiale. L'assèchement et le remouillage des réservoirs, ou de grandes parties de ceux-ci, peuvent entraîner des foyers supplémentaires. Pratiquement toutes les pupes matures (non ténérales) dans un étang se transforment et émergent le soir, principalement dans une période de 30 à 60 minutes peu après le coucher du soleil. Il s'agit également du moment de la ponte maximale (Frommer et Rauch, 1971).

Contrôle des moucherons chironomidés

Les moucherons ont été contrôlés pendant des périodes relativement brèves en vaporisant du malathion dans du mazout à raison de 0,5 lb (0,23 kg) de toxique par acre (0,405 ha), ou en appliquant du fenthion dans une formulation granulaire à 0,2 lb (0,09 kg) par acre ( Hagmann, 1963 Patterson et Wilson, 1966). Des tests dans un étang d'oxydation des eaux usées peu profond ont montré que le chlorpyrifos, le parathion et le méthyl parathion étaient efficaces à 0,2 à 0,25 lb (0,09 à 0,11 kg) par acre contre Goeldichironomus holoprassinus (Rempel), Tanypus grodhausi (Sous-lettre), et Chironome sp. 51 (Mulla et Khasawinah, 1969). Les larves de chironomes ont été contrôlées dans des lagunes de stabilisation des eaux usées avec une émulsion spécialement conçue et à rupture rapide de fenthion et de parathion méthyle (Brumbaugh et al., 1969). Le chlorpyrifos, appliqué sous forme de granulés ou de concentré émulsifiable à 0,2 lb par acre, a donné un excellent contrôle des larves de moucherons chironomidés dans les lacs. Le concentré a causé une légère mortalité de certaines espèces de poissons, mais pas la formulation granulée (Mulla et al., 1971). Les formulations granulaires ont l'avantage d'être sélectives, car elles coulent rapidement au fond où vivent les larves, et sont donc moins susceptibles de tuer les espèces non ciblées (Jamnback, 1969). Un brouillard d'huile de base contenant 5% de malathion et appliqué avec un générateur de brouillard portable est efficace pour éliminer les moucherons adultes des arbustes, des pelouses et des murs des résidences, mais seulement pendant quelques heures.

Les moucherons chironomidés sont rarement des nuisances dans une communauté aquatique bien équilibrée.La pollution de l'eau par des matériaux qui favorisent la croissance des algues dont se nourrissent les larves de moucherons entraîne des populations excessives de moucherons. L'un des inconvénients des insecticides est qu'ils tuent les larves sans détruire, les algues. L'alimentation s'accumule ainsi, et favorise une épidémie de moucherons lorsque l'insecticide n'est plus efficace et que le plan d'eau est recolonisé (Jamnback, 1969). Les moucherons ont été contrôlés dans de petits plans d'eau en les ensemençant avec des carpes et des poissons rouges à raison de 150 à 500 lb par acre (68 à 225 kg par 0,405 ha) de surface d'eau (Bay et Andemn, 1965).

Papillons de nuit et alliés (Psychodidae)

Les psychodides sont de petits diptères à longues pattes, poilus, ressemblant à des mites ( figure 319 A). Ils mesurent rarement plus de 5 mm de long. Ces mouches se trouvent dans les endroits humides, parfois en si grand nombre qu'il est difficile d'éviter de les inhaler. Cela est particulièrement vrai pour certaines espèces qui se reproduisent dans les usines de filtration des eaux usées, où elles sont appelées « mouches filtrantes » ou « mouches des eaux usées ». Des essaims de ces mouches, dans les genres Psychode et Telmatoscope, peuvent également émerger des drains des éviers et des baignoires. Les espèces de Psychode ont les segments terminaux de leurs antennes de taille réduite, tandis que ceux de Telmatoscope ne le faites pas ( figure 319 A). Bien que les mites aient été considérées uniquement comme des nuisances aux États-Unis, en Afrique du Sud, elles ont été impliquées dans de nombreux cas d'allergie par inhalation.

La plupart des espèces de mites appartiennent à la sous-famille des Psychodinae. Leurs ailes sont généralement maintenues en forme de toit sur le corps. Leurs pièces buccales sont courtes et ne sont pas adaptées pour sucer le sang. Ils peuvent être trouvés dans des endroits ombragés, le long des ruisseaux avec des déchets en décomposition, ou autour de la sève exsudant des arbres. Un grand nombre peut être vu sur le feuillage dense dans les marécages, rampant sur la face inférieure des feuilles. Sauf dans des conditions artificielles, ils ont peu d'importance en tant que ravageurs. Les œufs de cette sous-famille sont pâles ou bruns, ovales et ont des réticulations discrètes. Les larves sont généralement aquatiques. Ils sont allongés et cylindriques, mais sont aplatis ventralement et ont 8 ventouses ventrales. Les plaques tergales et le siphon et le stigmate postérieurs sont des caractéristiques remarquables.

Les espèces de la sous-famille des Phlebotominae, les « phlébotomes », sont moins velues que les Psychodinae, leurs ailes ne sont pas maintenues en forme de toit sur le corps et les larves ne sont jamais vraiment aquatiques. Les femelles ont des pièces buccales assez longues et perçantes, adaptées pour sucer le sang. Les mâles aspirent l'humidité de n'importe quelle source disponible, comme la transpiration humaine. Ces moucherons ne sont actifs que la nuit et lorsqu'il y a peu ou pas de vent. Pendant la journée, ils peuvent être trouvés dans des endroits abrités à l'extérieur et dans les bâtiments. Il n'y a qu'un seul genre, Phlébotome, dont les espèces sont porteuses de maladies telles que la fièvre pappataci, le kala-azar, la leishmaniose et la fièvre d'Oroya dans de nombreuses régions tropicales du monde, mais cela ne se produit pas aux États-Unis.

Les mites peuvent se développer dans la boue ou les matières gélatineuses qui s'accumulent dans les lits d'évacuation des eaux usées, les fosses septiques, le compost ou les poubelles sales, ou elles peuvent émerger des drains des éviers ou des baignoires, des trous d'arbres, des barils de pluie ou de matières organiques très humides. les solides et les nids d'oiseaux qui ont des accumulations d'excréments humides. Ils sont probablement le plus souvent associés aux lits d'égout filtrants où les larves et les pupes se développent dans le film gélatineux recouvrant les pierres filtrantes ou dans d'autres endroits où se trouvent des matières organiques en décomposition. Les larves sont bénéfiques en ce sens qu'elles se nourrissent d'algues, de champignons, de bactéries et de boues dans les lits d'épuration des eaux usées, décomposant le film gélatineux en petits boulettes fécales qui sont facilement lavées. Les mites sont des parasites lorsque les mouches adultes deviennent si abondantes qu'elles pénètrent dans les yeux, les oreilles et le nez des ouvriers de la région. Ils peuvent également se frayer un chemin dans les maisons voisines ou même provenir des tuyaux de drainage à l'intérieur des maisons.

Les psychodides traversent leur cycle de vie en 1 à 3 semaines et vivent environ 2 semaines après leur émergence. Ce sont des volants faibles, de sorte que dans la maison, on les voit généralement ramper sur les murs ou d'autres surfaces. Quand ils volent, leur vol se fait en lignes courtes et saccadées et sur seulement quelques pieds à la fois. Ils sont attirés par les lumières et sont si petits qu'ils peuvent pénétrer dans les moustiquaires ordinaires.

Mouche du drain du Pacifique, Psychoda phalenoides (G.) (= pacifique Kincaid)

Il s'agit du psychodide le plus communément appelé ravageur le long de la côte du Pacifique, de l'Alaska au sud de la Californie. L'adulte mesure de 2 à 2,3 mm de long, avec des ailes gris brunâtre et un corps et des ailes densément couverts de longs poils. Comme pour la plupart des autres psychodides, les ailes sont généralement portées en forme de toit sur le corps, et chaque segment des antennes à 13 segments a un renflement bulbeux avec un verticille de longs poils. Les larves et les chrysalides de la mouche de drainage du Pacifique peuvent se trouver dans le revêtement gélatineux de la partie d'un tuyau de drainage sous un évier qui se trouve au-dessus du piège rempli d'eau en permanence. Dans une expérience, lorsque la matière gélatineuse a été retirée en forçant un tampon de papier avec un revêtement extérieur de papier ciré dans le drain, plus aucune mouche n'a émergé de l'évier (Mallis et Pence, 1941).

Psychoda alternata Dire

Cette espèce mesure 2 mm de long et possède des antennes à 15 segments. Il s'étend de la Floride au Massachusetts et vers l'ouest jusqu'à Washington et en Californie. La femelle dépose une masse gélatineuse de 20 à 100 œufs dans l'un des milieux de reproduction appropriés qui viennent d'être décrits. Les œufs éclosent en 32 à 48 heures, le développement larvaire nécessite 9 à 15 jours et la période pupale dure 20 à 40 heures. Le cycle de vie prend de 21 à 27 jours dans des conditions ambiantes. Les adultes volent faiblement et peuvent souvent se reposer sur le feuillage. Ils recherchent l'ombre le jour, mais sont attirés par la lumière la nuit. Ils se nourrissent de nectar ou d'eau polluée. Ils peuvent entrer dans les maisons en grand nombre (Quate, 1955 Scott, 1961c).

Autres espèces de Psychode Deux espèces sont également courantes dans les lits filtrants des eaux usées et, comme pour toutes les espèces de Psychoda, les segments terminaux des antennes sont de taille réduite. Psychoda satchelli Quate a 14 antennes segmentées. Elle s'étend de la Géorgie au Québec et vers l'ouest jusqu'en Alaska et en Californie. Psychoda cinerea Banks a 16 antennes segmentées. Contrairement à d'autres espèces avec des antennes à 16 segments, les 3 segments terminaux sont séparés et de taille égale. Elle s'étend de Porto Rico à l'Ontario et vers l'ouest jusqu'à Washington et en Californie (Quate, 1955).

Telmatoscopus albipunctatus (Williston)

C'est l'une des mouches à mites qui infestent les lits filtrants des eaux usées et les tuyaux d'évacuation ( figure 319 A, en bas). Il est largement distribué aux États-Unis. Le spécimen montré sur la figure était l'un des nombreux qui ont émergé du tuyau d'évacuation d'un évier rarement utilisé, avec un robinet qui fuit, dans une serre sur notre campus de Los Angeles. Sa couleur est généralement brune ou noirâtre, mais avec des poils blancs sur son thorax et ses antennes assez visibles. Ces caractéristiques, ainsi que les taches blanches à l'extrémité des nervures des ailes, clairement visibles sur la figure, en font une espèce bien marquée qui se distingue facilement des autres espèces nord-américaines du genre (Quate, 1955).

La larve mesure 8 à 10 mm de long. Il comporte 26 plaques tergales : 2 sur les segments 1 à 4 et 3 sur les segments 5 à 10 (Quate, 1955). Sa couleur brune ou noirâtre le distingue de la couleur jaunâtre pâle du Psychode espèce. (Scott, 1961c). En plus d'être trouvées dans des éviers et des drains, les larves ont été trouvées dans la boue, dans l'eau dans des trous d'arbres et des barils de pluie, dans des mares peu profondes partiellement remplies de feuilles mortes et de débris, et dans l'écorce des fruits du kukui (Aleurites moluccana Willdenow Candlenut Euphorbiaceae) (Williams, 1943).

Réactions allergiques aux mites Treize cas d'asthme bronchique ont été signalés parmi les travailleurs d'une station d'épuration du Transvaal, en Afrique du Sud, tous le résultat d'une réaction allergique à la mite Psychoda alternata. L'allergène inhalé s'est avéré être la poussière résultant de la désintégration des corps des mouches. Une personne qui a fait l'objet d'une enquête particulièrement approfondie s'est avérée n'avoir aucun antécédent familial d'allergie et ne s'est révélée sensible à aucune des causes les plus courantes d'allergie, telles que les plumes, les poussières et les pollens (Ordman, 1946).

Dans les filtres à eaux usées, l'inondation et le traitement de la couche visqueuse permettent un bon contrôle des mites. Cependant, l'efficacité du biofiltre dépend de l'activité de cette couche visqueuse, et elle ne doit pas être détruite. Le traitement de la boue avec des insecticides perturbe son équilibre biologique en tuant un grand nombre d'organismes clés, et le toxique peut empoisonner la vie aquatique en aval du lit filtrant. Scott (1961c) a suggéré que les mauvaises herbes et l'herbe soient tondues dans toute la zone de la station d'épuration, et que les murs et autres éléments structurels des filtres soient pulvérisés avec une suspension de malathion à 2,5 % à raison de 1 gal par 1 000 pi² (4 L par 93 m²) , à l'aide d'une buse à jet plat, pour donner un dépôt résiduel. Il a suggéré que le traitement par pulvérisation s'étende du bord du filtre sur 20 pi (6 m), mais que la couche visqueuse ne soit pas pulvérisée. Si nécessaire, les bords et les parois des lits de séchage des boues pourraient être pulvérisés, et des mesures pour améliorer la qualité du produit provenant des digesteurs devraient être prises. Le traitement doit être répété au besoin, généralement à des intervalles de 2 mois. Scott a recommandé le DDT pour le traitement des lits de boues, mais le DDT, l'aldrine et la dieldrine ne sont plus homologués pour des utilisations telles que le contrôle des larves de mouches filtrantes dans les systèmes d'égouts ou le contrôle des larves de moustiques ou de tabanidés dans les zones aquatiques extérieures (Anonyme, 1970a ). Les autorités étatiques compétentes doivent être consultées pour obtenir des informations sur les insecticides efficaces actuellement homologués. Scott a également noté que l'élimination de la végétation réduisait les sites de repos privilégiés pour les mouches filtres adultes et que les insecticides à effet rémanent tuaient les mouches adultes si rapidement que de grandes populations ne pouvaient pas se constituer. Certaines larves pouvaient rester dans les lits filtrants, et parfois de petites "floraisons" d'adultes pouvaient se produire, mais elles persistaient généralement en si petit nombre qu'elles n'étaient plus des parasites.

Frit Flies et Eye Gnats (Chloropidae)

Les mouches frites sont de très petits insectes, dépassant rarement 3 mm de longueur. Ils sont très communs et peuvent être collectés presque n'importe où sur de nombreuses plantes et en particulier sur les graminées, dont les larves se nourrissent. De nombreuses espèces sont nuisibles aux plantes céréalières partout dans le monde, la mouche du blé, Meromyza américaine Fitch, la mouche frite, Fritté d'oscinelle (L.), et la mouche frite américaine, 0. soror (Macquart), étant la principale espèce aux États-Unis (Schread, 1964). Deux espèces, 0. néocoxendix Sabrosky et 0. coxendix (Fitch), cause le "silver top" du pâturin (Poa pratensis) (Starks et Thurston, 1962).

Les moucherons des yeux (Hippelat spp.) sont remarquablement différents des autres chloropidés par leurs habitudes et la manière dont ils sont nuisibles. En Californie, ils se produisent au sud du comté de Madera à des altitudes inférieures, les espèces sont H. collusor (Townsend), dorsale Loew, impressionner Becker, pusio Loew, robertsoni Sabrosky, et hermsi Sabrosky. Tout sauf H. hermsi sont des ravageurs (Ecke, 1963). Herms (1928) a souligné que H. collusor était probablement responsable des épidémies de conjonctivite bactérienne (pinkeye) dans la vallée de Coachella en Californie du Sud, et quelques années plus tard la même espèce a été incriminée comme vecteur de la maladie en Floride (Bengston, 1933). Les moucherons oculaires ont créé plus tard des problèmes dans d'autres zones cultivées, telles que les vallées impériales et San Joaquin. Ils sont présents dans de nombreuses zones désertiques de Californie, comme le désert de Mojave (Womeldorf et Mortenson, 1963), et pourraient créer des problèmes si et quand ces zones étaient intensivement cultivées et irriguées.

Certaines zones de production de moucherons sont adjacentes à des zones résidentielles, mais beaucoup se trouvent à 1 à 5 mi (1,6 à 8 km) d'elles. Au moyen de moucherons marqués au phosphore radioactif, il a été montré que H. collusor pouvaient se disperser à la fois sous le vent et sous le vent, les plus grandes distances parcourues dans 2 expériences étant respectivement de 4,1 et 4,3 mi (6,6 et 6,9 km), dans la direction du vent (Mulla et March, 1959).

Hippelates impressus, collecté pour la première fois en Californie en 1963, a été signalé depuis près du niveau de la mer jusqu'à une altitude de 6 000 pieds (1 800 m) dans de vastes régions du sud-est de la Californie, et se trouve dans les États frontaliers à l'est du Texas, ainsi qu'au Mexique et dans les îles Vierges. Il est très pestiféré dans les habitats des contreforts et des montagnes. Parmi les moucherons oculaires en Californie, il n'est dépassé en importance que par H. collusor et H. dorsalis. On ne sait rien de la biologie et des habitudes de reproduction de H. impressus, mais les fortes pluies estivales, qui peuvent se produire dans les montagnes malgré l'aridité saisonnière de la région désertique générale, semblent provoquer des épidémies de ce moucheron (Mulla, 1971).

Description des étapes. Les moucherons adultes mesurent de 1,5 à 2,5 mm de long. La plupart des espèces vont du noir brillant au gris terne, avec des pattes jaunes, oranges ou brun foncé et orange (planche VIII, 3 figure 320). Hippelates impressus est une petite espèce rouge orangé. Plus Hippelat les moucherons oculaires ont un grand éperon noir et incurvé sur le tibia postérieur. Elles se distinguent également des autres petites mouches par leurs petites pièces buccales et leurs antennes courtes avec des troisièmes segments arrondis et des arêtes nues.

Les œufs mesurent de 0,45 à 0,52 mm de long, d'abord blanc nacré ou translucides, mais deviennent blanc neige à mesure qu'ils mûrissent. Ils sont cannelés dans le sens de la longueur, nettement incurvés et coniques à chaque extrémité. Les larves ont la forme typique d'asticot et mesurent de 2,5 à 3,5 mm de long à maturité. Hall (1932) a découvert que les femelles pondaient sur divers types d'excréments et de viandes en décomposition, de fruits et d'autres matières végétales. Il n'a pas déterminé le nombre d'œufs qu'une seule femelle pouvait déposer, mais a trouvé en moyenne 24 œufs entièrement formés chez les femelles gravides, ainsi que des œufs en développement dans les « espaces ovariens ». Dans des conditions humides dans l'insectarium, la période d'incubation moyenne était de 3,7 jours. Des études ultérieures ont montré que H. collusor a pondu dans un sol contenant des niveaux d'humidité minimum adéquats pour l'éclosion des œufs et le développement ultérieur des larves (Legner et Bay, 1965 Legner, 1968). Le sol récemment cultivé ou la végétation émergente ont stimulé la ponte. Les œufs étaient généralement "éjectés avec propulsion" à des profondeurs inférieures à 5 mm en moyenne sous la surface du sol.

Hall (1932) a observé que les larves s'enfouissaient dans un milieu alimentaire ou dans le sable environnant dès qu'elles sortaient des œufs. Si le milieu était suffisamment humide, les larves remontaient à la surface et, à mesure que l'humidité diminuait, elles se retiraient dans leurs tunnels dans le sol. Leur résistance à la dessiccation augmente avec l'âge. La période larvaire variait de 5 à 46 jours, selon le milieu alimentaire, l'humidité et la température. Sur les excréments humains, elle était en moyenne de 11,4 jours sur les excréments canins, 8,7 jours et sur les oranges en décomposition, 17 jours. Hall a également déterminé que H. collusor ( figure 320 ), en conditions d'insectarium, pourrait achever son développement de l'œuf à l'adulte en 11 jours. La période la plus longue était d'un peu plus de 3 mois et la période moyenne était de 18,5 jours. Herms et Burgess (1930) ont déterminé qu'en laboratoire à des températures allant de 80 à 105 °F (27 à 41 °C), le cycle de vie nécessitait une moyenne d'environ 3 semaines. Plus tard, les travailleurs ont obtenu beaucoup plus d'informations sur la biologie des moucherons oculaires dans des conditions de terrain.

Après avoir émergé des œufs dans le sol, les larves de H. collusor se déplacer plus en profondeur et se nourrir des racines vivantes des plantes et de la matière organique morte rendue disponible par la saturation en eau (Legner et al., 1966 Legner et Olton, 1969). Les pupes se trouvent généralement dans les tunnels larvaires, soit dans le milieu alimentaire, soit dans le sable environnant. Après la sortie de l'adulte de la nymphe, il creuse plusieurs centimètres de sol pour atteindre la surface, où il gonfle ses ailes (Legner et al., 1971).

Habitat. Hippelat les larves se nourrissent de matière organique en décomposition dans le sol. Il est nécessaire que le sol soit friable, labouré et avec une humidité adéquate afin de supporter de fortes populations de moucherons (Mulla, 1963c). La plupart des œufs sont pondus quelques heures après que la terre ait été labourée (Bigham, 1941 Mulla, 1966). Les moucherons oculaires n'étaient probablement pas un problème avant le début des opérations agricoles. Certaines espèces de moucherons oculaires se reproduisent en nombre limité dans les champs de luzerne, les terrains de golf, les pelouses, les berges des fossés, les bassins et les rives des rivières et les rives des lacs, mais les terres agricoles labourées produisent de loin le plus grand nombre. Cependant, ce n'est le cas que lorsque la matière organique est incorporée dans le sol.

Blessures causées par les moucherons oculaires. Les moucherons oculaires sont attirés par les plaies, les croûtes, le pus, le sang, les matières sébacées, les orifices naturels du corps, et surtout par les yeux. Ils ne mordent pas en fait, ils ont des pièces buccales éponges semblables à celles de la mouche domestique. Ils se nourrissent en renversant le labelle pseudotrachéal mou sur des surfaces humides, puis en aspirant des liquides. Le labelle a des épines qui produisent de nombreuses égratignures minuscules sur le globe oculaire pendant que l'insecte se nourrit, ce qui facilite l'entrée d'organismes pathogènes et entraîne la maladie connue sous le nom de « pinkeye ». Même s'ils n'étaient pas vecteurs de conjonctivite, les moucherons seraient très agaçants.

Répulsifs. Les répulsifs chimiques contre les moucherons oculaires ont été étudiés par Mulla (1963b), à l'aide d'un olfactomètre et de tests cutanés. Dans les tests cutanés, 2,5 ml de chaque solution répulsive ont été frottés uniformément sur le visage, les oreilles, la nuque et sur les bras de chacune de 3 ou 4 personnes différentes à différentes occasions. Tryile Mix (phtalate de diméthyle 64 %, éthyl hexanediol 17 %, indalone 19 %), éthyl hexanediol et carbate de diméthyle ont donné les meilleurs résultats à la fois à l'olfactomètre et aux tests cutanés.

Contrôler. Jusqu'à présent, le contrôle reposait principalement sur certaines mesures culturelles. Dans des expériences faites dans un jardin de dattiers dans la vallée de Coachella en Californie du Sud, Mulla (1963c) a découvert que lorsque les mauvaises herbes étaient contrôlées par l'utilisation d'herbicides, le contrôle des moucherons était très bon. Les herbicides se sont avérés supérieurs au travail fréquent du sol pour lutter contre les mauvaises herbes et réprimer la reproduction des moucherons. Les huiles de pétrole appliquées sur les mauvaises herbes et les cultures de couverture jusqu'à 9 jours avant le disque du sol ont permis d'obtenir un excellent contrôle de H. collusor, aussi bien que H. dorsalis et d'autres moucherons oculaires de moindre importance dans les expériences faites dans la vallée de Coachella. C'était probablement parce que l'huile rendait la végétation impropre à la nourriture des larves après avoir été enfouie dans le sol. Certains composants des huiles pourraient également avoir agi comme répulsifs contre les moucherons des yeux en train de pondre ou comme ovicides ou larvicides, même après avoir été enfouis (Mulla et al., 1966). Cependant, les traitements à l'huile appliqués immédiatement après le disque ont également donné un bon contrôle.C'était probablement parce que les moucherons avaient tendance à augmenter l'activité de ponte après une perturbation ou un disque de leurs habitats naturels de reproduction. La majeure partie de cette ponte a eu lieu dans les 24 heures et l'huile appliquée immédiatement après le disque a probablement repoussé les insectes pondeurs. L'émergence maximale des moucherons oculaires et la durée de la période d'émergence étaient influencées par les conditions météorologiques, mais dans la vallée de Coachella, la majeure partie de l'émergence a eu lieu dans les 2 à 4 semaines suivant le disque (Mulla, 1966). (Lorsque la végétation est contrôlée par un herbicide, comme dans la "culture propre" des vergers d'agrumes, le disque n'affecte pas la reproduction des moucherons oculaires, car aucun moucheron oculaire n'est présent.)

L'effet de la perturbation du sol sur la population de moucherons oculaires a de nouveau été démontré en Caroline du Sud, lorsque des parcelles d'herbe assez haute de 100 x 100 pi (30 x 30 m) de superficie ont été soit labourées, soit laissées intactes. Des pièges d'émergence placés dans les parcelles à des intervalles entre le dix-huitième et le trente-troisième jour après le labour ont montré des différences frappantes dans les captures de mouches dans les parcelles labourées et non labourées. Sur les 4 espèces concernées H. pusio une variante de H. pusio H. évêquepi Sabrosky et H. dissident (Tucker) la dernière, une espèce relativement peu importante, était la seule à ne pas être affectée de manière significative par le labour (Gaydon et Adkins, 1969).

Ennemis naturels. Legner et al. (1971) ont considéré les ennemis naturels de Hippelat collusor soit d'une importance suffisante pour justifier l'examen d'un "contrôle intégré" (voir cette rubrique au chapitre 2). L'ensemble de la communauté de prédateurs et de parasites, ainsi que les espèces non prédatrices, doit être prise en considération, car ces dernières peuvent être considérées comme des concurrents potentiels des moucherons oculaires pour la nourriture et l'espace. Réductions des populations sur le terrain de H. collusor, ainsi que du moucheron piqueur Leptoconops kerteszi, ont été obtenus avec des applications granulaires et pulvérisées d'urée sur le sol. La possibilité de réduire le potentiel de reproduction des arthropodes du sol pestiférés par cette méthode sans créer de problèmes de résistance et de destruction des ennemis naturels a été indiquée par Legner et al. (1970). D'autres ennemis naturels ont depuis été introduits, mais ils ne sont utiles que dans des conditions où le sol n'est pas perturbé par la culture (Legner et Bay, 1970).

Autres Chloropides

Ces insectes sont parfois si nombreux dans les bâtiments en Europe qu'ils recouvrent plafonds et fenêtres et rendent certaines pièces inhabitables. Le principal ravageur est Thaumatomyia notata Meigen (= Chloropisca). Par conséquent, il est intéressant qu'une espèce étroitement apparentée, T. annulata (Walker), a été trouvé par Sabrosky (1940) en grand nombre autour des encadrements de fenêtre d'un hôtel du Michigan, apparaissant année après année. Ces moucherons étaient dits être facilement contrôlés avec des pulvérisations ou des poussières de pyrèthre. C. W. Sabrosky (correspondance) a depuis reçu des rapports de cette espèce dans des maisons, parfois en grand nombre, dans des régions allant de l'Idaho au New Hampshire. Un correspondant de Montréal, Wisconsin, a déclaré que les mouches étaient des nuisances dans les maisons de son voisinage immédiat.

Mouche stable, Stomoxys calcitrans (L.) (Muscidés)

La mouche d'étable ( figure 160 , B, chapitre 6) est souvent confondue avec la mouche domestique. Les traits distinctifs et la biologie sont discutés dans ce chapitre. La mouche domestique et la mouche d'écurie peuvent être trouvées ensemble dans les maisons, mais cette dernière est principalement une mouche extérieure qui pique le jour et qui se trouve le plus souvent à l'intérieur à l'automne et par temps de pluie. Contrairement à la mouche domestique, elle possède une trompe rigide ( figure 46 , G, chapitre 4), avec laquelle elle peut infliger une piqûre douloureuse même à travers des chaussettes ou des bas, percer la peau et faire couler du sang. Les petites étiquettes à l'extrémité du proboscis sont éversées, exposant sur leurs surfaces internes un ensemble de dents en forme de lime avec lesquelles la mouche se fraie un chemin à travers la peau. Une torsion rapide du labelle facilite la coupe, et la partie antérieure mince du labium est bientôt complètement insérée. Si la mouche n'est pas dérangée, elle peut se nourrir pendant 15 minutes et consommer environ 25 mg de sang, soit environ 3 fois son propre poids. Ainsi, la mouche d'écurie prend des repas beaucoup plus copieux que la mouche domestique, n'a pas à chercher de la nourriture en permanence et passe plus de temps à se reposer que la mouche domestique. Les deux sexes mordent et sucent le sang, et attaquent les animaux domestiques et l'homme. La mouche des étables se trouve souvent sur des tas d'algues sur les plages et le long des rives parsemées de végétation des lacs, en particulier là où des débris végétaux humides se sont accumulés dans des monticules de compost, et peuvent être une grande gêne dans les zones de loisirs. En Floride, l'application d'émulsion de méthoxychlore à 1 % sur des tas de végétation aquatique en décomposition a permis de contrôler les mouches stables pendant des périodes de 30 jours ou plus. Le méthoxychlore est chimiquement apparenté au DDT, mais a une toxicité beaucoup plus faible pour les mammifères (LD50, 5 000 à 7 000 mg/kg), et est beaucoup plus facilement biodégradable et moins persistant dans l'environnement. La mouche d'étable diffère des autres mouches abordées dans cette section du chapitre 9 en ce qu'elle inflige une morsure douloureuse mais n'envenime apparemment pas. Il devrait être capable de transmettre des germes de maladies, au moins mécaniquement, et a été parfois incriminé comme vecteur de certaines affections chez les animaux, mais apparemment pas chez l'homme.

Mouches de mars (Bibionidae)

Les mouches de mars sont de taille petite à moyenne, robustes, principalement noires, gris foncé ou brun rougeâtre et poilues. Ils ont une grosse tête, des pièces buccales bien développées et de grands yeux holoptiques (contigus) chez les mâles. Les antennes sont courtes et 8 à 16 segmentées. Les fémurs antérieurs sont généralement épaissis et parfois fortement enflés. Les larves cylindriques sans pattes ont de grosses têtes et se nourrissent de matières végétales en décomposition, d'excréments et surtout de racines de graminées. Ils se nymphosent dans le sol. Selon Curran (1965), le nom commun est dérivé de l'occurrence fréquente de Bibio albipennis Dire (= hirtus Loew), l'espèce nord-américaine la plus répandue, en grand nombre au mois de mars. Cette espèce est commune en Californie, ainsi que B. Marcheur. Les adultes des deux espèces se nourrissent en grand nombre du nectar des fleurs des arbres fruitiers. Les deux sont petits, de couleur noire et rougeâtre, et poilus, avec une tache noire bien visible près du milieu du bord costal de l'aile (Essig, 1926).

Le genre Dilophus

Des demandes de renseignements sont parfois reçues concernant de petites mouches noires », identifiées comme Dilophus occipital Coquillett, qui sont attirés par les fenêtres en grand nombre. Ces insectes mesurent environ 3 mm de long et les deux sexes sont noirs partout, à l'exception du thorax rougeâtre de la femelle. Elle a une tache noire bien visible le long du bord antérieur de chaque aile et a une tête plus petite que le mâle. Cette espèce est commune dans le sud de la Californie et peut expliquer certaines des infestations de petites mouches et de « moucherons » qui attirent notre attention chaque printemps (Ebeling, 1964a).

Un autre bibionide qui donne lieu à des appels occasionnels de propriétaires dans le sud de la Californie est D. orbatus Dites (figure 321). Il est noir, robuste, très poilu, et mesure environ 6 mm de long. Lors d'une infestation en juin 1964, des adultes ont émergé d'une pelouse en grand nombre le matin et étaient abondants à 11 heures, mais avaient presque disparu à 1 h 30 de l'après-midi. Ils ont réussi à entrer dans la maison et le garage. Une infestation dans une autre propriété résidentielle a été observée en octobre, à 15 heures. Les mouches s'accrochaient en grosses touffes aux brins d'herbe de la pelouse. Dans les deux cas, la pelouse avait été excessivement fertilisée avec du fumier et de la farine de sang. Toutes les infestations de bibionides ont été enregistrées dans des quartiers riches où les pelouses sont susceptibles d'être fortement fertilisées (Ebeling, 1964a). En Floride, les exploitants de gazonnières signalent que les larves de Dilophus orbatus se nourrissent de racines d'herbe. Les vols d'adultes sont ennuyeux pour les automobilistes, mais moins que les vols du plus gros "lovebug", Plecia Nearctica (L.A. Hetrick, correspondance). En Angleterre, Dilophus On pense que les espèces sont d'importants pollinisateurs des arbres fruitiers (Collyer et Hammond, 1951).

Lovebug, Plecia Nearctica Robuste

Un bibionide indigène qui a captivé l'imagination du public ces dernières années est le « lovebug », connu en Floride, ou la « mouche de lune de miel », ainsi nommée en Louisiane. D'autres noms communs sont phonebug, doubleheadedbug, unitedbug. et Mars voler. Ces mouches s'étendent dans tous les États du Golfe, au Mexique et en Amérique centrale. Ils ne mordent ni ne piquent, mais leur simple présence est une nuisance lorsqu'ils se produisent en grand nombre, et ils sont des fléaux pour les automobilistes et les pompistes. Les adultes en vol éclaboussent les pare-brise, les phares, les grilles et les radiateurs des véhicules à moteur, et leurs restes séchés sont difficiles à enlever. Ils peuvent provoquer une surchauffe des moteurs avec des dommages importants lorsqu'un grand nombre est aspiré dans les systèmes de refroidissement des moteurs refroidis par liquide. Dans la moitié nord de la Floride péninsulaire, il y a eu une "explosion démographique" de la lovebug depuis 1965, mais la raison en est inconnue. On estime qu'un vol en septembre 1969 s'étend sur environ 25 % de la superficie terrestre de la Floride et atteint des altitudes de 300 à 450 m (1000 à 1500 pieds) (Hetrick, 1969, 1970a, b).

La description. Les adultes sont noirs, avec des ailes noires et la partie dorsale du thorax rouge. La femelle mesure 15 mm de long et le mâle est un peu plus petit ( figure 322). La larve est gris ardoise, avec une capsule céphalique plus foncée. Il mesure 11 à 12 mm de long.

La biologie. Les adultes de la première génération volent en mai et de la seconde en septembre, chacun pendant une période d'environ 4 semaines. Le couple s'accouple en vol et la copulation se poursuit jusqu'à la mort du mâle, le vol et le rampement étant contrôlés par la femelle plus grosse. Les mâles ne vivent que 2 ou 3 jours, mais les femelles peuvent vivre une semaine ou plus et s'accoupler avec plus d'un mâle. Les couples reproducteurs se reposent la nuit, généralement sur une végétation basse. La femelle pond plus de 300 œufs dans la végétation en décomposition. Les larves se nourrissent de la matière décomposée accumulée, squelettisant souvent les feuilles mortes. Ils nécessitent une humidité adéquate et des températures du sol favorables. Le stade nymphal dure de 7 à 9 jours (Hetrick, 1970a).

Contrôler. Les mouches peuvent être évitées en voyageant la nuit. Il y a moins d'éclaboussures sur un véhicule lorsque les vitesses de conduite sont réduites. Un écran de fenêtre placé entre la calandre et le radiateur d'une automobile empêchera le colmatage des ailettes de refroidissement et la surchauffe des moteurs. Plusieurs minutes de trempage dans l'eau rendront la mouche beaucoup plus facile à enlever. En mai ou septembre, lorsque les adultes sont en vol, il faut éviter de peindre l'extérieur des bâtiments.

Scatopsidés (Scatopsidae)

Ces insectes faisaient autrefois partie de la famille des Bibionidae. Ce sont de petites mouches noires ou brunâtres, avec les appendices et le thorax souvent en partie jaunâtres. Les fémurs des pattes sont robustes, comme chez les bibionides, mais les pattes sont un peu plus courtes. Les antennes ont 7 à 12 segments et sont généralement légèrement plus longues que la tête. Il y a 3 ocelles (yeux simples) et la trompe est courte et trapue (Curran, 1965). Les scatopsidés ont été reconnus comme une famille distincte par Melander (1916), qui a déclaré que la famille comprenait « de minuscules mouches noires, portant actuellement le stigmate de la désapprobation humaine en raison de leur habitude de vivre dans des maisons mais de se reproduire dans les excréments. Plusieurs espèces ont été élevés à partir de latrines et d'excréments humains exposés, et les mêmes espèces pullulent fréquemment dans les fenêtres."

Scatopes fuscipes Meigen

Une espèce de scatopsidés a été trouvée en grand nombre sur une porte moustiquaire d'une maison à Los Angeles, et beaucoup avaient pénétré dans le bâtiment. Ils ont été identifiés comme Fuscipes scatopse, probablement le scatopsidé le plus répandu dans ce pays. Les larves vivent et se nourrissent de toutes sortes de matières végétales en décomposition, telles que les déchets de conserverie, les déchets de cave, les légumes pourris et le fumier de bétail. Le meilleur moyen de lutte est l'assainissement, mais si une infestation non identifiable se produit, le dichlorvos peut être appliqué en pulvérisation et sera très efficace comme insecticide (E. F. Cook, correspondance).

Myiase

Il s'agit de l'invasion des tissus vivants ou des cavités de l'homme ou des animaux par des larves de mouches (asticots). Des conditions similaires causées par des larves de coléoptères ou de mites sont appelées canthariose et scoléciase, respectivement. Des insectes d'autres ordres pourraient être impliqués, mais les asticots représentent plus de 90 % des invasions d'êtres humains par des insectes (Scott, 1964b). La myiase peut être appelée gastrique, intestinale, urogénitale, rectale, nasale, auriculaire, ophtalmique ou dermique (cutanée), en fonction de la zone corporelle envahie. Seules les myiases accidentelles ou facultatives seront discutées ici.

La myiase obligatoire, dans laquelle les larves de mouches bots ou de phlébotomes doivent vivre en parasite dans le corps d'un animal, est un problème vétérinaire, et n'est pas traitée dans le présent volume.

Les larves de mouches sont plus susceptibles de pénétrer dans le tractus intestinal humain en étant avalées sous forme d'œufs ou de jeunes asticots sur des aliments froids, tels que la viande, le fromage et les fruits. Les œufs ou les larves peuvent être détruits ou digérés, auquel cas aucun effet indésirable n'est noté, mais ils peuvent également survivre et provoquer des douleurs à l'estomac, des nausées, des vomissements, de la diarrhée avec écoulement de sang et des symptômes tels que douleurs articulaires et nervosité sévère. La myiase est appelée « furonculaire » si des lésions ressemblant à des furoncles se développent et « traumatique » si les asticots s'installent dans les plaies et pénètrent dans les tissus sains. Parmi les cas signalés au Service de santé publique sur une période de 11 ans, 35 % étaient furonculaires. Le deuxième cas en nombre était la myiase entérique, avec 30 %.

James (1947) a répertorié 112 espèces de diptères produisant des myiases dans 20 familles. Les familles Calliphoridae et Sarcophagidae contenaient respectivement 34 et 26 espèces, soit 53,5% du total. Ils étaient particulièrement importants dans les myiases traumatiques. [James (1947) a rapporté un cas de myiase traumatique impliquant le sarcophage Lucilia césar si grave qu'elle a entraîné l'amputation d'une main. Merritt (1969) a décrit et illustré une infestation incroyablement horrible par des larves de calliphoride Phaenicia sericata dans de grands ulcères atrophiques dans les jambes d'une femme âgée qui avait développé une stase des membres inférieurs. Il a fallu amputer les deux jambes. Une infestation aussi grave ne pouvait avoir lieu que dans des circonstances extrêmement inhabituelles, mais cela indique que la myiase traumatique reste une menace potentielle pour l'homme.] La troisième espèce en nombre était les Muscidae, avec 15, y compris la mouche domestique, Musca domestica. Les muscidés étaient particulièrement impliqués dans la myiase entérique.

Acarien folliculaire, Demodex folliculorum (Simon) (Démodicidae)

Les démodicides sont des acariens qui vivent dans les pores sébacés et les follicules pileux, généralement sur le nez, le front, les joues et le menton. Cependant, ils peuvent habiter des follicules, avec ou sans poils, n'importe où sur le corps. Lorsque les "points noirs" sont extraits de la peau et examinés au microscope, des démodicides sont parfois trouvés, mais il n'y a apparemment aucune preuve que les acariens causent les points noirs. Les démodicides ont un corps curieux formé par un abdomen long et strié leur donnant un aspect un peu vermiforme ( figure 323 ). Leurs pattes ne sont que des moignons. Ils ont été trouvés sur jusqu'à 97% et 100% des adultes examinés dans différentes enquêtes. Les enfants et les adolescents sont rarement infestés. Parmi les adultes, ceux qui ont la peau grasse ou qui utilisent des produits cosmétiques tels que des crèmes lubrifiantes de manière extravagante et ne nettoient pas correctement la peau sont particulièrement sujets à l'infestation (Ayres et Anderson, 1932 Ayres, 1963 Ayres et Mihan, 1967 Morgan et Coston, 1964 Coston , 1967). Demodex folliculorum infeste les follicules pileux et D. brevis Akbulatova infeste les glandes sébacées (Desch et Nutting, 1972). Les deux peuvent être présents sur le même individu, mais D. folliculorum est l'espèce qui a reçu le plus d'attention.

Description et habitudes. L'acarien mesure moins de 0,4 mm de long et échappe généralement à l'attention. Sa période de développement est d'environ 14,5 jours (Coston, 1967). L'inflammation et l'infection secondaire se produisent souvent lorsqu'un grand nombre d'acariens se rassemblent dans un seul follicule. UNE Démodex On pense que le type d'acné rosacée ou « démodécidose semblable à la rosacée » affectant la partie médiale du visage résulte d'un nombre excessif d'acariens du follicule et disparaît rapidement après l'application topique d'un médicament antiparasitaire approprié (Ayres, 1963 Ayres et Mihan, 1967 Morgan et Coston, 1964).

Des bactéries ont été localisées sur le corps de D. folliculorum, suggérant le potentiel de cet acarien comme transmetteur mécanique de germes pathogènes (anglais et al., 1970).

L'acarien folliculaire peut provoquer une maladie inflammatoire des paupières appelée blépharite démodex. De nombreux acariens peuvent s'accrocher ou migrer sur les cils extraits. Jusqu'à 25 acariens ont été observés accrochés près de la racine d'un seul cil, « entassés comme des sardines » (Coston, 1967). Les cils infestés peuvent être détrempés ou gorgés d'eau et peuvent parfois être arrachés sans pratiquement aucune résistance (English, 1971).

Sur les animaux domestiques. Les acariens démodicides infestent les glandes sébacées et les follicules pileux de la plupart des mammifères, par ex. Demodex canis Leydig (chien), D. cati Mégnin (chat), D. phylloides (Sokor) (cochon), D. bovis Stiles (bovins), D. equi Railliet (cheval), et D. caprae Railliet (chèvre) (Coston, 1967). Avec une « technique de flottation par macération », les paires de paupières d'un total de 269 bovins, chevaux, moutons, chèvres et cerfs ont été examinées dans le sud-ouest des États-Unis. Les acariens ont été trouvés chez 11,4 % des bovins, 59,7 % des chevaux, 11,1 % des chèvres, mais aucun chez les moutons ou les cerfs (Baker et Fisher, 1969).

Presque tous les chiens sont infestés (Greve et Gaafar, 1964). Dans la "gale rouge" ou "gale démodécique" des chiens, Staphylocoque les bactéries sont généralement associées aux acariens et leur présence complique la maladie.

La maladie est plus fréquente chez les chiens à poil court, et les symptômes sont d'abord remarqués chez ceux qui ont moins d'un an. Si des lésions se forment, elles sont généralement limitées à la tête, en particulier autour des yeux, dans les régions temporales et sur les côtés du museau, avec une perte de cheveux dans les parties affectées. Si la maladie est négligée, elle peut se propager à partir de ces zones et d'autres foyers qui peuvent se développer plus tard, et éventuellement toucher la plus grande partie de la surface du corps (Unsworth, 1946).

Traitement. La plupart des personnes infestées sont des femmes. La plus grande utilisation de savon et d'eau sur le visage par les hommes, en particulier par ceux qui se rasent avec un rasoir, fait que le visage n'est généralement pas touché, même lorsque le front et le cuir chevelu présentent des signes d'infestation. Après avoir soigneusement lavé le visage avec de l'eau et du savon, une pommade ou une crème prescrite peut être appliquée quotidiennement. La pommade danoise, une préparation composée de polysulfure, a donné des résultats satisfaisants et provoque rarement une irritation lorsqu'elle est tenue à l'écart des paupières et du cou.Si la pommade danoise ne peut être tolérée, une crème au sulfure de sélénium à 0,5 % peut être appliquée avec parcimonie la nuit et lavée le matin (Frazier, 1969). Une pommade à 10 % de soufre et 5 % de baume du Pérou serait un remède efficace (Busvine, 1966). L'amélioration peut être maintenue en se lavant quotidiennement à l'eau et au savon.

La blépharite à Demodex doit être traitée tôt, afin que les démangeaisons et le grattage n'entraînent pas d'abcès des paupières. Les services d'un médecin devraient être obtenus. Tout ce qui nettoie la bouche du follicule réduit le nombre d'acariens. Frotter vigoureusement avec un coton-tige imbibé d'eau tiède la base des cils naissants, de manière à briser le collier de débris isolants sur la bouche du follicule, réduira le nombre d'acariens. La méthode de traitement la plus rapide et la plus directe consiste pour un ophtalmologiste à appliquer de l'éther sur les bords de la paupière, puis après 5 ou 10 minutes à appliquer à nouveau de l'éther ou de l'alcool, détruisant les acariens émergents. Ce traitement est répété chaque semaine pendant 3 semaines, avec un nettoyage deux fois par jour avec des applicateurs de coton, suivi d'onguents appropriés massés dans la marge des cils (Coston, 1967).


Contexte

À l'échelle mondiale, les moustiquaires imprégnées d'insecticide (MII) sont une intervention standard pour la prévention et le contrôle du paludisme. Treize des dix-sept pays d'endémie palustre des Amériques ont intégré dans leurs programmes de contrôle et de prévention du paludisme la distribution universelle de MII et déclarent avoir une politique de distribution de MII par le biais de campagnes de masse [1].

L'utilisation des MII a eu un impact significatif sur la protection personnelle et sur la réduction de la transmission du paludisme. Si une couverture élevée en MII est maintenue (> 80%), les moustiquaires peuvent fournir une protection à l'ensemble de la communauté, y compris les ménages qui ne les utilisent pas [2]. Le Programme mondial de lutte contre le paludisme de l'Organisation mondiale de la santé (OMS) recommande l'accès universel et l'utilisation des MII comme intervention principale pour la lutte contre le paludisme [3].

Les évaluations précédentes des MII montrent un degré élevé de variation de la durabilité des MII [4,5, 6], les MII du même fabricant affichant des niveaux de durabilité significativement différents. Les facteurs qui influencent cette variabilité comprennent la fréquence de lavage (y compris la qualité de l'eau), le type de savon à lessive, les techniques de lavage et de séchage et les niveaux quotidiens d'« usure ». Traduire cette variabilité en une seule estimation de la durabilité de 3 à 5 ans pour les MII pourrait entraîner une présomption inexacte de l'efficacité des MII dans les zones où la durabilité est compromise considérablement plus rapidement. En tant que tel, la compréhension de la durabilité est une considération clé pour le calendrier des stratégies de remplacement des MII et devrait être une composante de toute campagne de distribution.

Alors que la durabilité des MII a été beaucoup plus largement étudiée en Afrique, des données limitées sont disponibles pour les Amériques. Une distribution de MII a eu lieu au Guatemala en 2012-2013 dans le cadre des activités de lutte contre le paludisme soutenues par le Fonds mondial de lutte contre le sida, la tuberculose et le paludisme. Environ 929 000 moustiquaires insecticides longue durée PermaNet® 2.0 (MILD) ont été distribuées dans 14 zones de santé qui comprennent un total de 111 municipalités dans 12 départements du Guatemala. L'objectif principal de cette étude était d'évaluer la durabilité des MILD PermaNet® 2.0 sur 32 mois d'utilisation de routine dans une zone à forte charge de paludisme dans la région mésoaméricaine. Les trois éléments de durabilité, de survie, d'intégrité physique et d'activité insecticide ont été évalués, conformément aux directives de l'OMS pour le suivi de la durabilité des MII dans des conditions opérationnelles [7]. Cette évaluation a été conçue pour fournir des données pertinentes pour les plans futurs concernant les stratégies de remplacement des MII qui pourraient être pertinentes à la fois au Guatemala et plus largement en Amérique latine.


10 réponses 10

est dangereux. Non pas parce que vous avez intercepté une exception générique, mais parce que vous avez supprimé l'exception sans effectuer de récupération ni arrêter le système. Maintenant, le système est dans un état indéfini. Il pourrait être sur le point de corrompre la base de données, de formater le disque dur ou d'envoyer des e-mails menaçants au président. Mais bon, au moins vous avez enregistré l'erreur en premier.

Faites-le de cette façon et soit le problème est traité proprement ici, soit le problème de quelqu'un d'autre. Si vous aviez vraiment besoin de savoir de quelles méthodes ces exceptions provenaient pour récupérer, ces méthodes auraient dû être récupérées à partir des exceptions elles-mêmes.

Suivre la règle sur le fait de garder les fonctions courtes devrait faciliter le débogage.

nous ne savions pas à quoi anticiper, alors que le comportement serait le même pour tous, par ex. log et poursuivez l'exécution.

Pour moi, c'est votre problème majeur. Si une exception se produit et que vous ne savez pas comment la gérer, vous ne devriez pas continuer l'exécution parce que vous ne savez pas dans quel état se trouve votre système. Passez-le simplement au niveau suivant et laissez-le gérer au niveau le plus élevé, vous voudrez peut-être vous déconnecter de l'exception, mais cela devrait être au niveau supérieur, ayant abandonné tout autre travail en cours. À ce stade, vous perdez la majeure partie de votre gestion des exceptions répétées, car tout est simplement géré au niveau de la couche supérieure.

S'il existe des exceptions spécifiques dont vous savez comment récupérer, alors interceptez absolument l'exception spécifique et ayez une logique de récupération appropriée. Mais n'essayez pas de le faire pour Exception car vous ne savez pas réellement ce qui s'est mal passé dans ce cas, vous ne pouvez donc pas vous en remettre correctement.

Beaucoup dépend du contexte. Un modèle comme :

ne serait pas si inhabituel dans certains cas. Si do_something est un rappel fourni par l'utilisateur, ou un gestionnaire de requêtes, ou autrement une "unité de travail autonome" en cours de traitement, ce modèle peut être judicieux. Au moment où vous attrapez l'exception ici, peut-être que do_something a déjà fait tout le nettoyage qu'il peut faire, et tout ce que vous avez à faire est de consigner l'erreur et de passer à l'unité de travail suivante.

Si, cependant, do_something n'est pas "self-contenu", alors vous pourriez avoir des ennuis. Par exemple, si do_something est responsable de l'exécution d'un travail -- par exemple, la création d'un objet de base de données -- alors, lorsque l'exception est gérée ici, vous n'aurez peut-être aucun moyen de savoir si ce travail a été effectué. Dans ce cas, procéder normalement serait assez dangereux.

Ce type de code de gestion "catch-all" est très courant (et tout à fait raisonnable, selon l'OMI) dans cadres qui peut appeler du code inconnu et sans rapport, et où le bon fonctionnement du framework ne dépend pas du tout de la réussite ou de l'échec de l'appelé. Dans le code d'application, par contre, c'est probablement une erreur.

Utilisez une adaptation de la philosophie "Let It Crash" de Joe Armstrong.
(Adaptation, car la conception originale s'applique à des fils extrêmement légers, je présente ici une version raccourcie et adaptée à Java.)

  • Faites la distinction entre les exceptions que votre code sait déjà gérer et les exceptions où votre code ne le sait pas.
    Écrivez simplement le code approprié dans le premier cas. Par exemple. si votre code demande à l'utilisateur le nom d'un fichier à ouvrir et que vous obtenez une exception FileNotFoundException , vous savez quoi faire si le fichier doit être là (c'est un fichier de configuration qui a été écrit il y a à peine cinq lignes), alors votre code ne Je ne sais pas quoi faire parce qu'une hypothèse est brisée.
  • N'essayez pas de gérer les exceptions ne sachant pas quoi faire, supposez simplement que votre code a échoué et relancez l'exception.
    C'est la partie "let it crash" : si le code échoue, quelque chose d'inattendu se produit que le code n'était pas préparé à gérer, et essayer de réparer les choses ne fait généralement qu'empirer les choses, alors laissez-le planter. Spécifique à Java : S'il s'agit d'une exception vérifiée, vous ne pouvez généralement pas la renvoyer comme ceci :
    lancer une nouvelle RuntimeException("Le fichier attendu " + fichier + " existe mais ce n'est pas le cas", ioException)
  • Puisque nous ne voulons pas faire planter l'ensemble de l'application, ayez toujours un niveau plus élevé qui gère les plantages.
    Différents types de stratégies existent, des plus simples aux plus sophistiquées :
    • Il suffit de consigner l'erreur et d'abandonner l'application.
    • Une application interactive peut enregistrer l'erreur, indiquer à l'utilisateur que l'action a échoué et lui demander ce qu'il doit faire ensuite. (Il peut également offrir à l'utilisateur un moyen facile d'envoyer le fichier journal au programmeur.)
    • Une application serveur qui a pour la plupart des requêtes indépendantes peut simplement renvoyer l'erreur à la machine demandeuse. La charge utile du message d'erreur peut être aussi restreinte ou aussi complète que la situation l'exige (les services publics devraient donner moins d'informations pour empêcher les attaquants de collecter des informations sur les états d'erreur qu'ils pourraient exploiter, avec des services strictement internes, il peut être plus facile d'envoyer trace des exceptions).
    • L'application peut réessayer l'opération qui a échoué. Cela n'a pas de sens dans tous les cas, mais si du matériel ou d'autres composants non contrôlés par votre logiciel sont impliqués, cela peut être une stratégie utile. (Par exemple, problèmes de réseau.)
    • L'application peut essayer un algorithme de secours plus simple qui est moins susceptible d'échouer.
    • Si votre application est vraiment compliquée, vous constaterez peut-être qu'avoir plusieurs couches de gestionnaires d'échecs est une victoire.

    La partie en dehors du code du processus est ce que vous ferez lorsque vous recevrez des rapports d'échec.
    Parfois, vous rendez le code plus résilient (assurez-vous que l'exception ne se produit pas, etc.), parfois vous améliorez simplement le message de journal et/ou le message utilisateur, parfois vous ajoutez un gestionnaire d'échec, et parfois vous ignorez le problème car il n'arrive qu'une fois par décennie et vous avez des choses plus importantes à régler (ce dernier devrait être l'exception rare, évidemment, mais il est une option).

    La capture d'exceptions génériques erronées est-elle une approche ? Avait-on beaucoup de cas (été brûlés en essayant d'en attraper des spécifiques) où nous ne savions pas à quoi s'attendre, alors que le comportement serait le même pour tous, par ex. log et poursuivez l'exécution.

    Si vous voulez juste enregistrer les exceptions, c'est très bien. Mais vous ne vous contentez pas de vous connecter dans un tel cas, vous les manipulez. Vous annoncez "Je ne sais pas ce qui s'est passé mais croyez-moi, ce n'était pas important".

    Envelopper tout dans try..except: log blocks est une répétition de code. Ou est-ce? Résoudre cela d'une manière qui ne semble pas être une sur-ingénierie me dépasse.

    Si votre ambition est de consigner toutes les exceptions levées par un framework (tout en étant capable de gérer certaines exceptions d'une manière spéciale), la réponse est simple. Vous pouvez envelopper l'ensemble de l'interface dans une classe qui intercepte chaque appel de fonction, enregistre toutes les exceptions, puis relance l'exception. C'est en fait l'un des cas d'utilisation corrects pour intercepter les exceptions génériques, l'un des facteurs étant que vous permettez toujours à l'exception d'être gérée correctement lorsque vous la relancez.

    Un avantage pour cela est que vous ne vous répétez PAS du tout. Et de plus, vous avez une certaine garantie que si une exception est levée, elle est enregistrée.

    L'habillage des interfaces pour ajouter la journalisation est une tâche relativement simple, et je ne qualifierais pas de sur-ingénierie. Cela équivaut probablement à environ 10 lignes de python.

    La gestion des blocs try imbriqués pourrait peut-être être résolu en les séparant dans leur propre portée (par exemple une fonction), mais cela ne s'est pas avéré être une solution fiable car souvent l'appelant peut souhaiter un résultat différent sur une exception (résultat vide, résultat alternatif , l'exception elle-même, etc.)

    Eh bien, une fonction peut renvoyer tout ce que vous voulez. Vous pourriez donc très bien retourner toutes ces choses. Mais cela vous oblige également à réfléchir à vos conditions de poste. En d'autres termes : "Quels sont les résultats sensibles après l'exécution de cette instruction".

    Remettez-le toujours en haut de la chaîne si vous ne pouvez pas le manipuler en toute sécurité. Si rien d'autre ne le gère, le programme doit planter. Cela pourrait être une grave erreur. Vous pourriez lire des valeurs indésirables aléatoires. Les utilisateurs ne sont pas satisfaits une fois que toutes leurs précieuses données sont écrasées par des fichiers indésirables. Un crash est également un signe très évident que quelque chose d'important doit être réparé. Un journal peut finir par être ignoré pendant des années.

    1. Essayez d'attraper ce qui pourrait mal se passer (probablement en premier) avant d'attraper les exceptions générales. Non seulement cela rend évident ce à quoi vous vous attendez, mais cela signifie également que vous gérez ce problème spécifique et non quelque chose auquel vous ne vous attendiez pas.
    2. Ce n'est pas une répétition si c'est fait correctement. Il s'agit de trouver le meilleur endroit pour détecter les problèmes en toute sécurité.
    3. Les blocs try catch n'ont pas besoin d'être dans leur propre fonction. Ils ne devraient pas être très longs. S'ils le sont, c'est un signe potentiel que quelque chose ne va pas avec la conception globale.

    En pratique, vous modifiez le code de production et le casser n'est pas une option. Suivez votre exemple car tout est de leur responsabilité. Ils connaissent le système et connaissent les risques potentiels. Vous pouvez demander s'il y a quelque chose que vous pouvez faire pour aider à réduire les risques lors de l'écriture d'un nouveau code, mais indiquez clairement que vous êtes là pour soutenir et que vous n'essayez pas de causer plus de problèmes.

    Si vous êtes dans un lieu de travail hostile, mettez-le dans un e-mail non agressif / indirect que vous pouvez conserver (hors site) si jamais vous êtes blâmé.

    Mon expérience avec les langages avec exceptions est que vous devez supposer que chaque ligne peut échouer afin d'écrire du code robuste à l'échec, un peu comme lorsque vous utilisez des transactions : à la fin de la fonction, vous validez vos modifications ou laissez les exceptions annuler eux. Par exemple, vous ne construisez et ne validez qu'un objet localement avant de l'ajouter à un conteneur, etc. (en d'autres termes, retardez l'utilisation d'effets secondaires visibles de l'extérieur).

    Lorsque ce n'est pas possible et que vous devez réparer certaines choses si le code échoue, je laisse la fonction le réparer elle-même, par exemple dans un bloc finally, avant de lever l'exception. Par exemple dans ce code :

    Il semble que chaque fois que vous do_another_thing , vous devez faire attention à la gestion de l'exception et appeler repair_stuff , ce qu'un utilisateur de votre API pourrait oublier de faire. À moins que repair_stuff ne soit lié à ce que fait do_another_thing, il doit être appelé par do_another_thing lui-même.

    La gestion des blocs try imbriqués pourrait peut-être être résolu en les séparant dans leur propre portée (par exemple une fonction), mais cela ne s'est pas avéré être une solution fiable car souvent l'appelant peut souhaiter un résultat différent sur une exception (résultat vide, résultat alternatif , l'exception elle-même, etc.)

    Le annuler étapes de la fonction qui lève une exception si IMO fait partie de la fonction. En dehors du code de réparation, oui, si vous souhaitez gérer la situation différemment, vous devez avoir des gestionnaires différents. Cependant, le fait qu'une langue fournisse des exceptions ne signifie pas que toutes les erreurs sont mieux exprimées en tant qu'exceptions.

    Parfois, les fonctions acceptent un argument qui dit quoi faire en cas d'erreur (lancer une exception ou renvoyer un résultat vide). Ou les fonctions sont en fait des méthodes pour des objets qui contiennent des gestionnaires définis par l'utilisateur, auquel cas le code peut les utiliser, par exemple :

    La capture d'exceptions génériques erronées est-elle une approche ? Avait-on beaucoup de cas (été brûlés en essayant d'en attraper des spécifiques) où nous ne savions pas à quoi s'attendre, alors que le comportement serait le même pour tous, par ex. log et poursuivez l'exécution.

    À certaines occasions, vous savez que vous souhaitez vérifier les défaillances du réseau, les défaillances du système de fichiers, etc. afin de pouvoir les gérer de manière plus appropriée. Mais de manière générale, il vaut mieux supposer que votre code peut être interrompu à tout moment.

    Vous n'interceptez que certaines exceptions spécifiques lorsque vous avez un chemin d'exécution alternatif, mais sinon, vous pouvez vous fier au mécanisme par défaut et laisser les exceptions apparaître.

    Alors oui, avoir un gestionnaire d'exceptions général qui enregistre et continue l'exécution est très bien, au cas où vous pourriez réellement continuer l'exécution (c'est-à-dire qu'un serveur qui n'a pas réussi à gérer une requête pourrait être capable de gérer la suivante).

    Envelopper tout dans try..except: log blocks est une répétition de code. Ou est-ce?

    C'est une répétition de code et je pense que c'est une odeur de code s'il y a trop de blocs try.

    Résoudre cela d'une manière qui ne semble pas être une sur-ingénierie me dépasse.

    Si vous avez une raison valable de gérer vos exceptions de la même manière, vous pouvez décorer les fonctions :

    Je ne pense pas qu'écrire un décorateur soit de la sur-ingénierie dans ce cas.

    La meilleure façon de gérer les exceptions, en tant que comportement par défaut, consiste simplement à ignorer leur existence. C'est à cela que servent les exceptions en premier lieu.

    Si vous écrivez du code comme celui-ci (qui, reconnaissons-le ici, peut parfois être nécessaire) :

    alors votre logique s'écrirait tout aussi facilement sans exceptions :

    Le point d'exception est que, la plupart du temps, vous vous contentez de faire ceci :

    Il y a un gestionnaire qui "vous soutient", mais il est ailleurs.

    Considérez que dans un langage de haut niveau comme celui que je pense que vous utilisez, il y a une gestion implicite de la mémoire. Lorsque vous évaluez une expression comme [a, b, c] , ce qui, je suppose, pourrait être la syntaxe pour créer un tableau/une liste à trois éléments, qui effectue une allocation de mémoire implicite et pourrait manquer de mémoire. Pourtant, vous n'encombrez pas votre code de répétitions de ceci :

    Ce que je veux dire, ce n'est pas que les exceptions sont juste quelque chose à balayer sous le tapis, ou une responsabilité à esquiver et à passer ailleurs, mais plutôt qu'il vaut mieux avoir une vue d'ensemble. OK, quelque chose d'inhabituel pourrait arriver ici. Qu'est-ce que cela signifie dans l'image plus grande? Bien que cela se produise ici, est-ce ici le meilleur endroit pour le gérer ? C'est déjà traité quelque part ? Quelles sont les circonstances particulières qui s'appliquent juste à ici, qui ne seront pas prises en charge par cet autre ailleurs, est-ce que quelque chose sera laissé dans un mauvais état si nous sommes brusquement renfloués par une exception que nous ne gérons pas ? Pouvons-nous écrire le code de manière à ce qu'il ne s'en soucie pas ? Quel type de contrat documenté imposons-nous au code ici, et comment les exceptions y figurent-elles ?

    Par exemple, supposons que le code effectue une transaction quelconque (pas nécessairement une transaction de base de données ou de serveur distant, pensez-y en termes abstraits : mettre à jour une structure de données en mémoire tout en préservant certains invariants pourrait être une transaction). Il existe peut-être un moyen de l'écrire de manière plus fonctionnelle : peut-être qu'il peut calculer une nouvelle version de la structure de données puis, comme dernière étape, la remplacer de manière atomique. Dans ce cas, vous ne vous souciez pas d'être interrompu par une exception. Si la transaction est renflouée par une exception, alors c'est comme si cela ne s'était jamais produit, la dernière étape du remplacement de l'objet par la nouvelle version n'avait pas été atteinte et l'ancienne version intacte est toujours là.

    Plus tôt vous pensez à ce genre de chose dans la conception (idéalement dès le début), meilleur sera le résultat dans le code.

    Les dialectes de la famille de langages Lisp ont quelque chose appelé unwind-protect : un opérateur pour toujours exécuter du code de nettoyage si un transfert de contrôle non local inattendu a lieu. (Tout type de transfert non local, pas nécessairement lié à une exception). C'est comme un essai/enfin dans certains langages de type Java. Vous devez utiliser cet opérateur plus fréquemment que de gérer une exception réelle. Pourtant, la plupart du temps, ce n'est pas nécessaire.C'est strictement pour les situations dans lesquelles quelque chose serait laissé dans un mauvais état de fuite.

    1. La capture d'exceptions génériques erronées est-elle une approche ? Avait-on beaucoup de cas (été brûlés en essayant d'en attraper des spécifiques) où nous ne savions pas à quoi s'attendre, alors que le comportement serait le même pour tous, par ex. log et poursuivez l'exécution.

    Non. "Tort" est une question de contexte. Il est faux d'intercepter les exceptions génériques lorsque votre flux de code et les décisions ultérieures dépend du genre, mais quand vous simplement m'en fou, il n'y a pas de moyen plus propre.

    Prenons l'exemple d'une application qui lit plusieurs formats de fichiers. Lorsque l'utilisateur essaie d'ouvrir un fichier et que chaque analyseur syntaxique dont vous disposez ne parvient pas à reconnaître le format (en fonction de quoi que ce soit, des heuristiques intégrées, des champs attendus, des octets de signature, etc.), vous n'avez pas besoin d'expliquer à l'utilisateur ce que arrivé. Des centaines de formats de fichiers existent, et le fichier peut être sur une clé USB qui vient d'être déconnectée, un fichier a été verrouillé par une autre application, des dizaines de choses peuvent mal tourner. Vous pouvez simplement tout récupérer et signaler que le fichier n'a pas pu être ouvert, que le format n'est peut-être pas reconnaissable ou qu'un problème est survenu avec le système de fichiers. Oui, vous ennuierez l'utilisateur en ne lui expliquant pas tout mais le temps, c'est de l'argent et vous ne pouvez pas simplement le dépenser pour affiner une réponse à chaque chose qui peut mal tourner. En outre, les utilisateurs seront également amusés lorsqu'ils gérer d'ouvrir leurs fichiers après tout et d'effectuer un traitement important en termes de temps et d'argent sur leurs précieuses données.

    1. Envelopper tout dans try..except: log blocks est une répétition de code. Ou est-ce? Résoudre cela d'une manière qui ne semble pas être une sur-ingénierie me dépasse.

    N'encapsulez quelque chose dans un bloc try que lorsque le trace de la pile va vous être utile. Le déballage de la pile est coûteux et doit être évité dans les blocs sensibles au temps, évidemment. Considérez une méthode qui dessine un cercle à 3 points sur une toile :

    A quoi pourrait bien servir la trace de pile ici ? tu sais d'avance presque tout ce qui pourrait mal tourner. Instances de points non valides ? Impossible, vous les attrapez quand même dans leur constructeur. En outre, l'utilisateur entre probablement des coordonnées dans des zones de texte où vous interdisez gracieusement les valeurs alphanumériques ou invalides. Ou ils créent des points en cliquant sur votre canevas, ce qui signifie qu'ils ne peuvent pas cliquer sur un point avec des coordonnées invalides. Trois points peuvent être colinéaires, le rayon du cercle tend donc vers l'infini. Vérifiez cela à l'avance et informer l'utilisateur de manière appropriée (ou tracer une droite infinie). Deux (ou tous les 3) points peuvent coïncider. Vérifiez cela à l'avance et informez l'utilisateur que cela ne peut pas être fait.

    Le fait est qu'il y a presque rien que la trace de la pile dans une telle méthode vous dirait, que vous ne pouvez pas prédire à l'avance (à moins que votre logiciel ne fonctionne sur des ordinateurs exposés à de graves quantités de rayonnement cosmique).

    1. La gestion des blocs try imbriqués pourrait peut-être être résolu en les séparant dans leur propre portée (par exemple une fonction), mais cela ne s'est pas avéré être une solution fiable car souvent l'appelant peut souhaiter un résultat différent sur une exception (résultat vide, résultat alternatif , l'exception elle-même, etc.)

    Chaque fois qu'un significative exception est interceptée, vous obtenez les journaux, voyez ce qui s'est passé et refactorisez votre logiciel de manière à ce que ce qui s'est passé soit n'est plus une exception. Si vous ne le faites pas, alors le enregistrement une partie du bloc catch/except est pratiquement seulement pour le spectacle. Une fois que vous avez réussi à gérer 99% de ce qui peut mal tourner, vous ne vous soucierez plus vraiment des 1% restants, et vous ne vous souciez pas vraiment du bloc except/catch, vous le laissez simplement, car le 1% des choses qui peuvent mal tourner. Essayer de "scoper" des cas d'exception spécifiques donne l'impression que vous essayez d'utiliser des exceptions pour contrôler le flux d'exécution du code.

    Un appelant qui "pourrait souhaiter un résultat différent sur exception", ressemble à celui qui sait à quoi s'attendre ou vouloir. Trouvez un moyen d'écrire la ou les méthodes afin qu'elles renvoient ce qui est souhaité/attendu, alors pourquoi auriez-vous besoin d'exceptions ? Une exception est, par définition, une événement inattendu qui perturbe le flux. Si vous savez à quoi vous attendre et quoi faire lorsque vous observez une sorte de comportement, ce n'est plus une exception. Lorsque vous appelez du code que vous ne pouvez pas modifier, ni savoir exactement ce qu'il fait, la documentation est votre seul espoir et, bien sûr, il serait conseillé d'essayer et d'attraper des exceptions, mais dans ces cas, vous effectuez simplement un contrôle de flux d'exécution de code, rien n'est vraiment inattendu lorsque vous savez à quoi vous attendre (et, bien sûr, préparez-vous à tout ce à quoi vous pouvez vous attendre).

    Vous voulez un exemple typique de cas où un bloc try serait absolument nécessaire ? Eh bien, lorsque vous "essayez" d'ouvrir un fichier, bien sûr. Regarde ça:

    Peu importe combien de fois vous vérifiez si file.exists(filepath) , le read(filepath) est sur une autre ligne de code et donc, sémantiquement arrive à un autre moment. Oui, le fichier peut avoir disparu entre les deux. Le sera-t-il, cependant? Eh bien, en réalité, il pourrait disparaître par n'importe lequel d'une série de raisons très obscures… l'utilisateur peut déplacer un tas de fichiers et cela coïncide avec cette vérification, ou le nom du fichier n'était que juste changé, ou il s'agit d'un système de fichiers distant et chaque requête prend beaucoup de temps pour être traitée, permettant ainsi plus de temps entre les deux, pour que des choses obscures se produisent, etc.

    99,9999% (ou plus) du temps, ce ne sera pas un problème, bien sûr. Quand ça arrive, quand même, ce sera vraiment une exception et, selon les circonstances, l'application peut planter. Pour précisément ce raison, vous devez absolument enrouler cela autour d'un bloc try-except. Dans un purement exceptionnel situation, comme celle-ci, vous le trouverez impossible pour savoir ce qui s'est passé, vous ne s'en soucie pas vraiment à ce sujet de toute façon (vous pouvez obtenir tous les détails du journal dans le monde mais vous ne pourrez rien faire pour empêcher l'erreur de se produire par malchance dans 10 ans) et vous aurez absolument aucun moyen de récupérer tout ce qui se passait dans la partie d'essai du bloc. C'est le seul significative situation que les blocs try-catch vont aider, c'est-à-dire des exceptions exogènes :

    Toujours gérer les exceptions qui indiquent des conditions exogènes inattendues, en général, il n'est pas utile ou pratique d'anticiper chaque défaillance possible. Essayez simplement l'opération et soyez prêt à gérer l'exception.


    Voir la vidéo: OpenLayer (Octobre 2021).