Vue lecture

Open Source Experience : REX de l'édition 2024 et appels en cours pour #OSXP2025

Open Source Experience (OSXP), a lancé son appel à conférence pour sa 5e édition autour du thème « L’open source, clé de l’autonomie stratégique de l’Europe ». Profitons-en aussi pour faire l'appel à stand du village associatif ainsi qu'un (petit) retour sur la quatrième édition qui s'est tenue les 4 et 5 décembre derniers au Palais des Congrès de Paris. L'événement était cette fois couplé à DevOpsREX qui a fait son grand retour. Et encore une fois, nous étions là pour vous rencontrer, interagir avec la communauté et vous faire plaisir !

banière OSXP 2025

Cette année, Open Source Experience déménage à la Cité des Sciences et de l'Industrie, porte de la Villette (toujours à Paris) et se tiendra les 10 et 11 décembre 2025. Cela nous permettra d'avoir quelques stands de plus pour le village associatif !

Sommaire

Présentation de l’événement

Pour les anciennes et les anciens, Open Source Experience (OSXP) est l’événement qui a remplacé le Paris Open Source Summit, qui lui-même était la fusion de l’Open World Forum et Solutions Linux (qui était l’ancien Linux Expo) !

Dans la continuité de ses prédécesseurs, OSXP se veut un événement européen professionnel sur l’Open Source, le Libre et le Numérique ouvert, combinant une grande partie exposition, dans laquelle nous retrouverons toutes les entreprises du secteur ainsi que le village des associations, mais aussi un cycle d’une centaine de conférences, tables rondes et ateliers sur les deux jours.

Et il sera de nouveau accolé à DevOps Rex, série de conférences et présentations sur les applications concrètes de la méthodologie devops en entreprise, ses bénéfices, mais aussi ses contraintes et ses limites. Il y a aussi une partie exposition dédiée.

L’inscription gratuite ouvre l’accès à la partie exposition conjointe et aux conférences d’Open Source Experience. L’accès au cycle de conférences de DevOps REX est quant à lui payant.

Appel à conférences 2025

Le comité de programme, présidé cette année par Ludovic Dubost, PDG de XWiki, a lancé son appel à conférences, ouvert jusqu’au 22 juin 2025 à 23:00 CEST. Les thématiques de l’année sont

  • Modèles économiques et gouvernance pour des stratégies ouvertes durables
  • Intelligence Artificielle et calcul scientifique au service de l’analyse des données
  • Architecture cloud & virtualisation pour un futur autonome
  • Outils collaboratifs et applications métier : reprendre son autonomie numérique
  • Développement : l’innovation logicielle en action
  • Cybersécurité & chaîne de production logicielle : l’open source comme socle de confiance

Et pour les anglophones ? Un fil rouge (track) international dédié. C’est une des nouveautés de cette édition : une salle internationale accueillera les meilleures conférences en anglais, toutes thématiques confondues. Si vous proposez une intervention en anglais, vous serez automatiquement considéré pour cette track, en plus de votre thématique d’origine.

Chaque thématique cherche des

  • Retours d’expériences montrant les succès de l’offre Open Source en production,
  • Innovations montrant l’excellence technologique de l’Open Source européen,
  • Présentations sur la mise en œuvre et des outils permettant la migration de solutions propriétaires,
  • Présentations afin d’aider la filière à se développer sur les problématiques business, financement et gouvernance de l’open source.

📢 Appel à stands 2025 pour le village associatif

Le village associatif rempile de nouveau cette année. Le déménagement à la cité des Sciences à la Villette permet de gagner quelques stands (+3), soit une dizaine cette année. Pour obtenir un stand, il faut répondre aux critères ci-dessous et postuler sur le formulaire dédié avant le 24 août 2025 à 23:59 :

  • être une fondation ou une association à but non lucratif et non adossé à une entreprise (pour les entreprises, c’est sur cette page) ;
  • œuvrer pour l’Open Source et le Logiciel Libre (🦉 O RLY?) ;
  • à vocation nationale 🇫🇷 ou internationale 🇺🇳 (vers l’infini et au-delà) ;
  • disposer d’un important réseau de contacts permettant de relayer l’événement en amont (📊 sortez vos stats) ;
  • s’engageant à se mobiliser sur le stand sur une ou deux journées (fini les stands vides 😉). En effet, au vu du nombre limité de places, il sera possible de partager temporellement le stand si vous n’êtes disponible qu’une seule journée.

Les organisateurs présélectionneront une dizaine d'associations répondant le mieux aux critères de sélection. Seront privilégiées les associations indépendantes de toute organisation privée, disposant de moyens financiers limités. Soyez rassurés, Bookynette est encore et toujours impliquée dans l’organisation de ce village. Un grand merci à elle !

LinuxFr cochant toutes les cases, nous postulerons à nouveau 🤞. Nous verrons si nous pouvons encore vous faire gagner des Raspberry Pi, livres, abonnements, bières, Fairphone, Legos, etc. comme les années passées lors de notre animation façon Burger Quiz.

Retour sur l’édition 2024

Petit compte-rendu textuel et visuel, partial et partiel, de ces deux jours intenses fin 2024.

Quelques photos

Voici une petite sélection de photo, l’ensemble des photos (amateurs) sont disponibles dans ce répertoire.

le Stand LinuxFr.org la veillele Stand LinuxFr.org la veille Pierre, notre doyen de la modération !Notre doyen de la modération ! Tirage au sort des livres sur le standTirage au sort des livres sur le stand Des vedettes passent nous voirDes vedettes passent nous voir
Livraison de crème glacée (merci Creme)Livraison de crème glacée Les adminsys sur le standLes adminsys sur le stand Moment Quiz lors du temps fort associatifQuiz lors du temps fort associatif KPTN Live !KPTN Live !

Photo des autocollants. Plein de cadeaux pour vous

Les cadeaux gagnés !

Même si nos 25 ans sont passés et ont été fêtés dignement lors de l’édition précédente, cette année encore, grâce à nos soutiens habituels, mais aussi d’autres plus ponctuels, vous avez pu repartir avec les meilleurs cadeaux de l’événement.

Des livres et abonnements

Livres à gagner

Au total 27 livres gagnés parmi 22 références de nos partenaires habituels : les éditions ENI, les éditions Eyrolles et les éditions D-Booker mais aussi deux abonnements Linux Magazine et Linux Pratique !

Logo éditions ENI Logo éditions Eyrolles Logo éditions B-BookeR Logo éditions Diamond
       
L'AssoLution, le temps fort associatif

Le second jour sur la pause déjeuner, nous avions prévu avec les organisateurs notre désormais rituel temps fort associatif, appelé l’AssoLution cette année (nous sortions juste de la dissolution en France et il fallait bien trouver La Solution au gouvernement démissionnaire de l’époque !). Nous avons fêté les 20 ans de Framasoft, avec KPTN qui a assuré la partie musicale avec deux de ses chansons parmi les plus récentes. Enfin, le quiz façon burger quiz a été l’occasion de vous faire gagner un tas de cadeaux. Il ne fallait pas chercher sur les stands pros, les meilleurs étaient chez nous :

  • un Fairphone 5 vert (de chez Murena avec /e/OS dessus) ;
  • un casque audio Fairbuds XL vert ;
  • un kit de démarrage Raspberry Pi 5 ;
  • le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest » ;
  • une boîte de Lego architecture Notre-Dame de Paris vu qu’elle va rouvrir sous peu !
  • des abonnements à GNU/Linux Magazine France et à Linux Pratique ;
  • et des abonnements à la bibliothèque numérique des éditions ENI (en plus des livres, voir plus loin).

Liste des lots pour le quiz comprenant un Fairphone 5 vert (smartphone durable), un casque audio Fairbuds XL vert, un kit de démarrage Raspberry Pi 5, le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest », et une boîte LEGO représentant la cathédrale Notre-Dame de Paris dans la collection Architecture.

On remercie encore les sponsors de l’année passée qui ont participé à leur financement :

Merci Passbolt Merci Admantic

Vous pouvez tout revisionner si vous avez 45 minutes devant vous.

Au plaisir de vous y retrouver cette année !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Critique Ballerina : le spin-off de John Wick frappe fort, à défaut de soigner sa chorégraphie

La franchise d'action avec Keanu Reeves, John Wick, s'offre un spin-off centré sur une assassine vengeresse, incarnée par Ana de Armas. Voici notre critique du film Ballerina, garantie sans spoilers. ## PrésentationEn quatre longs-métrages, une série télévisée (Le Continental, disponible sur Prime Video), des comics, des jeux vidéo et une petite déce...

  •  

(Début de) la fin de Windows (10)

La prise en charge de Windows 10 se termine le 14 octobre 2025, forçant ses utilisateurs à passer à Windows 11 qui requiert des performances beaucoup plus élevées tout en poursuivant la prise de contrôle de ses utilisateurs.

La campagne « End of 10 » (fin de [Windows] 10) initiée il y a quelques mois vise à dénoncer le gaspillage de ressources (en forcant le remplacement anticipé de machines), et incite à un passage à Linux.

La lancement de la campagne sur les réseaux sociaux (i.e. Mastodon) a démarré le 28 mai.

De bonnes raisons

La campagne est axée sur cinq arguments principaux :

  • les économies financières : pas de coût de licence, pas d'obligation de renouveler son matériel de manière anticipée.
  • l'amélioration du respect de la vie privée : s'affranchir des publicités et logiciels espions intégrées de force dans Windows.
  • l'écologie : éviter un remplacement d'ordinateur a un impact carbone direct.
  • bénéficier d'un support adapté : communautaire ou professionnel, en ligne ou en physique.
  • reprendre contrôle de son ordinateur : bénéficier des libertés des logiciels libres pour utiliser votre ordinateur comme vous le souhaitez.

La philosophie de la campagne

La campagne est née du groupe de travail KDE Eco réfléchissant sur les impacts environnementaux des logiciels, cependant il est important de noter que dans le cadre de cette campagne la communication doit promouvoir « Linux » de manière générale et non promouvoir telle ou telle distribution. L'objectif premier est de quitter Windows.

Le partage sur les réseaux sociaux vise à faire connaître l'initiative de manière plus large, cependant le succès est principalement attendu en s'appuyant sur des acteurs locaux existant : cafés réparation, boutiques informatiques, …

Le site de la campagne fourni à la fois un registre des lieux et des dates où il est possible de se renseigner et se lancer. Plusieurs dizaines de possibilités ont déjà été ajoutées.

Participer !

De nombreuses façons de participer sont possibles :

  • prendre contact avec les structures locales (repair cafés, GULL, associations, …)
  • aider lors d'une install party ou en organiser une près de chez vous (et déclarer l'évènement sur le site)
  • en parler avec vos proches
  • relayer les messages Mastodon

Microsoft a ouvert la porte pour faire de 2025 l'année Linux ! À nous de mettre le pied dans la fenêtre !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Nouvelle version de NumCalc, la calculatrice scientifique en ligne de Fabrice Bellard

Fabrice Bellard vient de mettre à jour NumCalc, sa calculatrice scientifique et graphique en ligne, qui utilise maintenant un nouveau code indépendant de QuickJS (je vous renvoie à la dépêche qui abordait cette question).

capture d'écran de Numcalc

Le nouveau code est un mix entre Javascript, Python et Julia. Le code Javascript utilise la bibliothèque LibBF (MIT). L'interface a été retravaillée mais reste minimaliste pour être pratique et légère. Elle est devenue responsive et s'affiche très bien sur un mobile. Elle accepte maintenant des entrées en syntaxe Calc et Javascript.

NumCalc est rapide, ça m'a impressionné. La réactivité vient aussi du navigateur et de l'ordinateur puisque tout se passe sur votre poste, rien n'est envoyé au serveur. C'est surtout une sensation. Par exemple l'application Qalculate! me parait moins nerveuse, comme on dit d'une voiture. Bref, NumCalc est agréable.

Les deux précédentes versions sont toujours disponibles.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Actualité : Marvel : quels sont les prochains films de la phase 6 du MCU ?

Alors que la phase 5 du MCU s'est achevée côté cinéma avec la sortie du film Thunderbolts * (en attendant la série Ironheart côté streaming), l'Univers Cinématographique Marvel ne perd pas de temps et va déjà débuter sa phase 6 dès le mois de juillet 2025.Un nouveau chapitre qui s'annonce massif, et qui emmènera les super-héros de Marvel Studios jusq...

  •  

Actualité : Nouveautés Disney+ : les séries et films à ne pas manquer en juin 2025

Alors que ses rivales Netflix, Prime Video, Max ou encore Canal+ ont déjà dévoilé leurs jeux pour cette fin de printemps, le service de streaming Disney+ arrive aujourd'hui avec son propre arrivage de nouveaux films, séries et documentaires au mois de juin 2025.Une livraison de programmes relativement excitants, du génial Pauvres Créatures au réussi...

  •  

Photos et traces gps dans un blog statique

Cette dépêche va présenter une méthode pour afficher sur un site personnel les traces, récits et photographies de balades (pédestres, cyclistes par exemple).

Comme le contenu à afficher est diversifié (texte, photographies, cartes), la solution retenue sera un blog. Dans un soucis de sobriété numérique, le site sera sans base de données.

Pour l'aspect esthétique, la barre de navigation et les cartes seront situées dans la partie gauche des pages et surtout, la carte ne bougera pas avec la navigation dans la page.

    Sommaire

    N'ayant pas trouvé d'alternative libre à Polarstep, la solution retenue se base sur les briques logicielles libres suivantes :

    • un moteur de blog static : pelican (AGPL v3.0)
    • des thèmes pour le blog
    • des bibliothèques cartographiques : leaflet (BSD 2)

    1 - Préparation de pelican

    Pelican propose d'écrire chaque billet de blogs dans un fichier texte indépendant (au format markdown ou reStructuredText).

    Pelican les convertit en html et l'organisation du site ainsi généré (catégories, mots-clefs, archivage) se fait par le biais de gabarits (qui sont dans un sous-répertoire templates)

    a) Le moteur

    L'installation ne sera pas développée ici, pelican étant disponible dans de nombreuses distributions.

    Il faut créer la structure de travail (dans le répertoire personnel de notre choix) :

    pelican-quickstart
    

    b) Installation du thème graphique

    En allant sur le dépôt des thèmes de pelican, il est possible de trouver le style graphique qui nous convient le mieux.

    Nous allons utiliser le thème pelican-blue (sous licence MIT 2.0), qui a l'avantage d'être simple, et commençons son installation :

    • création du répertoire theme dans notre structure de travail
    • décompression de l'archive du thème dans le répertoire « theme »
    • modification du fichier pelicanconf.py pour configurer notre site. Il faut adapter quelques variables :
    SITENAME = 'Mon blog'
    SITEDESCRIPTION = 'Mes souvenirs de vacances'
    THEME = "./theme/pelican-blue"
    STATIC_PATHS = ['images', 'gpx']
    
    • modifications propres au thème. Souvent l'auteur d'un thème propose de le personnaliser à partir de variables déclarées dans le fichier de configuration.

    c) Écriture du premier billet

    On va créer notre premier billet

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Slug: depart
    Tags: bonjour, balade
    
    Bonjour tout le monde ! Quelle chouette sortie j'ai faite.
    

    d) Génération de notre site

    On lance la première compilation :

    make clean
    make html
    

    On peut voir le résultat :

    • soit en ouvrant directement le fichier index.html (présent dans le répertoire output)
    • soit en lançant un mini serveur web (make serve) et lancer son navigateur web à l'adresse http://localhost:8000/

    Pour plus de renseignements sur pelican, je vous invite à vous rendre sur la documentation du projet.

    2 - Peaufinage de base

    On va maintenant nettoyer le code des gabarits, en supprimant les choses que l'on trouve inutiles ou qui nous déplaisent. Tout se passe dans le répertoire templates de notre thème.

    • il y a les fichiers analytics.html et disqus.html
    • une recherche par mot nous informe des éventuelles références à Google, Twitter, Facebook

    On supprime les parties qui ne nous conviennent pas.

    3 - Gestion cartographique

    Nous attaquons désormais notre objectif : rendre visibles sur des cartes des fichiers de trace.

    a) Gestion des cartes

    On va maintenant configurer la gestion des cartes, par l'intermédiaire de leaflet. Comme l'indique sa page wikipédia, leaflet est très largement utilisé et très pratique.

    On va donc

    • le télécharger,
    • le décompresser dans le répertoire static de notre thème
    • modifier les entêtes de nos gabarits (cela se fait le plus souvent dans le fichier base.html) pour y ajouter au niveau <head> les références à leaflet :
        <link rel="stylesheet" href="{{ SITEURL }}/theme/leaflet/leaflet.css"   integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="  crossorigin=""/>
        <script src="{{ SITEURL }}/theme/leaflet/leaflet.js"  integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="  crossorigin=""></script>

    Comme on a récupéré en local les fichiers, on met des chemins propres à notre arborescence (via {{ SITEURL }}/theme/).

    b) Gestion des fichiers de trace (gpx)

    Elle va se faire par l’intermédiaire d'un module supplémentaire https://github.com/mpetazzoni/leaflet-gpx (BSD 2).

    De la même manière qu'on a intégré dans nos entêtes l'intégration de leaflet, nous allons ajouter une ligne pour faire référence à leaflet-gpx (bien vérifier le nom du fichier javascript) :

    <script src="{{ SITEURL }}/theme/leaflet-gpx/gpx.js"></script>

    Par rapport à la documentation officielle, on retire l'attribut defer (puisque nous utilisons les fichiers locaux et non distants).

    Pour tester notre environnement, on va déposer dans notre répertoire gpx un fichier de trace, puis on va ajouter dans notre billet les éléments de cartographie de notre voyage :

    <div id="map" style="width: 600px; height: 400px;"></div>
    <script>
            var map = L.map('map');
            L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
              attribution: 'Carte et données : <a href="http://www.osm.org">OpenStreetMap</a>'
            }).addTo(map);
            var gpx = '/gpx/FICHIER.gpx';
            new L.GPX(gpx, {async: true}).on('loaded', function(e) {
                map.fitBounds(e.target.getBounds());
            }).addTo(map); 
    </script>

    On regénère notre site web, et on peut visualiser notre billet

    Première version de notre billet

    Globalement, ça fait le boulot.

    Mais on peut améliorer la chose : on peut par exemple cacher les marques de début et de fin d'itinéraire en insérant la ligne suivante après le async: true

    markers: {startIcon: null, endIcon: null, }

    Mais surtout, nous souhaitons que pelican génère automatiquement la partie consacrée au fichier de trace (alors que dans notre test, nous avons dû l'ajouter nous-même) !

    c) Modification des gabarits

    Si l'on veut simplement ajouter notre fichier de trace et que notre gabarit le traite, on va ajouter cette information dans les entêtes de notre fichier markdown ! En effet pelican permet de créer des variables qui seront utilisables dans nos gabarits.

    Nous allons donc créer et utiliser une variable (qui s'appellerait… Gpx par exemple), qui stockera le nom du fichier gpx à afficher (les chemins sont relatifs à notre site web)

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Gpx: /gpx/monfichier.gpx
    Slug: depart
    Tags: bonjour, balade

    Nous modifions ensuite notre gabarit article.html pour qu'il génère la carte à partir de notre variable.

    Pelican est très souple : basé sur Jinja2, il permet les boucles, les conditions et les variables.

    Tous les éléments qu'il utilise sont insérés dans des accolades. Le fonctionnement est facilement lisible et compréhensible.

    On va donc conditonner (avec if) l'insertion de leaflet.

    {% if article.gpx %}
        <div id="map" style="width: 600px; height: 400px;"></div>
    <script>
        var map = L.map('map');
        L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
          attribution: 'Carte et données : <a href="http://www.osm.org">OpenStreetMap</a>'
        }).addTo(map);
    
        var gpx = '{{ article.gpx }}';
        new L.GPX(gpx, {async: true,
                           markers: {startIcon: null, endIcon: null, }
          }).on('loaded', function(e) {
             map.fitBounds(e.target.getBounds());
          }).addTo(map); 
    
    </script>
    {% endif %}

    Bien entendu, nous supprimons ces références du fichier markdown correspondant à notre billet de test.

    On regénère notre site web, et on peut visualiser notre billet… qui n'a pas changé : tout fonctionne. Pour chacune de nos sorties, il suffit donc d'indiquer le fichier de trace dans les entêtes pour que la carte soit insérée automatiquement dans notre billet.

    Passons maintenant à l'intégration de nos photos.

    4 - Gestion des photographies associées à notre cartographie

    Nous avons besoin :

    • d'une image
    • de ses coordonnées géographiques (latitude et longitude)

    Pour cela, nous allons procéder de la même manière que pour le fichier trace : nous allons créer et utiliser des variables dans les entêtes des fichiers markdown.

    a) Fichier des billets

    Nous modifions encore une fois les entêtes en ajoutant autant d'informations (image, latitude et longitude) que de photos à afficher en miniatures.

    Title: Première sortie
    Date: 2025-05-01
    Modified: 2025-05-01
    Category: Lieux
    Gpx: /gpx/monfichier.gpx
    Slug: depart
    Img: /images/image1.jpg
    Lat: 49.895517
    Lon: 2.295983
    Img: /images/image2.jpg
    Lat: 49.89443
    Lon: 2.30137
    Tags: bonjour, balade
    

    On remarque ici que l'on a mis plusieurs images avec les mêmes noms de variables.

    b) Modification des gabarits

    Nous allons ensuite modifier les gabarits de pelican pour qu'ils positionnent des miniatures des photos sur notre trajet.

    Nous allons à nouveau modifier notre fichier article.html, en y ajoutant (à la suite de notre précédente modification, dans la condition {% if article.gpx %}) le code suivant :

    Nous commençons par indiquer l'icône qui s'affichera sur la carte à chaque photo mise en valeur

    var MonIcone = L.icon({
        iconUrl: '/images/app-photo.png',
        iconSize: [36, 36]
    });
    

    Puis nous codons l'affichage du marqueur (qui sera géré par leaflet).

    {% if article.img %}
      {% if article.img is string %}
         imageTxt = 'Description';
         L.marker([{{ article.lat }}, {{ article.lon }}], {icon: MonIcone}).bindPopup(imageTxt + '<br><img src="{{ article.img }}" width="200px"><a href="#bal5">plus de détail</a>').addTo(map);    
      {% else %}
        {% for n in range(article.img| length) %}
           imageTxt = 'Description';
           L.marker([{{ article.lat[n] }}, {{ article.lon[n] }}], {icon: MonIcone}).bindPopup(imageTxt + '<br><img src="{{ article.img[n] }}" width="200px"><a href="#bal5">plus de détail</a>').addTo(map);
        {% endfor %}    
      {% endif %}
    

    La difficulté réside dans la gestion des éléments répétitifs :

    • s'ils sont plusieurs, on peut utiliser les méthodes python des listes.
    • s'il n'y en a qu'un seul, cette méthode renvoie toutes les lettres de notre variable ! Il a donc fallu tester si celle-ci est une chaine de caractères ou une liste.

    Les choix sont ici purement personnels ou démonstatifs :

    • on a laissé une variable imageTxt en dur, elle pourrait être passée dans les entêtes de nos fichiers markdown
    • le texte du popup peut être adapté (on pourrait y ajouter un lien direct vers notre image par exemple)
    • le lien (ancre) est à créer dans notre fichier markdown
    • la taille de l'image du popup est en dur (on peut passer par une feuille de style css)

    On regénère notre site web, et on peut visualiser notre billet :

    Carte avec icones indiquant des lieux visités

    Et lorsqu'on clique sur une icône d'appareil photo, on voit bien notre popup :

    Popup avec la miniature

    c) Gestion des photographies

    Comme indiqué plus haut, la taille des miniatures affichées peut se gérer :

    • par CSS
    • ou créer des miniatures (avec imagemagick) pour diminuer la charge de notre serveur (afficher une photo de 3000 pixels à 200 pixels n'est pas optimal). Dans ce cas, il suffira d'adapter notre gabarit pour lui indiquer où aller chercher les petites images (/images/miniatures/ par exemple)

    Par contre, le point le plus compliqué est la gestion des coordonnées des photographies : il faut les rentrer à la main !

    • Pour les photographies qui n'intègrent pas les coordonnées dans leurs métadonnées, il n'y a pas d'autre solution que d'aller chercher sur une carte (openstreetmap par exemple) et de trouver le lieu de la prise de vue et de repérer les coordonnées.

    • Pour les photographies qui contiennent leurs coordonnées géographiques, on peut utiliser l'outil exiftool pour les récupérer. On peut éventuellement faire un script bash qui affiche les lignes d'entête pour notre billet (on n'a plus qu'à les recopier ou les rediriger vers un fichier texte) :

        for photo in $(ls ./content/images);
        do
            echo ""
            echo "Img: /images/"$photo
            LAT=$(exiftool -n -s3  -gpslatitude ./content/images/$photo)
            echo "Lat: "$LAT
            LONG=$(exiftool -n -s3  -gpslongitude ./content/images/$photo)
            echo "Lon: "$LONG
        done

    Nous avons utilisé les options -n qui affichent les valeurs numériques au format décimal (celui utilisé par openstreetmap pour les coordonnées) et -s3 pour avoir la valeur du champ sans le nom de son attribut.

    5) Dernières modifications

    Nous venons de voir les différentes techniques qui permettent d'avoir le rendu que nous souhaitions. Et le résultat est déjà agréable à regarder.

    Nous pourrions nous arrêter ici, mais vous voulons que la carte reste en permanence dans le menu latéral. La solution est de la mettre dans une balise <aside>.

    a) Modifier les gabarits

    Notre thème comporte déjà une telle balise : elle est dans le fichier base.html… ce qui signifie qu'il ne peut pas voir les informations sur les articles (donc nos entêtes) !

    La solution va donc consister à déplacer, à l'intérieur du fichier article.html, tout notre code dans une section (que nous appellerons mamap :

    {% block mamap %}
        Mettre ici tout le code sur notre gestion cartographique
    {% endblock %}
    

    Et dans le fichier base.html, on va insérer à l'intérieur des balises <aside> son appel (qui ne tient que sur deux lignes) :

    {% block mamap %}
    {% endblock %}
    

    b) Ajuster les feuilles de style

    Il faut surcharger le comportement de la carte gérée par leaflet :

        .leaflet-container {
            width: 400px;
            height: 300px;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

    Et vérifier que les largeurs de la carte, et de <aside> soient compatibles.

    Le résultat avec nos dernières modifications est désormais le suivant

    Site avec la carte à gauche

    6) Conclusion

    Il est temps de finir cette dépêche, dans laquelle nous avons pu découvrir la souplesse et la richesse des gabarits gérés avec jinja2, ainsi que la facilité d'utilisation de leaflet.

    Désormais, dans notre flux de travail, nos répertoires sont organisé ainsi :

    content 
        + gpx : les fichiers de trace
        + images : les photos que l'on veut afficher sur notre blog
        fichierXX.md : les billets
    output : notre site web (généré par pelican)
    theme
        + pelican-blue  : le thème choisi
            + static
                + css
                + leaflet
                + leaflet-gpx
            + templates
    

    Et la rédaction de nos billets consiste à :

    • ajouter le fichier gpx de notre trace dans les entêtes
    • ajouter les informations sur chaque photo que l'on veut voir (toujours dans les entêtes)
    • écrire notre billet normalement (en y ajoutant éventuellement d'autres photos ou des ancres de navigation)

    Cette dépêche démontre qu'il est possible d'avoir, avec les outils actuels, un rendu intéressant pour partager ses sorties. Et totalement utilisable en auto-hébergement.

    Les outils utilisés sont très personnalisables et je vous invite à lire leurs documentations ou à parcourir leurs extensions respectives et de vous les approprier selon votre usage.

    Malheureusement, la solution présentée ne conviendra qu'à une minorité d'utilisateurs. En effet, elle se base sur des éléments qui sont le plus souvent rendus invisibles (site web, transfert de fichiers, métadonnées) et elle est inutilisable sur téléphone.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Actualité : Nouveautés Canal+ : les films et séries à ne pas manquer en juin 2025

    À l'instar de Prime Video, Netflix ou encore Max, Canal+ (et sa plateforme de streaming myCanal) est de retour au mois de juin 2025 avec une livraison de nouveaux films, séries et documentaires.Un arrivage qui vaut le détour, entre le retour attendu de la série Yellowjackets, les pépites du cinéma d'auteur, les blockbusters Wicked et Gladiator II ou...

    •