1 line
24 KiB
JSON
1 line
24 KiB
JSON
[{"uuid":"76ede607-4a6b-434d-b01e-82aa509f3448","slug":"105-installation-du-logiciel-arduino-ide","title":"Installer le logiciel Arduino IDE sous Linux","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-19 06:54:59","created_at":"2023-02-19 06:54:59","updated_at":"2023-02-19 06:54:59","tags":[],"plain":"Cet article a été testé avec les distributions suivantes\nLinux Mint 19 64 bits\nLinux Debian 9.6 (stretch) 64 bits\nMX Linux 18.3 basé sur Linux Debian 9\nZorin OS 16.1 basé sur Linux Debian Je privilégie une installation \"manuelle\" de l'application Arduino IDE afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions. J'ai eu le cas avec Debian 9.6 où je ne pouvais pas utiliser des cartes ESP 8266. Date de relecture : 15 août 2022 Il faut télécharger la version 1.8.19. Vous pouvez vérifier la dernière version disponible depuis le site <https:www.arduino.cc/en/Main/Software>. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.\nTélécharger Arduino IDE Software\nDepuis mon dossier home ou un autre dossier personnel, je télécharge le programme Arduino IDE. Je préfère l'effectuer depuis une ligne de commande.\nDéployer Arduino IDE Software\nligne 1 : déployer Arduino IDE dans un dossier accessible à tous : . L'archive tar va extraire les fichiers dans un dossier comportant le numéro de version. ligne 3 : si un lien existait, détruit le lien sur avec unlink ligne 4 : réaliser un alias vers le dossier . De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente. ligne 5 : exécuter le script qui permet de créer un raccourci sur le bureau graphique. <code BASH [enablelinenumbers=\"true\", startlinenumbersat=\"1\"]>\nsudo tar -xvf arduino.tar.xz -C /opt\nsudo chown -R root:root /opt/arduino-1.8.19\nsudo unlink /opt/arduino\nsudo ln -s /opt/arduino-1.8.19/ /opt/arduino\nsudo /opt/arduino/install.sh\n</code>\nProblèmes rencontrés après le déploiement\nDroits sur tty et dialout\nIl faut ajouter l'utilisateur de l'application Arduino IDE aux groupes et . L'exemple suivant permet d'ajouter l'utilisateur aux groupes et . Si vous venez de saisir les lignes de commandes , vous devez redémarrer.\nVersion de Java incorrecte\nLe message suivant peut apparaître dans l'application Arduino IDE : Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec . Toutefois, un java est intégré avec l'application Arduino IDE. ( me renvoie la version ). Il faudra peut être toutefois changer les paramètres java de l'OS.\nJ'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles. Pour procéder à l'installation de Java 8 et choisir par défaut cette version :\nSerial port not selected\nDans certains cas, sous Mint, il faut désinstaller \nAucune carte n'est détectée Le câble USB peut être également non cablé pour les données (data) Pour rappel, voici le cablage d'un port USB\nExécuter votre premier programme\nVoici donc notre premier programme (celui qui est décrit dans la vidéo). Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.\\\\\nIl n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la , servira dans notre exemple sans forcément réalisée un montage électronique. Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur . Vous pouvez également copier le code suivant dans votre éditeur : <code C basics-blink.c [enablelinenumbers=\"true\", startlinenumbersat=\"1\"]>\n/\n Clignotement\n Allume la LED pendant 1 seconde,\n puis l'éteint pendant 0,5 seconde.\n/\n \n Numéro de la broche à laquelle est\n connectée la LED\nint led = 13;\n \n le code dans cette fonction est exécuté une fois au début\nvoid setup() {\nindique que la broche de la LED une sortie :\non va modifier sa tension\n pinMode(led, OUTPUT);\n}\n \n le code dans cette fonction est exécuté en boucle\nvoid loop() {\n digitalWrite(led, HIGH); allumer la LED (tension 5V sur la broche)\n delay(1000); attendre 1000ms = 1s\n digitalWrite(led, LOW); éteindre la LED (tension 0V sur la broche)\n delay(1000); * attendre à nouveau 1seconde\n}\n</code> Deux déclaration de fonctions sont obligatoires :\nsetup\nloop Dans ce bout de code, nous appelons trois fonctions :\ndigitalWrite\npinMode\ndelay Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu , sélectionner ."},{"uuid":"4f443bcb-b0d4-47f8-837d-61627e6c94f2","slug":"priorites-et-acces-au-reseau-en-4g-et-5g","title":"Pourquoi le réseau mobile ne s'effondre pas le jour où tout le monde téléphone en même temps","category":"télécom","author":"cedric@abonnel.fr","cover":"cover.jpg","published":true,"published_at":"2026-01-06 22:21","created_at":"2026-01-06 22:21:04","updated_at":"2026-05-11 23:40:18","tags":[],"plain":"Un attentat, un séisme, un match du Stade de France, une grande panne d'électricité. Dans ces moments-là, des centaines de milliers de gens dégainent leur téléphone au même instant. Le réseau mobile est dimensionné pour un usage moyen, pas pour un pic massif simultané, et il devrait théoriquement s'effondrer. La plupart du temps, il tient. Pas parfaitement, pas pour tout le monde, mais il tient — et surtout, les appels d'urgence continuent de passer. C'est le résultat d'une série de mécanismes empilés depuis les années 1990, que la 4G a affinés et que la 5G a élargis. Cet article les passe en revue, et termine sur une question qu'on me pose souvent : est-ce que mon forfait à 50 € me donne une place prioritaire dans cette file d'attente ?\r\n\r\nTrois questions, pas une\r\n\r\nQuand une cellule commence à chauffer, l'opérateur doit répondre à trois questions distinctes. Qui a le droit de se connecter ? Une fois connecté, qui passe en premier ? Et quels services doivent absolument continuer à fonctionner, quoi qu'il arrive ?\r\n\r\nLa 2G ne savait répondre qu'à la première. Elle filtrait à l'entrée et basta. La 4G a ajouté la deuxième : une fois admis sur le réseau, votre trafic est traité différemment selon son importance. La 5G ajoute la troisième : elle peut créer des réseaux virtuels parallèles dont certains sont réservés à des usages critiques, totalement isolés des autres.\r\n\r\nLe filtrage à l'entrée\r\n\r\nChaque carte SIM porte un numéro de classe d'accès, hérité du GSM, entre 0 et 15. Les classes 0 à 9 couvrent le grand public — autrement dit nous tous. Les classes 11 à 15 sont réservées : services de secours, autorités publiques, personnel opérateur, usages militaires selon les pays.\r\n\r\nQuand une cellule est surchargée, l'eNodeB (la station de base 4G) diffuse une consigne aux téléphones du secteur : « les classes 0 à 9, vous attendez ». C'est l'Access Class Barring. Concrètement, votre téléphone reçoit ce message et bloque lui-même votre tentative d'appel ou de connexion data, sans même envoyer la demande à la station. C'est élégant parce que ça soulage la station avant même qu'elle ne soit sollicitée. Les classes prioritaires, elles, passent sans encombre.\r\n\r\nUne variante plus dure, l'Extended Access Barring, vise les objets connectés et les usages non urgents. Quand une vraie crise se déclare, l'opérateur peut couper les compteurs intelligents, les alarmes domestiques et autres équipements bavards pour préserver la bande passante humaine.\r\n\r\nEn 5G, ce mécanisme a été refondu sous le nom d'UAC — Unified Access Control, introduit dans la Release 15 du 3GPP. UAC unifie dans un seul cadre ce qui était auparavant éparpillé entre ACB, EAB et d'autres dispositifs spécifiques. Il repose sur deux notions complémentaires. Les Access Identities identifient qui vous êtes : utilisateur lambda, abonné à un service prioritaire type MPS ou MCS, personnel d'urgence, agent opérateur. Les Access Categories identifient ce que vous essayez de faire : appel d'urgence, connexion data normale, SMS, mise à jour de localisation. La combinaison des deux détermine si votre demande passe ou pas. La granularité gagnée par rapport à la 4G est réelle : on peut bloquer un type d'action précis pour un type d'utilisateur précis, par exemple « les abonnés grand public ne peuvent plus initier de nouveaux appels data, mais les SMS et les appels voix continuent ».\r\n\r\nLa priorité une fois connecté\r\n\r\nLà où la 4G a vraiment innové, c'est en introduisant le QCI — QoS Class Identifier. Chaque flux de données qui transite sur le réseau se voit attribuer un numéro entre 1 et 9 (avec quelques valeurs supplémentaires pour des cas spéciaux) qui dit à l'infrastructure comment le traiter.\r\nUsage | QCI | Traitement |\r\n---|---|---|\r\nAppel VoLTE (voix sur LTE) | 1 | Latence minimale, débit garanti |\r\nVisioconférence | 2 | Débit garanti |\r\nSignalisation réseau | 5 | Très haute priorité |\r\nStreaming vidéo | 6 ou 8 | Best effort prioritaire |\r\nWeb et internet général | 9 | Best effort standard |\r\n\r\nQuand la cellule est encombrée, le routeur sait quoi sacrifier en premier. YouTube va ralentir, les pages web vont mettre du temps à charger, mais l'appel téléphonique de votre voisin reste audible. C'est un compromis assumé : on dégrade volontairement les usages secondaires pour préserver les usages critiques.\r\n\r\nLa 5G a transposé ce mécanisme sous le nom de 5QI (5G QoS Identifier) avec davantage de niveaux et une meilleure prise en compte des cas que la 4G gérait mal — notamment les services à très basse latence pour les usines connectées ou la voiture autonome. La voix d'urgence garde son sommet, les données critiques industrielles s'intercalent juste après, le streaming et le web restent en bas de la pile.\r\n\r\nL'isolation par tranches : le network slicing\r\n\r\nC'est l'apport majeur de la 5G en matière de gestion de crise. Au lieu de partager une seule infrastructure entre tous les usages, on peut maintenant la découper logiciellement en tranches — des slices — qui se comportent comme autant de réseaux indépendants, alors qu'ils tournent sur les mêmes antennes et les mêmes câbles.\r\n\r\nUn opérateur peut par exemple maintenir une tranche pour le grand public avec ses millions d'abonnés et son trafic massif, une autre pour les services d'urgence dimensionnée pour rester fluide même quand le reste sature, une troisième pour les objets connectés industriels avec des garanties de latence, et une quatrième pour des opérateurs critiques type SNCF, EDF ou hôpitaux. Chaque tranche a ses propres règles d'admission, ses propres priorités, ses propres garanties de performance. Si la tranche grand public est totalement saturée, celle des secours ne le sait même pas.\r\n\r\nCette isolation est ce qui distingue le plus fondamentalement la 5G des générations précédentes. Avant, tout le monde se battait pour les mêmes ressources, avec juste des priorités différentes pour départager. Maintenant, certaines ressources sont retirées du combat dès le départ.\r\n\r\nRécapitulatif\r\nGénération | Ce qui est contrôlé | Comment |\r\n---|---|---|\r\n2G | L'accès au réseau | Classes d'accès 0-15 |\r\n4G | L'accès + la priorité du trafic | ACB / EAB + QCI |\r\n5G | L'accès + la priorité + l'isolation des services | UAC + 5QI + network slicing |\r\n\r\nTous ces mécanismes restent invisibles tant que tout va bien. Vous ne savez pas qu'ils existent. Vous découvrez leur existence le jour où votre voisin n'arrive plus à charger ses mails alors que les pompiers, eux, continuent de communiquer normalement. Ce jour-là, ce n'est pas de la magie. C'est trente ans d'ingénierie radio qui ont anticipé que ça arriverait.\r\n--\r\n\r\nEt mon forfait premium, alors ?\r\n\r\nQuestion logique à ce stade. Si le réseau sait techniquement prioriser certains flux par rapport à d'autres, qu'est-ce qui empêche un opérateur de faire passer ses abonnés à 50 € devant ceux à 10 € quand les antennes saturent ? La réponse honnête commence par un aveu : techniquement, rien. L'outil existe, il s'appelle Quality of Service (QoS), c'est exactement le mécanisme qu'on vient de décrire. Si demain Orange ou SFR voulaient créer une voie rapide pour leurs abonnés haut de gamme, ils auraient les outils dans la boîte. Pourtant, ils ne le font pas. Pour quatre raisons.\r\n\r\nLa loi européenne l'interdit\r\n\r\nLe règlement (UE) 2015/2120, dit « règlement internet ouvert », oblige les opérateurs à traiter tout le trafic de la même façon, sans discrimination liée à l'expéditeur, au destinataire, au contenu ou à l'application. Il a fêté ses dix ans en novembre 2025, et l'ARCEP a profité de l'anniversaire pour rappeler que c'est l'un des piliers du modèle numérique européen. Les sanctions sont sérieuses : jusqu'à 3 % du chiffre d'affaires de l'opérateur fautif. Un opérateur français qui annoncerait demain « avec notre forfait Premium, vous passez devant les autres » se retrouverait devant l'ARCEP dans la semaine.\r\n\r\nLe règlement laisse quelques portes ouvertes pour les services dits « spécialisés » qui ont besoin d'une qualité garantie — téléchirurgie, voiture connectée. Mais ces exceptions sont étroitement encadrées et ne couvrent absolument pas le confort d'un client haut de gamme qui voudrait charger son Instagram plus vite à 19h.\r\n\r\nAux États-Unis, l'histoire est différente. La FCC a tenté de restaurer la neutralité du net en 2024, mais en janvier 2025 la cour d'appel du sixième circuit a invalidé la décision, jugeant que la FCC n'avait pas l'autorité légale pour reclasser le haut débit comme service public. Avec l'arrivée de Brendan Carr à la tête de la FCC, ouvertement opposé à la neutralité du net, il n'y a aujourd'hui plus de règle fédérale outre-Atlantique. Quelques États (Californie, Washington, New York, Oregon) ont leurs propres lois qui maintiennent le principe, mais à l'échelle du pays, les opérateurs américains pourraient légalement faire ce que leurs homologues européens n'ont pas le droit de faire. Pourtant, ils ne le font pas ouvertement non plus, et la raison renvoie aux trois points suivants.\r\n\r\nC'est commercialement intenable\r\n\r\nImagine la publicité : « Forfait Premium à 50 € — passez devant les pauvres pendant les heures de pointe ». Le slogan ne se vend pas. Les directions marketing savent que dire à la moitié de leurs clients qu'ils sont des citoyens de seconde zone du réseau est le plus court chemin vers une crise de réputation. C'est pour ça qu'on vous vend « plus de Go », « 5G ultra rapide », « roaming inclus dans 110 pays » — des promesses qui sonnent positivement sans jamais dire à personne qu'il est désavantagé.\r\n\r\nL'effet boule de neige serait toxique\r\n\r\nImagine que ça se mette quand même en place. Les riches passent devant. Les antennes restent saturées pour les autres, qui se mettent à payer plus pour échapper à la saturation, ce qui sature encore plus les bas forfaits, ce qui pousse encore plus de gens à monter en gamme. Au bout de cinq ans, on a un réseau à deux vitesses où les forfaits modestes deviennent quasi inutilisables aux heures critiques, et où la connexion mobile correcte devient un service de luxe. Ce n'est plus un service de télécommunications, c'est un système de classes.\r\n\r\nC'est exactement ce que la neutralité du net cherche à empêcher. Pas par idéologie, mais parce qu'on a déjà vu où mène ce genre de spirale dans les pays où elle n'est pas protégée. Certains opérateurs proposent par exemple des forfaits où Facebook et WhatsApp sont gratuits mais où le reste est payant, ce qui revient à dire que le bon internet est celui que l'opérateur a choisi pour vous. Ce n'est plus tout à fait le même service.\r\n\r\nÇa ne résoudrait rien\r\n\r\nQuand un réseau sature, ce n'est pas un problème de répartition entre utilisateurs, c'est un problème de capacité totale. Faire passer Pierre avant Paul ne crée pas un seul bit de bande passante supplémentaire. Ça déplace juste le problème de l'un vers l'autre. La vraie solution, quand une cellule sature trop souvent, c'est d'installer plus d'antennes, de densifier le réseau, de basculer sur une fréquence plus performante ou de passer à la génération suivante. C'est cher, c'est long, ça implique des autorisations administratives et des négociations foncières, mais c'est la seule réponse qui tient la route. Prioriser, c'est rapide, mais ça repousse le mur, ça ne le déplace pas.\r\n\r\nC'est comme si on proposait une voie réservée aux Mercedes sur l'A7 un samedi de chassé-croisé. Techniquement, on peut peindre la ligne au sol et installer les panneaux dans la matinée. Mais cette voie ne réduit pas le bouchon, elle le concentre sur les voies restantes ; elle écorne le principe d'égalité d'accès à l'infrastructure publique ; et elle ne change rien au problème de fond, qui est qu'il y a trop de voitures pour la route disponible. La vraie solution reste la même qu'avant : élargir l'autoroute, ou convaincre une partie des gens de prendre le train.\r\n\r\nLe caveat 5G\r\n\r\nUne nuance honnête pour finir. Le network slicing complique le débat juridique. Un opérateur peut créer des tranches de réseau avec des qualités différenciées en toute légalité quand il s'agit d'usages spécialisés — santé, industrie, transports. La question qui agite régulateurs et juristes depuis plusieurs années est de savoir où finit le service spécialisé légitime et où commence le contournement déguisé de la neutralité du net. L'ARCEP a ouvert ce chantier, et c'est probablement là, plus que dans une revanche commerciale brutale sur les forfaits premium, que se jouera la prochaine bataille.\r\n\r\nMais pour répondre simplement à la question : non, votre forfait à 50 € ne vous donne pas la priorité réseau sur celui de votre voisin à 10 €. Il vous donne plus de data, parfois un meilleur débit théorique, des options en plus. Pas une place dans la file."},{"uuid":"ec2d27ce-cba6-4710-ae26-a8174b0703f6","slug":"le-manifeste-du-web-independant","title":"Le Manifeste du Web Indépendant","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-03-14 21:50:33","created_at":"2023-03-14 21:50:33","updated_at":"2023-03-14 21:50:33","tags":[],"plain":"Le Manifeste du Web Indépendant est un document qui prône la liberté et l'indépendance des utilisateurs d'Internet, en opposition aux pratiques centralisées et monopolistiques de certaines grandes entreprises de la technologie. Il a été publié en 2001 par un groupe d'experts en informatique, de défenseurs de la liberté d'expression et d'autres personnes soucieuses de préserver les principes fondamentaux de l'Internet. Le Manifeste souligne l'importance de la liberté d'expression, de la confidentialité des données et de la capacité pour les utilisateurs de contrôler leur expérience en ligne. Il appelle à la création de technologies ouvertes, accessibles et interopérables, qui permettent aux utilisateurs de créer et de partager librement du contenu en ligne, sans être soumis aux restrictions imposées par les grandes entreprises de la technologie. Le Manifeste du Web Indépendant a inspiré de nombreux projets open source et communautaires, notamment le développement de navigateurs web alternatifs tels que Firefox et le mouvement de l'auto-hébergement, où les utilisateurs hébergent eux-mêmes leurs données en ligne plutôt que de les confier à des entreprises tierces."},{"uuid":"f8d53247-6fee-4953-864e-c283ef537120","slug":"stockage-pour-raspberry-pi","title":"Le stockage principal du Raspberry Pi","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-02 08:02:00","created_at":"2023-02-02 08:02:00","updated_at":"2023-02-02 08:02:00","tags":[],"plain":"En standard, les Raspberry Pi requièrent au minimum pour fonctionner un support de stockage mémoire carte SD ou micro SD selon le modèle.\nCartes SD pour Raspberry Pi\nLa taille minimale pour une installation de Raspbian Lite est de 4 Go. Pour les Raspberry Pi 3A+ et 3B+, la taille maximale de la carte SD de boot doit être de 256 Go. En règle générale, une carte de 32 Go suffit. L’usure des cartes SD est due uniquement à l'écriture des informations dans les cellules mémoire flash. Il faut entre 10 000 et 100 000 cycles d'écriture sur une cellule avant la mort de celle-ci, selon les technologies.\nCarte SD de 32 Go pour Raspbian Desktop Full La partition de la carte SD doit être FAT16 ou FAT32. Attention, car les cartes SD de taille supérieure à 32 Go sont formatée en exFAT. Il sera impératif de reformater en FAT32.\nBoot sur disque dur avec un Raspberry Pi\n> Modifier le fichier Jusqu'au Raspberry Pi 3, pour indiquer au Raspberry Pi de booter sur le disque dur branche sur un port USB, il faut à la fin du fichier écrire un paramètre. Celui-ci modifie le registre 17, bit 21 de l'OTP.\nPlus d'informations sur l'OTP : OTP register and bit definitions\n> Vérifier\nAprès avoir redémarré de nouveau, dans un terminal, il faut exécuter le programme vcgencmd avec le paramètre optdump. Cela affiche toutes les valeurs OTP (One-time Programmable). La valeur retournée doit être : Soit en binaire (32 bits) : J'éteins le Raspberry Pi et enlève la carte micro SD. Le Raspberry Pi peut maintenant démarrer sur un périphérique USB (clé ou disque). Si un carte micro SD est présente, elle reste prioritaire lors de la séquence de boot.\nRéduire le temps de démarrage\nOn peut raccourcir le délai de boot sur disque USB ou clé USB, en insérant une carte micro SD vierge.\nA voir aussi\nVidéo : Raspberry Pi 3B/3B+ USB SATA/SSD (2019)\nBoot simplifié sur USB avec les Raspberry Pi 1, 2 et 3\nhttps:jamesachambers.com/raspberry-pi-storage-benchmarks-2019-benchmarking-script/"},{"uuid":"11055b05-7c03-48f2-b4ad-e978980dba67","slug":"20230111-en-tetes-http-csp-securiser-le-contenu-d-un-site-web","title":"En-têtes HTTP : CSP ou comment sécuriser le contenu d'un site web","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-01-11 17:32:01","created_at":"2023-01-11 17:32:01","updated_at":"2023-01-11 17:32:01","tags":[],"plain":"Les CSP (Content Security Policy) sont des en-têtes HTTP qui permettent de définir les règles de sécurité pour le contenu d'un site Web. Elles sont utilisées pour aider à protéger le site et ses utilisateurs contre diverses attaques de sécurité, telles que l'injection de code malveillant ou la fuite de données sensibles. Pour activer CSP, vous devez configurer vos serveurs web afin d'ajouter un en-tête (header) aux réponses. Dans une configuration Apache, en fichier .htaccess ou dans une balise \"Location\", par exemple : Une autre possibilité consiste à utiliser l'élément HTML pour configurer la règle. Il existe de nombreuses directives que vous pouvez utiliser pour définir des règles de sécurité précises afin de :\nEmpêcher les écoutes du trafic\nRéduire des attaques cross site scripting (XSS) Voici comment utiliser les CSP dans un site Web. Définissez les règles de sécurité que vous souhaitez appliquer à votre site. Par exemple, vous pouvez spécifier quelles sources de contenu (scripts, images, etc.) sont autorisées à être chargées sur votre site. Voir la page du W3C desdirectives pour contrôler les ressources que l'agent utilisateur est autorisé à charger pour une page donnée. Ajoutez l'en-tête HTTP à votre site. Vous pouvez le faire soit en modifiant le fichier de votre serveur, soit en ajoutant l'en-tête directement dans le code HTML de votre site. Content-Security-Policy: règle Définissez la valeur de l'en-tête Content-Security-Policy en spécifiant les règles de sécurité que vous avez définies. Par exemple : Content-Security-Policy: default-src 'self'; script-src 'self' https:example.com; img-src 'self' https:example.com; Cet exemple autorise le chargement de contenu uniquement à partir de la même origine que le site ('self') pour le contenu par défaut () et les scripts (), tandis que les images () peuvent être chargées à partir de l'origine du site ou de l'URL . Versions, crédits et ressources\nW3C : Content Security Policy Level 3\nMozilla : Content Security Policy Crédit image : Midjourney"}] |