Vue normale

Reçu aujourd’hui — 1 avril 2025

Découvrez DuckGPT, le canard de débogage assisté par IA

1 avril 2025 à 06:50
L’intelligence artificielle transforme profondément les outils des développeurs, avec une multiplication d’assistants toujours plus performants. Les Joies du Code présente aujourd’hui une innovation détonante qui pourrait bien changer votre façon de coder : DuckGPT, le premier canard en plastique dopé à l’IA, conçu pour accompagner les développeurs dans leurs longues séances de débogage. Fruit de plusieurs […]
Reçu hier — 31 mars 2025

Ubuntu 25.04 "Plucky Puffin" : la bêta est disponible !

31 mars 2025 à 08:58
Ubuntu 25.04, surnommé "Plucky Puffin" ("macareux courageux"), vient d'entrer en phase de bêta publique avant sa sortie officielle prévue le 17 avril 2025. Cette nouvelle version intermédiaire du célèbre OS Linux apporte plusieurs améliorations notables ainsi que des nouveautés techniques très attendues par la communauté. Des performances en hausse, des nouveautés utiles Ubuntu 25.04 intègre […]
Reçu avant avant-hier

Comment réclamer les articles en précommande dans The First Berserker: Khazan

29 mars 2025 à 12:48

Pour les fans dans les aventures de jeu de rôle à action hardcore, Neople Le premier Berserker: Khazan devrait certainement être dans votre ruelle. Le titre élégant a jeté des joueurs dans le rôle du légendaire général, accusé à tort de trahison et essayant de trouver justice pour ses camarades tombés et lui-même. Cela signifie […]

Le post Comment réclamer les articles en précommande dans The First Berserker: Khazan est apparu en premier sur Moyens I/O.

Apple WWDC 2025 : dates, iOS 19, refonte visuelle, IA… ce que les développeurs peuvent en attendre

28 mars 2025 à 15:34
Apple a officiellement annoncé les dates de sa prochaine Worldwide Developers Conference (WWDC), qui se déroulera du 9 au 13 juin 2025. Comme les années précédentes, l'événement sera principalement en ligne et gratuit pour tous les développeurs, avec une expérience spéciale en présentiel organisée à Apple Park le 9 juin, réservée à un cercle très […]

Ventes Flash de Printemps Amazon : les meilleures offres sur les claviers et souris

27 mars 2025 à 16:37
Les Ventes Flash de Printemps Amazon ont débuté cette semaine et se poursuivent jusqu'au lundi 31 mars inclus. Dans cet article, on fait le point sur les meilleures offres sur les claviers et les souris – des périphériques essentiels pour les développeurs qui veulent améliorer leur confort, leur efficacité, ou simplement se faire plaisir sans […]

Google ferme les portes du développement public d'Android : quelles conséquences pour les développeurs ?

27 mars 2025 à 13:07
Après plus de 16 ans de développement semi-public, Google vient d'annoncer une modification majeure dans sa gestion du projet Android. La totalité du développement du système d'exploitation mobile se fera désormais en interne chez la firme de Mountain View. Mais qu'implique exactement ce changement pour la communauté des développeurs Android ? Pourquoi Google change son […]

Ventes Flash de Printemps Amazon : les meilleures offres tech pour développeurs (terminé)

28 mars 2025 à 16:41
🎬 Les Ventes Flash de Printemps sont terminées, merci à toutes et à tous d'avoir suivi cet article ! Ventes Flash de Printemps Amazon pour les développeurs — Une fois n'est pas coutume, Amazon organise cette semaine ses Ventes Flash de Printemps afin de proposer des offres sur toute une sélection de produits. Pour cette […]

Ce site fait s’affronter des IA pour créer des modèles Minecraft

21 mars 2025 à 12:39
Bien plus fun et créatif que les benchmarks d'IA traditionnels, un groupe de développeurs a eu la bonne idée de mettre en compétition les différentes IA du marché en leur faisant construire... des modèles Minecraft ! Le site MC-Bench — comprenez "Minecraft Benchmark" — invite ses visiteurs à juger les performances des différents moteurs d'intelligence […]

OpenAI ouvre l'accès à o1-pro, son modèle d'IA le plus puissant et coûteux pour les développeurs

20 mars 2025 à 09:34
OpenAI vient de rendre disponible son nouveau modèle d'IA o1-pro, via son API réservée aux développeurs. Celui-ci serait le modèle de raisonnement le plus puissant créé à ce jour par l'entreprise, utilisant davantage de puissance de calcul que le modèle o1 "classique" pour fournir des réponses systématiquement meilleures. Seul hic : ça coûte une blinde […]

Installer et configurer Authelia pour Proxmox

Par :fred
19 mars 2025 à 12:16

Un mémo sur comment installer, configurer et intégrer Authelia à Proxmox pour l’authentification unique et à deux facteurs.

Présentation d’Authelia

Authelia est une solution d’authentification et d’autorisation open-source destinée à sécuriser l’accès aux applications web. Elle agit comme un reverse proxy d’authentification centralisé, offrant une gestion avancée des utilisateurs et des stratégies d’accès.
Principales fonctionnalités :

✅ Authentification à deux facteurs (2FA) : Supporte TOTP, Duo, WebAuthn (FIDO2).
✅ Intégration avec OpenID Connect : Permet l’authentification unique (SSO).
✅ Gestion fine des accès : Basée sur les règles configurables (ACL).
✅ Compatibilité avec les reverse proxies : Fonctionne avec Traefik, Nginx, Caddy, etc.
✅ Stockage flexible : Supporte SQLite, PostgreSQL et MySQL pour la gestion des utilisateurs.
✅ Déploiement facile : Disponible via Docker, Kubernetes et installation classique.
Cas d’usage

🔹 Sécuriser des services auto-hébergés (GitLab, Nextcloud, Home Assistant…)
🔹 Mettre en place un portail SSO centralisé pour plusieurs applications
🔹 Renforcer la sécurité des accès avec la double authentification

Informations globales et installation des dépendances nécessaires

Pour le mémo, voici les informations utilisées :

  • L’OS du serveur Authelia : Debian 12
  • L’installation d’Authelia se fait sans docker
  • Pas de serveur SMTP sur Authelia
  • nom d’hôtes :
    • Serveur Proxmox : proxmox.local
    • Serveur Authelia : authelia.local
  • Utilisateur de test :
    • login: testuser
    • Mot de passe : authelia
  • Installation des dépendances nécessaires :
apt install install nginx openssl apt-transport-https curl gnupg -y

Installation de Authelia via le dépôt

  • Importez la clé de signature :
curl -fsSL https://apt.authelia.com/organization/signing.asc | sudo gpg --dearmor -o /etc/apt/keyrings/authelia.gpg
  • Ajout du dépôt Authelia :
  • echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/authelia.gpg] https://apt.authelia.com/stable/debian/debian all main" | sudo tee /etc/apt/sources.list.d/authelia.list > /dev/null
  • Mise à jour des dépôts :
  • apt update
  • Installation de Authelia :
  • apt install authelia -y

    Configuration de Authelia

    • Configuration de base :
      • Génération d’un certificat et d’une clé privé pour Authelia :
      mkdir -p /etc/authelia/ssl
      cd /etc/authelia/ssl
      authelia crypto pair rsa generate
      
    • Création du fichier de configuration (attention, ici j’intègre de suite la partie client de Proxmox ) :
      nano /etc/authelia/configuration.yml
      ---
      # Configuration du serveur Authelia
      server:
        address: "tcp://0.0.0.0:9091/"  # Écoute sur toutes les interfaces sur le port 9091
      
      # Configuration des logs
      log:
        level: debug  # Niveau de log : debug pour plus de détails
      
      # Configuration de la validation d'identité
      identity_validation:
        reset_password:
          jwt_secret: "ba820cfdc0c587eff1a23b96a3896ec7a076c384c09ad10bfc1b74788eea39631a4d9cfa22717645a396f5d45b18d632602e848ecb8c967b7854d5ebc4446b8a"  # Clé secrète pour le JWT utilisé dans la réinitialisation de mot de passe
      
      # Configuration des sessions
      session:
        name: authelia_session  # Nom du cookie de session
        same_site: lax  # Politique SameSite pour le cookie
        expiration: 1h  # Durée de vie de la session
        inactivity: 5m  # Temps d'inactivité avant expiration de la session
        remember_me: 1M  # Durée de la session en mode "Se souvenir de moi"
        secret: "8938ce8b853e74b35c05e0f10a904bd6ce4849d2aed8fb1b23b2916dd70c2af487a9ae5bf9672fa82411a3b171d351c08a0b75aa151939be45427174c26d5d60"  # Clé secrète pour la session
        cookies:
          - domain: "authelia.local"  # Domaine du cookie
            authelia_url: "https://authelia.local"  # URL d'Authelia
            same_site: lax  # Politique SameSite du cookie
      
      # Configuration du contrôle d'accès
      access_control:
        default_policy: deny  # Politique par défaut : refusé
        rules:
          - domain: "authelia.local"  # Domaine protégé
            policy: two_factor  # Exige une authentification à deux facteurs
          - domain: "proxmox.local"  # Domaine protégé
            policy: two_factor  # Exige une authentification à deux facteurs
      
      # Backend d'authentification (fichier YAML)
      authentication_backend:
        file:
          path: "/etc/authelia/users.yml"  # Chemin du fichier contenant les utilisateurs
      
      # Configuration du TOTP (authentification à deux facteurs par application OTP)
      totp:
        issuer: authelia.local  # Émetteur pour les codes OTP
        algorithm: sha256  # Algorithme utilisé pour le TOTP
        digits: 6  # Nombre de chiffres dans le code OTP
        period: 30  # Durée de validité du code en secondes
        skew: 1  # Tolérance de synchronisation en périodes
        secret_size: 32  # Taille du secret généré
      
      # Configuration du fournisseur OpenID Connect
      identity_providers:
        oidc:
          jwks:
            - key: |
                -----BEGIN PRIVATE KEY-----
                (clé privée pour la signature des tokens JWT. Voir plus bas  "Pour générer la clé privé de identity_providers")
                -----END PRIVATE KEY-----
          clients:
            - client_id: proxmox  # Identifiant du client OpenID Connect
              client_name: "proxmox.local"  # Nom du client
              client_secret: "$pbkdf2-sha512$310000$..."  # Secret du client (hashé)
              redirect_uris:
                - https://proxmox.local:8006  # URI de redirection après authentification
              scopes:
                - openid  # Activation du scope OpenID
                - profile  # Activation du scope profil
                - email  # Activation du scope email
              userinfo_signed_response_alg: none  # Réponse des infos utilisateur non signée
              require_pkce: false  # Désactive l'utilisation de PKCE
              authorization_policy: two_factor  # Exige une authentification à deux facteurs
      
      # Configuration du stockage\storage:
        encryption_key: "ae5060901aaf3172cc87b896c92c30961b3734fc9a97be5c1da77b04dd4b754433f5cad3f679140d70ccc1a31743194231be04c5922dba34c275f89ac0bb42ce"  # Clé de chiffrement des données stockées
        local:
          path: "/var/lib/authelia/db.sqlite3"  # Utilisation d'une base de données SQLite pour le stockage local
      
      # Configuration des notifications
      notifier:
        filesystem:
          filename: "/var/log/authelia/notifications.txt"  # Fichier où sont stockées les notifications
      
      • Pour générer la clé privé de identity_providers :
      authelia crypto pair rsa generate
      cat private.pem
    • Pour jwt_secret, session.secret et encryption_key :
    openssl rand -hex 64
  • Pour client_secret :
  • authelia crypto hash generate pbkdf2 --password toto
  • Créer un fichier de base de données utilisateur :
    • Pour commencer, créer un mot de passe chiffré :
    authelia crypto hash generate --password authelia
  • Créer le fichier de configuration des utilisateurs :
  • nano /etc/authelia/users.yml
    users:
      testuser:
        displayname: "Test User"
        password: "$argon2id$v=19$m=32768,t=1,p=8$eUhVT1dQa082YVk2VUhDMQ$E8QI4jHbUBt3EdsU1NFDu4Bq5jObKNx7nBKSn1EYQxk"
    
  • Pour vérifier la validation de la configuration :
  • authelia validate-config -c /etc/authelia/configuration.yml
    Configuration parsed and loaded successfully without errors.
  • Création d’un service systemd
  • cp /tmp/authelia.service /etc/systemd/system/
    systemctl daemon-reload
    systemctl enable --now authelia
    systemctl status authelia
    
  • Pour avoir les journaux de logs en temps réel :
  • journalctl -u authelia -f

    Configuration du serveur web d’Authelia

    Attention, ici c’est une proposition de configuration nginx de base fonctionnelle

    • Génération du certificat SSL autosigné :
    mkdir -p /etc/nginx/ssl
    cd /etc/nginx/ssl
    openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout authelia.key -out authelia.crt -subj "/CN=authelia.local"
    chmod 600 authelia.key authelia.crt
    
  • Créer le fichier de configuration du serveur web popur AUthelia :
  • nano /etc/nginx/site-enable/authelia.conf
    server {
        listen 443 ssl;
        server_name authelia.local;
    
        ssl_certificate /etc/nginx/ssl/authelia.crt;
        ssl_certificate_key /etc/nginx/ssl/authelia.key;
    
        location / {
            proxy_pass http://localhost:9091;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
        }
    }
    
    # Redirection HTTP -> HTTPS
    server {
        listen 80;
        server_name authelia.local;
        return 301 https://$host$request_uri;
    }
    
  • test de la configuration :
  • nginx -t
  • Redémarrer le serveur web :
  • systemctl restart nginx

    Configuration de la double authentification de Authelia avec TOTP

    • Sur le smartphone, installer l’application libre et open-source Aegis Authenticator -> https://f-droid.org/fr/packages/com.beemdevelopment.aegis/
    • Sur le PC, ouvrir le navigateur Internet et saisir l’URL du serveur Authelia :
    • Cliquer sur « Enregistrer l’appareil » :
    • Cliquer sur Ajouter :
    • Saisir le mot de passe à usage unique :
      • Mais je n’ai pas de serveur SMTP de configurer ???
        Le mot de passe unique, se trouve dans /var/log/authelia/notifications.txt
      cat /var/log/authelia/notifications.txt
      Date: 2025-03-19 10:40:29.407130819 +0100 CET m=+5967.802203980
      Recipient: {testuser testuser@example.com}
      Subject: Confirm your identity
      A ONE-TIME CODE HAS BEEN GENERATED TO COMPLETE A REQUESTED ACTION
      
      Hi testuser,
      
      This notification has been sent to you in order to verify your identity to
      change security details for your account at authelia.local.
      
      Do not share this notification or the content of this notification with anyone.
      
      The following one-time code should only be used in the prompt displayed in your
      browser.
      
      --------------------------------------------------------------------------------
      
      B6LAMWY4
      
      --------------------------------------------------------------------------------
      
  • Une fois le code saisi, cliquer sur Suivant :
  • Avec l’application Aegis Authenticator, scanner le QR Code, puis cliquer sur suivant :
  • Pour confirmer, saisir le code temporaire afficher dans l’application Aegis Authenticator :
  • Le nouvel utilisateur a bien été ajouté à Authelia :
  • Intégration d’Authelia à Proxmox

    • Première chose, importer le certificat autosigné d’Authelia dans le magasin de certificat de Proxmox :
    scp root@authelia.local:/etc/nginx/ssl/authelia.crt /usr/local/share/ca-certificates/
    update-ca-certificates
  • Ouvrir Proxmox, puis Datacenter, Realms puis cliquer sur « Add »
  • Sélectioner OpenID Connect Server :
  • Renseigner comme suit :
  • Pour éviter l’erreur 401, ajouter de suite l’utilisateur testuser :
  • tester l’authentification sur Proxmox

    • Ouvrir Proxmox et sélectionner authelia comme système d’authentification :
    • Redirection vers le serveur Authelia, saisir le login et mot de passe :
    • La double authentification avec le code temporaire :
    • Accepter le consentement :
    • Et voilà, l’utilisateur testuser est connecté à Proxmox (évidemment, faudra configurer ses droits) :

    Ressources

    Junie, l’agent IA de JetBrains qui veut (presque) coder à votre place

    14 mars 2025 à 11:50
    JetBrains poursuit l’intégration poussée de l’intelligence artificielle dans ses solutions pour offrir toujours plus aux développeurs dans leur quotidien. Avec Junie, son nouvel agent de programmation basé sur l’IA, l’éditeur propose de révolutionner votre façon de coder. Déjà disponible en accès anticipé, Junie ne se contente pas de simplement vous suggérer du code : il […]

    TypeScript bientôt 10 fois plus rapide grâce à Go

    12 mars 2025 à 10:10
    Go, Go, Go! — Microsoft a annoncé ce mardi 11 mars une avancée majeure concernant les performances du langage TypeScript. Grâce à une réécriture complète de son compilateur en Go, le langage de Google, TypeScript pourrait bientôt devenir jusqu'à 10 fois plus rapide. Anders Hejlsberg, lead architect de TypeScript chez Microsoft et créateur principal du […]

    Étude : les nouvelles tendances de l’écosystème des développeurs en 2025

    20 février 2025 à 09:00
    Comme chaque année, JetBrains a partagé son étude sur l’état de l’écosystème des développeurs, qui offre un aperçu détaillé des grandes tendances qui façonneront l’année 2025. Dans cette dernière édition, le constat est clair : l’IA est omniprésente, et entraîne avec elle une évolution folle du métier de développeur. Les langages de programmation et leurs […]

    Les 20 et 21 mars, participez à la conférence React Paris 2025

    13 février 2025 à 12:45
    Avis à tous les développeurs front-end, tech leads, et CTOs qui vibrent au rythme de React et construisent des sites moins pétés que le mien, la conférence React Paris revient pour une nouvelle édition les 20 et 21 mars 2025 ! 🚀 Avec plusieurs centaines de participants attendus et un lineup de speakers prestigieux, cette conférence […]

    À peine sorti, un développeur fait tourner le modèle DeepSeek R1 sur un Raspberry Pi

    3 février 2025 à 15:20
    Bip bap boop — Je ne devrais pas vous apprendre grand-chose si je vous dis que la récente sortie du modèle chinois DeepSeek R1 a provoqué une turbulence monstre dans le domaine de l'intelligence artificielle, allant jusqu'à faire trembler des mastodons déjà bien établis comme Nvidia, OpenAI ou encore Meta. Au sein du groupe tenu […]

    Développeurs JavaScript : vous pensez tout savoir ? Passez au niveau supérieur à la conférence dotJS 2025 !

    31 janvier 2025 à 09:23
    Le J c’est le S — Être développeur, c’est passer des heures devant son écran à coder (et à débuguer 🥲), à éplucher des repos GitHub et à enchaîner les articles tech pour essayer de suivre le rythme effréné des nouveautés dans son domaine. Mais soyons honnêtes : glaner des infos ici et là, c’est […]

    💾

    💾

    Pour bien débuter l'année : 10 astuces pour faire votre ménage numérique de développeur

    7 janvier 2025 à 16:29
    sudo apt-get clean — Ça y est, les repas de famille et les discussions indétriquables sur votre métier que personne ne comprend sont enfin derrière vous. La nouvelle année est là, et avec elle son traditionnel cortège de bonnes résolutions (3840x2160 représente). Et si, pour une fois, vous vous attaquiez à un objectif réalisable ? […]
    ❌