# uname -a

Switch

Notes › Informatique

Fil des billets

Sous-catégories

dimanche 10 mars 2024

Drupal 8 / 9 / 10 : Programmatically render a view with contextual and exposed filters input

Exposed Input and Contextual Input are two different ways of providing input to Drupal Views.

Contextual filters work with an ordered list of parameters, while Exposed Input works with a form that has a couple name/value for every input parameter.

Lire la suite...

vendredi 28 mai 2021

Configurer Visual Studio Code pour utiliser xdebug avec PHP FPM et SSHFS

Bonjour,

Une note à moi-même et à mes stagiaires pour utiliser xdebug avec un point de montage SSHFS, et PHP FPM.

  1. S'assurer que PHP est bien installé sur la machine du développeur, c'est nécessaire pour la coloration syntaxique et la vérification de syntaxe.
  2. Installer PHP xdebug sur la machine distante
  3. Configurer xdebug pour PHP FPM sur la machine distante. Attention, cela change selon la version de xdebug.
    1. Modifier le fichier de configuration FPM pour xdebug, par exemple pour Debian c'est /etc/php/7.3/fpm/conf.d/20-xdebug.ini
    2. Y placer les instructions suivantes :
      Pour xdebug v3 :
      [xdebug]
      zend_extension="xdebug.so"
      xdebug.mode=debug
      xdebug.start_with_request = yes
      xdebug.client_host=127.0.0.1
      xdebug.client_port="9003"
      
      Pour xdebug v2 :
      
      [xdebug]
      zend_extension="xdebug.so"
      xdebug.remote_enable=1
      xdebug.remote_autostart=1
      xdebug.remote_host=127.0.0.1
      xdebug.remote_port="9003"
    3. Redémarrer PHP FPM.
       
  4. Sur la machine du développeur, installer le module PHP xdebug pour Visual Studio : https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug
  5. Connecter en SSHFS le dossier distant (la machine qui exécute PHP) sur la machine (locale) du développeur : sshfs login@distant:dossier_distant dossier_local
  6. Connecter un tunnel SSH pour forward le port xdebug vers la machine locale : ssh -R 9003:localhost:9003 login@distant
  7. Ouvrir dans Visual Studio le dossier monté avec SSHFS
  8. Ouvrir un fichier, puis le debugger dans les onglets à gauche
  9. Cliquer sur "create a json launch file", et vérifier le port de xdebug pour pointer sur le bon port. Ajouter le pathMapping pour mettre en correspondance le chemin local (ouvert dans Visual Studio Code) et le chemin distant (monté en SSHFS) :
    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Listen for Xdebug",
                "type": "php",
                "request": "launch",
                "port": 9003,
                "pathMappings": {
                    "dossier_distant": "${workspaceFolder}/"
                }
            },
            {
                "name": "Launch currently open script",
                "type": "php",
                "request": "launch",
                "program": "${file}",
                "cwd": "${fileDirname}",
                "port": 9003,
                "pathMappings": {
                    "chemin_distant": "${workspaceFolder}/"
                }
            }
        ]
    }
  10. Redémarrer Visual Studio par sécurité.
  11. Lancer l'écoute via le debugger, ajouter les breakpoints dans Visual Studio, puis charger la page du site distant via le navigateur. Visual Studio devrait stopper l'exécution au niveau des breakpoints, pour permettre l'affichage de la pile, et le lancement des commandes.

Sources

 

mardi 5 mars 2019

La délégation NS d'un sous-domaine, cet illustre inconnu

Un billet un peu technique aujourd'hui. Si vous travaillez dans le Web, vous n'êtes pas sans savoir que c'est le mécanisme des DNS qui fait en sorte que vos noms de domaine soient résolus en adresses vers votre hébergement.

Vous savez aussi peut-être ce qu'est une zone DNS. Une zone DNS est un bête fichier présent sur le serveur DNS, et qui contient l'ensemble des enregistrements du domaine1.

Vous savez aussi certainement ce qu'est un sous-domaine, par exemple pour le domaine example.com, des sous-domaines seraient :

  • www.example.com
  • test.example.com
  • sousdomaine.example.com

Parfois, pour séparer les services, on souhaite aller encore plus loin et dédier un sous-domaine entier à une tâche, par exemple on souhaite faire en sorte que compta.example.com soit totalement indépendant, c'est à dire :

  • Qu'on puisse recevoir sur l'email facturation@compta.example.com ,
  • Qu'on puisse avoir des mini-sites dédiés sous ce sous-domaine, comme urssaf.compta.example.com ou creances.compta.example.com
  • Que le sous-domaine puisse servir tout autre usage tel que permis par les DNS (enregistrements SRV, etc)

Bien sûr, ces usages sont possibles à partir de la zone DNS du domaine parent, mais à mesure que le sous-domaine grandit en indépendance (et donc en nombre d'enregistrements), il peut être nécessaire de poser les bases d'une délégation plus avancée, pour éviter de maintenir une zone avec tous les enregistrements. On peut aussi vouloir déléguer à un prestataire la gestion de ce sous-domaine.

Pour ce qui est des mini-sites, il est relativement simple de déclarer un wildcard pour rediriger tous les enregistrements d'un sous-domaine vers un même serveur. Mais lorsqu'on veut plus de souplesse, ou que l'on veut aussi déléguer tous les enregistrements de ce sous-domaine, un wildcard est trop "brutal" et pas toujours supporté par toutes les spécifications, il faut alors déléguer la zone via une délégation NS.

Lire la suite...

mardi 26 février 2019

Utiliser l'Object Storage d'OVH (Openstack Swift) avec Updraft Plus

J'ai expérimenté cette semaine l'Object Storage d'OVH avec le module de sauvegarde de Wordpress UpdraftPlus, et le moins que l'on puisse dire c'est qu'on n'est pas aidé : pas de documentation de A à Z, les noms de configuration qui souffrent à la traduction, bref.

Voilà comment faire, simplement et du premier coup.

Lire la suite...

mardi 12 septembre 2017

The war on SPAM: an review of the real world tools

Anti-spam techniques review: a few hints and tools review from my own experience.

Spam mesage are very common these days, but filtering them out is not as easy as it seems. The filtering techniques have evolved at the same rate than the spammers' evasive techniques, and the risk of filtering out a legitimate message is greater than ever.

It is also quite difficult to find good and up-to-date counter-measures list that anyone can implement.

Here is a summary of the anti-spam strategies I used / am still using. I hope it will help you understanding today's threats, and build your own solutions.

Lire la suite...

- page 1 de 7