Ouais, ce sont des tests, ça fait très longtemps que j'ai éteint ce blog. Maintenant le certbot n'est malheureusement pas automatique, je n'ai pas pris le temps de faire convenablement la conf de mon haproxy, du coup je dois le down et up manuellement pour faire les maj de certificat.
C'est pas si sûr, d'après des benchmarks que j'avais lus (d'il y a un an ou deux j'arrive pas à les retrouver) PostgreSQL explose MongoDB en performances brutes quand on l'utilise en mode "document" avec du jsonb.
En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.
Donc quant bien même la syntaxe est chiante pour écrire des requêtes qui manipulent le jsonb (elle est vraiment très chiante, je sais de quoi je parle) ça vaut toujours le coup d'évaluer PostgreSQL quand le besoin se pose.
Surtout qu'avec MongoDB, tu peux pas faire de relationnel le jour où tu dis que "merde, en fait j'en ai besoin", alors qu'avec PostgreSQL, tu l'as, et bien plus encore !
Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB, on l'a utilisé sur un site à fort traffic / gros volumes de données, on a fini par le remplacer par un SGBD plus classique et tous nos ennuis se sont évaporés, mais c'était il y a quelques années, peut être que MongoDB s'est sortis les phalanges du fondement depuis.
J'aurais largement préféré qu'on me fasse des retours sur les problèmes rencontrés sur des architectures que je n'ai pas pu tester ou sur les paramètres particuliers d'Apache à surveiller, plutôt qu'entamer un débat sur "Faut-il coder avec moins de 3 indentations ?"
Pour le coup, je trouve que ce thread va un peu loin, je suis sincèrement désolé de l'avoir lancé.
Je suis d'accord avec toi, ces considérations sur le style, ce n'est finalement pas le sujet, fonctionnellement ton outil est intéressant, je n'en ai personnellement pas l'usage (je n'utilise plus apache depuis longtemps). J'espère que d'autres moules vont au moins l'essayer !
Bien que je ne sois pas d'accord sur le fond, je t’ai pertinenté parce que j'estime que ton point de vue est tout à fait légitime, je ne pense pas que ça vaille d'être moinssé.
De manière générale, on essaye au boulot de ne pas faire plus de 2 ou 3 niveau max d'indentation, et dès lors qu'un algo déroulé est plus grand que l'écran (alors c'est subjectif parce qu'on est nombreux à avoir des écrans/résolutions/polices de taille différentes) on découpe.
Avoir une fonction qui n'est appelée qu'une unique fois n'est pas un soucis, si ce qu'elle fait est particulièrement technique ou dévie un du peu métier (tout en restant nécessaire), ça permet juste de sortir quelques lignes inutiles à la compréhension de son algo d'origine, afin de fluidifier la lisibilité de ce qui est vraiment "métier".
L'idée ce n'est pas de voir la fonction comme quelque chose de technique, par essence ce n'est pas dédié que à la factorisation, mais juste de séparer un gros problème en un ensemble de plus petits problèmes, parfois décorrélés, parfois non, afin de mettre en valeur, donner une sémantique métier, au code. Par exemple si quelqu'un dit "oui mais un appel de fonction c'est plus lent", il faut bannir cette personne de toute décision architecturale, car même si c'est possiblement vrai, ça ne sera jamais significatif dans un ensemble de code plus gros.
Le découpage unitaire permet aussi le test unitaire, et ça, c'est vraiment cool. Plus les responsabilités sont découpés, plus il aisé d'écrire des tests, aux limites ou non. Mais c'est aussi plus facile de remplacer un bout de code, il suffit de respecter la signature.
Ça permet aussi d'éviter que des variables temporaires se trimballent trop longtemps dans le flux d'exécution, ou dans le flux de code, et permet d'éviter des erreurs bêtes (écrasement de variable, erreur de typo qui fait que tu utilises une variable à la place d'une autre).
Je terminerais avec deux points, qui me semblent importants, dans les deux paragraphes en dessous.
Le premier, c'est que regarder les scripts des autres (qui plus est en perl), n'est pas un bon indicateur pour comparer la qualité du code. Le choix du langage, tout comme la finalité du code, ou tout simplement les conventions choisies vont influer sur le style adopté. De plus, les scripts perl (ou tout autre langage d'ailleurs) de configuration ou de monitoring sont très souvent écrits par des gens dont le métier est l'administration ou la maintenance de parc, et malheureusement, ce n'est absolument pas le même métier que développeur (d'application métier ou tout autre) et de gestion de projet; bien souvent les scripts d'admin sont de piètre qualité. Je ne remets pas en cause leur compétence ici, attention, mais juste développer n'est pas leur métier (je suis résolument contre le discours qu'il faille absolument être un "devops", ce sont deux métier différent, qui demandent des compétences tout à fait différentes).
Le deuxième point, et c'est le dernier, c'est que peu importe l'âge, on est toujours capable d'avancer et d'évoluer, c'est plus un choix qu'une contrainte en réalité. Si tu décides d'être conservateur quant à ton style de code, je ne vais pas aller te critiquer, c'est un choix personnel et légitime, et l'important, encore une fois, c'est que tu te fasses plaisir. Par contre, si tu étais développeur dans mon équipe, je serais sûrement derrière ton dos pour t'aider à avancer, et surtout à comprendre, ces "nouvelles" (qui ne sont pas nouvelles du tout en réalité) méthodes de développement, non pas pour forcer le changement, mais tout simplement pour améliorer la communication entre développeur, en espérant qu'à la fin, tout le monde y prenne du plaisir.
Je ne parlais pas forcément de passer en objet, pour un script comme celui-ci ça ne semble pas indispensable (ce qu'apporte réellement l'objet qui est indispensable pour des gros projets c'est essentiellement l'encapsulation, les interfaces et la composition, afin de rendre le code évolutif, ce qui ici ne serait pas forcément bénéfique), mais plus de plus découper en fonctions. À certains endroits ton code arrive à des niveau de 5 ou 6 indentations successives (entre divers if, while et foreach), ce qui rend le code très profond, et plus difficile à lire. Le cerveau humain est assez bête il aime lire de façon linéaire, et le découpage en fonctions aux endroits opportuns créé une encapsulation qui permet aux algorithmes importants d'évoluer à niveau plus haut ce qui leur donne plus de sémantique et moins de détails techniques, et d'être plus lisibles, car ça les rend plus linéaires.
Les imbrications de if foreach while et autres joyeusetés créé un code avec énormément de branches, c'est souvent là qu'on perd le lecteur. En arrivant à remplacer les branches par du typage et une gestion d'erreur fine dans des fonctions encapsulés, ça permet de mettre en valeur les erreurs évidentes.
Bonjour, le PHP (entre autres) étant mon métier de tous les jours, je me permet de faire quelques remarques sur le code:
ce script semble être développé "à l'ancienne", un fichier de 1500 lignes avec très peu de fonctions, et quasi-intégralement procédural, c'est un peu lourd à digérer,
je vois beaucoup de display("[..] Foo bar... ça aurait peut être été judicieux de factoriser le code pour générer le [..],
tu itères bien souvent avec readdir(), je ne suis pas vraiment sûr que ce soit nécessaire, tu pourrais déduire les noms de fichiers que tu cherches dans la majeure partie des cas et simplement faire un $filename = sprintf('/proc/%d/status', $pid); if (file_exists($filename)) { $status = file_get_contents($filename); /* ... */ },
tu fais du shell_exec() sans utiliser escapeshellcmd() ni escapeshellarg(), alors le plus souvent c'est un string literal donc c'est pas grave, mais à garder dans un coin de la tête pour plus tard,
de manière générale le code est très redondant, il pourrait être factorisé,
tu dis que tu ne trouves pas les regex lisibles, et je suis bien souvent d'accord avec toi, mais je dirais surtout: ça dépend, et dans ton cas en utilisant des regex par endroit, tu aurais du code plus concis (et plutôt lisible je pense, car les regex dont tu aurais besoin serait relativement simples).
Bon sinon l'outil semble fonctionnellement très bien, par contre je trouve ça dangereux de hardcoder les limites acceptables en ce qui concerne, par exemple, le nombre de threads: en effet, un nombre de process/thread sera bien souvent affiné selon le type d'application (I/O-bound ou CPU-bound), selon le nombre de CPU dédiés sur la machine, selon la RAM disponible, etc… Donc j'ai peur que toutes les valeurs soient de facto fausses pour beaucoup d'environnements.
Mais, petite note positive, c'est cool de reprendre ce genre de petit projet, je suis sûr que ça peut servir à beaucoup de monde. Apache est trop souvent bien trop mal configuré, alors c'est une bonne chose, ça permet de sensibiliser les gens à la configuration.
Et puis quant bien même je fais des critiques (que j'espère être constructives) l'important c'est que tu te fasses plaisir à développer cet outil.
J'ai pas dit que la première dose était suffisante, juste que le délai concernait la première dose, après ils sont censés faire la deuxième quand même.
Après ma source c'était les informations et articles divers et variés que j'ai lu pendant la période ou les débats se jouaient, mais je n'ai aucune idée de ce qui a été conservé/voté finalement.
Il n'y avait pas de pression pour aller se vacciner en urgence à ce moment-là, cf. ce que j'ai expliqué au-dessus.
Bien sûr que si, on sortait du couvre feu et la vaccination venait d'être ouverte à tout le monde. La condition de sortie du couvre feu c'était justement l'ouverture de la vaccination, entre autres.
Depuis le début, depuis que les vaccins sont disponibles, le message est pressant et explicite, et il dit: "faites vous vacciner tout de suite, urgence ou pas, car une nouvelle vague va arriver, et sans ça, il y aura beaucoup de morts.".
Et ça, personne ne peut l'ignorer, c'est un fait, c'est le seul vrai message important, et celui qui a été le plus rabâché. Toute personne qui ignore volontairement ça est de mauvaise foi et un propagateur de fausses informations.
D'autre part, pour des raisons de logistique, il n'était pas non plus possible pour tous les non vaccinés d'avoir leur première prise juste après l'annonce du passe étendu.
C'est pour ça que le sénat a choisi d'allonger les délais pour tout le monde en fait. Je rebondissait à l'origine sur le cas des 12-17 ans parce que c'était le propos, mais c'est aussi vrai pour les autres, y compris ceux pour qui le vaccin devient obligatoire (de mémoire dans la loi votée ils ont jusqu'au 15 septembre pour avoir leur première dose).
Je dis pas que j'aime particulièrement ce gouvernement (ce n'est pas le cas) ni qu'il ne fait pas de bourde (il en fait, comme tous les autres) mais quand on tient ce discours il faut tenir compte de la machine législative qu'il y autour, dont ce gouvernement a bien connaissance et pris en compte.
L'effet d'annonce à poussé énormément de gens à aller se faire vacciner, et permet probablement, en plus d'augmenter la couverture vaccinale, d'éviter de perdre des doses aussi.
Maintenant cet effet d'annonce n'est juste qu'une annonce, et va être légiféré, modifié, adapté (comme toutes les lois) bien entendu, car contrairement à ce que disent beaucoup de gens, on est encore en démocratie.
Quand soudain en plein début de vacances, Macron, reniant ses propres propos
Je pense qu'au lieu de blâmer le gouvernement, en dehors de toute considération politique ou idéologique, tu pourrais remplacer ça par:
"Quand soudain, en plein début de vacances, on apprend que la charge virale du variant delta est 1000 fois supérieure à la variante précédente et le pic commence à se manifester, 3 mois plus tôt que prévu".
Le sénat a volontairement décalé la date pour les mineurs entre 12 et 17 ans parce que cette frange de la population n'est pas encore (du tout ou presque pas) vaccinée, et qu'on ne peut pas leur demander de le faire en une semaine. C'est pragmatique, pas idéologique.
Ils ont joué avec le planning pour que justement ça ne deviennent pas liberticide. Les adultes libres, majeurs et consentants (ou pas) ont eu plusieurs mois pour prendre rendez-vous à leur centre de vaccination le plus proche, et ils ne peuvent pas dire qu'ils savaient pas que ça allait mal se passer pour eux un jour, ça fait 1 an et demi qu'on en parle tous les jours.
Perso j'ai quitté AMD car il était devenu difficile d'avoir un système libre
Ce n'est plus vrai aujourd'hui, depuis quelques années tu peux être en full foss pour utiliser du AMD (contrairement à Nvidia, les drivers ne sont pas libres et distribués en binaires, et sans le driver Nvidia, adieu les jeux).
D'ailleurs l'upgrade pour Windows semble m'avoir seulement été proposée quand je vais sous Windows et j'utilise un outil fourni avec le driver, qui permet de télécharger les upgrades.
Tu as sûrement raison, c'est l'âge du matériel / mises à jour qui joue en ta défaveur très probablement.
J'ai une carte mère MSI, une récente, et les mises à jour de BIOS/UEFI sont aussi fournies sous forme de fichier .zip, que tu mets sur n'importe quelle clé ou disque dur USB, tu rebootes et vas dans l'interface de l'UEFI, tu passes en mode "update" et il trouve le fichier tout seul.
J'aurais cru qu'ils fournissent les upgrades de la sorte pour toutes leurs cartes mères, je suis étonné du contraire. Il y a aussi un upgradeur en .exe, pour Windows, mais la variante .zip marche très bien aussi (et pas besoin de Windows).
Pour info, j'ai enregistré ma carte mère dans leur site de support, et depuis ce dernier, une fois connecté, les updates sont disponibles sous forme de fichier .zip.
OK, comme quoi, le message général est souvent biaisé, je m'étais pas renseigné plus que ça honnêtement. Merci de la précision
Bref, c'était pas mon point :) Faut pas confondre éthique et morale, et en lisant le journal d'origine je ne suis pas sûr si l'auteur fait la distinction ou non, et ça peut complètement changer le sens de la lecture selon si le mot voulu était éthique ou morale.
Je parlais d'une façon très hypothétique, je ne sais pas ce qu'il a fait en vrai, juste qu'il était un pote d'Epstein, bref, le point reste valide, je trouve ça étonnant de parler de morale sans aborder l'aspect éthique.
Je n'ai suivi que de très loin le débat, mais la remise en cause de Stallman ne semble pas être qu'un problème de morale, mais un problème d'éthique surtout. La morale est avant tout personnelle, c'est un ensemble de règles pour un individu donné, qui sert de boussole entre le bien et le mal. L'éthique est sociétale, c'est un ensemble de règles de bien vivre ensemble. L'éthique mise en place correctement est là (à mon point de vue) pour permettre à tous de vivre sa propre morale dans la limite de ne pas entraver celle des autres. Stallman n'a pas que des idées que la morale de tout un chacun peu considérer d'abjectes, mais il aurait aussi abusé de certaines personnes, physiquement, ce qui n'est plus un sujet moral par conséquent, mais éthique, puisqu'il viole les règles du groupe d'une façon qui porte atteinte à l'intégrité de certaines personnes (c'est donc un vrai préjudice). Si la règle est inexistante, alors la société (ici la FSF) aurait bien intérêt à en écrire quelques-unes, mais attention, pas des règles de morales (le bien et le mal n'ont rien à faire à la FSF), mais d'éthique (règles de bien vivre ensemble pour promouvoir la liberté de tous de façon équitable, ce qui semble être le fondement même de la GPL).
J'ai utilisé Pidgin pendant très longtemps, je ne savais pas que le projet était encore vivant, je le pensais abandonné depuis quelques années. Je vais retourner y faire un tour voir.
Je ne râle après Nextcloud, comme je le dis plus bas, c'est un excellent logiciel. Cependant, je reste surpris que ce genre de bugs puisse apparaître sur une mise à jour, et en vrai, ça ne m'étonne qu'à moitié: durant tout le temps où je l'ai utilisé (avec plaisir, je tiens à le dire) je n'ai jamais eu une seule upgrade qui s'est bien passée, dans la majorité des cas j'en suis arrivé à faire du step debugging dans le code, pour trouver ce qui échouait (souvent des erreurs bêtes, par ailleurs, mais quasi-systématiquement qui nécessitaient de patcher).
Et le constat sur le fait qu'ils ont l'air d'utiliser APCu en mode YOLO reste assez vrai, cf. ce que je dis plus bas, la façon dont ils l'utilisent est bancale.
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 1.
Ouais, ce sont des tests, ça fait très longtemps que j'ai éteint ce blog. Maintenant le certbot n'est malheureusement pas automatique, je n'ai pas pris le temps de faire convenablement la conf de mon haproxy, du coup je dois le down et up manuellement pour faire les maj de certificat.
[^] # Re: Scylla/MongoDB
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Cassandra 4 qui la testent, un qui l'Hécube. Évalué à 10.
C'est pas si sûr, d'après des benchmarks que j'avais lus (d'il y a un an ou deux j'arrive pas à les retrouver) PostgreSQL explose MongoDB en performances brutes quand on l'utilise en mode "document" avec du jsonb.
En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.
Donc quant bien même la syntaxe est chiante pour écrire des requêtes qui manipulent le jsonb (elle est vraiment très chiante, je sais de quoi je parle) ça vaut toujours le coup d'évaluer PostgreSQL quand le besoin se pose.
Surtout qu'avec MongoDB, tu peux pas faire de relationnel le jour où tu dis que "merde, en fait j'en ai besoin", alors qu'avec PostgreSQL, tu l'as, et bien plus encore !
Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB, on l'a utilisé sur un site à fort traffic / gros volumes de données, on a fini par le remplacer par un SGBD plus classique et tous nos ennuis se sont évaporés, mais c'était il y a quelques années, peut être que MongoDB s'est sortis les phalanges du fondement depuis.
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 6.
Pour le coup, je trouve que ce thread va un peu loin, je suis sincèrement désolé de l'avoir lancé.
Je suis d'accord avec toi, ces considérations sur le style, ce n'est finalement pas le sujet, fonctionnellement ton outil est intéressant, je n'en ai personnellement pas l'usage (je n'utilise plus apache depuis longtemps). J'espère que d'autres moules vont au moins l'essayer !
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 8.
Oui, moi aussi, ou a minima je demande une justification et que le code soit explicitement documenté pour expliquer pourquoi.
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 10. Dernière modification le 03 août 2021 à 17:47.
Bien que je ne sois pas d'accord sur le fond, je t’ai pertinenté parce que j'estime que ton point de vue est tout à fait légitime, je ne pense pas que ça vaille d'être moinssé.
De manière générale, on essaye au boulot de ne pas faire plus de 2 ou 3 niveau max d'indentation, et dès lors qu'un algo déroulé est plus grand que l'écran (alors c'est subjectif parce qu'on est nombreux à avoir des écrans/résolutions/polices de taille différentes) on découpe.
Avoir une fonction qui n'est appelée qu'une unique fois n'est pas un soucis, si ce qu'elle fait est particulièrement technique ou dévie un du peu métier (tout en restant nécessaire), ça permet juste de sortir quelques lignes inutiles à la compréhension de son algo d'origine, afin de fluidifier la lisibilité de ce qui est vraiment "métier".
L'idée ce n'est pas de voir la fonction comme quelque chose de technique, par essence ce n'est pas dédié que à la factorisation, mais juste de séparer un gros problème en un ensemble de plus petits problèmes, parfois décorrélés, parfois non, afin de mettre en valeur, donner une sémantique métier, au code. Par exemple si quelqu'un dit "oui mais un appel de fonction c'est plus lent", il faut bannir cette personne de toute décision architecturale, car même si c'est possiblement vrai, ça ne sera jamais significatif dans un ensemble de code plus gros.
Le découpage unitaire permet aussi le test unitaire, et ça, c'est vraiment cool. Plus les responsabilités sont découpés, plus il aisé d'écrire des tests, aux limites ou non. Mais c'est aussi plus facile de remplacer un bout de code, il suffit de respecter la signature.
Ça permet aussi d'éviter que des variables temporaires se trimballent trop longtemps dans le flux d'exécution, ou dans le flux de code, et permet d'éviter des erreurs bêtes (écrasement de variable, erreur de typo qui fait que tu utilises une variable à la place d'une autre).
Je terminerais avec deux points, qui me semblent importants, dans les deux paragraphes en dessous.
Le premier, c'est que regarder les scripts des autres (qui plus est en perl), n'est pas un bon indicateur pour comparer la qualité du code. Le choix du langage, tout comme la finalité du code, ou tout simplement les conventions choisies vont influer sur le style adopté. De plus, les scripts perl (ou tout autre langage d'ailleurs) de configuration ou de monitoring sont très souvent écrits par des gens dont le métier est l'administration ou la maintenance de parc, et malheureusement, ce n'est absolument pas le même métier que développeur (d'application métier ou tout autre) et de gestion de projet; bien souvent les scripts d'admin sont de piètre qualité. Je ne remets pas en cause leur compétence ici, attention, mais juste développer n'est pas leur métier (je suis résolument contre le discours qu'il faille absolument être un "devops", ce sont deux métier différent, qui demandent des compétences tout à fait différentes).
Le deuxième point, et c'est le dernier, c'est que peu importe l'âge, on est toujours capable d'avancer et d'évoluer, c'est plus un choix qu'une contrainte en réalité. Si tu décides d'être conservateur quant à ton style de code, je ne vais pas aller te critiquer, c'est un choix personnel et légitime, et l'important, encore une fois, c'est que tu te fasses plaisir. Par contre, si tu étais développeur dans mon équipe, je serais sûrement derrière ton dos pour t'aider à avancer, et surtout à comprendre, ces "nouvelles" (qui ne sont pas nouvelles du tout en réalité) méthodes de développement, non pas pour forcer le changement, mais tout simplement pour améliorer la communication entre développeur, en espérant qu'à la fin, tout le monde y prenne du plaisir.
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 9. Dernière modification le 03 août 2021 à 14:32.
Je ne parlais pas forcément de passer en objet, pour un script comme celui-ci ça ne semble pas indispensable (ce qu'apporte réellement l'objet qui est indispensable pour des gros projets c'est essentiellement l'encapsulation, les interfaces et la composition, afin de rendre le code évolutif, ce qui ici ne serait pas forcément bénéfique), mais plus de plus découper en fonctions. À certains endroits ton code arrive à des niveau de 5 ou 6 indentations successives (entre divers if, while et foreach), ce qui rend le code très profond, et plus difficile à lire. Le cerveau humain est assez bête il aime lire de façon linéaire, et le découpage en fonctions aux endroits opportuns créé une encapsulation qui permet aux algorithmes importants d'évoluer à niveau plus haut ce qui leur donne plus de sémantique et moins de détails techniques, et d'être plus lisibles, car ça les rend plus linéaires.
Les imbrications de if foreach while et autres joyeusetés créé un code avec énormément de branches, c'est souvent là qu'on perd le lecteur. En arrivant à remplacer les branches par du typage et une gestion d'erreur fine dans des fonctions encapsulés, ça permet de mettre en valeur les erreurs évidentes.
# Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 10. Dernière modification le 03 août 2021 à 09:47.
Bonjour, le PHP (entre autres) étant mon métier de tous les jours, je me permet de faire quelques remarques sur le code:
ce script semble être développé "à l'ancienne", un fichier de 1500 lignes avec très peu de fonctions, et quasi-intégralement procédural, c'est un peu lourd à digérer,
je vois beaucoup de
display("[..] Foo bar...
ça aurait peut être été judicieux de factoriser le code pour générer le[..]
,tu itères bien souvent avec
readdir()
, je ne suis pas vraiment sûr que ce soit nécessaire, tu pourrais déduire les noms de fichiers que tu cherches dans la majeure partie des cas et simplement faire un$filename = sprintf('/proc/%d/status', $pid); if (file_exists($filename)) { $status = file_get_contents($filename); /* ... */ }
,tu fais du
shell_exec()
sans utiliserescapeshellcmd()
niescapeshellarg()
, alors le plus souvent c'est un string literal donc c'est pas grave, mais à garder dans un coin de la tête pour plus tard,de manière générale le code est très redondant, il pourrait être factorisé,
tu dis que tu ne trouves pas les regex lisibles, et je suis bien souvent d'accord avec toi, mais je dirais surtout: ça dépend, et dans ton cas en utilisant des regex par endroit, tu aurais du code plus concis (et plutôt lisible je pense, car les regex dont tu aurais besoin serait relativement simples).
Bon sinon l'outil semble fonctionnellement très bien, par contre je trouve ça dangereux de hardcoder les limites acceptables en ce qui concerne, par exemple, le nombre de threads: en effet, un nombre de process/thread sera bien souvent affiné selon le type d'application (I/O-bound ou CPU-bound), selon le nombre de CPU dédiés sur la machine, selon la RAM disponible, etc… Donc j'ai peur que toutes les valeurs soient de facto fausses pour beaucoup d'environnements.
Mais, petite note positive, c'est cool de reprendre ce genre de petit projet, je suis sûr que ça peut servir à beaucoup de monde. Apache est trop souvent bien trop mal configuré, alors c'est une bonne chose, ça permet de sensibiliser les gens à la configuration.
Et puis quant bien même je fais des critiques (que j'espère être constructives) l'important c'est que tu te fasses plaisir à développer cet outil.
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 1. Dernière modification le 30 juillet 2021 à 17:36.
J'ai pas dit que la première dose était suffisante, juste que le délai concernait la première dose, après ils sont censés faire la deuxième quand même.
Après ma source c'était les informations et articles divers et variés que j'ai lu pendant la période ou les débats se jouaient, mais je n'ai aucune idée de ce qui a été conservé/voté finalement.
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 10.
Bien sûr que si, on sortait du couvre feu et la vaccination venait d'être ouverte à tout le monde. La condition de sortie du couvre feu c'était justement l'ouverture de la vaccination, entre autres.
Depuis le début, depuis que les vaccins sont disponibles, le message est pressant et explicite, et il dit: "faites vous vacciner tout de suite, urgence ou pas, car une nouvelle vague va arriver, et sans ça, il y aura beaucoup de morts.".
Et ça, personne ne peut l'ignorer, c'est un fait, c'est le seul vrai message important, et celui qui a été le plus rabâché. Toute personne qui ignore volontairement ça est de mauvaise foi et un propagateur de fausses informations.
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 4.
C'est pour ça que le sénat a choisi d'allonger les délais pour tout le monde en fait. Je rebondissait à l'origine sur le cas des 12-17 ans parce que c'était le propos, mais c'est aussi vrai pour les autres, y compris ceux pour qui le vaccin devient obligatoire (de mémoire dans la loi votée ils ont jusqu'au 15 septembre pour avoir leur première dose).
Je dis pas que j'aime particulièrement ce gouvernement (ce n'est pas le cas) ni qu'il ne fait pas de bourde (il en fait, comme tous les autres) mais quand on tient ce discours il faut tenir compte de la machine législative qu'il y autour, dont ce gouvernement a bien connaissance et pris en compte.
L'effet d'annonce à poussé énormément de gens à aller se faire vacciner, et permet probablement, en plus d'augmenter la couverture vaccinale, d'éviter de perdre des doses aussi.
Maintenant cet effet d'annonce n'est juste qu'une annonce, et va être légiféré, modifié, adapté (comme toutes les lois) bien entendu, car contrairement à ce que disent beaucoup de gens, on est encore en démocratie.
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 3.
Je pense qu'au lieu de blâmer le gouvernement, en dehors de toute considération politique ou idéologique, tu pourrais remplacer ça par:
"Quand soudain, en plein début de vacances, on apprend que la charge virale du variant delta est 1000 fois supérieure à la variante précédente et le pic commence à se manifester, 3 mois plus tôt que prévu".
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 10.
Déjà, pourquoi tu vas au resto ? On a tous fait 1 an et demi de télétravail et on est gras comme des loutres.
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 5.
Peut être aussi pour vérifier si les certificats qui ont signé les QR codes n'ont pas été répudiés, tout simplement ?
[^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 8. Dernière modification le 27 juillet 2021 à 17:36.
Le sénat a volontairement décalé la date pour les mineurs entre 12 et 17 ans parce que cette frange de la population n'est pas encore (du tout ou presque pas) vaccinée, et qu'on ne peut pas leur demander de le faire en une semaine. C'est pragmatique, pas idéologique.
Ils ont joué avec le planning pour que justement ça ne deviennent pas liberticide. Les adultes libres, majeurs et consentants (ou pas) ont eu plusieurs mois pour prendre rendez-vous à leur centre de vaccination le plus proche, et ils ne peuvent pas dire qu'ils savaient pas que ça allait mal se passer pour eux un jour, ça fait 1 an et demi qu'on en parle tous les jours.
[^] # Re: Ironie
Posté par Christie Poutrelle (site web personnel) . En réponse au journal De Intel/Nvidia à AMD.. Évalué à 7.
Ce n'est plus vrai aujourd'hui, depuis quelques années tu peux être en full foss pour utiliser du AMD (contrairement à Nvidia, les drivers ne sont pas libres et distribués en binaires, et sans le driver Nvidia, adieu les jeux).
[^] # Re: Es-tu sûr ?
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Mise à jour de BIOS/EFI sur carte mère dont le fabriquant ne fournit qu’un .exe (MSI A88X-G43). Évalué à 1.
C'est même carrément facile ! Ils ont fait des progrès de ouf.
[^] # Re: Es-tu sûr ?
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Mise à jour de BIOS/EFI sur carte mère dont le fabriquant ne fournit qu’un .exe (MSI A88X-G43). Évalué à 2. Dernière modification le 04 mai 2021 à 16:07.
Ah oui, c'est étonnant, je viens d'aller voir sur la page de support de ma CM est c'est effectivement différent https://www.msi.com/Motherboard/support/B450-GAMING-PLUS-MAX
D'ailleurs l'upgrade pour Windows semble m'avoir seulement été proposée quand je vais sous Windows et j'utilise un outil fourni avec le driver, qui permet de télécharger les upgrades.
Tu as sûrement raison, c'est l'âge du matériel / mises à jour qui joue en ta défaveur très probablement.
# Es-tu sûr ?
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Mise à jour de BIOS/EFI sur carte mère dont le fabriquant ne fournit qu’un .exe (MSI A88X-G43). Évalué à 1.
J'ai une carte mère MSI, une récente, et les mises à jour de BIOS/UEFI sont aussi fournies sous forme de fichier .zip, que tu mets sur n'importe quelle clé ou disque dur USB, tu rebootes et vas dans l'interface de l'UEFI, tu passes en mode "update" et il trouve le fichier tout seul.
J'aurais cru qu'ils fournissent les upgrades de la sorte pour toutes leurs cartes mères, je suis étonné du contraire. Il y a aussi un upgradeur en .exe, pour Windows, mais la variante .zip marche très bien aussi (et pas besoin de Windows).
Pour info, j'ai enregistré ma carte mère dans leur site de support, et depuis ce dernier, une fois connecté, les updates sont disponibles sous forme de fichier .zip.
[^] # Re: Il ne faut pas confondre éthique et morale
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Logiciel libre et morale font-il bon ménage ?. Évalué à 3.
OK, comme quoi, le message général est souvent biaisé, je m'étais pas renseigné plus que ça honnêtement. Merci de la précision
Bref, c'était pas mon point :) Faut pas confondre éthique et morale, et en lisant le journal d'origine je ne suis pas sûr si l'auteur fait la distinction ou non, et ça peut complètement changer le sens de la lecture selon si le mot voulu était éthique ou morale.
[^] # Re: Il ne faut pas confondre éthique et morale
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Logiciel libre et morale font-il bon ménage ?. Évalué à 1.
Oui je vais le lire, c'était mon point d'origine, j'aurais peut être dû relativiser les faits un peu plus concernant Stallman :)
[^] # Re: Il ne faut pas confondre éthique et morale
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Logiciel libre et morale font-il bon ménage ?. Évalué à 1.
Je parlais d'une façon très hypothétique, je ne sais pas ce qu'il a fait en vrai, juste qu'il était un pote d'Epstein, bref, le point reste valide, je trouve ça étonnant de parler de morale sans aborder l'aspect éthique.
# Il ne faut pas confondre éthique et morale
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Logiciel libre et morale font-il bon ménage ?. Évalué à -3.
Je n'ai suivi que de très loin le débat, mais la remise en cause de Stallman ne semble pas être qu'un problème de morale, mais un problème d'éthique surtout. La morale est avant tout personnelle, c'est un ensemble de règles pour un individu donné, qui sert de boussole entre le bien et le mal. L'éthique est sociétale, c'est un ensemble de règles de bien vivre ensemble. L'éthique mise en place correctement est là (à mon point de vue) pour permettre à tous de vivre sa propre morale dans la limite de ne pas entraver celle des autres. Stallman n'a pas que des idées que la morale de tout un chacun peu considérer d'abjectes, mais il aurait aussi abusé de certaines personnes, physiquement, ce qui n'est plus un sujet moral par conséquent, mais éthique, puisqu'il viole les règles du groupe d'une façon qui porte atteinte à l'intégrité de certaines personnes (c'est donc un vrai préjudice). Si la règle est inexistante, alors la société (ici la FSF) aurait bien intérêt à en écrire quelques-unes, mais attention, pas des règles de morales (le bien et le mal n'ont rien à faire à la FSF), mais d'éthique (règles de bien vivre ensemble pour promouvoir la liberté de tous de façon équitable, ce qui semble être le fondement même de la GPL).
[^] # Re: C'est encore vivant ?
Posté par Christie Poutrelle (site web personnel) . En réponse au journal GAIM, c'est fini. Évalué à 6.
Ah ! Et le site s'est refait une santé aussi ! Cool, je suis content de voir ce projet vivre encore.
# C'est encore vivant ?
Posté par Christie Poutrelle (site web personnel) . En réponse au journal GAIM, c'est fini. Évalué à 3.
J'ai utilisé Pidgin pendant très longtemps, je ne savais pas que le projet était encore vivant, je le pensais abandonné depuis quelques années. Je vais retourner y faire un tour voir.
[^] # Re: Oulala
Posté par Christie Poutrelle (site web personnel) . En réponse au journal Upgrade Nextcloud 21.0.1, PHP et le temps perdu. Évalué à 3.
Je ne râle après Nextcloud, comme je le dis plus bas, c'est un excellent logiciel. Cependant, je reste surpris que ce genre de bugs puisse apparaître sur une mise à jour, et en vrai, ça ne m'étonne qu'à moitié: durant tout le temps où je l'ai utilisé (avec plaisir, je tiens à le dire) je n'ai jamais eu une seule upgrade qui s'est bien passée, dans la majorité des cas j'en suis arrivé à faire du step debugging dans le code, pour trouver ce qui échouait (souvent des erreurs bêtes, par ailleurs, mais quasi-systématiquement qui nécessitaient de patcher).
Et le constat sur le fait qu'ils ont l'air d'utiliser APCu en mode YOLO reste assez vrai, cf. ce que je dis plus bas, la façon dont ils l'utilisent est bancale.