HG-map
GIS, dev & data

Menu

  • Blog
  • Tutos
  • Astuces
  • GitHub
  • À propos de moi
  • Réalisations
  • Contact
Observation Modélisation Recherche participative Debian Web scraping NodeJS DKIM SANDRE Multi-sites Piratage SQL Tomcat Mass sending SIG GeoDjango Postgres Python Access KML Java
  • Identifiant oublié ?
  • Mot de passe oublié ?

Sécurité Joomla

Détails
10 décembre 2024
13009
  • Joomla
  • Piratage
  • Hack
  • Sécurité
  • CHMOD

Les permissions

Les permissions des fichiers et dossiers (CHMOD, abréviation de Change Mode) recommandées sur Joomla (ou d'autres applications PHP) dépendent en partie des hébergeurs.

Un même droit est parfois interprêté différemment selon l'hébergeur (déjà vu), une même application requiert parfois différents droits selon l'hébergeur. Certains serveurs vont automatiquement bloquer certains droits sur certains contenus.

Mais quand un site commence à être mature, il subit de moins en moins de modifications structurelles. On peut alors fermer certaines portes - comme on fermerait l'accès au compteur électrique - et mettre en place une politique des moindres privilèges.

La mise en place d'une politique des moindres privilèges doit être suivie de tests et d'une communication fine avec son hébergeur. Il n'y a rien d'exhautif et rien de parfait, n'hésitez pas à modifier progressivement les permissions vers le bas selon vos propres observations. Il s'agit de fermer au maximum, puis de ne ré-ouvrir que le strict nécessaire.

Sécurité Joomla

Python et l'API Wikipedia

Détails
9 octobre 2024
10249

Récemment j'ai voulu ré-utilisé l'API Wikipedia avec Python. Mais celle-ci avait tellement évoluée, que ce soit l'API ou l'organisation de la BDD Wikipedia, que mon projet était envahi d'erreurs, que ce soit sur la pertinence des résultats, du fait de DisambiguationError ou d'autres exceptions.PageError...

J'ai donc décidé de revoir complètement ma façon d'utiliser l'API Wikipedia, ci-dessous un petit retour d'expérience.

Ce n'est pas parfait, mais ça permet de maximiser le retour de résultats, de vérifier leur pertinence, de les mettre en forme et d'éviter un certain nombre de messages d'erreur. Et surtout, ça donne une base solide sur laquelle améliorer encore sa façon d'utiliser l'API. 

Les versions utilisées sont Python 3.9 et Wikipedia 1.4.

Et pour les plus pressés, le code complet est sur GitHub !

Python et l'API Wikipedia

Acymailing, mass sending et bonnes pratiques

Détails
24 septembre 2024
93337
  • Database
  • Joomla
  • Emailing
  • Acymailing
  • Elasticemail
  • SMTP
  • Mass sending
  • Newsletter
  • DNS
  • SPF
  • DKIM
  • Digital marketing

Acymailing est une extension Joomla permettant de mettre en place des outils newsletter du plus simple au plus puissant (filtres, vitesses d'envoi, tracking, stats, relai SMTP...). Ce système open-source existe en version gratuite (déjà très performante) ou payante (très abordable). L'extension peut bien sûr être overridée.

Cependant son développement régulier rend l'utilisation des overrides plus lourd que la modification directe du code source. En effet dans certains contextes (multi-utilisateurs, multi-bases, flotte d'outils...), les overrides risquent d'être complexes à maintenir dans le temps.

C'est en tout cas mon impression en utilisation intensive d'Acy. Certaines MAJ peuvent toucher les fichiers originaux et ne pas être prises en compte dans vos overrides... Mieux vaut donc connaître un minimum le code de l'extension et avoir quelques repères.

Ici quelques notes personnelles me permettant de maintenir facilement mes outils. Rappellons l'ancien forum encore en ligne d'où proviennent certaines de ces astuces (le support a évolué vers un système plus personnalisé).

emc1

Cet article est principalement destiné aux joomlistes avancés souhaitant personnaliser ou optimiser leurs applications newsletter.

Le paragraphe Quelques liens s'adresse généralement à tous webworkers digitaux (marketeurs, intégrateurs, graphistes...).

Le paragraphe Relai SMTP évoque  le relai Elastic Email en contexte de mass sending.

Et non, je ne travaille pas pour eux.

Acymailing, mass sending et bonnes pratiques

Astuces PHP sur le CCK Fabrik

Détails
8 septembre 2024
338744
  • Database
  • Joomla
  • Fabrik
  • MySQL
  • PHP
  • SQL
  • Acymailing
  • API Google Map
  • Vimeo
  • API

Exemple d'interface cartographiqueFabrik est une (excellente) extension gratuite et open-source disponible sur Joomla, et permettant de construire des applications de bases de données. Un article présentant globalement le CCK Fabrik est déjà disponible sur ce site.

L'article ci-dessous est plus détaillé, et regroupe une série de pratiques courantes ou avancées, mais peu documentées en français. L'article reprend aussi des fonctionnalités PHP classiques mais ici adaptées à l'API Joomla.

Bien sûr cette page n'a rien d'exhaustif, et ne pourrait exister sans le forum Fabrik. Merci encore à toute l'équipe Fabrik et au projet Joomla. Et non, je ne travaille pas pour eux.

Astuces PHP sur le CCK Fabrik

Migration d'un site Joomla avec Python

Détails
23 août 2024
2714
  • Joomla
  • MySQL
  • Python

J'ai régulièrement besoin d'organiser le transfert des données de sites Joomla vers une copie de ces sites, pour plusieurs raisons (nettoyage, mise-à-jour, sauvegardes spécifiques, évolutions...).

Là-dessus, vous allez me dire : beh euuuh, tu connais pas Akeeba ? Si si, je connais, et je valide. J'utilise AkeebaBackup sur tous mes sites Joomjoom, à des fins de sauvegardes. Mais ça ne correspond pas à tous mes besoins. Soit trop lourd, soit trop spécifique, soit trop long...

Imaginez par exemple que vous souhaitiez préparer la nouvelle version d'un site - en modifiant des menus, modules, catégories, etc - tout en y insérant les données du site en production😎Pas simple hein ? Maintenir la cohérence des données tout en travaillant sur les évolutions est un vrai défi, et Akeeba ne fait plus du tout l'taf.

Il s'agit donc de transférer les données cœur de Joomla : articles, catégories, tags, utilisateurs, groupes, droit d'accès, etc - comprenant également certaines tables, lignes ou valeurs spécifiques : id super-utilisateur, #_assets, #_ucm, #_workflows, etc - sans toucher aux données structurelles de Joomla. Ce qui peut être un sacré bazar, car Joomjoom a parfois ses raisons que l'amour irradie... ou ignore... ou... bref🥴

De plus, dans certains cas, ce n'est pas seulement les données cœur que je souhaite transférer, mais aussi certaines tables métiers, créées à côté de Joomla (avec Fabrik par exemple).

Dans d'autres cas, j'ai besoin de le faire régulièrement, parfois même très, très, très régulièrement😥: pour tester des templates, des mises-à-jour suspectes, des triggers SQL... Avec donc le besoin d'être rapide et depouvoir vidanger le site de destination à chaque opération.

Migration d'un site Joomla avec Python

Expressions régulières

Détails
22 août 2024
87615
  • Database
  • SQL
  • Data mining
  • Web scraping
  • Notepad
  • Regex

Les expressions régulières (regex) sont très pratiques pour standardiser un fichier de données avant import par exemple, récupérer des données, corriger des chaînes particulières, avec des conditions, etc...

Ici quelques astuces propres à mon usage personnel.

L'article est écrit en partant du principe qu'on utilise Notepad++ , sauf quand c'est précisé en rouge (il peut y avoir des différences quand on utilise des regex avec Python par exemple).

Et en parlant de Python, des exemples plus spécifiques d'usage de regex avec Pandas se trouve sur cet autre article.

Expressions régulières

  1. Automatiser les tags sur des articles Joomla avec un trigger SQL et Python
  2. Auto submit a form with Python, Selenium and Chromium
  3. Récupération de données sur le web avec PHP
  4. Web scraping with Python and BeautifulSoup

Page 2 sur 6

  • 1
  • 2
  • 3
  • 4
  • ...
  • 6

Haut de page

© 2026 HG-Map