• PHP-CS-Fixer Configurator
    https://mlocati.github.io/php-cs-fixer-configurator

    Un outil open-source qui fourni une interface WYSIWYG avec explications et exemples pour créer des configurations de php-cs-fixer (le « formateur » par défaut de PHP dans VSCodium). Propose des « presets » adaptés aux différentes version de PSR.
    Le repo GIT et la doc d’install : https://github.com/mlocati/php-cs-fixer-configurator

    #php-cs-fixer #formatage #VSCode #PSR

  • Le bilan journalier dérisoire de la pandémie en France, qui ne justifie en rien la VIOLENCE de ce gouvernement #EnMarche
    23 Juillet 2020 : Coronavirus : 7 nouveaux décès, près de 1000 nouveaux cas confirmés en 24 heures en France
    https://www.lefigaro.fr/sciences/coronavirus-7-nouveaux-deces-pres-de-1000-nouveaux-cas-confirmes-en-24-heur
    . . . . . . .
    Au cours des dernières 24h, 7 personnes hospitalisées ont perdu la vie des suites d’une infection au coronavirus.

    Selon les chiffres de la Direction générale de la santé (DGS) publiés ce mercredi 22 juillet, 6366 patients sont toujours pris en charge par les services hospitaliers, 455 d’entre eux sont en réanimation.

    « Le virus circule sur l’ensemble du territoire national », indique la DGS, en soulignant le nombre croissant de clusters. Sur les 561 détectés depuis le 9 mai, 212 sont encore en activité et 14 ont été découverts dans la journée.
    . . . . . . .
    #macro_lepenisme #maintien_de_l'ordre macronien #violence #épidémie #pandémie pas #en_vedette #imposture #confinement
    C’est pas à la une des #médias de #france #propagande #journulliste #journullistes #medias #politique #médiacrates #mass_merdias

    • Amputations, défigurations, fracas maxillo-facial ou dentaire, dilacération oculaire ou énucléation, fracas crânien, hémorragies cérébrales…

      Couvrez ces plaies que je ne saurais voir…
      Le 24 janvier 2019, le professeur Laurent Thines, neurochirurgien au CHU de Besançon, après avoir constaté les dégâts occasionnés par les #LBD, informe les pouvoirs publics et lance une pétition.
      https://www.legrandsoir.info/couvrez-ces-plaies-que-je-ne-saurais-voir.html
      Il écrit : « J’ai été particulièrement choqué par les photos prises et les lésions observées chez les personnes blessées lors des mouvements de manifestation. Beaucoup, très jeunes (potentiellement nos enfants), ont été mutilés alors qu’ils ne représentaient aucune menace spécifique ». Et d’ajouter : « amputation de membre, défiguration à vie, fracas maxillo-facial ou dentaire, dilacération oculaire ou énucléation, fracas crânien, hémorragies cérébrales engageant le pronostic vital et entrainant des séquelles neurologiques, autant de mutilations qui produisent de nouveaux cortèges de « Gueules cassées »…Tant de vies ont été ainsi sacrifiées (…)…Pour toutes ces raisons nous, soignants (médecins, chirurgiens, urgentistes, réanimateurs, infirmiers, aides-soignants…) apolitiques et attachés à l’idéal de notre pays, la France, au travers de la déclaration des Droits de l’Homme, de la Femme et du Citoyen, demandons qu’un moratoire soit appliqué sur l’usage des armes sublétales de maintien de l’ordre en vue de bannir leur utilisation lors des manifestations »(1) .

      Première parenthèse : on dit « létal » pour éviter « mortel », « bâton souple de défense » pour ne pas dire « matraque », « lanceur de balles de défense » pour cacher que le lanceur est une arme d’attaque, « forces de l’ordre » pour indiquer que la violence n’est pas imputable aux policiers, « blessures oculaires » pour que le vilain mot « éborgnement » ne soit pas prononcé.

      Seconde parenthèse : la revendication de l’ « apolitisme » des signataires nous ferait tousser comme un contaminé au Covid-19 si l’on ne comprenait pas qu’il signifie « de diverses opinions politiques ».

      Avec Cathy JURADO, Laurent THINES publie à présent un recueil de textes dont ils disent : « né au cœur des ronds-points et des manifestations de Gilets Jaunes, il témoigne de ce combat historique, par le biais d’une évocation poétique sans concession de la répression contre ce mouvement mais aussi de la ferveur et du courage des militants. Les droits d’auteur seront reversés intégralement au Collectif des Mutilés pour l’Exemple ».

      C’est publié par « Le temps des Cerises » , excellent éditeur qui a publié.

      Maxime VIVAS Pour participer à ce geste de solidarité, contactez : poemesjaunes@gmail.com
      Pour en savoir plus, lisez l’article ci-contre https://www.legrandsoir.info/feu-poemes-jaunes.html

      Note (1) La réponse au cours de l’année a été la violence policière répétée contre le personnel soignant, matraqué et gazé. En mars 2020, des policiers se sont rendus, à la nuit tombée, avec des véhicules de service aux gyrophares allumés, devant des hôpitaux pour y applaudir (à distance) le personnel soignant qui est aux premières lignes dans la lutte contre le Coronavirus. Dérisoire initiative d’un corps de métier qui bénéficie, pour « maintenir l’ordre » de masques de protection qui font défaut dans les hôpitaux et qui usa de la matraque si les soignants manifestaient pour en réclamer. Puis, les manifestations ont repris et les brutalités contre le personnel soignant aussi.

      #violence #violences_policières #police #répression #violences #violence_policière #emmanuel_macron #giletsjaunes #resistances #social #mutilations #mutilés #maintien_de_l'ordre #gilets_jaunes #justice #répression #violence #armes_non_létales #flashball #blessures #langage

    • Le Ségur de la honte ! Jean-Michel Toulouse, ancien directeur d’hôpital public - 22 juillet 2020
      https://pardem.org/actualite/1057-le-segur-de-la-honte

      Certes il était illusoire d’espérer que des décisions à la mesure des besoins de l’hôpital, du personnel et des patients seraient prises au Ségur de la Santé. Sauf à croire au miracle ! 


      Mais la réalité dépasse la fiction : trois syndicats se sont déshonorés en signant les « accords » séguro-macroniens. Non seulement les revendications répétées des personnels hospitaliers depuis de très longs mois ont été piétinées mais il ne subsiste aucun espoir que les problèmes de fond qui minent la santé publique soient réglés.


      Mais l’honneur et la lutte n’ont pas disparu. Ils étaient incarnés le 14 juillet entre République et Bastille à Paris et dans de nombreuses villes par les soignants qui manifestaient et par les 15 organisations médicales et non médicales, qui ont refusé d’être complices du Ségur de la honte.

      Ils ont signé : la #CFDT, #FO et l’ #UNSA - les syndicats les moins représentatifs dans de nombreux hôpitaux et chez les médecins. Après 6 semaines de négociation bâclées, voici ce qu’ont accepté ces organisations : 


      – Un « socle » de 7,6 milliards d’euros pour les personnels para-médicaux (infirmières, aides-soignantes, kinésithérapeutes, etc.) et non médicaux (administratifs, agents des services hos-pitaliers, techniciens divers, etc.) est attribué à 1,5 million d’hospitaliers : une augmentation de salaire versée en deux temps, soit 90 euros au 1er septembre prochain et 93 euros au 1er mars 2021. Au total 183 euros nets mensuels sont octroyés aux agents des hôpitaux et des #EHPAD. Ce qui ne rattrape même pas le blocage du point indiciaire depuis 10 ans ! En effet pour ce rattrapage il aurait fallu 280 euros nets mensuels. Il s’agit donc d’une obole qui montre le mépris du pouvoir pour les salariés, qualifiés de « héros » par Macron ! Il est vrai que la notion de héros est commode : elle dépolitise le problème et, en outre, un héros n’a pas de besoin ! 


      – Une « révision des grilles salariales » - sans autre précision - en avril 2021, et cela ne représentera que 35 euros nets mensuels en moyenne ! Voilà la reconnaissance macronnienne pour celles et ceux qui ont tenu le pays à bout de bras pendant 3 mois et ont limité les dégâts de l’incompétence de ce pouvoir.


      – La « revalorisation » des heures supplémentaires, des primes pour travail de nuit, mais « plus tard » et sans autre précision, ce qui signifie que ce sera indolore pour ce pouvoir !


      – La création de 15 000 postes - sans précision non plus - alors qu’il en faudrait 100 000. De plus, ces postes seront à discuter avec les directions d’établissement, ce qui n’est pas acquis !


      – S’agissant des médecins, le Ségur leur octroie 450 millions d’euros (au lieu de 1 milliard), et 16 « autres mesures » à venir… La principale étant la « revalorisation » de la prime de service exclusif qui passera de 490 euros à 700 euros nets mensuels pour les PHPT (Praticiens hospitaliers plein temps), puis à 1 010 euros en 2021, à condition que ces #PHPT aient 15 ans d’ancienneté...


      – Toujours pour les médecins, révision des grilles salariales mais au rabais (100 millions d’euros), et en 2021, avec la fusion des trois premiers échelons déjà prévue par le plan Buzyn, et en créant 3 échelons supplémentaires en fin de carrière, c’est-à-dire aux calendes grecques !


      – Enfin pour les jeunes médecins et les internes, 124 millions d’euros pour les indemnités aux jeunes praticiens, qui seront portées au niveau du SMIC horaire ! Mais sans revalorisation de leurs grilles indiciaires ! Et cela alors que 30 % des postes sont vacants. Pas de mesure sur les gardes et la permanence des soins. Ce n’est pas avec cela que l’hôpital public sera plus attractif ! On risque même assister à une fuite générale des compétences vers le privé.

      Volet 2 (organisation et investissement) : du pareil au même !
      Monsieur Véran, ministre de la Santé, déclare que ce plan n’est pas fait « pour solde de tout compte ». En effet ! Nous apprenons que ce ne sera pas 15 000 postes qui seront créés mais seulement 7 500 car les 7 500 autres sont déjà inscrits dans le collectif budgétaire prévu dans le plan Buzyn « Ma santé 2022 » ! 


      Ce plan Ségur, animé par Nicole Notat, annoncé par Macron et Castex, proclame que 20 milliards de plus sont alloués aux hôpitaux. Mais en réalité il y en a déjà 13 qui sont sensés contribuer à éponger les dettes des hôpitaux (sur une dette de 30 milliards), ce qui réduit à 6/7 milliards l’ensemble des autres mesures ! 
Notat, qui a remis son rapport sur le volet 2 le 21 juillet, poursuit donc son travail d’enfumage macronien. Ce volet n°2 se limite, en effet, à injecter, sur 4 à 5 ans, 6 à 7 milliards d’euros pour financer les bâtiments, les équipements et le numérique. 6 milliards en 4-5 ans pour l’ensemble de ces mesures alors que l’hôpital est rongé par l’austérité et la réduction de moyens depuis 30 ans ! Sans compter qu’il faudra partager avec le secteur privé « assurant des missions de service public » !

      Considérant l’état des hôpitaux publics, on voit le fossé abyssal qui sépare les besoins réels et cette aumône méprisante ! En guise « d’investissement massif » - comme le promettait Macron - ce ne seront que 2,5 milliards pour les établissements de santé (projets territoriaux de santé, Ville-Hôpital, pour « casser les silos » !), 2,1 milliards pour le médico-social et les EHPAD (rénovation d’un quart des places, équipement en rails de transfert, capteurs de détection de chute, équipements numériques) et 1,5 milliard pour l’investissement dans le numérique et « les nouvelles technologies » . Il est donc évident que ce plan est loin de permettre de « changer de braquet ». Alors que ce sont des milliers de lits qui ont été supprimés depuis 30 ans (quelque 12 000 ces 5 dernières années), le plan Véran-Notat prévoit 4 000 créations mais seulement « à la demande » et « en fonction des besoins » (évalués par qui ?), et pour des motifs de « grippe saisonnière ou d’autres pics d’activité exceptionnels ». En réalité pas un lit ne sera créé pour compenser la destruction systématique de nos hôpitaux. Le COPERMO (Comité interministériel pour la performance et la modernisation de l’offre de soins hospitaliers), véritable instrument de verrouillage de l’investissement dans les hôpitaux publics, sera supprimé et remplacé par un « Conseil national de l’investissement » qui « accompagnera les projets, établira les priorités, répartira les enveloppes uniquement pour ceux qui seront financés sur fonds publics (on ne voit pas comment l’hôpital public serait financé autrement…), ou qui seront supérieurs à 100 millions d’euros » ! Autant dire que seul change le nom du COPERMO mais qu’est conservé l’instrument de verrouillage des investissements hospitaliers ; même si l’intention de le faire cautionner par quelques élus est annoncée comme une mesure formidable !
Ce volet 2 traite de « déconcentration de la gestion des investissements » et envisage de donner plus de pouvoirs aux Délégations départementales des ARS et « aux territoires ». Mais l’on sait que ces Délégations doivent respecter les « plans régionaux de santé » décidés par les ARS... Cette association des élus est donc un leurre !

      Véran annonce que les tarifs de la T2A « vont continuer d’augmenter » les années prochaines, alors que cela fait 10 ans qu’ils baissent… Par ailleurs le ministre propose « de mettre en place une enveloppe qui permettra aux hôpitaux de sortir plus rapidement de ce système » et « d’accélérer la réduction de la part de la T2A... » . Face au caractère fumeux de ces propos il est raisonnable d’être circonspect !

      Parmi « les 33 mesures » annoncées, citons aussi la volonté d’ « encourager les téléconsultations » , de décloisonner l’hôpital, la médecine de ville et le médico-social mais sans mesure concrète, « libérer les établissements des contraintes chronophages » et autres baragouinage sans mesure concrète.


      Le gouvernement veut « une gouvernance plus locale » et une revitalisation des services. Les candidats chefs de service devront présenter un projet : mais c’est déjà le cas ! On ne voit pas très bien le changement… Les pôles sont maintenus, même si les hôpitaux seront libres d’en décider.


      S’agissant des Instituts de formation en soins infirmiers (#IFSI), le gouvernement propose de doubler les formations d’aides-soignantes d’ici 2025 et d’augmenter de 10% celles des #IDE (Infirmières diplômées d’Etat). Ces mesures s’imposaient car l’on sait que la « durée de vie professionnelle » d’une IDE est de 6 ans... Mais au lieu d’augmenter massivement les postes d’IDE et de renforcer les IFSI, le gouvernement « lance une réflexion sur une nouvelle profession intermédiaire entre les IDE et les médecins » … ce qui lui permettra de gagner du temps et ne résoudra pas les manques d’effectifs dans les services !


      S’estimant satisfait d’avoir « remis de l’humain, des moyens et du sens dans notre système de santé » le Ministre conclut en annonçant un autre « Ségur de la santé publique » pour la rentrée et un « comité de suivi » des volets 1 et 2 du Plan Ségur.

      Qui peut se faire encore des illusions après cet enfumage cynique ?
      L’aumône concédée aux soignants, loin de leurs revendications qui préexistaient au Covid-19, ne suffit même pas à corriger le blocage du point d’indice depuis 10 ans alors que des centaines de milliards d’euros sont offerts aux multinationales et au #MEDEF.


      Rien n’est dit sur les ordonnances Juppé de 1995, sur la loi #HPST (hôpital, patients, santé, territoire) de la ministre de la Santé de Sarkozy, Roselyne Bachelot, qui vient de faire un grand retour en qualité de ministre de la culture ! Rien sur les lois Touraine et Buzyn qui ont continué à fermer des lits et détruire des postes !

      Rien sur le matériel, les respirateurs, les médicaments, les postes à créer, les hôpitaux à moderniser ! Rien sur les lits de réanimation dont on a vu la pénurie pendant ces 6 derniers mois ! Rien sur les 30 000 morts dont le pouvoir est responsable, faute de production locale de masques, de gel hydro-alcoolique, de gants, de tenues de protection, de médicaments, alors qu’une autre vague de la Covid-19 menace ! Où est le plan de relocalisation des industries de santé ?

      La signature de cet « accord » par la CFDT, FO et l’UNSA est une infamie ! Et cela alors que ces syndicats savent que Macron-Castex vont remettre sur la table la contre-réforme des retraites ! 


      Ils prétendaient après le volet 1 que les « autres volets » Ségur arrivaient : investissement et financement des hôpitaux, réforme de la #T2A, organisation territoriale, et « gouvernance » de l’hôpital. Pipeau !


      Qui peut se faire encore des illusions après cet enfumage cynique ? 


      Qui peut encore gober les déclarations officielles faisant des soignants des héros alors qu’ils ont été maltraités, le sont et le seront encore après ce Ségur de la honte ?


      Comment l’hôpital public va-t-il s’en sortir alors que la France est en voie de paupérisation et qu’il y aura un million de chômeurs de plus à la fin de l’année ?

      Ce qu’il faut retenir, c’est que 15 organisations n’ont pas signé cet « accord » déshonorant ! Parmi lesquelles la CGT, Sud, l’AMUF, la Confédération des praticiens des Hôpitaux, le Syndicat Jeunes Médecins, l’Union syndicale Action Praticiens des Hôpitaux, le Syndicat des professionnels IDE, etc. Leur manifestation du 14 juillet contre ce « plan » Macron-Castex-Véran-Notat est le début de la réplique contre l’indécent « hommage » de ce pouvoir aux soignants ! Il faut espérer que le mouvement social n’en restera pas là ! Que les citoyens s’en mêleront !

      Un seul objectif s’impose à nous : virer ce pouvoir inféodé aux multinationales, à la finance et à l’Union européenne !

      #Santé #santé_publique #soin #soins #enfumage #baragouinage #ségur #capitalisme #économie #budget #politique #olivier_véran #nicole_notat #agnès_buzyn #jean castex #alain_juppé #roselyne_bachelot #marisol_touraine #paupérisation #médecine #hôpital #inégalités #médecins #médecine #services_publics #conditions_de_travail #infirmières #infirmiers #soignants #soignantes #docteurs #budget #argent #fric #ue #union_européenne

  • 25 years of PHP: The personal web tools that ended up everywhere • The Register
    https://www.theregister.com/2020/06/08/25_years_of_php

    Feature On 8th June 1995 programmer Rasmus Lerdorf announced the birth of “Personal Home Page Tools (PHP Tools)”.

    The PHP system evolved into one that now drives nearly 80 per cent of websites using server-side programming, according to figures from w3techs.

    Well-known sites running PHP include every Wordpress site (WordPress claims to run “35 per cent of the web”), Wikipedia and Facebook (with caveats - Facebook uses a number of languages including its own JIT-compiled version of PHP called HHVM). PHP is also beloved by hosting companies, many of whom provide their customers with PHPMyAdmin for administering MySQL databases.

    Lerdorf was born in Greenland and grew up in Denmark and Canada. He worked at Yahoo! (a big PHP user) and Etsy. He developed PHP for his own use. “In 1993 programming the web sucked,” he said in a 2017 talk.

    It was CGI written in C and “you had to change the C code and recompile even for a slight change,” he said.

    Perl was “slightly better”, Lerdorf opined, but “you still had to write Perl code to spit out HTML. I didn’t like that at all. I wanted a simple templating language that was built into the web server.”

    The Danish-Canadian programmer’s original idea was that developers still wrote the bulk of their web application in C but “just use PHP as the templating language.” However nobody wanted to write C, said Lerdorf, and people “wanted to do everything in the stupid little templating language I had written, all their business logic.”

    Lerdorf described a kind of battle with early web developers as PHP evolved, with the developers asking for more and more features while he tried to point them towards other languages for what they wanted to do.

    “This is how we got PHP,” he said, “a templating language with business logic features pushed into it.”
    The web’s workhorse

    Such is the penetration of PHP, which Lerdorf said drives around 2 billion sites on 10 million physical machines, that improving efficiency in PHP 7 had a significant impact on global energy consumption. Converting the world from PHP 5.0 to PHP 7 would save 15B Kilowatt hours annually and 7.5B KG less carbon dioxide emissions he said – forgetting perhaps that any unused cycles would soon be taken up by machine learning and AI algorithms.

    PHP is the workhorse of the web but not fashionable. The language is easy to use but its dynamic and forgiving nature makes it accessible to developers of every level of skill, so that there is plenty of spaghetti code out there, quick hacks that evolved into bigger projects. In particular, early PHP code was prone to SQL injection bugs as developers stuffed input from web forms directly into SQL statements, or other bugs and vulnerabilities thanks to a feature called register_globals that was on by default and which will “inject your scripts with all sorts of variables,” according to its own documentation.

    There was originally no formal specification for PHP and it is still described as work in progress. It is not a compiled language and object orientation was bolted on rather than being designed in from the beginning as in Java or C# or Ruby. Obsolete versions of PHP are commonplace all over the internet on the basis that as long as it works, nobody touches it. It has become the language that everyone uses but nobody talks about.

    “PHP is not very exciting and there is not much to it,” said Lerdorf in 2002.

    Regularly coming fourth as the most popular language in the Redmonk rankings, PHP has rarely got a mention in the analysis.

    That said, PHP has strong qualities that account for its popularity and longevity. Some of this is to do with Lerdorf himself, who has continued to steer PHP with wisdom and pragmatism, though it is a community project with thousands of contributors. It lacks corporate baggage and has always been free and open source. “The tools are in the public domain distributed under the GNU Public License. Yes, that means they are free!” said Lerdorf in the first announcement.

    The documentation site is a successful blend of reference and user contributions which means you almost always find something useful there, which is unusual. Most important, PHP is reliable and lightweight, which means it performs well in real-world use even if it does not win in benchmarks.

    25 years is a good run and it is not done yet. ®

    #Histoire_numérique #Languages_informatiques #PHP

  • Install the ImageMagick PHP extension in Windows | mlocati - Michele Locati
    https://mlocati.github.io/articles/php-windows-imagick.html

    Le Howto pour installer ImageMagik sur un serveur apache sous Windows
    (attention ! les commandes php -i |find ... données pour la détection des paramètres de PHP sont destinées à un terminal Windows Cmd.exe : elles ne fonctionnent pas dans un terminal de type Git bash)

    Voir aussi :
    – le repo pour l’extension PHP ImageMagik : https://pecl.php.net/package/imagickMagick pour Windows (dll)
    – le dépot de php.net pour les extensions PHP : https://windows.php.net/downloads/pecl/deps
    – Step by step guide on how to install ImageMagick in Windows : https://tektriks.com/a-step-by-step-guide-on-how-to-install-imagemagick-in-windows (pas tout à fait assez précis/explicite...)

    #laragon #ImageMagick #php #extension #windows

  • Journal d’une quarantaine : dimanche 5 avril 2020
    http://onpk.net/index.php/2020/04/05/779-journal-dune-quarantaine-dimanche-5-avril-2020

    Un dimanche au soleil, des fraises à la crème fouettée dans le jardin. Il fait très beau. Trop assurément.

    En tout cas, cela n’empêche pas les insectes de se découvrir : Madeleine a repéré la bête sur le carreau. Enfin une occasion de tester l’app iNaturalist. Le résultat fut assez...

    #PHP

  • Xdebug : Installation instructions result
    https://xdebug.org/wizard

    un assistant d’installation pour Xdebug : la succession d’actions à faire est générée dynamiquement à partir de l’analyse du phpinfo() du serveur

    NB si PHP est en FPM :
    pour installer Xdebug sur la version 7.X de PHP (7.2 par ex), il faut :
    – installer le paquet php-dev7.X
    – récupérer le chemin de phpize et php-config de la version 7.X : par ex pour phpize

    whereis phpize
    # retourne un truc comme
    # phpize: /usr/bin/phpize /usr/bin/phpize7.4 /usr/bin/phpize7.2

    – dans la succession de commandes du « wizard »,
    . remplacer :
    phpize

    par le chemin complet, par ex :
    /usr/bin/phpize7.2

    . idem, remplacer
    ./configure --enable-xdebug

    par la commande avec les chemins complets :
    ./configure --with-php-config=/usr/bin/php-config7.2 --enable-xdebug

    cf https://xdebug.org/docs/faq#custom-phpize

    #php-fpm #xdebug #installation

  • Critical security vulnerability in PrestaShop modules | PrestaShop Developers’ blog
    https://build.prestashop.com/news/critical-security-vulnerability-in-prestashop-modules

    Faille de sécurité dans Prestashop et plusieurs modules : l’attaque semble venir des composants PHPUnit intégrés
    (ou : l’utilisation de lib externes dans un projet open-source n’a pas forcément que des avantages...)

    #Prestashop #composer #phpunit

  • felixfbecker/vscode-php-intellisense : Advanced PHP IntelliSense for Visual Studio Code 🆚💬
    https://github.com/felixfbecker/vscode-php-intellisense

    Le repo/doc officielle de l’extension PHP Langage Server de VSCodium
    Voir aussi :
    – le repo pour le PHP Langage Server en lui-même : https://github.com/felixfbecker/php-language-server
    – la doc du concept de langage server protocol (LSP) : https://microsoft.github.io/language-server-protocol

    #web_dev #outil #Langage_Server_Protocol #VSCodium #PHP_langage_server

  • Louis-Philippe Véronneau: Archiving 20 years of online content
    https://veronneau.org/archiving-20-years-of-online-content.html

    Last Spring at work I was tasked with archiving all of the digital content made by Association pour une Solidarité Syndicale Étudiante (ASSÉ), a student union federation that was planned to shut down six months later.

    Now that I’ve done it, I have to say it was quite a demanding task: ASSÉ was founded in 2001 and neither had proper digital archiving policies nor good web practices in general.

    The goal was not only archiving those web resources, but also making sure they were easily accessible online too. I thus decided to create [a meta site](https://asse-solidarite.qc.ca) regrouping and presenting all of them.

    All in all, I archived:

    – a Facebook page
    – a Twitter account
    – a YouTube account
    – multiple ephemeral websites
    – old handcrafted PHP4 websites that I had to partially re-write
    – a few crummy Wordpress sites
    – 2 old phpBB Forum using PHP3
    – a large Mailman2 mailing list
    – a large Yahoo! Group mailing list

    Here are the three biggest challenges I faced during this project:

    ## The Twitter API has stupid limitations

    [...]

    ## Does anyone ever update phpBBs?

    [...]

    ## Archiving mailing lists

    [...]

    #archivage #internet #web #phpbb #twitter #mailman

  • Révision 116199 – SPIP-ZONE
    https://zone.spip.net/trac/spip-zone/changeset/116199/spip-zone

    Documentation provisoire du plugin SPIP « filtres_images_vectorise » qui propose 3 types de filtres de vectorisation d’images bitmaps en SVG.
    Utilise soit la lib GeometrizePHP soit la lib PotRace soit une combinaison des 2.
    Voir aussi :
    https://github.com/Cerdic/geometrize-php pour GeometrizePHP
    https://github.com/Otamay/potracio (+ https://seenthis.net/messages/645575) pour PotRace

    Ca va dépoter les SVG dans SPIP :-) !

    #SVG #vectoriser #PHP #SPIP #filtres_images_vectorise #plugin

    • C’est beau :)

      <BOUCLE_docs(DOCUMENTS){id_document IN 8,9}>
      [(#FICHIER|image_reduire{#GET{taille}})]
      [(#FICHIER|image_reduire{#GET{taille}}|image_geometrize)]
      [(#FICHIER|image_reduire{#GET{taille}}|image_potrace)]
      [(#FICHIER|image_reduire{#GET{taille}}|image_geopotrize)]
      <hr/>
      </BOUCLE_docs>

      Par contre on dirait qu’il y a un petit glitch avec image_geopotrize par défaut.

      PS : le glitch est corrigé et c’est encore plus beau :)

  • Bavards et amateurs de débat sur des questions liées à la musique au sens large (aspects socio-politiques, culturels, esthétiques, techniques, etc., des musiques actuelles, savantes, exigeantes, ou populaires), viendez nous rejoindre ici :

    http://drone-zone.org/room101

    Forum ouvert depuis 2002. Ah ouais, quand même...

    On n’y parle pas que de musique, loin de là, mais c’est un forum conçu au départ par et pour des musiciens et activistes issus de l’univers des musiques électroniques et industrielles, mais qui écoutent tous du jazz, du classique, du punk, du metal, de la polka et du scratch-grind-doom-youpl’a boum-core. Si si.

    D’autres rubriques attendent des beaux-parleurs : sciences et société, écologie, activisme, cuisine transgénique, rubriques nécro-logiques comiques, VJing des familles, etc.

    Capacité à prendre du recul et humour (noir) bienvenus. Trop sérieux s’abstenir. Amateurs d’argumentations serrées : welcome !

    Dans cette période où les forums musicaux ferment les uns après les autres, nous restons debout, les pieds dans la merde, et la tête dans le cul. Heu...

    #forum #phpbb #musique #débat #activisme #argumentation

  • #PHP in 2019 - stitcher.io
    https://stitcher.io/blog/php-in-2019

    Besides application frameworks and CMSs, we’ve also seen the rise of asynchronous frameworks the past years.

    These are frameworks and servers, written in PHP or other languages, that allow users to run truly asynchronous PHP. A few examples include Swoole, Amp and ReactPHP.
    There has also been talk on the internals mailing list — the place where core developers discuss the development of the language — to add #libuv to the core. For those unaware of libuv: it’s the same library Node.js uses to allow all its #asynchronicity.

    https://www.swoole.co.uk
    https://amphp.org
    https://reactphp.org

  • How to enable #HTTP/2 support in #Apache

    Starting from Apache 2.4.27, the Apache MPM (Multi-Processing Module) prefork no longer supports HTTP/2.To fix this, select a different MPM: event or worker. We highly recommend you to use the event prefork.
    If you are using PHP, it is likely that PHP is integrated to Apache via the mod_php module, which requires the prefork MPM. If you switch out from preform MPM, you will need to use PHP as FastCGI. To switch to php-fpm, you can do as folllwing.

    https://http2.pro/doc/Apache#prefork-http2
    https://httpd.apache.org/docs/2.4/fr/howto/http2.html#mpm-config

    Sur debian stretch ça donne ça (si on avait activé mpm_prefork alors que mpm_event est bien celui proposé par défaut) :

    apt install php-fpm
    a2enmod proxy_fcgi setenvif
    a2enconf php7.0-fpm
    a2dismod php7.0
    a2dismod mpm_prefork
    a2enmod mpm_event
    service apache2 restart
    apt purge libapache2-mod-php

    #http2 #mpm_event #php-fpm

    • Dans la foulée, deux liens à propos de l’optimisation de #php-fpm :

      Apache2 and php fpm performance optimization — Step-by-step guide

      https://medium.com/@sbuckpesch/apache2-and-php-fpm-performance-optimization-step-by-step-guide-1bfecf161534

      If you consistently see a large number of idle workers, you may want to lower your MinSpareServers (for the prefork MPM) or MinSpareThreads (for the worker and event MPMs) setting so that you are not sustaining a higher number of processes or threads than necessary to process your rate of traffic. Maintaining more processes or threads than you actually need will unncessarily exhaust system resources.

      https://www.datadoghq.com/blog/monitoring-apache-web-server-performance

    • Toujours à propos de #php-fpm, et de l’intérêt de basculer le process manager de dynamic (valeur par défaut) vers autre ondemand ou static.

      Certaines personnes recommandent d’utiliser ondemand pour ne pas avoir de process php en idle quand il n’y a pas de trafic :

      Dans mon cas j’ai 10 processus qui tournent en permanence, même si aucun de mes sites n’est visité.

      https://www.guillaume-leduc.fr/une-autre-facon-dutiliser-php-fpm.html

      If you’re working on a high performance PHP setup, the ’ondemand’ PM may not be for you. In that case, it’s wise to pre-fork your PHP-FPM processes up to the maximum your server can handle. That way, all your processes are ready to serve your requests without needing to be spawned first. However, for 90% of the sites out there, the ondemand PHP-FPM configuration is better than either static or dynamic.

      https://community.webcore.cloud/tutorials/php_fpm_ondemand_process_manager_vs_dynamic

      Mais comme indiqué ci-dessus, ça n’est pas forcément mieux car le process manager va devoir spawner des process alors que des process en idle permettent une réaction plus rapide en cas de pic de trafic :

      Idle process stay online waiting for traffic spikes and responding immediately, rather than having to wait on the pm to spawn children and then kill them off after x pm.process_idle_timeout expires...

      The common advice is to use pm ondemand, as is the advice in this same support thread. However, that’s even worse, because ondemand will shutdown idle processes right down to 0 when there’s little to no traffic and then you’ll end up with just as much overhead issues as traffic fluctuates.

      https://haydenjames.io/php-fpm-tuning-using-pm-static-max-performance

      Mais...

      PM dynamic and especially ondemand can be save you however, when you have multiple PHP-FPM pools. For example, hosting multiple cPanel accounts or multiple websites under different pools. I have a server for example with 100+ cpanel accounts and about 200+ domains and it would be impossible for pm.static or even dynamic to perform well. Only ondemand performs well since more than two third’s of the websites receive little to no traffic and with ondemand it means all children will be shutdown saving tons of server memory!

      When it comes to PHP-FPM, once you start to serve serious traffic, ondemand and dynamic process managers for PHP-FPM can limit throughput because of the inherent overhead. Know your system and set your PHP-FPM processes to match your server’s max capacity. Start with pm.max_children set based on max usage of pm dynamic or ondemand and then increase to the point where memory and CPU can process without becoming overwhelmed. You will notice that with pm static, because you keep everything sitting in memory, traffic spikes over time cause less spikes to CPU and your server’s load and CPU averages will be smoother. The average size of your PHP-FPM process will vary per web server requiring manual tuning, thus why the more automated overhead process managers – dynamic and ondemand – are more popular recommendations.

      Grosso merdo, il semble que dynamic peut faire le job quand on ne veut pas trop se prendre la tête, ondemand quand on sait à quoi s’attendre et qu’on est juste en mémoire (ou pour du dev), et static quand on veut faire du tuning précis.

      Un bon résumé :

      In dynamic type, the number of child processes is set dynamically based on the PHP-FPM parameters in conf file. But it is a bit memory-intensive type.

      In static type, the number of child processes is fixed by pm.max_children parameter, but this type is not flexible for a server with changing web traffic. It also consumes too much memory.

      In ondemand type, the PHP-FPM processes are spawned only on demand, based on the traffic. This type helps to manage varying traffic in memory restrained servers. But the overhead increases when there is so much traffic fluctuation.

      https://bobcares.com/blog/php-fpm-tuning-high-load

      Bref, comme souvent il n’y a pas de recette unique/magique :p

      Et vous les gens, vous utilisez quoi ?

  • #Nextcloud 16 becomes smarter with #Machine_Learning for security and productivity – Nextcloud
    https://nextcloud.com/blog/nextcloud-16-becomes-smarter-with-machine-learning-for-security-and-produ

    The #Suspicious #Login Detection app tracks successful logins on the instance for a set period of time (default is 60 days) and then uses the generated data to train a neural network. As soon as the first model is trained, the app starts classifying logins. Should it detect a password login classified as suspicious by the trained model, it will add an entry to the suspicious_login table, including the timestamp, request id and URL. The user will get a notification and the system administrator will be able to find this information in the logs.

    Plus de détail sur le blog de la personne qui a développé le bouzin :

    https://blog.wuc.me/2019/04/25/nextcloud-suspicious-login-detection

    Qui utilise https://php-ml.org

    Il y a peut-être des trucs à pomper pour #SPIP là dedans...

  • Nantes : ils font pousser des #micro-forêts 100 fois plus riches en biodiversité
    https://mrmondialisation.org/nantes-ils-font-pousser-des-micro-forets-100-fois-plus-riches-en-b

    À une dizaine de kilomètres de Nantes, aux Sorinières, l’abbaye de Villeneuve abrite depuis peu la première micro-forêt native de la métropole. À l’entrée, derrière le mur d’enceinte, 600 tiges pointent le bout du nez à travers le paillage. Hautes de quelques centimètres, elles s’étalent sur quelques malheureux 200 m2. Ça, une forêt ? On pourrait en rire, en effet. Pourtant, d’ici deux ans, ces jeunes pousses de chênes sessiles, de frênes, de bourdaines, d’hêtres, d’aulnes, de bouleaux pubescents, d’érables, et tant d’autres essences locales atteindront les deux mètres. Dans trois ans, ce sera une forêt autonome. Et son potentiel dépassera de loin les forêts plus classiques, consacrées à la sylviculture industrielle, où les arbres sont plantés en monoculture, en rangs d’oignons, avec beaucoup d’espacement, de manière à pousser droit pour les besoins des consommateurs. Ici, c’est plus sauvage, plus dense, plus libre, plus résilient… et nettement plus performant. « Ce n’est pas une forêt de production, mais de transmission : nous voulons léguer ces forêts aux générations futures », clament Stéphanie Saliou et Jim Bouchet, qui ont fondé l’association Minibigforest.

  • Guzzle, PHP HTTP client — Guzzle Documentation
    http://docs.guzzlephp.org/en/stable

    Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services.
    – Simple interface for building query strings, POST requests, streaming large uploads, streaming large downloads, using HTTP cookies, uploading JSON data, etc...
    – Can send both synchronous and asynchronous requests using the same interface.
    – Abstracts away the underlying HTTP transport, allowing you to write environment and transport agnostic code; i.e., no hard dependency on cURL, PHP streams, sockets, or non-blocking event loops.

    (en relation avec le ticket https://core.spip.net/issues/3973 de SPIP)

    #guzzle #PHP #HTTP #API #curl #SPIP

  • Top #php Development Companies
    https://hackernoon.com/top-php-development-companies-9d0484c77d29?source=rss----3a8144eabfe3---

    Today PHP is one of the most widely used programming languages in the world. Its popularity is attributable to some factors: most web platforms are already written in PHP, it’s fast and open-source, and there is a large PHP community to support it.Photo by Pedro Lopes on UnsplashPHP was initially made for web development, particularly for server-side programming of web applications. According to W2Techs, about 80% of all websites have PHP backend. The language resources and its particular qualities made PHP top-rated and much-in-demand service for hundreds of software development companies.To identify the 20 most prominent providers of PHP services, we used specific market research criteria and analyzed 500 web development companies. Among these criteria are PHP expertise, online (...)

    #mobile-app-development #software-dev-companies #web-development-company #php-development

  • Pub/Sub with #aws SNS, SQS and #laravel
    https://hackernoon.com/pub-sub-with-aws-sns-sqs-and-laravel-ed9f7e1bd79?source=rss----3a8144eab

    Pub/Sub is a great mechanism to establish microservice communication. By focusing on defining good, reliable topics of interest, microservices can come and go without disrupting the entire ecosystem. AWS offer two great services that help build a highly scalable, reliable and recoverable pub/sub system: Simple Notification Service and Simple Queue Service.Introduction to microservice communicationWhen service A communicate with B via direct call, we can infer that there is a dependency in A coupled to B. If B is temporarily unavailable or under heavy load, it could disrupt the stability of A.Writing coupled microservices usually means dealing with the worst of both worlds. If instead the system was built like a monolith, it would still be coupled to each other, but without the problems (...)

    #software-development #sqs-and-laravel #php

  • What is the Future of PHP?
    https://hackernoon.com/what-is-the-future-of-php-d8d217624eea?source=rss----3a8144eabfe3---4

    Is there any future of PHP as a programming language? If you are looking to this query, you are at the right place. In this blog, we will find the answer to this query in an elaborative way! So, let’s begin:PHP is a popular scripting language founded in 1995 designed to perform several functions. Do you think the essence of PHP has faded away since the newer languages have come into the market?If you think so, then let us tell you that your perception is totally wrong! In fact, in the contemporary market of software development, it has become the most popular language in server-side programming.If you take a look at the statistics, PHP is used by 79.8% of the websites for server-side programming. Undoubtedly, this is a huge number and it is evidence to the fact that PHP is an immensely (...)

    #hirephp-developer-india #php-development-company #php-future #future-of-php #php-development-future

  • J’ai pas envie de faire un billet de blog détaillé pour ça tout de suite maintenant, mais ici, pour l’instant, ça le fait.

    à propos de #SPIP, donc. en se basant sur les mesures instantanées de ce jour de https://stats.spip.net

    Les deux images ci-dessous montre la distribution des versions PHP identifiées pour les versions SPIP 3.0 et 3.1.

    ça permet d’évaluer la proportion (en vert) des sites qui pourraient (sur la seule base de la version PHP) passer en SPIP3.2 (qui est la version stable depuis octobre 2017) mais qui ne l’ont toujours pas fait.

    Légende :
    – en gris : ne dit pas sa version #PHP (via les entêtes http collectées)
    – en rouge : affiche une version incompatible avec la version SPIP mesurée (en gros PHP<5.1)
    – en jaune : peut passer en 3.1 ou y rester, mais nécessitera un upgrade de PHP pour passer à une version supérieure de SPIP
    – en vert : peut passer à la dernière version stable de SPIP
    (toujours sur la seule base de la version PHP)
    – en mauve : a priori version incompatible avec la version SPIP mesurée (site probablement pété/abandonné)

    En valeur absolue, ça fait 1853 SPIP3.1 et 1601 SPIP3.0 qui pourraient migrer.