Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇LinuxFr.org : les dépêches
  • SelfRecover — protocole AGPL de récupération de compte sans email
    Je suis agriculteur en Creuse et je code sur mon temps libre. J'ai commencé à m'intéresser à la question de la récupération de compte en développant ARC PVE Hub, un site destiné à fédérer une communauté de joueurs. Je n'ai jamais compris pourquoi il fallait transmettre son email pour régénérer un mot de passe — ça déplace la sécurité du compte vers un fournisseur SMTP tiers, qui n'est pas contrôlé par l'utilisateur. J'ai donc imaginé un protocole de récupération sans email, sans SMS et sans tie

SelfRecover — protocole AGPL de récupération de compte sans email

Je suis agriculteur en Creuse et je code sur mon temps libre. J'ai commencé à m'intéresser à la question de la récupération de compte en développant ARC PVE Hub, un site destiné à fédérer une communauté de joueurs. Je n'ai jamais compris pourquoi il fallait transmettre son email pour régénérer un mot de passe — ça déplace la sécurité du compte vers un fournisseur SMTP tiers, qui n'est pas contrôlé par l'utilisateur.

J'ai donc imaginé un protocole de récupération sans email, sans SMS et sans tiers. Le travail s'est étoffé en partenariat avec un assistant IA (Claude), comme outil de réflexion et de mise en forme — j'y reviens en fin de dépêche dans une note de transparence.

L'incident de sécurité ANTS du 15 avril 2026 a publiquement illustré le problème. J'en ai eu connaissance après avoir développé SelfRecover, ce qui m'a confirmé la pertinence d'un protocole sans dépendance à l'email. SelfRecover est publié sous AGPL-3.0-or-later sur GitHub.

Cette dépêche présente le protocole, ses choix de conception, ses limites assumées, et la comparaison avec les approches existantes (Keycloak Recovery Codes en particulier, qui m'a été suggéré en relecture). Audit communautaire bienvenu.

Sommaire

Le contexte

Depuis l'essor du web, la réponse standard à « l'utilisateur a oublié son mot de passe » est « on lui envoie un lien de réinitialisation par email ». C'est devenu si universel qu'on oublie ce que ça implique :

  • La sécurité du compte est déléguée au fournisseur de la boîte mail (Gmail, Outlook, ProtonMail). Si la boîte mail tombe, le compte aussi.
  • Le canal email est régulièrement exploité par phishing : campagnes imitant des mails de réinitialisation légitimes pour capturer les mots de passe.
  • Les bases de données qui stockent les emails des utilisateurs deviennent une cible massive : leur fuite expose à la fois l'identité et les vecteurs de récupération.

L'incident de sécurité ANTS illustre une autre facette du problème de gestion des données d'authentification dans les services en ligne. Détecté le 15 avril 2026 et rendu public le 20 avril, il a touché 11,7 millions de comptes selon les communiqués officiels. La cause technique identifiée est une faille d'énumération de type IDOR (Insecure Direct Object Reference) : il était possible d'accéder aux données d'un autre compte en modifiant un identifiant dans une URL. La fuite ne concerne ni les mots de passe, ni les pièces justificatives, mais les données personnelles associées aux demandes de titres.

Devant ces limites structurelles autour de l'authentification web, SelfRecover propose une inversion : conserver le secret de récupération chez l'utilisateur, et utiliser le navigateur pour faire les calculs cryptographiques nécessaires à la vérification. Le serveur ne détient plus que des dérivés, jamais les secrets bruts.

Le protocole en deux phrases

Côté navigateur, on calcule HMAC-SHA256(secret, domaine) : une fonction cryptographique standard qui combine le secret de l'utilisateur avec le nom de domaine du site, et produit une empreinte impossible à inverser. Côté serveur, on ne stocke que cette empreinte, en plus protégée par un hash adaptatif et memory-hard : Argon2id, qui est le standard moderne recommandé contre les attaques par brute force.

Deux propriétés découlent de cette construction :

  • Le secret brut ne quitte jamais le poste de l'utilisateur.
  • Un secret capturé sur un site A (par exemple via phishing) est mathématiquement inutilisable sur un site B : la dérivation HMAC produit des empreintes différentes pour des domaines différents. C'est de l'anti-phishing par construction, pas par convention.

Note conceptuelle : l'inspiration vient des machines à rotors historiques type Enigma. Le principe partagé est qu'une même configuration secrète, présente des deux côtés (émetteur et récepteur), permet de produire et vérifier un message dérivé. La cryptographie moderne (HMAC-SHA256 ici) repose sur des fondations mathématiques différentes, mais ce principe de dérivation contrôlée par un secret commun est resté.

Deux modes d'adoption

SelfRecover propose deux modes selon le contexte de déploiement.

Mode Full — Sans email

L'application abandonne entièrement le flow de réinitialisation par email. L'utilisateur génère une passphrase diceware à l'inscription (liste EFF de 7 776 mots, 4 à 7 mots par défaut), qu'il mémorise ou stocke dans son gestionnaire de mots de passe. Cette passphrase, combinée au nom de domaine du site via HMAC-SHA256, permet de réinitialiser le mot de passe sans aucune dépendance externe.

Pour qui : nouveaux projets qui veulent s'affranchir de SMTP dès la conception, ou services qui adoptent un modèle de menace post-fuite (l'email n'est plus considéré comme un canal de confiance).

Mode Lite — Avec email + mot mémorisé

L'application conserve le flow de réinitialisation par email habituel, mais y ajoute une étape supplémentaire : l'utilisateur saisit un mot mémorisé (choisi à l'inscription) qui est dérivé HMAC-SHA256 côté navigateur. Le mot brut n'est jamais transmis au serveur. La validation combine donc deux facteurs :

  1. La possession de la boîte mail (lien reset reçu)
  2. La connaissance du mot mémorisé (dérivé HMAC côté client)

Pour qui : applications existantes qui ne peuvent abandonner SMTP du jour au lendemain, mais veulent durcir progressivement leur flow de récupération. Conséquence : un email intercepté seul ne suffit plus à compromettre un compte — il faut aussi connaître le mot mémorisé.

Synthèse

Mode Canal email Crypto utilisateur Cible
Full Aucun Passphrase diceware EFF + HMAC Nouveaux projets
Lite Conservé Mot mémorisé + HMAC Applications existantes

SelfRecover vs Keycloak Recovery Codes

Lors de la relecture de cette dépêche, devnewton a soulevé une question importante : quelle est la différence avec les Recovery Codes de Keycloak ?

Keycloak est l'IAM (Identity and Access Management) open-source de référence, maintenu par Red Hat sous licence Apache 2.0, déployé dans de nombreuses organisations depuis plus d'une décennie. Son mécanisme de Recovery Codes est un fallback d'authentification à deux facteurs : si l'utilisateur perd son téléphone TOTP, il peut saisir un code de secours préalablement généré côté serveur.

Note importante de positionnement : les Recovery Codes Keycloak adressent le cas « j'ai perdu mon 2FA mais je connais toujours mon mot de passe principal ». Le password reset principal de Keycloak utilise, lui, le canal email standard (configuration SMTP dans l'onglet Email de l'admin console).

SelfRecover s'attaque à un cas différent : « j'ai oublié mon mot de passe principal et je ne veux pas dépendre de l'email pour le récupérer ». Concrètement :

Aspect Keycloak Recovery Codes SelfRecover
Cible Fallback 2FA Password recovery sans email
Architecture Serveur IAM standalone (Java + BDD + admin) Bibliothèque à intégrer dans le code de l'application
Source du secret Serveur génère, utilisateur sauvegarde Utilisateur génère/mémorise (diceware ou mot mémorisé)
Stockage utilisateur Codes à sauvegarder physiquement Passphrase mémorisable (mode Full) ou mot mémorisé (mode Lite)
Email reset principal Reste nécessaire (SMTP configuré dans l'admin) Aucun (mode Full) ou en complément (mode Lite)
Anti-phishing crypto Pas spécifique au mécanisme Dérivation HMAC par domaine : un secret capturé sur un site est mathématiquement inutilisable ailleurs
Licence Apache 2.0 AGPL-3.0-or-later
Maturité 10+ ans, audité, déployé largement Récent, audit communautaire bienvenu

Pour la majorité des projets qui acceptent l'email comme canal de récupération, Keycloak (et son écosystème) reste le bon choix. SelfRecover s'adresse aux applications qui veulent réduire ou supprimer leur dépendance à SMTP, et qui n'ont pas besoin de la richesse d'un IAM complet (multi-realm, OIDC/SAML, fédération d'identité, etc.).

Que se passe-t-il si l'utilisateur perd son secret ?

C'est la question critique d'un protocole de récupération. SelfRecover y répond par escalade progressive sur trois niveaux, complétée par un système de litiges et un chat administrateur pour les cas extrêmes.

Niveau 1 — Passphrase oubliée

L'utilisateur saisit son username + sa passphrase diceware (match exact). Sur succès, un nouveau mot de passe est généré et affiché une seule fois. Anti-brute force : 3 tentatives par 15 minutes, 3 blocages successifs → éjection vers L2.

Niveau 2 — Passphrase perdue, mais identifiant + mot de récupération retenus

L'utilisateur saisit son identifiant public (numéro client, identifiant métier — fourni par le site) et son mot de récupération dérivé HMAC-SHA256 côté navigateur. 3 tentatives maximum avec compteur visible. Sur 3 échecs → redirection vers L3. Un litige est automatiquement créé (LIT-XXXX), tracé en base, admin notifié. Les litiges auto-résolus sont purgés après 24 heures.

Niveau 3 — Accès complètement perdu

Entrée par un lien discret « accès perdu » sur la page de connexion. L'utilisateur saisit son identifiant public en premier (anti-timing : délai forcé de 2 à 3 secondes), puis remplit un formulaire de scoring multi-facteur :

Catégorie Champs Points
Identifiant public 4 20
Mot de récupération (dérivé HMAC) 5 25
Username 3 30
Passphrase (fragments) 3 25

Bonus passifs : IP connue (+5), fingerprint connu (+5).

  • Score ≥ 60/100 → compte récupéré, nouveau mot de passe généré
  • Score < 60/100 après 3 tentatives → le compte passe en mode restreint : l'utilisateur n'a plus accès qu'au chat administrateur, le compte n'est ni utilisable ni écrasable tant que l'admin n'a pas validé
  • Cooldown : 1 heure entre tentatives

Chat administrateur humain en mode restreint — état actuel

Dans l'implémentation actuelle (déployée en production sur ARC PVE Hub), le chat L3 est un canal direct entre l'utilisateur en mode restreint et un administrateur humain du site. Pas d'intermédiaire automatisé, pas de bot.

Le canal de chat est bidirectionnel et fonctionne en polling (pas WebSocket temps réel, pour rester simple). L'admin vérifie l'identité par l'échange et décide manuellement :

Accorder la récupération : mot de passe régénéré, compteurs réinitialisés, litige clôturé, mode restreint levé.

Refuser la récupération : ban temporaire de 24 heures, pas de nouveau litige possible pendant cette fenêtre, compteur de refus incrémenté (1/3, 2/3, 3/3). À chaque clic, l'interface admin rappelle explicitement les conséquences via une modale de confirmation (ban 24h aux refus 1 et 2, suppression définitive au 3e refus).

Au 3e refus, le compte est définitivement supprimé : décision exclusivement humaine, prise en pleine connaissance de cause par l'admin via la modale d'avertissement explicite. La suppression libère l'identifiant public pour une nouvelle inscription.

Principe de design MySelf : aucune destruction de données utilisateur n'est déclenchée sans validation humaine consciente. L'interface admin explicite systématiquement les conséquences avant chaque action irréversible. Une IA peut se tromper ou être manipulée ; lui déléguer la décision de supprimer un compte créerait une surface d'attaque.

Ce mécanisme empêche un attaquant de spammer les litiges indéfiniment : chaque refus lui coûte 24 h, et trois échecs effacent toute trace. Un propriétaire légitime bloqué par erreur peut retenter après chaque fenêtre de ban, ou se réinscrire depuis zéro si totalement verrouillé.

Évolution prévue (en réflexion) : pré-traitement optionnel par chatbot LLM local

En complément du chat admin humain (qui resterait toujours disponible), une couche de pré-traitement par un agent conversationnel local (Ollama auto-hébergé) est en cours de design. Le chatbot poserait les questions initiales de vérification d'identité et estimerait si la demande est légitime. Sur estimation positive, le mot de passe serait régénéré directement ; sur doute, l'admin humain reprendrait la main.

Cette option serait configurable par site qui déploie (activable ou non), et le chatbot ne se substituerait jamais à l'admin pour les décisions destructives (suppression de compte) — ces décisions resteraient exclusivement humaines, conformément au principe MySelf énoncé plus haut.

L'enjeu principal en cours de réflexion : calibrer le seuil de confiance du chatbot pour ne pas créer un nouveau vecteur d'attaque par social engineering (un attaquant pourrait essayer de manipuler le LLM par prompts).

Démo standalone vs implémentation de référence

La démo publique (bi-self.my-self.fr/selfrecover/) ne couvre que les niveaux L1 et L2, car L3 nécessite une interface admin, un système de disputes et un dashboard — trop pour une démo à page unique.

L'implémentation de référence en production se trouve sur ARC PVE Hub, un site communautaire de joueurs ARC RAIDERS qui sert de terrain de test à l'écosystème MySelf. L1 + L2 + L3 + mode restreint + chat admin + dispute system y sont fonctionnels.

Pourquoi assumer cette friction

Dans la vie réelle, si l'on perd sa carte bancaire, son code, sa pièce d'identité, son adresse et sa date de naissance, on ne récupère pas son compte bancaire par email. On passe en agence avec preuve d'identité.

SelfRecover applique la même logique en ligne : la sécurité réelle nécessite parfois un passage par l'humain ou un processus d'identification rigoureux. Cette friction est assumée comme un trade-off conscient, pas comme une limitation à compenser.

Pour quel public

Adapté :
- Applications avec un administrateur actif et disponible pour traiter les litiges (forum communautaire, association, e-commerce indépendant, boutique en ligne militante)
- Sites où la sécurité prime sur la fluidité de récupération (services manipulant des données sensibles)
- Communautés à taille humaine (du forum de 50 membres au service de quelques milliers d'utilisateurs)

Non adapté :
- Plateformes à très grande échelle sans admin individuel (réseaux sociaux massifs, services publics avec millions d'utilisateurs) — le volume de litiges dépasse les capacités d'un humain réactif
- Services où une friction de récupération est inacceptable (gaming compétitif, services temps-réel)
- Projets sans maintenance active (l'admin doit pouvoir répondre aux litiges dans des délais raisonnables)

Pour ces cas, un IAM mature comme Keycloak avec ses mécanismes éprouvés reste plus adapté.

Modèle de menace assumé

Pour la transparence, voici les classes d'adversaires explicitement hors périmètre du protocole :

  • Compromission du poste utilisateur (logiciels malveillants, RAT, keyloggers) — un attaquant qui contrôle le poste peut capturer la passphrase à la saisie, indépendamment du protocole.
  • Compromission du navigateur (extensions malveillantes, exploits 0-day) — même cause, même effet : si le moteur JS qui calcule HMAC est compromis, la sortie l'est aussi.
  • Coercition physique — SelfRecover n'offre pas de plausible deniability (pas de second compte caché ou décoy).
  • Cryptanalyse théorique de SHA-256 / HMAC / Argon2id — un cassage mathématique de ces primitives mettrait à mal la quasi-totalité des systèmes cryptographiques modernes, pas seulement SelfRecover.

Ces limitations sont le périmètre normal d'un protocole côté navigateur. Pour les usages à plus haute exigence (cérémonies cryptographiques sensibles, génération initiale de clé maître), MySelf-Live est annoncé dans la roadmap V0.2 : une distribution Linux Live USB minimale, RAM-only, signée GPG, qui isolerait les opérations sensibles du système hôte. Pour les usages courants à fort enjeu, Tails ou Qubes OS offrent déjà ce niveau d'isolation et sont recommandés.

Démos en ligne

Aucune inscription préalable n'est requise. Les données sont éphémères côté serveur.

Code et image Docker

docker run -p 8080:8080 ghcr.io/pierroons/selfrecover:v0.1.1

La démo de référence tourne sur PHP 8.0+ et SQLite (~600 lignes auditables, zéro dépendance externe). Tag GPG-signé v0.1.1, release datée du 5 mai 2026.

Licence et philosophie

AGPL-3.0-or-later. Toute version déployée publiquement doit publier ses modifications sous la même licence. Pas de capture SaaS possible.

SelfRecover est une brique du méta-projet MySelf, un écosystème de modules auto-hébergés qui couvre l'identité, la modération communautaire, le droit, et l'agriculture.

Un module complémentaire répond de manière directe à la problématique illustrée par l'incident ANTS : SelfDataGuard chiffre les données utilisateur côté client de telle sorte qu'une fuite de base de données ne livre que des blobs inexploitables. Le code est public, AGPL, en v0.1.0-beta — une dépêche dédiée pourra suivre quand le module aura plus de maturité (audit communautaire, retours d'intégration).

Note de transparence

Conception en partenariat avec un assistant IA

Ce protocole a été conçu et codé en partenariat avec un assistant IA (Claude), comme outil de réflexion, de revue critique, et d'écriture de code.

Pour être totalement transparent : je ne suis pas développeur de formation. Mon expérience technique vient du dev web amateur (ARC PVE Hub, un site destiné à fédérer une communauté de joueurs ; un outil de gestion de stock pour mon entreprise ; quelques sites perso). Pour SelfRecover, l'écriture des primitives cryptographiques et la mise en œuvre du protocole ont été largement assistées par l'IA, sur la base de mes choix architecturaux et de ma vision.

Ce qui vient de moi (humain) :
- La vision (souveraineté numérique, refus du SMTP comme canal de récupération)
- Les choix philosophiques (AGPL-3.0-or-later, fallback humain assumé, aucune destruction de données sans validation humaine consciente)
- Le contexte initial (besoin né en développant ARC PVE Hub)
- Chaque décision de trade-off d'architecture
- La responsabilité juridique et morale du code publié sous mon nom et signé GPG

Ce qui vient de l'IA :
- L'écriture des primitives cryptographiques (HMAC, dérivations, vérifications)
- L'agencement du code, la structure des fichiers
- La formalisation des paragraphes du whitepaper et de cette dépêche
- La génération de tests unitaires
- La vérification de cohérence interne

Plan d'audit

  • Auto-audit interne : en cours et continu (chaque modification est relue critiquement)
  • Audit communautaire : ouvert dès maintenant, je réponds aux remarques techniques avec sérieux (cette dépêche en est l'illustration directe)
  • Audit tiers certifié : envisagé à moyen terme via un cabinet agréé CESTI ANSSI (Synacktiv, Quarkslab, Wavestone, ou équivalent), sous réserve de financement

Statut du projet

SelfRecover en est à la version 0.1.1, taguée GPG et signée. C'est un état PoC fonctionnel + déployé en production sur un site réel (ARC PVE Hub), mais pas encore mature pour une adoption massive dans des contextes à fort enjeu. La roadmap V0.2 (MySelf-Live, finalisation du chatbot L3, audit tiers) précisera ce périmètre.

Engagement communauté LinuxFr et culture du libre

Mon compte LinuxFr est récent, mais mon ancrage dans la culture du libre ne l'est pas : utilisateur exclusif de distributions Linux depuis quinze ans (principalement Debian), j'ai aidé plusieurs proches à migrer des PC anciens vers Debian pour leur donner une seconde vie au lieu de la déchèterie. J'arrive sur LinuxFr depuis le monde agricole/permaculture et le jeu vidéo (ARC PVE Hub), pas du milieu dev historique.

Je suis salarié couvreur dans une PME et installé en agriculture à temps partiel — mon temps libre pour le développement et la participation communautaire est compté. Je m'engage à répondre aux retours techniques sur cette dépêche et à suivre les disputes sur l'état du projet. Pour le reste (commentaires réguliers, dépêches futures sur d'autres modules MySelf — en particulier SelfDataGuard quand il sera plus mature), ce sera au gré du temps disponible, sans promesse.

Toute critique technique constructive est bienvenue. Pour les critiques sur la légitimité du projet ou la nature humain/IA de la collaboration, j'invite à juger sur les choix concrets, le code public, et la qualité des réponses à vos questions.

Pour aller plus loin

SelfRecover est un module de l'écosystème MySelf, expérimentation citoyenne sur la souveraineté numérique sous licence AGPL-3.0-or-later.

Les retours techniques, audits communautaires, propositions d'intégration et questions de fond sont les bienvenus — en commentaire de cette dépêche ou en issue sur le repo GitHub.

Si une administration ou une organisation souhaite tester le protocole en environnement isolé, l'image Docker et le Dockerfile sont à disposition. Aucune démarche commerciale n'est associée à cette publication.

Merci aux modérateurs et contributeurs de LinuxFr — Pierre Jarillon, devnewton, Florent Zara, bobble bubble — dont les retours pendant la phase de rédaction ont substantiellement amélioré cette dépêche.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • GridTV, le guide TV open source pour votre setup IPTV
    Bon, maintenant que vous avez vos chaînes IPTV qui tournent via Tunarr ou xTeVe, votre flux XMLTV est super propre. Mais il vous manque un seul truc : Un guide de programme potable. Hé bien GridTV développé par l'ami JohnnyBeGood est là pour ça ! GridTV c'est une interface web en PHP/JS/CSS qui transforme toute source XMLTV compatible en guide TV façon grille horizontale, avec l'indicateur "maintenant" visible en permanence, un barre de progression du programme en cours, et les émissions passées

GridTV, le guide TV open source pour votre setup IPTV

Par : Korben ✨
7 mai 2026 à 10:30

Bon, maintenant que vous avez vos chaînes IPTV qui tournent via Tunarr ou xTeVe, votre flux XMLTV est super propre. Mais il vous manque un seul truc : Un guide de programme potable.

Hé bien GridTV développé par l'ami JohnnyBeGood est là pour ça !

GridTV c'est une interface web en PHP/JS/CSS qui transforme toute source XMLTV compatible en guide TV façon grille horizontale, avec l'indicateur "maintenant" visible en permanence, un barre de progression du programme en cours, et les émissions passées qui se retrouvent automatiquement grisées. C'est exactement ce à quoi ressemble le guide TV de votre box opérateur, mais en mieux, et pour votre propre contenu !

Pour le déploiement, Docker est le chemin recommandé plutôt que de tout configurer à la main : git clone, cd GridTV, docker compose up -d, et hop, vous ouvrez localhost:8080.

Un assistant de setup vous demandera alors votre source EPG obligatoire et une playlist M3U si notamment vous voulez utiliser le player intégré, et une fois validé, vous retombez directement sur la grille.

Ça se met en place en moins de 5 min mais si vous préférez installer sans Docker, ou plutôt sans la couche conteneur, il y a également sur le Github des exemples de config pour Apache et Nginx dans la doc. Caddy fonctionnera aussi et la doc concernant Traefik, c'est pour le cas où GridTV tourne en Docker mais derrière un reverse proxy.

Côté fonctionnalités, le player HLS s'ouvre en PiP (Picture in Picture) dans un coin en cliquant sur une chaîne et le multi-EPG vous permettra de configurer plusieurs sources avec un petit switch. GridTV propose aussi des rappels de programme via notifications navigateur, 15 minutes avant la diffusion. Mais pour en profiter, l'onglet du browser doit rester ouvert et les notifs autorisées.

Et il y a aussi possibilité de générer un export PDF/PNG du guide sur 24h. C'est pas indispensable mais ça permet pour ceux qui veulent d'imprimer le programme de la soirée.

Chaque visiteur de l'instance peut aussi utiliser / paramétrer ses propres URLs XMLTV/M3U, car rien n'est stocké côté serveur. Hé oui, tout passe par le localStorage du navigateur donc vous pouvez partager votre instance avec autant de monde que vous voulez, ça n'a pas d'impact.

La version Steampunk

Et il y a même des thèmes genre cyberpunk, steampunk, magazine ou le thème par défaut. Et la page de monitoring admin expose également une sonde accessible via un endpoint compatible Uptime Kuma qui renvoie le code HTTP 200 si tout va bien. Sinon, ce sera du code 503. Bref, ça vous connaissez...

Bref, l'outil est jeune mais bien construit et une démo live tourne ici guide.demo.johnnybegood.fr . A suvire donc....

Et si vous cherchez juste des listes de chaînes IPTV gratuites , c'est par là !

  • ✇LinuxFr.org : les dépêches
  • 9 années de wallabag.it, merci Pocket
    wallabag est une application open source (licence MIT) qui sauvegarde des articles et vous permet de les lire plus tard, sur votre smartphone, votre tablette ou votre liseuse. Un peu plus tard que les années précédentes, je prends le temps de rédiger ce billet. Le début d’année a été (et est encore) chargé, avec notamment les élections municipales, mais ce n’est pas le sujet. Deuxième année spéciale, avec là encore, la fermeture d’un concurrent. Et non des moindres : l’historique Pocket. Ça

9 années de wallabag.it, merci Pocket

wallabag est une application open source (licence MIT) qui sauvegarde des articles et vous permet de les lire plus tard, sur votre smartphone, votre tablette ou votre liseuse.

Un peu plus tard que les années précédentes, je prends le temps de rédiger ce billet. Le début d’année a été (et est encore) chargé, avec notamment les élections municipales, mais ce n’est pas le sujet.

Deuxième année spéciale, avec là encore, la fermeture d’un concurrent. Et non des moindres : l’historique Pocket.

Ça a généré un afflux massif de nouveaux clients, vous le verrez ci-dessous.

On en reparle dans la partie conclusion.

En parallèle de cette activité (en micro-entrepreneur), je suis salarié à 80% en tant que développeur web. Donc wallabag.it n’est pas mon activité principale et je n’y consacre pas énormément de temps. Et je ne fais aucune publicité du service.

C’est uniquement le bouche-à-oreille qui fonctionne.

Pour information, j’ai démarré wallabag.it le 3 décembre 2016.

Dans cette diffusion de données, je ne vais pas forcément chercher à comprendre / étudier telle ou telle donnée, ou alors réfléchir comment améliorer mon chiffre d’affaires. L’idée est d’être transparent avec mes clients et donner des idées à celles et ceux qui souhaiteraient se lancer.

Je ne vais pas non plus refaire l’historique du changement d’offres, ça se trouve dans les billets cités ci-dessous.

Voici les offres disponibles :

  • 3 mois pour 4 €
  • 1 an pour 11 €
  • 1 an pour 30 € (abonnement de soutien)

Nombre de factures

Une facture est un abonnement, peu importe que ça soit pour 3 mois ou 1 an, et peu importe sa valeur.

  • 2016 : 89 (un seul mois d’activité)
  • 2017 : 662 factures
  • 2018 : 787 factures (+18,9%)
  • 2019 : 959 factures (+21,9%)
  • 2020 : 1.266 (+32%)
  • 2021 : 1.526 (+20,5%)
  • 2022 : 1.531 (+0,3%)
  • 2023 : 1.496 (−2,3%)
  • 2024 : 1.656 (+10,7%)
  • 2025 : 3.281 (+98,1%)

Nombre moyen mensuel de factures :

  • 2016 : 89 (un seul mois d’activité)
  • 2017 : 55 factures / mois
  • 2018 : 65 factures / mois
  • 2019 : 79,9 factures / mois
  • 2020 : 105,5 factures / mois
  • 2021 : 127 factures / mois
  • 2022 : 127 factures / mois
  • 2023 : 125 factures / mois
  • 2024 : 138 factures / mois
  • 2025 : 273 factures / mois

Chiffre d’affaires (CA)

  • 2016 : 783 € (un seul mois d’activité)
  • 2017 : 6.093 €
  • 2018 : 7.593 € (+24,6%)
  • 2019 : 9.481 € (+24,9%)
  • 2020 : 12.922 € (+36,3%)
  • 2021 : 15.460 € (+21,5%)
  • 2022 : 15.735 € (+1,8%)
  • 2023 : 16.499 € (+4,9%)
  • 2024 : 19.536 € (+18,4%)
  • 2025 : 38.012 € (+94,6%)

CA mensuel moyen :

  • 2016 : 783 € (un seul mois d’activité)
  • 2017 : 507 €
  • 2018 : 632 €
  • 2019 : 790 €
  • 2020 : 1.076 €
  • 2021 : 1.288 €
  • 2022 : 1.311 €
  • 2023 : 1.375 €
  • 2024 : 1.628 €
  • 2025 : 3.167 €

Abonnement moyen (en moyenne, combien un client paie pour s’abonner) :

  • 2016 : 8,80 €
  • 2017 : 9,19 €
  • 2018 : 9,54 €
  • 2019 : 9,83 €
  • 2020 : 10,20 €
  • 2021 : 10,09 €
  • 2022 : 10,23 €
  • 2023 : 11,21 €
  • 2024 : 11,80 €
  • 2025 : 11,53 €

Type d’abonnements

  • 2017 : 342 abonnements à 9 € (+145 à 12 €, prix au départ de l’abonnement), 32 abonnements à 25 € et 80 abonnements à 3 € .* 2018 : 532 abonnements à 9 €, 93 abonnements à 25 € et 161 abonnements à 3 €
  • 2019 : 668 abonnements à 9 €, 118 abonnements à 25 € et 173 abonnements à 3 €
  • 2020 : 853 abonnements à 9 €, 173 abonnements à 25 € et 240 abonnements à 3 €
  • 2021 : 1084 abonnements à 9 €, 199 abonnements à 25 € et 243 abonnements à 3 €
  • 2022 : 1098 abonnements à 9 €, 207 abonnements à 25 € et 226 abonnements à 3 €
  • 2023 : 668 abonnements à 9 € et 398 abonnements à 11 €, 103 abonnements à 25 € et 91 abonnements à 30 €, 140 abonnements à 3 € et 96 abonnements à 4 €
  • 2024 : 1 202 abonnements à 11€, 173 abonnements à 30€ et 281 abonnements à 4€
  • 2025 : 2 352 abonnements à 11€, 324 abonnements à 30€ et 605 abonnements à 4€

Dépenses

En 2025, j’ai dépensé pour 2 372 € de frais (hébergement, nom de domaine, prestation admin sys, etc.), soit 198€ en moyenne par mois.
J’ai payé 2 207 € de commissions pour PayPal, PayPlug et Stripe, mes prestataires de paiement en ligne.
J’ai également payé environ 8 760 € de cotisations sociales.

Total : 13 340 €

Résultat net

  • 2017 : 3 130 €
  • 2018 : 3 454 €
  • 2019 : 4 823 €
  • 2020 : 6 591 €
  • 2021 : 9 034 €
  • 2022 : 9 401 €
  • 2023 : 9 977 €
  • 2024 : 12 171 €
  • 2025 : 24 672 €

Conclusion

Cette année 2025 a été folle en termes de nombre de nouveaux clients. Tous les chiffres ont explosés.

Et je vais avouer une chose : je suis très partagé sur tout ça.

Courant juin, j’ai eu peur de ne pas être capable d’absorber toute cette nouvelle charge. Ça a tenu (merci Luc pour l’infrastructure).

Mais par contre, je me sens parfois mal à l’aise vis-à-vis du projet opensource, sur lequel j’ai du mal à passer du temps. Et j’ai du mal aussi à suivre le support wallabag.it, avec pas mal de mails en attente à traiter.

Je ne me suis jamais fixé d’objectif d’une année sur l’autre. Mais clairement, 2026 ne fera pas mieux que 2025. Pour rappel, je ne fais aucune publicité pour trouver de nouvelles personnes.

De plus, l’arrivée de l’IA risque de chambouler un peu le secteur. De plus en plus d’applis voient le jour, donc ça risque de disperser les clients.

Autre problématique liée à l’IA : de plus en plus de sites bloquent le fait de « crawler » un site web et donc wallabag (et mon serveur) se voit bloqué à droite à gauche par des sites de contenus.

RDV l’an prochain pour faire le bilan des 10 années d’activité de ma micro-entreprise !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇LinuxFr.org : les dépêches
  • L’année 2025 pour le projet PrestaShop
    Les nouvelles les plus récentes sur LinuxFR concernant PrestaShop remontent à bientôt trois ans, une éternité dans le monde de l’édition de solutions web. Pour rappel, PrestaShop est un système de gestion de contenu (CMS) libre français de commerce en ligne, développé en PHP et placé sous licence OSL v3. En cette fin d’année 2025, regardons quelles sont les nouveautés des douze mois écoulés. (Déclaration d’intérêts : je suis salarié PrestaShop SA) lien nᵒ 1 : Site de Prestashoplien nᵒ 2

L’année 2025 pour le projet PrestaShop

Les nouvelles les plus récentes sur LinuxFR concernant PrestaShop remontent à bientôt trois ans, une éternité dans le monde de l’édition de solutions web.

Pour rappel, PrestaShop est un système de gestion de contenu (CMS) libre français de commerce en ligne, développé en PHP et placé sous licence OSL v3.

En cette fin d’année 2025, regardons quelles sont les nouveautés des douze mois écoulés.

(Déclaration d’intérêts : je suis salarié PrestaShop SA)

10 juin : sortie de PrestaShop 9

Après plus de deux ans de développement et de collaboration avec la communauté, cette version majeure apporte son lot de nouveautés, principalement sous le capot. Avec, entre autres, le passage à Symfony 6.4 (version LTS), la compatibilité avec PHP 8.4 ou encore une toute nouvelle API d’administration.

La liste complète des nouveautés est disponible dans les notes de publication (en anglais)

Juillet et août : appel aux contributions externes

Le projet PrestaShop, depuis sa genèse, est open source et ouvert à toute forme de contribution : développement, rapport de bugs, traductions, écriture de documentation, etc.

Au quotidien, ce projet est également soutenu par l’entreprise PrestaShop SA.

Durant cette année, cette dernière a souhaité améliorer le suivi des contributions externes. C’est pourquoi il a été décidé de proposer à la communauté deux thématiques ciblées : les hooks (billet en anglais) et l’API Admin (billet en anglais) .

Il y a quelques semaines, un point d’étape concernant les contributions sur l’API Admin a été publié sur le blog du projet (en anglais).

4 septembre : sortie de PrestaShop 8.2.3

Depuis la publication de PrestaShop 9, la branche 8.2 est en support étendu, ce qui veut dire que seuls des correctifs de sécurité sont traités.

C’est pourquoi début septembre, la version 8.2.3 a vu le jour, suite la découverte d’une faille sur la page de réinitialisation du mot de passe.

Le billet de blog est disponible en anglais.

8 décembre : ménage de printemps d’hiver

L’écosystème PrestaShop, ce sont des dizaines de dépôts, des centaines de contributeurices et des milliers de tickets ouverts.

Il a été proposé de revoir la manière dont sont gérés les tickets, afin d’aider la communauté à mieux s’y retrouver.

C’est pourquoi il est maintenant possible d’ouvrir un ticket (pour déclarer un bug ou demander une nouvelle fonctionnalité) sur certains dépôts directement. Auparavant, tout était centralisé sur le projet PrestaShop directement et il était devenu très compliqué, pour les personnes en charge de traiter les plus de 2 300 tickets d’être efficaces.

Toute la nouvelle organisation et les différentes étapes sont disponibles en anglais.

15 décembre : PrestaShop 9.1, levez les stylos !

Et voila, on ne touche plus à cette version, en cours de développement depuis plusieurs mois, et on entre dans une phase de « feature freeze » : plus aucune nouveauté ne sera ajoutée. C’est une période pour tester cette version importante qui apportera notamment un nouveau thème par défaut (Hummingbird), un système de création de promotions revu et amélioré et aussi la possibilité d’assigner plusieurs transporteurs sur une seule commande.

Vous souhaitez tester cette future version et aider la communauté à stabiliser tout cela, n’hésitez pas à lire cette page publiée récemment.

Et en 2026, quel programme ?

La procédure de livraison de PrestaShop 9.1 continuera son cours, avec la sortie de versions Release Candidate et bien sûr, une version finale. Pas de date à donner, c’est toujours plus sage d’être prudent.

Entamé depuis plusieurs années, le chantier de réécriture du backoffice poursuivra son cours, avec la migration vers Symfony.

En tout cas, l’année 2026 sera importante pour le projet et sa communauté, mais nous aurons le temps d’en reparler dans quelques semaines !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • Tout ce que vous pouvez désactiver dans WordPress pour qu'il arrête de vous gonfler
    WordPress, c’est bien. Mais WordPress qui injecte des scripts d’emojis, des styles Gutenberg, des shortlinks et 47 autres trucs dont vous n’avez pas besoin dans chaque page de votre site… c’est moins bien évidemment. Heureusement, Terence Eden, un dev qui en avait marre de voir son code source ressembler à un plat de spaghetti, a compilé une petite liste de tout ce qu’on peut virer . Car WordPress a adopté une philosophie de type “Decisions, not options” (des décisions, pas des options) où en gr

Tout ce que vous pouvez désactiver dans WordPress pour qu'il arrête de vous gonfler

Par : Korben
4 décembre 2025 à 10:27

WordPress, c’est bien. Mais WordPress qui injecte des scripts d’emojis, des styles Gutenberg, des shortlinks et 47 autres trucs dont vous n’avez pas besoin dans chaque page de votre site… c’est moins bien évidemment. Heureusement, Terence Eden, un dev qui en avait marre de voir son code source ressembler à un plat de spaghetti, a compilé une petite liste de tout ce qu’on peut virer .

Car WordPress a adopté une philosophie de type “Decisions, not options” (des décisions, pas des options) où en gros, au lieu de vous laisser choisir, ils décident pour vous de ce qui est bon pour vous. Un peu comme Macron ^^. Le problème c’est que leurs décisions incluent un tas de fonctionnalités dont la plupart des gens n’ont rien à faire 🥲.

Par exemple les emojis. J’sais pas si vous savez, mais WordPress charge un script de détection d’emojis et une feuille de style dédiée sur CHAQUE page de votre site. Pourquoi tant de haine ? Hé bien parce que si vous tapez :-) dans un article, WordPress veut le transformer en joli emoji. Sauf que si vous utilisez les vrais emojis Unicode (comme tout le monde en 2025), hé ce script ne sert à rien. Et il y a aussi le grand remplacement des emojis dans les flux RSS…. Bref, tout ça, ça dégage.

Ensuite y’a le formatage automatique avec wptexturize qui transforme vos guillemets droits en guillemets typographiques “comme ça”. Et mon préféré, capital_P_dangit qui remplace automatiquement “Wordpress” par “WordPress” avec le P majuscule. Oui, vous ne le saviez pas, mais WordPress corrige l’orthographe de son propre nom dans vos articles. Mais quelle bande de nazes ^^.

Gutenberg, l’éditeur de blocs que j’adore, injecte lui aussi ses styles globaux même si vous utilisez l’éditeur classique. Et c’est pareil pour les styles de la librairie de blocs et l’éditeur de widgets basé sur les blocs. Si vous êtes resté sur le Classic Editor comme beaucoup de gens, tout ça ne sert alors qu’à alourdir vos pages.

Côté métadonnées, WordPress ajoute aussi pleiiiiin de trucs dans le code de vos pages comme les shortlinks, le RSD (Real Simple Discovery, un truc d’il y a 20 ans), des liens vers les flux de commentaires, les liens JSON de l’API REST…

Aux chiottes toutes ces conneries !

Le script de Terence fait aussi sauter l’ajout automatique des tailles d’images (wp_img_tag_add_auto_sizes), les templates de pièces jointes, et les block hooks qui modifient votre contenu. L’idée c’est donc de reprendre le contrôle sur ce que WordPress génère, au lieu de le laisser décider tout seul.

Et grâce à son script, le site de Terence (sans Philippe) obtient d’excellents scores sur PageSpeed Insights , ce qui prouve que tout ce bloat n’est vraiment pas nécessaire. Son script PHP complet fait environ 190 lignes et il est dispo sur son GitLab , bien commenté pour que vous puissiez choisir ce que vous voulez garder ou virer.

Attention quand même, certaines de ces désactivations peuvent casser des fonctionnalités si vous les utilisez vraiment. Par exemple, si vous avez des plugins qui dépendent de l’API REST, la virer complètement serait une mauvaise idée. Même chose pour les blocks Gutenberg si vous utilisez cet éditeur. L’astuce c’est donc de tester chaque modification une par une et de voir ce qui se passe.

Amusez-vous bien et un grand merci à Terence !

  • ✇Korben
  • ImunifyAV - Le scanner qui exécute les malwares
    ImunifyAV, le scanner AV qui protège 56 millions de sites Linux, vient de se faire pwn par le malware qu’il essayait de détecter. Et c’est pas la première fois… En effet, Patchstack vient de révéler une faille RCE critique dans ImunifyAV, qui je le rappelle est un scanner antivirus gratuit ultra répandu dans l’hébergement mutualisé. Le problème en fait c’est que AI-bolit, le composant qui déobfusque le code PHP malveillant pour l’analyser, utilise la fonction call_user_func_array sans vérifier l

ImunifyAV - Le scanner qui exécute les malwares

Par : Korben
14 novembre 2025 à 06:44

ImunifyAV, le scanner AV qui protège 56 millions de sites Linux, vient de se faire pwn par le malware qu’il essayait de détecter. Et c’est pas la première fois…

En effet, Patchstack vient de révéler une faille RCE critique dans ImunifyAV, qui je le rappelle est un scanner antivirus gratuit ultra répandu dans l’hébergement mutualisé. Le problème en fait c’est que AI-bolit, le composant qui déobfusque le code PHP malveillant pour l’analyser, utilise la fonction call_user_func_array sans vérifier les noms de fonctions qu’elle exécute.

Boooh ! Du coup, vous uploadez un fichier PHP malveillant spécialement conçu pour l’occasion par un attaquant, ImunifyAV le scanne pour voir si c’est un malware, le déobfusque pour comprendre ce qu’il fait, et hop, le code malveillant s’exécute avec les privilèges du scanner.

Game over.

Hé pour qu’un antimalware détecte un virus, il doit analyser son code mais si les cybercriminels obfusquent leur malware pour cacher le code, l’antimalware doit alors le déobfusquer avant d’analyser. Mais déobfusquer du code PHP, ça veut dire aussi l’exécuter partiellement pour voir ce qu’il fait vraiment… d’où cette RCE.

La faille affecte donc toutes les versions avant la 32.7.4.0 et le correctif apporte juste une fonctionnalité de whitelist de fonctions autorisées pendant la déobfuscation. Il était temps, même si maintenir une whitelist de fonctions safe, à terme c’est un cauchemar car y’a des centaines de fonctions dans PHP. Certaines sont safe seules mais dangereuses combinées et je pense que les cybercriminels trouveront toujours un moyen de contourner cette whitelist.

En tout cas, comme je le laissais entendre en intro, c’est pas la première fois qu’AI-bolit se fait avoir sur la déobfuscation. En 2021, Talos avait déjà trouvé une faille sur unserialize dans le même composant. C’est la même blague car pour analyser du code malveillant sérialisé, il faut le désérialiser. Et désérialiser du contenu malveillant sans validation, ça fait “pwn” !

Voilà, 2 fois en 4 ans sur le même composant, c’est pas ce que j’appelle un accident. C’est un problème structurel car détecter du malware sans l’exécuter, c’est quasi impossible avec du code dynamique. Les signatures statiques ça marche bien pour les virus classiques mais face à du PHP obfusqué qui se reconstruit à l’exécution, vous êtes obligé de lancer le code pour voir ce qu’il fait vraiment. Et là, on est forcement en zone grise…

Même si on exécute du code potentiellement malveillant dans un environnement censé être isolé, si celui-ci “fuit” ou si le code malveillant trouve un moyen de sortir de la sandbox, vous avez une RCE. Et comme ImunifyAV tourne avec les privilèges nécessaires pour scanner tous les fichiers d’un serveur mutualisé, si vous compromettez cet antivirus, vous avez potentiellement accès à tous les sites hébergés sur la machine.

Si vous voulez tester, voici le proof of concept :

<?php
$data = "test";

$payload = "\x73\x79\x73\x74\x65\x6d"("\x74\x6f\x75\x63\x68\x20\x2f\x74\x6d\x70\x2f\x6c\x33\x33\x74\x2e\x74\x78\x74\x20\x26\x26\x20\x65\x63\x68\x6f\x20\x22\x44\x45\x46\x2d\x33\x36\x37\x38\x39\x22\x20\x3e\x20\x2f\x74\x6d\x70\x2f\x6c\x33\x33\x74\x2e\x74\x78\x74");
eval("\x70\x61\x63\x6b"($payload));
?>

Placez ensuite ce poc.php quelque part, puis lancez le scanner ai-bolit dessus, et ça devrait créer un fichier dans /tmp si vous êtes à risque.

php ai-bolit.php -y -j poc.php

Voilà, si vous gérez des serveurs avec ImunifyAV, vous savez ce qu’il vous reste à faire ! Une bonne mise à jour !

Et bien sûr, si vous vous inquiétez, sachez que y’a aucun moyen de savoir si vous avez été compromis avant le patch. Faut patcher, et prier pour que personne n’ait exploité la faille entre sa découverte et sa publication.

Bon courage !

Source

  • ✇LinuxFr.org : les dépêches
  • Pocket est mort, vive wallabag
    Pocket était une application permettant de gérer une liste d'articles lus sur Internet. Elle a été créée en août 2007 par Nathan Weiner, puis est devenue gratuite avec option Premium en 2012. Acquis en 2017 par Mozilla, le service a annoncé le 22 mai 2025 sa fermeture prochaine. (source Wikipedia). Ainsi, depuis le 8 juillet 2025, il n'est plus possible d'archiver ses contenus via Pocket, seul l'export de ses données est réalisable. Courant octobre, l'export sera également coupé. lien nᵒ 1 :

Pocket est mort, vive wallabag

Pocket était une application permettant de gérer une liste d'articles lus sur Internet. Elle a été créée en août 2007 par Nathan Weiner, puis est devenue gratuite avec option Premium en 2012. Acquis en 2017 par Mozilla, le service a annoncé le 22 mai 2025 sa fermeture prochaine. (source Wikipedia).

Ainsi, depuis le 8 juillet 2025, il n'est plus possible d'archiver ses contenus via Pocket, seul l'export de ses données est réalisable. Courant octobre, l'export sera également coupé.

Une alternative à Pocket

Depuis maintenant plus de 12 ans, une alternative à ce service privateur existe : il s'agit de wallabag. Nous avons déjà régulièrement parlé de notre projet sur LinuxFR.org.

Suite à l'annonce de la fermeture de Pocket, l'équipe de développement s'est organisée afin de proposer un import possible depuis le CSV fourni.

C'est pourquoi une version 2.6.13 est disponible depuis le 4 juin.

Mettre à jour votre instance

Depuis quelques versions, c’est relativement simple de mettre à jour votre wallabag : vous n’avez qu’à exécuter la commande make update. Si vous le souhaitez, vous trouverez plus d’informations sur le billet de blog du projet.

La suite

Dans quelques semaines, l'équipe aimerait sortir une nouvelle version importante. Outre de nouvelles fonctionnalités (comme par exemple un sélecteur de police de caractères), c'est surtout une montée de version technique nécessaire afin d'assurer la pérennité du projet.

Pour rappel, si vous ne souhaitez pas héberger votre instance de wallabag, il est possible d’utiliser le service en ligne wallabag.it.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇LinuxFr.org : les dépêches
  • Dévoilement de l'édition ConFoo 2025 !
    La conférence ConFoo est de retour pour sa 23e édition, du 26 au 28 février 2025 à l’Hôtel Bonaventure de Montréal ! Avec plus de 190 présentations offertes par une centaine d’experts de partout à travers le monde, venez découvrir pourquoi Confoo est devenu l’un des événements phares pour les développeurs en Amérique du Nord et de partout à travers le monde. lien nᵒ 1 : ConFoo 2025Notre programmation officielle est d’ailleurs disponible dès maintenant sur notre site web! Consultez nos toutes

Dévoilement de l'édition ConFoo 2025 !

La conférence ConFoo est de retour pour sa 23e édition, du 26 au 28 février 2025 à l’Hôtel Bonaventure de Montréal !

logo confoo.ca

Avec plus de 190 présentations offertes par une centaine d’experts de partout à travers le monde, venez découvrir pourquoi Confoo est devenu l’un des événements phares pour les développeurs en Amérique du Nord et de partout à travers le monde.

Notre programmation officielle est d’ailleurs disponible dès maintenant sur notre site web! Consultez nos toutes nouvelles présentations axées sur le développement FullStack OpenSource, l’intelligence artificielle, le devops et plus encore. Organisé au cœur d’un environnement spécialement conçu pour les développeurs, ConFoo est aussi l’endroit parfait pour rencontrer de potentiels employeurs et réseauter avec les meilleurs de l’industrie.

Réservez vos billets dès maintenant et profitez d’un rabais de 175$ sur votre inscription jusqu’au 13 décembre !

Faites partie de l’aventure et découvrez comment l’intelligence humaine façonne le milieu des hautes technologies!

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇ZoneTuto
  • Laravel : utiliser la pagination pour afficher des résultats
    Laravel est vraiment un framework très pratique et facile d’utilisation. La courbe de progression est vraiment rapide et en tant que débutant, il est possible de très vite faire de belles choses. Aujourd’hui nous allons voir comment utiliser la pagination proposée par défaut par Laravel. Les raisons d’utiliser la pagination sont nombreuses voir indispensable dans ... Lire la suite L’article Laravel : utiliser la pagination pour afficher des résultats est apparu en premier sur ZoneTuto.

Laravel : utiliser la pagination pour afficher des résultats

Par : MrTuto
22 septembre 2024 à 16:01

Laravel est vraiment un framework très pratique et facile d’utilisation. La courbe de progression est vraiment rapide et en tant que débutant, il est possible de très vite faire de belles choses. Aujourd’hui nous allons voir comment utiliser la pagination proposée par défaut par Laravel. Les raisons d’utiliser la pagination sont nombreuses voir indispensable dans ... Lire la suite

L’article Laravel : utiliser la pagination pour afficher des résultats est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Installer Laravel sur un serveur Ubuntu / Debian
    Je voulais proposer cet article depuis longtemps, ce sera maintenant chose faite. Il me servait en brouillon pour mes propres projets et après de nombreuses modifications pour qu’il soit le plus digeste et compréhensible possible. Je me suis enfin décidé à le publier. Bon rassurez bous, il n’y a ici rien de révolutionnaire, mais je ... Lire la suite L’article Installer Laravel sur un serveur Ubuntu / Debian est apparu en premier sur ZoneTuto.

Installer Laravel sur un serveur Ubuntu / Debian

Par : MrTuto
13 septembre 2024 à 20:07

Je voulais proposer cet article depuis longtemps, ce sera maintenant chose faite. Il me servait en brouillon pour mes propres projets et après de nombreuses modifications pour qu’il soit le plus digeste et compréhensible possible. Je me suis enfin décidé à le publier. Bon rassurez bous, il n’y a ici rien de révolutionnaire, mais je ... Lire la suite

L’article Installer Laravel sur un serveur Ubuntu / Debian est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : installer et créer des routes API
    Cela faisait quelque temps que je voulais faire cet article, mais comme d’habitude, c’est une ressource qu’il me manque donc il n’arrive que maintenant. Il s’agit d’un tutoriel qui j’espère vous sera utile pour maîtriser les bases des routes API dans Laravel. Je ferais sûrement d’autres articles plus complets par la suite sur le sujet ... Lire la suite L’article Laravel : installer et créer des routes API est apparu en premier sur ZoneTuto.

Laravel : installer et créer des routes API

Par : MrTuto
12 septembre 2024 à 03:19

Cela faisait quelque temps que je voulais faire cet article, mais comme d’habitude, c’est une ressource qu’il me manque donc il n’arrive que maintenant. Il s’agit d’un tutoriel qui j’espère vous sera utile pour maîtriser les bases des routes API dans Laravel. Je ferais sûrement d’autres articles plus complets par la suite sur le sujet ... Lire la suite

L’article Laravel : installer et créer des routes API est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : bloquer l’inscription de nouveaux utilisateurs
    Je continue ma petite série d’articles sur Laravel et j’essaye de couvrir tous les petits cas de figure qui pourraient être utile à ceux qui passent ici. Il y a beaucoup de choses à raconter sur Laravel et cette fois, je vais à nouveau vous parler d’authentification avec une petite fonctionnalité bien intéressante. Ce qui ... Lire la suite L’article Laravel : bloquer l’inscription de nouveaux utilisateurs est apparu en premier sur ZoneTuto.

Laravel : bloquer l’inscription de nouveaux utilisateurs

Par : MrTuto
10 septembre 2024 à 15:31

Je continue ma petite série d’articles sur Laravel et j’essaye de couvrir tous les petits cas de figure qui pourraient être utile à ceux qui passent ici. Il y a beaucoup de choses à raconter sur Laravel et cette fois, je vais à nouveau vous parler d’authentification avec une petite fonctionnalité bien intéressante. Ce qui ... Lire la suite

L’article Laravel : bloquer l’inscription de nouveaux utilisateurs est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : utiliser le navigateur Chrome avec PHP
    Je suis sur une bonne lancée en ce moment donc je vais continuer ma petite série d’articles et cette fois, je vais vous parler de Laravel, le célèbre framework PHP. Ça fait longtemps que j’avais écrit un article à son sujet et comme vous le savez sûrement, du moins si vous l’habitude de passer ici, ... Lire la suite L’article Laravel : utiliser le navigateur Chrome avec PHP est apparu en premier sur ZoneTuto.

Laravel : utiliser le navigateur Chrome avec PHP

Par : MrTuto
23 août 2024 à 16:34

Je suis sur une bonne lancée en ce moment donc je vais continuer ma petite série d’articles et cette fois, je vais vous parler de Laravel, le célèbre framework PHP. Ça fait longtemps que j’avais écrit un article à son sujet et comme vous le savez sûrement, du moins si vous l’habitude de passer ici, ... Lire la suite

L’article Laravel : utiliser le navigateur Chrome avec PHP est apparu en premier sur ZoneTuto.

  • ✇LinuxFr.org : les dépêches
  • ConFoo Montreal 2025 : l’appel à conférences est ouvert
    La conférence ConFoo est de retour pour sa 23ᵉ édition, du 26 au 28 février 2025 à l’Hôtel Bonaventure de Montréal ! Venez découvrir pourquoi ConFoo est devenu l’un des événements phares pour les développeurs et développeuses en Amérique du Nord et de partout à travers le monde. Nous sommes présentement à la recherche de conférenciers et de conférencières avides de partager leur expertise et leur savoir dans une multitude de domaines des hautes technologies ; PHP, Ruby, Java, DotNet, JavaScript

ConFoo Montreal 2025 : l’appel à conférences est ouvert

La conférence ConFoo est de retour pour sa 23ᵉ édition, du 26 au 28 février 2025 à l’Hôtel Bonaventure de Montréal ! Venez découvrir pourquoi ConFoo est devenu l’un des événements phares pour les développeurs et développeuses en Amérique du Nord et de partout à travers le monde.

Nous sommes présentement à la recherche de conférenciers et de conférencières avides de partager leur expertise et leur savoir dans une multitude de domaines des hautes technologies ; PHP, Ruby, Java, DotNet, JavaScript, Intelligence Artificielle, et plus encore !

Offertes en français ou en anglais, nos présentations sont généralement d’un format de 45 minutes, incluant un 10 minutes de questions des participants. Nos conférenciers et conférencières invitées profitent d’un traitement privilégié ; avec notamment la couverture de leurs frais de déplacement et d’hébergement, en plus de l’accès à l’expérience complète de l’événement (présentations, repas, etc.).

Vous avez jusqu’au 22 septembre prochain pour soumettre votre projet de présentations !

Si vous souhaitez simplement vous inscrire en tant que participant, profitez dès maintenant d’un rabais de 300$ en réservant votre inscription d'ici au 18 octobre !

Faites partie de l’aventure avec nous et découvrez comment l’intelligence humaine façonne le milieu des hautes technologies !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • FrankenPHP – Le serveur PHP surpuissant écrit en Go
    Concocté par le français Kévin Dunglas, contributeur de longue date à l’écosystème PHP et membre de la Core Team Symfony, FrankenPHP va peut-être dépoussiérer un peu votre bon vieux serveur LAMP tout fatigué. Il s’agit d’un serveur d’applications PHP moderne développé en Go qui s’appuie sur le serveur web de pointe Caddy. D’après son auteur, tous vos projets PHP, y compris Laravel, Symfony, Drupal, WordPress, Sulu et API Platform, seront optimisés comme jamais grâce à l’intégration native d

FrankenPHP – Le serveur PHP surpuissant écrit en Go

Par : Korben
30 mai 2024 à 15:04

Concocté par le français Kévin Dunglas, contributeur de longue date à l’écosystème PHP et membre de la Core Team Symfony, FrankenPHP va peut-être dépoussiérer un peu votre bon vieux serveur LAMP tout fatigué.

Il s’agit d’un serveur d’applications PHP moderne développé en Go qui s’appuie sur le serveur web de pointe Caddy. D’après son auteur, tous vos projets PHP, y compris Laravel, Symfony, Drupal, WordPress, Sulu et API Platform, seront optimisés comme jamais grâce à l’intégration native du mode worker.

Moins de lenteurs, plus de perf, et surtout pas mal de fonctionnalités avancées telles que les Early Hints pour un affichage éclair, la prise en charge d’HTTP/2 et HTTP/3 pour une navigation optimale, la compression Brotli, Zstandard et Gzip, les logs structurés, le support de Prometheus pour les métriques, et même du temps réel avec Mercure. Que vous soyez accro à Symfony, fan d’API Platform ou un inconditionnel de Laravel, FrankenPHP s’occupera de tout et d’après les benchmarks visibles sur le site officiel, il booste même les performances jusqu’à 3,5 fois plus vite que FPM sur les applications de type API Platform.

Conçu dans un souci de simplicité, ce serveur PHP n’a besoin que d’un seul service et d’un seul binaire. Pas besoin de PHP-FPM, il utilise son propre SAPI (Server API) spécialement conçu pour les serveurs web Go. Il peut être déployé facilement comme une application Cloud Native via une image Docker, et est compatible avec Kubernetes et toutes les plateformes Cloud modernes. Vous pouvez même packager votre application PHP comme un binaire statique autonome et auto-exécutable.

Si vous voulez le tester, vous pouvez soit lancer le binaire, soit utiliser Docker comme ceci :

docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp

En deux temps trois mouvements, vous voilà avec un serveur web + PHP 8.2 aux petits oignons ! Y’a plus qu’à mettre votre PHP dans le répertoire de Franken et tadaaa…

Si c’est le binaire que vous récupérez, vous pouvez servir le contenu du répertoire courant avec la commande suivante :

./frankenphp php-server

Ou lancer vos scripts en ligne de commande comme ceci :

./frankenphp php-cli /chemin/vers/votre/script.php

Bref, vous démarrez votre app une fois, et hop, elle reste en mémoire, prête à faire tourner votre site. Caddy gère l’HTTPS automatiquement avec génération, renouvellement et révocation des certificats. Il sert aussi les assets, pendant que PHP fait ce qu’il fait de mieux : exécuter votre code sans faillir. Vous pouvez même intégrer PHP dans n’importe quelle application Go en mode bibliothèque.

Et pour démarrer un serveur Caddy en prod avec FrankenPHP sans utiliser Docker, il suffit de cette configuration ultra simple:

{
    # Activer FrankenPHP 
    frankenphp
    order php_server before file_server
}

localhost {
    # Activer la compression (optionnel)
    encode zstd br gzip  
    # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources
    php_server
}

Ça change un peu !

En tout cas, c’est à tester ! Bravo Kévin, j’ai hâte de voir comment ça va évoluer pour la suite !

  • ✇ZoneTuto
  • Augmenter la taille limite d’upload de PHP sur votre serveur
    Il y a des problèmes qui sont récurrents lorsque l’on installe un nouveau serveur, il va avoir une belle configuration toute fraîche. Ça m’arrange bien, car je préfère faire mes propres réglages selon les applications qui tourneront sur le serveur web. Ce n’est pas très compliqué de modifier cette configuration, mais cela peut être frustrant ... Lire la suite L’article Augmenter la taille limite d’upload de PHP sur votre serveur est apparu en premier sur ZoneTuto.

Augmenter la taille limite d’upload de PHP sur votre serveur

Par : MrTuto
24 avril 2024 à 10:44

Il y a des problèmes qui sont récurrents lorsque l’on installe un nouveau serveur, il va avoir une belle configuration toute fraîche. Ça m’arrange bien, car je préfère faire mes propres réglages selon les applications qui tourneront sur le serveur web. Ce n’est pas très compliqué de modifier cette configuration, mais cela peut être frustrant ... Lire la suite

L’article Augmenter la taille limite d’upload de PHP sur votre serveur est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel 11 est disponible : quoi de neuf ?
    L’équipe de Laravel avait annoncé un changement de cycle pour la sortie des nouvelles versions de Laravel. Ils ont tenu leurs engagements et la nouvelle version du framework PHP est déjà disponible pour tout le monde. Au menu pas mal de nouveautés bienvenues qui améliorent encore un peu plus le framework Laravel avec des changements ... Lire la suite L’article Laravel 11 est disponible : quoi de neuf ? est apparu en premier sur ZoneTuto.

Laravel 11 est disponible : quoi de neuf ?

Par : MrTuto
13 mars 2024 à 11:12

L’équipe de Laravel avait annoncé un changement de cycle pour la sortie des nouvelles versions de Laravel. Ils ont tenu leurs engagements et la nouvelle version du framework PHP est déjà disponible pour tout le monde. Au menu pas mal de nouveautés bienvenues qui améliorent encore un peu plus le framework Laravel avec des changements ... Lire la suite

L’article Laravel 11 est disponible : quoi de neuf ? est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : connecter un serveur SMTP externe pour envoyer des mails
    Je vais une nouvelle fois vous parler du framework PHP Laravel, mais il faut dire qu’il y a tellement de choses intéressantes et utiles à voir ! Après plusieurs articles, je me rends compte à chaque fois que je ne suis pas près d’avoir fait le tour à ce rythme ! Tout en sachant qu’à ... Lire la suite L’article Laravel : connecter un serveur SMTP externe pour envoyer des mails est apparu en premier sur ZoneTuto.

Laravel : connecter un serveur SMTP externe pour envoyer des mails

Par : MrTuto
11 mars 2024 à 16:04

Je vais une nouvelle fois vous parler du framework PHP Laravel, mais il faut dire qu’il y a tellement de choses intéressantes et utiles à voir ! Après plusieurs articles, je me rends compte à chaque fois que je ne suis pas près d’avoir fait le tour à ce rythme ! Tout en sachant qu’à ... Lire la suite

L’article Laravel : connecter un serveur SMTP externe pour envoyer des mails est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : rediriger l’utilisateur vers une page après sa connexion
    Dans cet article, je vais vous parler une nouvelle fois de mon framework PHP préféré et il s’agit bien évidemment de Laravel. Je travaille quasiment tous les jours avec Laravel et pour tout ce qui est applications web et site, j’en suis pleinement satisfait. Je n’ai pas grand-chose à lui reprocher. J’utilise aussi Laravel seulement ... Lire la suite L’article Laravel : rediriger l’utilisateur vers une page après sa connexion est apparu en premier sur ZoneTuto.

Laravel : rediriger l’utilisateur vers une page après sa connexion

Par : MrTuto
4 mars 2024 à 10:50

Dans cet article, je vais vous parler une nouvelle fois de mon framework PHP préféré et il s’agit bien évidemment de Laravel. Je travaille quasiment tous les jours avec Laravel et pour tout ce qui est applications web et site, j’en suis pleinement satisfait. Je n’ai pas grand-chose à lui reprocher. J’utilise aussi Laravel seulement ... Lire la suite

L’article Laravel : rediriger l’utilisateur vers une page après sa connexion est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Résoudre l’erreur : Allowed memory size of bytes exhausted
    Si vous êtes un développeur qui utilise le langage de programmation PHP, vous avez forcément déjà eu cette erreur qui est un grand classique. Cette erreur Allowed memory size of * bytes exhausted (tried to allocate * bytes) c’est un peu un passage obligé et le mieux c’est qu’elle arrive pendant la phase de conception ... Lire la suite L’article Résoudre l’erreur : Allowed memory size of bytes exhausted est apparu en premier sur ZoneTuto.

Résoudre l’erreur : Allowed memory size of bytes exhausted

Par : MrTuto
7 février 2024 à 12:32

Si vous êtes un développeur qui utilise le langage de programmation PHP, vous avez forcément déjà eu cette erreur qui est un grand classique. Cette erreur Allowed memory size of * bytes exhausted (tried to allocate * bytes) c’est un peu un passage obligé et le mieux c’est qu’elle arrive pendant la phase de conception ... Lire la suite

L’article Résoudre l’erreur : Allowed memory size of bytes exhausted est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : relancer seulement une seule migration
    Lorsque l’on développe des applications avec Laravel, et même n’importe quel autre framework, il est courant d’avoir souvent besoin de modifier la structure de sa base de données de test. En général pour les nouvelles fonctionnalités, on ajoute de nouvelles migrations pour construire sa base de données, mais on peut aussi avoir besoin de modifier ... Lire la suite L’article Laravel : relancer seulement une seule migration est apparu en premier sur ZoneTuto.

Laravel : relancer seulement une seule migration

Par : MrTuto
18 janvier 2024 à 07:51

Lorsque l’on développe des applications avec Laravel, et même n’importe quel autre framework, il est courant d’avoir souvent besoin de modifier la structure de sa base de données de test. En général pour les nouvelles fonctionnalités, on ajoute de nouvelles migrations pour construire sa base de données, mais on peut aussi avoir besoin de modifier ... Lire la suite

L’article Laravel : relancer seulement une seule migration est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Créer et utiliser les seeds dans Laravel
    Ce nouveau tutoriel est l’occasion de continuer ma série sur les différentes fonctionnalités du framework Laravel que vous devez sûrement connaître si vous êtes arrivés ici. Cette fois, nous allons parler des seeds qui sont une fonctionnalité très intéressante dans le développement de logiciels. Oui, j’ai bien dit un seed que l’on peut traduire par ... Lire la suite L’article Créer et utiliser les seeds dans Laravel est apparu en premier sur ZoneTuto.

Créer et utiliser les seeds dans Laravel

Par : MrTuto
10 janvier 2024 à 15:40

Ce nouveau tutoriel est l’occasion de continuer ma série sur les différentes fonctionnalités du framework Laravel que vous devez sûrement connaître si vous êtes arrivés ici. Cette fois, nous allons parler des seeds qui sont une fonctionnalité très intéressante dans le développement de logiciels. Oui, j’ai bien dit un seed que l’on peut traduire par ... Lire la suite

L’article Créer et utiliser les seeds dans Laravel est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Créer un event listener dans Laravel
    Dans ce tutoriel, nous allons voir comment créer un event listener aussi appelé écouteur d’événements en français dans mon framework préféré, Laravel. Si comme moi, vous avez plusieurs commandes qui se lancent automatiquement avec cron, vous voulez peut-être savoir ce qu’il se passe plus précisément dans votre application Laravel. Vous pouvez bien sûr utiliser les ... Lire la suite L’article Créer un event listener dans Laravel est apparu en premier sur ZoneTuto.

Créer un event listener dans Laravel

Par : MrTuto
5 janvier 2024 à 16:11

Dans ce tutoriel, nous allons voir comment créer un event listener aussi appelé écouteur d’événements en français dans mon framework préféré, Laravel. Si comme moi, vous avez plusieurs commandes qui se lancent automatiquement avec cron, vous voulez peut-être savoir ce qu’il se passe plus précisément dans votre application Laravel. Vous pouvez bien sûr utiliser les ... Lire la suite

L’article Créer un event listener dans Laravel est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • API REST Shopify : gérer la pagination et parcourir les pages
    J’aime beaucoup Shopify, car c’est une plateforme qui permet de faire très facilement une boutique sans avoir besoin de se préoccuper de l’hébergement et des pleins autres éléments. N’importe qui peut facilement créer sa boutique à moindres frais pour commencer facilement à faire de l’ecommerce. Ce que j’aime aussi, c’est que si vous commencez à ... Lire la suite L’article API REST Shopify : gérer la pagination et parcourir les pages est apparu en premier sur ZoneTuto.

API REST Shopify : gérer la pagination et parcourir les pages

Par : MrTuto
2 janvier 2024 à 12:00

J’aime beaucoup Shopify, car c’est une plateforme qui permet de faire très facilement une boutique sans avoir besoin de se préoccuper de l’hébergement et des pleins autres éléments. N’importe qui peut facilement créer sa boutique à moindres frais pour commencer facilement à faire de l’ecommerce. Ce que j’aime aussi, c’est que si vous commencez à ... Lire la suite

L’article API REST Shopify : gérer la pagination et parcourir les pages est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Supprimer les anciennes versions de PHP et les extensions sur Ubuntu
    L’autre jour, j’ai dû mettre à jour la version de PHP sur un ancien serveur Ubuntu de production qui tourne depuis longtemps et j’ai eu quelques soucis de conflit entre les versions. Il s’agissait d’une ancienne version PHP 7.1 et quand j’ai installé la version PHP 8.3, cela a provoqué quelques soucis. J’ai réussi à ... Lire la suite L’article Supprimer les anciennes versions de PHP et les extensions sur Ubuntu est apparu en premier sur ZoneTuto.

Supprimer les anciennes versions de PHP et les extensions sur Ubuntu

Par : MrTuto
28 décembre 2023 à 11:56

L’autre jour, j’ai dû mettre à jour la version de PHP sur un ancien serveur Ubuntu de production qui tourne depuis longtemps et j’ai eu quelques soucis de conflit entre les versions. Il s’agissait d’une ancienne version PHP 7.1 et quand j’ai installé la version PHP 8.3, cela a provoqué quelques soucis. J’ai réussi à ... Lire la suite

L’article Supprimer les anciennes versions de PHP et les extensions sur Ubuntu est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Shopify : créer une application et utiliser l’API REST sur sa boutique
    Shopify est maintenant bien installé et connu pour sa simplicité de mise en place. Une fois que votre boutique est en ligne, c’est très simple à utiliser surtout si vous souhaitez vraiment vous concentrer sur vos produits et pas la maintenant de votre serveur. De plus, vous n’avez pas besoin de vous occuper de la ... Lire la suite L’article Shopify : créer une application et utiliser l’API REST sur sa boutique est apparu en premier sur ZoneTuto.

Shopify : créer une application et utiliser l’API REST sur sa boutique

Par : MrTuto
16 décembre 2023 à 12:29

Shopify est maintenant bien installé et connu pour sa simplicité de mise en place. Une fois que votre boutique est en ligne, c’est très simple à utiliser surtout si vous souhaitez vraiment vous concentrer sur vos produits et pas la maintenant de votre serveur. De plus, vous n’avez pas besoin de vous occuper de la ... Lire la suite

L’article Shopify : créer une application et utiliser l’API REST sur sa boutique est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Installer PHP 8.3 et ses extensions sur Linux Ubuntu / Debian
    J’aime beaucoup PHP et encore plus depuis que j’utilise le framework Laravel au quotidien qui me facilite franchement la vie. Je vous en ai déjà parlé plusieurs fois ici et si vous voulez en savoir plus, n’hésitez pas à faire une recherche, je suis sûr que vous allez trouver votre bonheur. Une page dédiée au ... Lire la suite L’article Installer PHP 8.3 et ses extensions sur Linux Ubuntu / Debian est apparu en premier sur ZoneTuto.

Installer PHP 8.3 et ses extensions sur Linux Ubuntu / Debian

Par : MrTuto
1 décembre 2023 à 18:01

J’aime beaucoup PHP et encore plus depuis que j’utilise le framework Laravel au quotidien qui me facilite franchement la vie. Je vous en ai déjà parlé plusieurs fois ici et si vous voulez en savoir plus, n’hésitez pas à faire une recherche, je suis sûr que vous allez trouver votre bonheur. Une page dédiée au ... Lire la suite

L’article Installer PHP 8.3 et ses extensions sur Linux Ubuntu / Debian est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : stocker en local les scripts JavaScript et les fichiers CSS
    On se retrouve une nouvelle fois avec mon framework préféré, il s’agit bien sur de Laravel. Ce tutoriel s’adresse surtout aux débutants qui commencent avec le framework PHP, mais j’espère qu’il sera surtout utile pour le plus grand monde. Plutôt que de continuer à utiliser un CDN (content delivery network ou en bon français réseau ... Lire la suite L’article Laravel : stocker en local les scripts JavaScript et les fichiers CSS est apparu en premier sur ZoneTuto.

Laravel : stocker en local les scripts JavaScript et les fichiers CSS

Par : MrTuto
22 novembre 2023 à 16:35

On se retrouve une nouvelle fois avec mon framework préféré, il s’agit bien sur de Laravel. Ce tutoriel s’adresse surtout aux débutants qui commencent avec le framework PHP, mais j’espère qu’il sera surtout utile pour le plus grand monde. Plutôt que de continuer à utiliser un CDN (content delivery network ou en bon français réseau ... Lire la suite

L’article Laravel : stocker en local les scripts JavaScript et les fichiers CSS est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : l’erreur courante Target class does not exist dans les routes
    Je continue ma petite série d’articles sur Laravel et dans ce tutoriel, je vais évoquer une erreur qui revient souvent chez les débutants. Ce n’est pas très compliqué, mais je vais essayer de vous faire gagner du temps pour la résoudre le plus vite possible. Cela vous permettra de passer plus rapidement à la suite ... Lire la suite L’article Laravel : l’erreur courante Target class does not exist dans les routes est apparu en premier sur ZoneTuto.

Laravel : l’erreur courante Target class does not exist dans les routes

Par : MrTuto
10 novembre 2023 à 17:15

Je continue ma petite série d’articles sur Laravel et dans ce tutoriel, je vais évoquer une erreur qui revient souvent chez les débutants. Ce n’est pas très compliqué, mais je vais essayer de vous faire gagner du temps pour la résoudre le plus vite possible. Cela vous permettra de passer plus rapidement à la suite ... Lire la suite

L’article Laravel : l’erreur courante Target class does not exist dans les routes est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : utilisation de compact dans un contrôleur vers une vue
    Je vais vous proposer un nouveau tutoriel sur le framework Laravel, car avant de proposer une page complète, j’aimerais bien essayer de couvrir le maximum de sujet. On va cette fois parler de la très classique architecture MVC de Laravel. Ce tutoriel va se concentrer plus particulièrement le contrôleur et la vue. J’ai déjà vu ... Lire la suite L’article Laravel : utilisation de compact dans un contrôleur vers une vue est apparu en premier sur ZoneTuto.

Laravel : utilisation de compact dans un contrôleur vers une vue

Par : MrTuto
7 novembre 2023 à 23:31

Je vais vous proposer un nouveau tutoriel sur le framework Laravel, car avant de proposer une page complète, j’aimerais bien essayer de couvrir le maximum de sujet. On va cette fois parler de la très classique architecture MVC de Laravel. Ce tutoriel va se concentrer plus particulièrement le contrôleur et la vue. J’ai déjà vu ... Lire la suite

L’article Laravel : utilisation de compact dans un contrôleur vers une vue est apparu en premier sur ZoneTuto.

  • ✇ZoneTuto
  • Laravel : gérer les rôles utilisateur / admin avec un middleware
    Je voulais faire ce tutoriel depuis longtemps, et le grand jour est maintenant arrivé. Je vais une nouvelle fois vous parler de Laravel, un framework que j’apprécie particulièrement pour sa simplicité et sa robustesse. De plus, avec sa grande popularité, vous trouverez toujours de l’aide sur Internet et la bonne librairie à ajouter via Composer ... Lire la suite L’article Laravel : gérer les rôles utilisateur / admin avec un middleware est apparu en premier sur ZoneTuto.

Laravel : gérer les rôles utilisateur / admin avec un middleware

Par : MrTuto
12 octobre 2023 à 19:18

Je voulais faire ce tutoriel depuis longtemps, et le grand jour est maintenant arrivé. Je vais une nouvelle fois vous parler de Laravel, un framework que j’apprécie particulièrement pour sa simplicité et sa robustesse. De plus, avec sa grande popularité, vous trouverez toujours de l’aide sur Internet et la bonne librairie à ajouter via Composer ... Lire la suite

L’article Laravel : gérer les rôles utilisateur / admin avec un middleware est apparu en premier sur ZoneTuto.

❌
❌