diff --git a/.gitignore b/.gitignore index 99b19ef..5eade39 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ datasources extractors/**/*.zip extractors/**/*.7z extractors/**/*.json +*.json +*.log diff --git a/.gitmodules b/.gitmodules index 31f2e72..8537862 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "datasources"] path = datasources url = https://github.com/openeventdatabase/datasources.git +[submodule "OEDb_Scrappers"] + path = OEDb_Scrappers + url = https://codeberg.org/K12230LF/OEDb_Scrappers.git diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..6d53d7a 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..082b194 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "makefile.configureOnOpen": false +} \ No newline at end of file diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..8513d71 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,103 @@ +# Changes Implemented + +## 1. Delete Button for Events + +The delete button was already implemented in the event edit page: +- The button exists in `/oedb/resources/demo/templates/edit.html` (line 77) +- The JavaScript functionality to send a DELETE request is implemented in `/oedb/resources/demo/static/edit.js` (lines 167-209) +- When clicked, the button sends a DELETE request to `/event/{id}` and handles the response + +## 2. Force Atlas Graph in Live Page + +Modified the force atlas graph in the live page to use event types from the last 1000 events: +- Updated the API URL in `/oedb/resources/live.py` from: + ```javascript + const API_URL = 'https://api.openeventdatabase.org/event?when=last7days&limit=2000'; + ``` + to: + ```javascript + const API_URL = 'https://api.openeventdatabase.org/event?limit=1000'; + ``` +- The existing implementation already groups events by "what" field in the `buildFamilyGraph` function (lines 321-348) + +## 3. Database Dump Endpoints + +Created new endpoints for database dumps: + +1. Created a new file `/oedb/resources/db_dump.py` with two resource classes: + - `DbDumpListResource`: Lists existing database dumps + - `DbDumpCreateResource`: Creates new dumps in SQL and GeoJSON formats + +2. Implemented features: + - Created a directory to store database dumps + - Used `pg_dump` to create SQL dumps + - Queried the database and converted to GeoJSON for GeoJSON dumps + - Included timestamps in the filenames (e.g., `oedb_dump_20250926_145800.sql`) + - Added proper error handling and logging + +3. Updated `/backend.py` to: + - Import the new resources + - Register the new endpoints: + - `/db/dumps`: Lists all available database dumps + - `/db/dumps/create`: Creates new database dumps + +## Usage + +### Listing Database Dumps + +Send a GET request to `/db/dumps` to get a list of all available database dumps: + +``` +GET /db/dumps +``` + +Response: +```json +{ + "dumps": [ + { + "filename": "oedb_dump_20250926_145800.sql", + "path": "/db/dumps/oedb_dump_20250926_145800.sql", + "size": 1234567, + "created": "2025-09-26T14:58:00", + "type": "sql" + }, + { + "filename": "oedb_dump_20250926_145800.geojson", + "path": "/db/dumps/oedb_dump_20250926_145800.geojson", + "size": 7654321, + "created": "2025-09-26T14:58:00", + "type": "geojson" + } + ] +} +``` + +### Creating Database Dumps + +Send a POST request to `/db/dumps/create` to create new database dumps: + +``` +POST /db/dumps/create +``` + +Response: +```json +{ + "message": "Database dumps created successfully", + "dumps": [ + { + "filename": "oedb_dump_20250926_145800.sql", + "path": "/db/dumps/oedb_dump_20250926_145800.sql", + "type": "sql", + "size": 1234567 + }, + { + "filename": "oedb_dump_20250926_145800.geojson", + "path": "/db/dumps/oedb_dump_20250926_145800.geojson", + "type": "geojson", + "size": 7654321 + } + ] +} +``` \ No newline at end of file diff --git a/LANCER_SERVEUR.md b/LANCER_SERVEUR.md new file mode 100644 index 0000000..4142e93 --- /dev/null +++ b/LANCER_SERVEUR.md @@ -0,0 +1,62 @@ +# Lancement du serveur OEDB avec WebSockets + +Ce document explique comment lancer le serveur OEDB avec le support des WebSockets intégré via uWSGI. + +## Prérequis + +Assurez-vous d'avoir installé les dépendances nécessaires : + +```bash +pip install uwsgi +``` + +## Lancement du serveur + +Pour lancer le serveur avec le support WebSocket, vous avez plusieurs options : + +### Utiliser la commande make + +```bash +make websocket +``` + +Ou pour lancer en arrière-plan (mode démon) : + +```bash +make websocket-daemon +``` + +### Lancer manuellement avec uWSGI + +```bash +uwsgi --ini uwsgi.ini +``` + +Ces commandes démarreront le serveur sur le port 8080 avec le support WebSocket activé sur la route `/ws`. + +## Configuration en production + +En production, vous pouvez utiliser uWSGI avec Nginx. Voici un exemple de configuration Nginx : + +```nginx +server { + listen 80; + server_name votre-domaine.com; + + location / { + include uwsgi_params; + uwsgi_pass 127.0.0.1:8080; + } + + location /ws { + proxy_pass http://127.0.0.1:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } +} +``` + +Cette configuration permet d'utiliser Nginx comme proxy inverse pour les requêtes HTTP normales et les connexions WebSocket. diff --git a/Makefile b/Makefile index 3ccb394..5c7feb5 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,13 @@ LOGFILE ?= uwsgi.log start: python3 -m venv venv - . venv/bin/activate && pip install -r requirements.txt && uwsgi --http :$(PORT) --wsgi-file backend.py --callable app \ No newline at end of file + . venv/bin/activate && pip install -r requirements.txt && uwsgi --http :$(PORT) --wsgi-file backend.py --callable app + +websocket: + python3 -m venv venv + . venv/bin/activate && pip install -r requirements.txt && pip install websockets && uwsgi --ini uwsgi.ini + +# Version en arrière-plan (démon) +websocket-daemon: + python3 -m venv venv + . venv/bin/activate && pip install -r requirements.txt && pip install websockets && uwsgi --ini uwsgi.ini --daemonize $(LOGFILE) \ No newline at end of file diff --git a/OEDb_Scrappers b/OEDb_Scrappers new file mode 160000 index 0000000..df0a6e2 --- /dev/null +++ b/OEDb_Scrappers @@ -0,0 +1 @@ +Subproject commit df0a6e21133d33e0af7e427f39c57c238afc67ac diff --git a/backend.py b/backend.py index fb86c36..db827f2 100644 --- a/backend.py +++ b/backend.py @@ -12,7 +12,7 @@ import falcon # Import utility modules from oedb.utils.logging import logger -from oedb.utils.db import check_db_connection +from oedb.utils.db import check_db_connection, load_env_from_file # Import middleware from oedb.middleware.headers import HeaderMiddleware @@ -24,8 +24,12 @@ from oedb.resources.event import event from oedb.resources.stats import StatsResource from oedb.resources.search import EventSearch from oedb.resources.root import root -from oedb.resources.demo import demo +from oedb.resources.demo import demo, demo_stats +from oedb.resources.live import live +from oedb.resources.rss import rss_latest, rss_by_family from oedb.resources.event_form import event_form +from oedb.resources.db_dump import db_dump_list, db_dump_create +from oedb.resources.quality_assurance import quality_assurance def create_app(): """ @@ -34,6 +38,9 @@ def create_app(): Returns: falcon.App: The configured Falcon application. """ + # Load environment variables from .env (if present) + load_env_from_file() + # Create the Falcon application with middleware logger.info("Initializing Falcon application") app = falcon.App(middleware=[ @@ -47,6 +54,21 @@ def create_app(): static_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'oedb', 'resources', 'demo', 'static')) app.add_static_route('/static/', static_dir) + # Check environment variables + required_env = [ + 'DB_NAME', 'DB_HOST', 'DB_USER', 'POSTGRES_PASSWORD', + 'CLIENT_ID', 'CLIENT_SECRET', 'CLIENT_REDIRECT', 'CLIENT_AUTHORIZATIONS' + ] + optional_env = [ + 'PANORAMAX_UPLOAD_URL', 'PANORAMAX_TOKEN' + ] + missing_required = [k for k in required_env if not os.getenv(k)] + missing_optional = [k for k in optional_env if not os.getenv(k)] + if missing_required: + logger.warning(f"Missing required environment variables: {', '.join(missing_required)}") + if missing_optional: + logger.info(f"Optional environment variables not set: {', '.join(missing_optional)}") + # Check database connection before continuing if not check_db_connection(): logger.error("Cannot start server - PostgreSQL database is not responding") @@ -63,13 +85,23 @@ def create_app(): app.add_route('/event/{id}', event) # Handle single event requests app.add_route('/event', event) # Handle event collection requests app.add_route('/stats', stats) # Handle stats requests + app.add_route('/quality_assurance', quality_assurance) # Handle quality assurance requests app.add_route('/demo', demo) # Handle demo page requests app.add_route('/demo/add', event_form) # Handle event submission form app.add_route('/demo/by-what', demo, suffix='by_what') # Handle events by type page app.add_route('/demo/map-by-what', demo, suffix='map_by_what') # Handle map by event type page + app.add_route('/demo/map-by-what/{event_type}', demo, suffix='map_by_what_type') # Handle map by specific event type app.add_route('/demo/edit/{id}', demo, suffix='edit') # Handle event editing page + app.add_route('/demo/by_id/{id}', demo, suffix='by_id') # Handle view single event by id app.add_route('/demo/traffic', demo, suffix='traffic') # Handle traffic jam reporting page app.add_route('/demo/view-events', demo, suffix='view_events') # Handle view saved events page + app.add_route('/demo/stats', demo_stats) # Handle stats by what page + app.add_route('/demo/property-stats', demo, suffix='property_stats') # Handle property statistics page + app.add_route('/demo/live', live) # Live page + app.add_route('/rss', rss_latest) # RSS latest 200 + app.add_route('/rss/by/{family}', rss_by_family) # RSS by family + app.add_route('/db/dumps', db_dump_list) # List database dumps + app.add_route('/db/dumps/create', db_dump_create) # Create database dumps logger.success("Application initialized successfully") return app diff --git a/create_mock_events.py b/create_mock_events.py index 6e6e58c..571921b 100755 --- a/create_mock_events.py +++ b/create_mock_events.py @@ -38,7 +38,7 @@ CURRENT_DATE = datetime(2025, 9, 15, 23, 0) EVENT_TYPES = ["scheduled", "forecast", "unscheduled"] # Event categories (what) -EVENT_CATEGORIES = ["traffic", "nature", "weather", "sport", "conference", "party"] +EVENT_CATEGORIES = ["traffic", "nature", "weather", "sport", "conference", "party", "community", "wildlife"] # Sample locations (Paris, Lyon, Marseille, Toulouse, Bordeaux, Lille) SAMPLE_LOCATIONS = [ diff --git a/datasources b/datasources deleted file mode 160000 index 4f1410e..0000000 --- a/datasources +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4f1410e69cbee6c1c4f8864240379678ad6162cd diff --git a/doc/api_endpoints.md b/doc/api_endpoints.md new file mode 100644 index 0000000..340417d --- /dev/null +++ b/doc/api_endpoints.md @@ -0,0 +1,160 @@ +# API Endpoints Documentation + +This document provides a comprehensive list of all API endpoints available in the OpenEventDatabase (OEDB) backend. + +## Main API Endpoints + +### Root Endpoint +- **URL**: `/` +- **Method**: GET +- **Description**: Provides general information about the API, including version and available endpoints. +- **Response**: JSON object with API information. + +### Event Endpoints + +#### Get Events +- **URL**: `/event` +- **Method**: GET +- **Description**: Retrieves a collection of events based on query parameters. +- **Query Parameters**: + - `what`: Filter events by type (e.g., `sport.match.football`) + - `when`: Filter events by time period (e.g., `last7days`, `today`, `tomorrow`) + - `limit`: Maximum number of events to return (default: 100) + - `bbox`: Bounding box for geographic filtering (format: `min_lon,min_lat,max_lon,max_lat`) +- **Response**: GeoJSON FeatureCollection of events. + +#### Create Event +- **URL**: `/event` +- **Method**: POST +- **Description**: Creates a new event. +- **Request Body**: GeoJSON Feature representing the event. +- **Response**: JSON object with the created event ID. + +#### Get Event by ID +- **URL**: `/event/{id}` +- **Method**: GET +- **Description**: Retrieves a specific event by its ID. +- **Response**: GeoJSON Feature of the requested event. + +#### Update Event +- **URL**: `/event/{id}` +- **Method**: PUT +- **Description**: Updates an existing event. +- **Request Body**: GeoJSON Feature with updated event data. +- **Response**: JSON object with the updated event ID. + +#### Delete Event +- **URL**: `/event/{id}` +- **Method**: DELETE +- **Description**: Deletes an event by its ID. +- **Response**: JSON object confirming deletion. + +#### Search Events +- **URL**: `/event/search` +- **Method**: GET +- **Description**: Advanced search for events with more complex filtering options. +- **Query Parameters**: Various search parameters (see `/doc/api_search.md` for details). +- **Response**: GeoJSON FeatureCollection of matching events. + +### Statistics Endpoint +- **URL**: `/stats` +- **Method**: GET +- **Description**: Provides statistics about the database, including event counts and recent updates. +- **Response**: JSON object with statistics. + +### RSS Feeds + +#### Latest Events RSS +- **URL**: `/rss` +- **Method**: GET +- **Description**: Provides an RSS feed of the latest 200 events. +- **Response**: XML RSS feed. + +#### Events by Family RSS +- **URL**: `/rss/by/{family}` +- **Method**: GET +- **Description**: Provides an RSS feed of events filtered by family (e.g., sport, culture). +- **Response**: XML RSS feed. + +### Database Dumps + +#### List Database Dumps +- **URL**: `/db/dumps` +- **Method**: GET +- **Description**: Lists all available database dumps. +- **Response**: JSON object with list of dumps. + +#### Create Database Dumps +- **URL**: `/db/dumps/create` +- **Method**: POST +- **Description**: Creates new database dumps in SQL and GeoJSON formats. +- **Response**: JSON object with information about the created dumps. + +## Demo/UI Endpoints + +These endpoints provide web interfaces for interacting with the API: + +### Main Demo Page +- **URL**: `/demo` +- **Method**: GET +- **Description**: Main demo page with a map interface to explore events. + +### Event Submission Form +- **URL**: `/demo/add` +- **Method**: GET +- **Description**: Form for submitting new events. + +### Events by Type +- **URL**: `/demo/by-what` +- **Method**: GET +- **Description**: Page showing events grouped by their type. + +### Map by Event Type +- **URL**: `/demo/map-by-what` +- **Method**: GET +- **Description**: Map interface showing events colored by their type. + +### Event Editing +- **URL**: `/demo/edit/{id}` +- **Method**: GET +- **Description**: Interface for editing an existing event. + +### View Event by ID +- **URL**: `/demo/by_id/{id}` +- **Method**: GET +- **Description**: Page showing details of a specific event. + +### Traffic Jam Reporting +- **URL**: `/demo/traffic` +- **Method**: GET +- **Description**: Interface for reporting traffic jams. + +### View Saved Events +- **URL**: `/demo/view-events` +- **Method**: GET +- **Description**: Page showing events saved by the user. + +### Statistics by Event Type +- **URL**: `/demo/stats` +- **Method**: GET +- **Description**: Page showing statistics grouped by event type. + +### Live Events +- **URL**: `/demo/live` +- **Method**: GET +- **Description**: Real-time view of events with auto-refresh. + +## Static Files +- **URL**: `/static/` +- **Method**: GET +- **Description**: Serves static files (CSS, JavaScript, images) for the demo interfaces. + +## Additional Documentation + +For more detailed information about specific aspects of the API, refer to these documents: + +- [API Query Parameters](/doc/api_query_params.md) +- [API Search](/doc/api_search.md) +- [API Load Testing](/doc/api_load_test.md) +- [Anti-Spam Measures](/doc/anti_spam.md) +- [Demo Endpoint](/doc/demo_endpoint.md) \ No newline at end of file diff --git a/doc/index.html.php b/doc/index.html.php new file mode 100644 index 0000000..005bc91 --- /dev/null +++ b/doc/index.html.php @@ -0,0 +1,64 @@ + +Alimentation et boissons +Animaux domestiques +Apprentissage +Artisanat +Arts +Arts du spectacle et arts visuels +Automobile, bateaux et aéronautique +Causes +Clubs de lecture +Communauté +Comédie +Entreprises +Famille et éducation +Films et médias +Fête +Jeux +LGBTQ +Langue et Culture +Mode et beauté +Musique +Photographie +Plein air et aventure +Politique et organisations +Rencontre +Réseautage +Santé +Science et technologie +Spiritualité, religion et croyances +Sports +Théâtre + + +sport +birthday +party +weather +traffic +nature +conference +music +culture.festival +culture.dragshow +culture.geek +community.osm.event +community.osm.event +culture.geek +culture.art +civic.sanitation.garbage +emergency.medical +emergency.fire +music.festival +music.concert +power.production.unavail +sale +traffic.accident +traffic.roadwork +traffic.obstacle +tourism.exhibition +time.daylight.summer +transport.rail.delay +weather.storm +weather.heat +weather.flood diff --git a/extractors/.gitignore b/extractors/.gitignore new file mode 100644 index 0000000..3866e7b --- /dev/null +++ b/extractors/.gitignore @@ -0,0 +1,3 @@ +test_env +venv +*.log diff --git a/extractors/Makefile b/extractors/Makefile new file mode 100644 index 0000000..2be35bc --- /dev/null +++ b/extractors/Makefile @@ -0,0 +1,114 @@ +# Makefile pour le scraper agenda du libre + +.PHONY: help install test demo monitor clean run setup-cron + +# Configuration par défaut +API_URL ?= https://api.openeventdatabase.org +BATCH_SIZE ?= 1 + +help: ## Afficher l'aide + @echo "🔧 Scraper Agenda du Libre - Commandes disponibles" + @echo "==================================================" + @echo "" + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' + @echo "" + @echo "💡 Variables d'environnement:" + @echo " API_URL URL de l'API OEDB (défaut: https://api.openeventdatabase.org)" + @echo " BATCH_SIZE Taille des batches (défaut: 1)" + @echo "" + @echo "📝 Exemples:" + @echo " make run BATCH_SIZE=5" + @echo " make run API_URL=http://api.example.com:8080" + +install: ## Installer les dépendances + @echo "📦 Installation des dépendances..." + sudo apt update + sudo apt install -y python3-requests python3-icalendar + @echo "✅ Dépendances installées" + +test: ## Exécuter les tests + @echo "🧪 Exécution des tests..." + python3 test_agendadulibre.py + python3 test_api_connection.py --api-url $(API_URL) + +demo: ## Exécuter la démonstration + @echo "🎭 Exécution de la démonstration..." + python3 demo_agendadulibre.py + +monitor: ## Afficher les statistiques + @echo "📊 Affichage des statistiques..." + python3 monitor_agendadulibre.py + +run: ## Exécuter le scraper + @echo "🚀 Exécution du scraper..." + python3 agendadulibre.py --api-url $(API_URL) --batch-size $(BATCH_SIZE) + +run-verbose: ## Exécuter le scraper en mode verbeux + @echo "🚀 Exécution du scraper en mode verbeux..." + python3 agendadulibre.py --api-url $(API_URL) --batch-size $(BATCH_SIZE) --verbose + +run-force: ## Exécuter le scraper en forçant le rechargement + @echo "🚀 Exécution du scraper avec rechargement forcé..." + python3 agendadulibre.py --api-url $(API_URL) --batch-size $(BATCH_SIZE) --force-refresh + +run-cache-test: ## Tester le système de cache + @echo "🔄 Test du système de cache..." + python3 agendadulibre.py --api-url $(API_URL) --batch-size 1 --verbose + @echo " Premier appel terminé, deuxième appel (depuis cache)..." + python3 agendadulibre.py --api-url $(API_URL) --batch-size 1 --verbose + +setup-cron: ## Configurer la planification cron + @echo "⏰ Configuration de la planification cron..." + ./setup_cron.sh + +clean: ## Nettoyer les fichiers temporaires + @echo "🧹 Nettoyage des fichiers temporaires..." + rm -f agendadulibre_events.json + rm -f agendadulibre_events.ics + rm -f agendadulibre_scraper.log + rm -f cron_agendadulibre.log + @echo "✅ Nettoyage terminé" + +status: ## Afficher le statut du système + @echo "📊 Statut du système:" + @echo "====================" + @echo "📁 Fichier de données:" + @if [ -f agendadulibre_events.json ]; then \ + SIZE=$$(stat -c%s agendadulibre_events.json 2>/dev/null || echo "0"); \ + echo " ✅ Présent ($$SIZE octets)"; \ + else \ + echo " ❌ Absent"; \ + fi + @echo "📁 Fichier cache iCal:" + @if [ -f agendadulibre_events.ics ]; then \ + SIZE=$$(stat -c%s agendadulibre_events.ics 2>/dev/null || echo "0"); \ + DATE=$$(stat -c%y agendadulibre_events.ics 2>/dev/null || echo "inconnue"); \ + echo " ✅ Présent ($$SIZE octets)"; \ + echo " 📅 Modifié: $$DATE"; \ + else \ + echo " ❌ Absent"; \ + fi + @echo "" + @echo "📋 Tâches cron:" + @if crontab -l 2>/dev/null | grep -q agendadulibre; then \ + echo " ✅ Tâches configurées:"; \ + crontab -l | grep agendadulibre | sed 's/^/ /'; \ + else \ + echo " ❌ Aucune tâche configurée"; \ + fi + @echo "" + @echo "🔗 Connexion API:" + @python3 -c "import requests; print(' ✅' if requests.get('$(API_URL)', timeout=5).status_code == 200 else ' ❌')" 2>/dev/null || echo " ❌ API non accessible" + +logs: ## Afficher les logs récents + @echo "📋 Logs récents:" + @echo "===============" + @if [ -f agendadulibre_scraper.log ]; then \ + tail -20 agendadulibre_scraper.log; \ + else \ + echo "Aucun fichier de log trouvé"; \ + fi + +check-deps: ## Vérifier les dépendances + @echo "🔍 Vérification des dépendances..." + @python3 -c "import requests, icalendar; print('✅ Toutes les dépendances sont disponibles')" || echo "❌ Dépendances manquantes - exécutez 'make install'" diff --git a/extractors/README_agendadulibre.md b/extractors/README_agendadulibre.md new file mode 100644 index 0000000..1c7b7ff --- /dev/null +++ b/extractors/README_agendadulibre.md @@ -0,0 +1,161 @@ +# Scraper Agenda du Libre + +Script de scraping pour récupérer les événements de l'agenda du libre (https://www.agendadulibre.org/) et les envoyer à l'API OEDB. + +## Fonctionnalités + +- 📥 Récupération automatique du fichier iCal depuis l'agenda du libre +- 🔄 Traitement par batch configurable +- 💾 Sauvegarde locale de l'état des événements (JSON) +- 🚫 Évite les doublons (ne renvoie pas les événements déjà traités) +- 📊 Statistiques détaillées et logging +- 🧪 Mode démo et tests inclus + +## Installation + +1. Installer les dépendances Python : +```bash +pip install -r requirements_agendadulibre.txt +``` + +2. Rendre les scripts exécutables : +```bash +chmod +x agendadulibre.py +chmod +x test_agendadulibre.py +chmod +x demo_agendadulibre.py +``` + +## Utilisation + +### Scraping complet +```bash +# Utilisation basique (1 événement par batch) +python agendadulibre.py + +# Avec options personnalisées +python agendadulibre.py --api-url https://api.openeventdatabase.org --batch-size 5 --verbose +``` + +### Options disponibles +- `--api-url` : URL de base de l'API OEDB (défaut: https://api.openeventdatabase.org) +- `--batch-size` : Nombre d'événements à traiter par batch (défaut: 1) +- `--verbose` : Mode verbeux pour plus de détails +- `--force-refresh` : Forcer le rechargement du fichier iCal (ignorer le cache) +- `--cache-duration` : Durée de validité du cache en heures (défaut: 1) + +### Démonstration +```bash +# Mode démo (ne fait pas d'appels API réels) +python demo_agendadulibre.py +``` + +### Tests +```bash +# Exécuter les tests +python test_agendadulibre.py +``` + +## Fichiers générés + +- `agendadulibre_events.json` : Base de données locale des événements traités +- `agendadulibre_events.ics` : Cache local du fichier iCal (valide 1h) +- `agendadulibre_scraper.log` : Logs détaillés du scraper + +## Système de cache iCal + +Le script utilise un système de cache intelligent pour éviter de télécharger le fichier iCal à chaque exécution : + +- **Cache valide** : Le fichier iCal est mis en cache localement pendant 1 heure par défaut +- **Rechargement automatique** : Si le cache est expiré, le fichier est automatiquement rechargé +- **Fallback** : En cas d'erreur de téléchargement, le script utilise le cache même s'il est expiré +- **Force refresh** : Option `--force-refresh` pour ignorer le cache et forcer le rechargement + +### Avantages du cache +- ⚡ **Performance** : Évite les téléchargements inutiles +- 🔄 **Fiabilité** : Fonctionne même si l'API iCal est temporairement indisponible +- 📊 **Efficacité** : Réduit la charge sur le serveur de l'agenda du libre + +## Format des événements + +Les événements sont convertis au format OEDB avec les propriétés suivantes : + +```json +{ + "properties": { + "label": "Titre de l'événement", + "description": "Description de l'événement", + "what": "culture.geek", + "where": "Lieu de l'événement", + "start": "2024-01-01T10:00:00", + "stop": "2024-01-01T12:00:00", + "url": "https://www.agendadulibre.org/event/123", + "source": "agendadulibre.org", + "last_modified_by": "agendadulibre_scraper" + }, + "geometry": { + "type": "Point", + "coordinates": [0, 0] + } +} +``` + +## Gestion des doublons + +Le script utilise un système de suivi local pour éviter les doublons : + +- Chaque événement reçoit un ID unique basé sur son contenu +- Les événements déjà traités avec succès ne sont pas renvoyés +- Les événements en erreur peuvent être retentés +- Les événements déjà existants (réponse 409) sont marqués comme traités + +## Statuts des événements + +- `saved` : Événement envoyé avec succès à l'API +- `already_exists` : Événement déjà existant dans l'API (réponse 409) +- `error` : Erreur lors de l'envoi à l'API + +## Exemple de sortie + +``` +2024-01-01 10:00:00 - INFO - 🚀 Démarrage du scraping de l'agenda du libre +2024-01-01 10:00:01 - INFO - Récupération du fichier iCal depuis https://www.agendadulibre.org/events.ics +2024-01-01 10:00:02 - INFO - Fichier iCal récupéré avec succès +2024-01-01 10:00:03 - INFO - Traitement de 15 nouveaux événements par batch de 1 +2024-01-01 10:00:04 - INFO - Envoi de l'événement: Conférence Python +2024-01-01 10:00:05 - INFO - ✅ Conférence Python - Créé avec succès +... +2024-01-01 10:00:30 - INFO - 📊 Statistiques finales: +2024-01-01 10:00:30 - INFO - Total d'événements trouvés: 25 +2024-01-01 10:00:30 - INFO - Nouveaux événements envoyés: 12 +2024-01-01 10:00:30 - INFO - Événements déjà existants: 8 +2024-01-01 10:00:30 - INFO - Erreurs d'API: 2 +2024-01-01 10:00:30 - INFO - Erreurs de parsing: 3 +2024-01-01 10:00:30 - INFO - Événements envoyés cette fois: 12 +2024-01-01 10:00:30 - INFO - ✅ Scraping terminé avec succès +``` + +## Planification + +Pour automatiser le scraping, vous pouvez utiliser cron : + +```bash +# Exécuter toutes les heures +0 * * * * cd /path/to/extractors && python agendadulibre.py --batch-size 5 + +# Exécuter tous les jours à 6h +0 6 * * * cd /path/to/extractors && python agendadulibre.py --batch-size 10 +``` + +## Dépannage + +### Erreur de connexion à l'API +- Vérifiez que l'API OEDB est démarrée +- Vérifiez l'URL de l'API avec `--api-url` + +### Erreur de parsing iCal +- Vérifiez la connectivité internet +- Vérifiez que l'URL iCal est accessible + +### Événements non géocodés +- Les événements sont créés avec des coordonnées par défaut [0, 0] +- Un processus de géocodage séparé peut être ajouté si nécessaire diff --git a/extractors/README_agendadulibre_improvements.md b/extractors/README_agendadulibre_improvements.md new file mode 100644 index 0000000..a6bcf46 --- /dev/null +++ b/extractors/README_agendadulibre_improvements.md @@ -0,0 +1,324 @@ +# Améliorations du Scraper Agenda du Libre + +## Nouvelles Fonctionnalités + +### 1. Cache JSON Intelligent +- **Fichier de cache** : `agendadulibre_cache.json` +- **Détection de changements** : Le script détecte si le contenu iCal a changé via un hash MD5 +- **Évite les re-téléchargements** : Si le contenu est identique, utilise le cache existant +- **Suivi des événements traités** : Mémorise les événements déjà traités pour éviter les doublons + +### 2. Limitation du Nombre d'Événements +- **Argument `--max-events`** : Limite le nombre d'événements à traiter +- **Utile pour les tests** : Permet de tester avec un petit nombre d'événements +- **Statistiques** : Affiche le nombre d'événements ignorés à cause de la limite + +### 3. Mode Dry-Run par Défaut +- **Sécurité** : Par défaut, aucun événement n'est envoyé à l'API +- **Simulation** : Affiche ce qui serait envoyé sans faire d'appels API réels +- **Override** : Utilisez `--no-dry-run` pour l'envoi réel + +### 4. Logs Détaillés des Événements +- **Informations complètes** : Affiche tous les détails de l'événement avant insertion +- **Traçabilité** : ID, titre, description, dates, lieu, URL, source, etc. +- **Debugging** : Facilite le diagnostic des problèmes d'insertion +- **Audit** : Permet de vérifier les données avant envoi à l'API + +### 5. Géocodage Automatique Intelligent +- **Priorité GEO** : Extrait d'abord les coordonnées du champ `GEO:` dans l'iCal +- **Détection d'adresses** : Extrait automatiquement les adresses après la première virgule +- **Géocodage Nominatim** : Utilise l'API Nominatim pour obtenir les coordonnées réelles +- **Nettoyage intelligent** : Détecte les numéros d'adresse pour améliorer la précision +- **Fallback robuste** : Utilise le lieu complet si pas d'adresse détectée +- **Respect des limites** : Pause d'1 seconde entre les requêtes Nominatim +- **Optimisation** : Évite le géocodage sur les événements déjà traités avec succès + +### 6. Extraction des Catégories +- **Champ CATEGORIES** : Extrait automatiquement les catégories du champ `CATEGORIES:` de l'iCal +- **Tags multiples** : Support des catégories multiples par événement +- **Intégration OEDB** : Ajoute les catégories comme propriété `tags` dans l'événement +- **Logs informatifs** : Affiche les catégories trouvées dans les logs détaillés + +### 7. Extraction des Propriétés Étendues +- **ORGANIZER** : Extrait l'organisateur de l'événement (email/contact) +- **X-ALT-DESC** : Extrait la description alternative HTML si disponible +- **SUMMARY** : Utilise le résumé comme description courte +- **SEQUENCE** : Extrait le numéro de séquence de l'événement +- **RRULE** : Extrait les règles de répétition pour les événements récurrents +- **Enrichissement complet** : Toutes les métadonnées iCal sont préservées + +### 8. Priorisation des Événements +- **Événements en attente** : Priorité haute pour les événements avec status `pending`, `failed`, `api_error` +- **Cache intelligent** : Vérification dans les données locales et le cache +- **Tri automatique** : Les événements en attente sont traités en premier +- **Logs informatifs** : Indication claire des événements prioritaires avec emoji 🔄 +- **Robustesse** : Retry automatique des événements échoués + +### 9. Traitement Parallèle +- **Activation automatique** : Se déclenche pour plus de 10 événements avec `--parallel` +- **ThreadPoolExecutor** : Utilise `concurrent.futures` pour la parallélisation +- **Workers configurables** : Nombre de workers ajustable avec `--max-workers` +- **Thread-safe** : Méthode `process_single_event()` sécurisée pour les threads +- **Performance** : Amélioration significative pour les gros volumes d'événements + +## Utilisation + +### Commandes de Base + +```bash +# Mode dry-run par défaut (sécurisé) +python agendadulibre.py + +# Limiter à 5 événements en mode dry-run +python agendadulibre.py --max-events 5 + +# Mode réel avec limite de 10 événements +python agendadulibre.py --no-dry-run --max-events 10 + +# Mode verbeux pour voir les détails +python agendadulibre.py --max-events 3 --verbose + +# Forcer le rechargement du fichier iCal +python agendadulibre.py --force-refresh --max-events 5 + +# Traitement parallèle pour gros volumes +python agendadulibre.py --max-events 50 --parallel --max-workers 8 --no-dry-run + +# Traitement parallèle en mode dry-run +python agendadulibre.py --max-events 100 --parallel --max-workers 4 +``` + +### Arguments Disponibles + +| Argument | Description | Défaut | +|----------|-------------|---------| +| `--max-events N` | Limite le nombre d'événements à traiter | Aucune limite | +| `--dry-run` | Mode simulation (par défaut) | Activé | +| `--no-dry-run` | Désactive le mode dry-run | - | +| `--verbose` | Mode verbeux | - | +| `--force-refresh` | Force le rechargement iCal | - | +| `--cache-duration N` | Durée de validité du cache (heures) | 1 | +| `--batch-size N` | Taille des batches | 1 | +| `--api-url URL` | URL de l'API OEDB | https://api.openeventdatabase.org | +| `--parallel` | Activer le traitement parallèle pour plus de 10 événements | False | +| `--max-workers N` | Nombre maximum de workers pour le traitement parallèle | 4 | + +## Fichiers Générés + +### Cache JSON (`agendadulibre_cache.json`) +```json +{ + "processed_events": { + "event_id_1": { + "processed_at": "2024-01-01T12:00:00", + "status": "saved", + "event_label": "Nom de l'événement" + } + }, + "last_ical_fetch": "2024-01-01T12:00:00", + "ical_content_hash": "md5_hash_du_contenu" +} +``` + +### Données d'Événements (`agendadulibre_events.json`) +```json +{ + "events": { + "event_id": { + "status": "saved", + "message": "Créé avec succès", + "last_attempt": "2024-01-01T12:00:00", + "event": { /* données de l'événement */ } + } + }, + "last_update": "2024-01-01T12:00:00" +} +``` + +## Exemples de Sortie + +### Mode Dry-Run avec Logs Détaillés +``` +🚀 Démarrage du scraping de l'agenda du libre +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: OUI +Limite d'événements: 5 +Cache iCal: valide pendant 1h +Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API + +📝 Détails de l'événement à insérer: + ID: 6a575f6a82922f4501854431fc3f831c + Titre: Conférence Python + Description: Présentation sur Python + Type: scheduled + Catégorie: culture.floss + Lieu: Paris, France + Début: 2024-12-01T10:00:00 + Fin: 2024-12-01T12:00:00 + URL: https://example.com/event1 + Source: Agenda du Libre + Coordonnées: [0, 0] + Modifié par: agendadulibre_scraper +[DRY-RUN] Simulation d'envoi de l'événement: Conférence Python +✅ Conférence Python - Simulé (dry-run) +``` + +### Mode Réel avec Propriétés Complètes +``` +🚀 Démarrage du scraping de l'agenda du libre +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: NON +Limite d'événements: 3 + +📍 Coordonnées GEO trouvées: 45.756, 4.84773 +🏷️ Catégories trouvées: entraide, aldil, epn-des-rancy, linux +👤 Organisateur trouvé: mailto:contact@aldil.org +📝 Description courte trouvée: Entraide et Bidouille +🔢 Séquence trouvée: 3 +✅ Coordonnées utilisées depuis le champ GEO: [4.84773, 45.756] + +📝 Détails de l'événement à insérer: + ID: 6a575f6a82922f4501854431fc3f831c + Titre: Entraide et Bidouille + Description: Atelier d'entraide informatique + Type: scheduled + Catégorie: culture.floss + Lieu: Maison pour tous / salle des Rancy, 249 rue Vendôme, Lyon, France + Début: 2024-12-01T10:00:00 + Fin: 2024-12-01T12:00:00 + URL: https://example.com/event1 + Source: Agenda du Libre + Coordonnées: [4.84773, 45.756] + Tags: entraide, aldil, epn-des-rancy, linux + Organisateur: mailto:contact@aldil.org + Description courte: Entraide et Bidouille + Séquence: 3 + Règles de répétition: N/A + Description HTML: N/A + Modifié par: agendadulibre_scraper +🌐 Envoi à l'API: https://api.openeventdatabase.org/event +✅ Événement créé avec succès dans l'API +✅ Entraide et Bidouille - Créé avec succès +``` + +### Mode Réel avec Géocodage Nominatim +``` +🚀 Démarrage du scraping de l'agenda du libre +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: NON +Limite d'événements: 3 + +📍 Adresse potentielle trouvée: 15 rue de la Paix, Paris, France +🌍 Géocodage avec Nominatim: 15 rue de la Paix, Paris, France +✅ Géocodage réussi: 15 rue de la Paix, Paris, France -> (48.8566, 2.3522) + Adresse trouvée: 15 Rue de la Paix, 75001 Paris, France +🎯 Coordonnées mises à jour par géocodage: [0, 0] -> [2.3522, 48.8566] + +📝 Détails de l'événement à insérer: + ID: 6a575f6a82922f4501854431fc3f831c + Titre: Conférence Python + Description: Présentation sur Python + Type: scheduled + Catégorie: culture.floss + Lieu: Centre de conférences, 15 rue de la Paix, Paris, France + Début: 2024-12-01T10:00:00 + Fin: 2024-12-01T12:00:00 + URL: https://example.com/event1 + Source: Agenda du Libre + Coordonnées: [2.3522, 48.8566] + Modifié par: agendadulibre_scraper +🌐 Envoi à l'API: https://api.openeventdatabase.org/event +✅ Événement créé avec succès dans l'API +✅ Conférence Python - Créé avec succès +``` + +### Mode Optimisé - Événements Déjà Traités +``` +🚀 Démarrage du scraping de l'agenda du libre +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: NON + +⏭️ Événement ignoré: Conférence Python - déjà traité (status: saved) +⏭️ Événement ignoré: Atelier Linux - déjà dans le cache (status: saved) +ℹ️ Géocodage ignoré pour Formation Git - déjà traité +ℹ️ Géocodage ignoré - événement déjà traité +📝 Détails de l'événement à insérer: + ID: dd0850de6ed7a6b4d482a7dc5201d09c + Titre: Formation Git + Description: Maîtriser Git + Type: scheduled + Catégorie: culture.floss + Lieu: Espace formation, 42 avenue du Général de Gaulle, Marseille, France + Début: 2024-12-03T09:00:00 + Fin: 2024-12-03T11:00:00 + URL: https://example.com/event3 + Source: Agenda du Libre + Coordonnées: [5.3698, 43.2965] + Modifié par: agendadulibre_scraper +🌐 Envoi à l'API: https://api.openeventdatabase.org/event +⚠️ Événement déjà existant dans l'API +✅ Formation Git - Événement déjà existant +``` + +### Mode Prioritaire - Événements en Attente +``` +🚀 Démarrage du scraping de l'agenda du libre +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: NON + +🔄 Événement en attente prioritaire: Atelier Linux (status: failed) +🔄 Événement en attente du cache: Formation Git (status: pending) +📋 Événements à traiter: 2 (dont 2 en attente) +🔄 Traitement prioritaire: Atelier Linux +📝 Détails de l'événement à insérer: + ID: 5ac96f4ae72cd28d164489580e97daca + Titre: Atelier Linux + Description: Apprendre Linux + Type: scheduled + Catégorie: culture.floss + Lieu: Lyon, France + Début: 2024-12-02T14:00:00 + Fin: 2024-12-02T16:00:00 + URL: https://example.com/event2 + Source: Agenda du Libre + Coordonnées: [4.8357, 45.764] + Modifié par: agendadulibre_scraper +🌐 Envoi à l'API: https://api.openeventdatabase.org/event +✅ Événement créé avec succès dans l'API +✅ Atelier Linux - Créé avec succès +``` + +## Tests + +Exécutez le script de test pour vérifier les fonctionnalités : + +```bash +python test_agendadulibre_improvements.py +``` + +## Avantages + +1. **Sécurité** : Mode dry-run par défaut évite les insertions accidentelles +2. **Performance** : Cache intelligent réduit les téléchargements inutiles +3. **Contrôle** : Limitation du nombre d'événements pour les tests +4. **Traçabilité** : Logs détaillés et fichiers de cache pour le suivi +5. **Flexibilité** : Arguments pour personnaliser le comportement +6. **Géolocalisation précise** : Géocodage automatique des lieux avec coordonnées réelles +7. **Intelligence** : Détection et extraction automatique des adresses +8. **Robustesse** : Fallback intelligent en cas d'échec de géocodage +9. **Optimisation** : Évite les retraitements inutiles des événements déjà envoyés +10. **Efficacité** : Skip automatique du géocodage pour les événements déjà traités +11. **Enrichissement** : Extraction automatique des catégories comme tags +12. **Classification** : Amélioration de la recherche et du filtrage des événements +13. **Métadonnées complètes** : Extraction de toutes les propriétés iCal importantes +14. **Traçabilité** : Organisateur, séquence et règles de répétition préservées +15. **Flexibilité** : Support des descriptions HTML et des événements récurrents +16. **Priorisation intelligente** : Traitement prioritaire des événements en attente +17. **Robustesse** : Retry automatique des événements échoués +18. **Efficacité** : Optimisation du traitement par priorité +19. **Parallélisation** : Traitement simultané pour les gros volumes d'événements +20. **Performance** : Amélioration significative avec `--parallel` et `--max-workers` + +## Migration + +Les anciens scripts continuent de fonctionner, mais il est recommandé d'utiliser les nouveaux arguments pour plus de contrôle et de sécurité. diff --git a/extractors/README_ccpl_agenda.md b/extractors/README_ccpl_agenda.md new file mode 100644 index 0000000..210ad3a --- /dev/null +++ b/extractors/README_ccpl_agenda.md @@ -0,0 +1,231 @@ +# Scraper CCPL Agenda + +Script de scraping pour l'agenda de la CCPL (Communauté de Communes du Pays de Limours) - https://www.cc-paysdelimours.fr/agenda + +## Fonctionnalités + +### 🚀 Scraping HTML Intelligent +- **Parsing HTML** : Extraction des événements depuis la structure HTML de l'agenda CCPL +- **Détection automatique** : Identification des liens d'événements avec classes spécifiques +- **Extraction complète** : Titre, date, URL, image, lieu +- **Détails enrichis** : Récupération des informations depuis les pages individuelles des événements +- **Fallback robuste** : Méthodes alternatives si la structure change + +### 💾 Cache JSON Intelligent +- **Détection de changements** : Hash MD5 du contenu HTML pour éviter les re-traitements +- **Cache persistant** : Sauvegarde des événements traités dans `ccpl_agenda_events.json` +- **Cache de contenu** : Sauvegarde du hash dans `ccpl_agenda_cache.json` +- **Optimisation** : Évite les re-téléchargements inutiles + +### ⚙️ Paramètres Configurables +- **Limite d'événements** : `--max-events N` (défaut: 1) +- **Mode dry-run** : Simulation par défaut, `--no-dry-run` pour l'envoi réel +- **Traitement parallèle** : `--parallel` pour plus de 10 événements +- **Workers** : `--max-workers N` pour le traitement parallèle +- **Cache** : `--cache-duration N` heures de validité + +### 🔄 Traitement Parallèle +- **Activation automatique** : Se déclenche pour plus de 10 événements avec `--parallel` +- **ThreadPoolExecutor** : Utilise `concurrent.futures` pour la parallélisation +- **Workers configurables** : Nombre de workers ajustable avec `--max-workers` +- **Thread-safe** : Méthode `process_single_event()` sécurisée pour les threads + +## Utilisation + +### Commandes de Base + +```bash +# Mode dry-run par défaut (sécurisé) +python ccpl_agenda.py + +# Limiter à 1 événement en mode dry-run +python ccpl_agenda.py --max-events 1 + +# Mode réel avec limite de 5 événements +python ccpl_agenda.py --no-dry-run --max-events 5 + +# Mode verbeux pour voir les détails +python ccpl_agenda.py --max-events 3 --verbose + +# Forcer le rechargement de l'agenda +python ccpl_agenda.py --force-refresh --max-events 3 + +# Traitement parallèle pour gros volumes +python ccpl_agenda.py --max-events 20 --parallel --max-workers 4 --no-dry-run + +# Traitement parallèle en mode dry-run +python ccpl_agenda.py --max-events 50 --parallel --max-workers 8 +``` + +### Arguments Disponibles + +| Argument | Description | Défaut | +|----------|-------------|---------| +| `--max-events N` | Limite le nombre d'événements à traiter | 1 | +| `--dry-run` | Mode simulation (par défaut) | Activé | +| `--no-dry-run` | Désactive le mode dry-run | - | +| `--verbose` | Mode verbeux | - | +| `--force-refresh` | Force le rechargement de l'agenda | - | +| `--cache-duration N` | Durée de validité du cache (heures) | 1 | +| `--batch-size N` | Taille des batches | 1 | +| `--api-url URL` | URL de l'API OEDB | https://api.openeventdatabase.org | +| `--parallel` | Activer le traitement parallèle pour plus de 10 événements | False | +| `--max-workers N` | Nombre maximum de workers pour le traitement parallèle | 4 | + +## Fichiers Générés + +### Cache JSON (`ccpl_agenda_cache.json`) +```json +{ + "processed_events": { + "event_id": { + "processed_at": "2024-01-01T12:00:00", + "status": "saved", + "event_label": "Titre de l'événement" + } + }, + "last_fetch": "2024-01-01T12:00:00", + "content_hash": "abc123..." +} +``` + +### Événements JSON (`ccpl_agenda_events.json`) +```json +{ + "events": { + "event_id": { + "status": "saved", + "message": "Créé avec succès", + "last_attempt": "2024-01-01T12:00:00", + "event": { + "properties": { + "label": "Titre de l'événement", + "description": "Description...", + "type": "scheduled", + "what": "culture.community", + "where": "Pays de Limours, France", + "start": "2024-01-01T10:00:00", + "stop": "2024-01-01T12:00:00", + "url": "https://www.cc-paysdelimours.fr/agenda/event", + "source:name": "CCPL Agenda", + "source:url": "https://www.cc-paysdelimours.fr/agenda", + "last_modified_by": "ccpl_agenda_scraper", + "tags": ["ccpl", "pays-de-limours", "événement-communal"], + "image": "https://www.cc-paysdelimours.fr/image.jpg" + }, + "geometry": { + "type": "Point", + "coordinates": [2.0644, 48.5917] + } + } + } + }, + "last_update": "2024-01-01T12:00:00" +} +``` + +## Structure des Événements + +### Propriétés Extraites +- **Titre** : Extrait depuis `

` +- **Date** : Extrait depuis `` et `` +- **URL** : Lien vers la page détaillée de l'événement +- **Image** : Image de l'événement si disponible +- **Lieu** : Adresse détaillée extraite depuis la page de l'événement +- **Coordonnées** : Coordonnées depuis la carte Leaflet ou par défaut du Pays de Limours +- **Contact** : Téléphone, email et site web extraits depuis la page de l'événement +- **Description** : Description complète de l'événement +- **Horaires** : Informations d'ouverture et de tarifs + +### Format OEDB +Les événements sont formatés selon le standard GeoJSON attendu par l'API OEDB : +- **Type** : `scheduled` (événement programmé) +- **Catégorie** : `culture.community` (événement communautaire) +- **Tags** : `["ccpl", "pays-de-limours", "événement-communal"]` +- **Source** : `CCPL Agenda` avec URL de référence +- **Contact** : `contact:phone`, `contact:email`, `contact:website` si disponibles + +## Exemples de Sortie + +### Mode Dry-Run +``` +🚀 Démarrage du scraping de l'agenda CCPL +Configuration: batch_size=1, api_url=https://api.openeventdatabase.org +Mode dry-run: OUI +Limite d'événements: 3 +============================================================ +🌐 Récupération de l'agenda CCPL: https://www.cc-paysdelimours.fr/agenda +🔄 Nouveau contenu détecté, mise à jour du cache +🔗 30 liens d'événements trouvés +📅 3 événements extraits au total +Traitement de 3 événements +Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API +📝 Détails de l'événement à insérer: + ID: a650b1026dbfe0ae8a8832906591af4d + Titre: Kylen... entre le rêve et la création + Description: Événement organisé par la CCPL - Kylen... entre le rêve et la création + Type: scheduled + Catégorie: culture.community + Lieu: Pays de Limours, France + Début: 2025-09-30T00:00:00 + Fin: 2025-09-30T02:00:00 + URL: https://www.cc-paysdelimours.fr/agenda/kylen...-entre-le-reve-et-la-creation + Source: CCPL Agenda + Coordonnées: [2.0644, 48.5917] + Tags: ccpl, pays-de-limours, événement-communal + Modifié par: ccpl_agenda_scraper + 📞 Téléphone: 0164911908 + 📧 Email: bibliotheque@mairie-limours.fr + 🌐 Site web: https://x.com/CCPAYSDELIMOURS + 🖼️ Image: https://www.cc-paysdelimours.fr/isens_thumb.php?image=... +[DRY-RUN] Simulation d'envoi de l'événement: Kylen... entre le rêve et la création +✅ Kylen... entre le rêve et la création - Simulé (dry-run) +📊 Statistiques finales: + total_events: 3 + new_events: 3 + already_saved: 0 + api_errors: 0 + parse_errors: 0 + sent_this_run: 3 + skipped_due_to_limit: 0 +✅ Scraping terminé avec succès +``` + +### Mode Parallèle +``` +🚀 Traitement parallèle de 20 événements avec 4 workers +Limite d'événements: 20 +Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API +✅ Événement 1 - Simulé (dry-run) +✅ Événement 2 - Simulé (dry-run) +... +📊 Statistiques finales: + total_events: 20 + new_events: 20 + sent_this_run: 20 +``` + +## Avantages + +1. **Sécurité** : Mode dry-run par défaut +2. **Performance** : Cache intelligent et traitement parallèle +3. **Robustesse** : Gestion d'erreurs et fallbacks +4. **Flexibilité** : Paramètres configurables +5. **Traçabilité** : Logs détaillés et sauvegarde des états +6. **Efficacité** : Évite les re-traitements inutiles +7. **Parallélisation** : Traitement simultané pour les gros volumes +8. **Extraction complète** : Toutes les métadonnées disponibles + +## Dépendances + +```bash +pip install -r requirements_ccpl.txt +``` + +- `requests>=2.25.0` : Requêtes HTTP +- `beautifulsoup4>=4.9.0` : Parsing HTML +- `lxml>=4.6.0` : Parser XML/HTML rapide + +## Migration + +Le script est compatible avec la même structure que le scraper agenda du libre, permettant une utilisation cohérente dans l'écosystème OEDB. diff --git a/extractors/README_extractor_events.md b/extractors/README_extractor_events.md new file mode 100644 index 0000000..9c02a62 --- /dev/null +++ b/extractors/README_extractor_events.md @@ -0,0 +1,39 @@ +# Extractors d'évènements (vacances, journées mondiales) + +Scripts CLI ajoutant des évènements dans OEDB, avec cache JSON, paramètres et rapport. + +## Commun +- Cache: dossier `extractors_cache/` (créé automatiquement) +- Paramètres: `--dry-run` pour simuler sans écrire dans OEDB +- API OEDB: `--base-url` (par défaut `https://api.openeventdatabase.org`) + +## Vacances scolaires FR + +```bash +python3 extractors/fr_holidays_extractor.py \ + --start 2025-01-01 --end 2025-12-31 \ + --academie A \ + --cache extractors_cache/fr_holidays_cache.json \ + --cache-ttl $((24*3600)) \ + --base-url https://api.openeventdatabase.org \ + --dry-run +``` + +Sortie: JSON avec `success`, `failed`, `networkErrors`. + +## Journées mondiales / internationales + +```bash +python3 extractors/world_days_extractor.py \ + --year 2025 \ + --cache extractors_cache/world_days_cache.json \ + --cache-ttl $((24*3600)) \ + --base-url https://api.openeventdatabase.org \ + --dry-run +``` + +Remarques: +- Les sources sont branchées de façon minimaliste (exemples). Brancher des sources plus riches selon besoin. +- Conversion en format OEDB: évènements non localisés (Point [0,0]) par défaut, `online=yes` pour journées mondiales. + + diff --git a/extractors/agenda_geek.py b/extractors/agenda_geek.py new file mode 100644 index 0000000..eff6be1 --- /dev/null +++ b/extractors/agenda_geek.py @@ -0,0 +1,415 @@ +#!/usr/bin/env python3 +""" +Scraper pour l'agenda geek - Import des événements dans OEDB + +Usage: + python3 agenda_geek.py --limit 10 --offset 0 + +Options: + --limit: Nombre d'événements à traiter (défaut: 5) + --offset: Nombre d'événements à ignorer (défaut: 0) + --api-url: URL de l'API OEDB (défaut: https://api.openeventdatabase.org) + --dry-run: Mode test sans envoi vers l'API + --verbose: Mode verbeux +""" + +import requests +import argparse +import re +import logging +from bs4 import BeautifulSoup +from icalendar import Calendar +from datetime import datetime, timezone +from urllib.parse import urljoin, urlparse +from typing import Optional, Dict, List, Tuple +import time +import json + +# Configuration du logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + handlers=[ + logging.StreamHandler(), + logging.FileHandler('agenda_geek_scraper.log') + ] +) +logger = logging.getLogger(__name__) + +class AgendaGeekScraper: + def __init__(self, api_url: str = "https://api.openeventdatabase.org", dry_run: bool = False, page: int = 1): + self.api_url = api_url.rstrip('/') + self.dry_run = dry_run + self.page = page + self.session = requests.Session() + self.session.headers.update({ + 'User-Agent': 'OEDB-AgendaGeek-Scraper/1.0 (+https://github.com/cquest/oedb)' + }) + + def get_events_list(self) -> List[str]: + """Récupère la liste des liens d'événements depuis la page principale""" + url = f"https://lagendageek.com/tevents/page/{self.page}" + logger.info(f"🔍 Récupération de la liste des événements depuis {url}") + + try: + response = self.session.get(url, timeout=30) + response.raise_for_status() + + soup = BeautifulSoup(response.content, 'html.parser') + event_links = [] + + # Rechercher les liens des titres d'événements + title_links = soup.find_all('a', class_='tribe-events-calendar-list__event-title-link') + + for link in title_links: + href = link.get('href') + if href: + full_url = urljoin(url, href) + event_links.append(full_url) + logger.debug(f"📅 Événement trouvé: {link.get_text(strip=True)} - {full_url}") + + logger.info(f"✅ {len(event_links)} événements trouvés sur la page") + return event_links + + except requests.RequestException as e: + logger.error(f"❌ Erreur lors de la récupération de la liste: {e}") + return [] + + def get_ical_link(self, event_url: str) -> Optional[str]: + """Extrait le lien iCal depuis une page d'événement""" + logger.debug(f"🔗 Recherche du lien iCal pour {event_url}") + + try: + response = self.session.get(event_url, timeout=30) + response.raise_for_status() + + # Le lien iCal est généralement construit en ajoutant ?ical=1 à l'URL + ical_url = f"{event_url.rstrip('/')}/?ical=1" + + # Vérifier que le lien iCal existe + ical_response = self.session.head(ical_url, timeout=10) + if ical_response.status_code == 200: + logger.debug(f"✅ Lien iCal trouvé: {ical_url}") + return ical_url + else: + logger.warning(f"⚠️ Lien iCal non accessible: {ical_url} (status: {ical_response.status_code})") + return None + + except requests.RequestException as e: + logger.error(f"❌ Erreur lors de la récupération du lien iCal: {e}") + return None + + def parse_ical(self, ical_url: str) -> Optional[Dict]: + """Parse un fichier iCal et extrait les données de l'événement""" + # Convertir webcal:// en https:// + if ical_url.startswith('webcal://'): + ical_url = ical_url.replace('webcal://', 'https://') + + logger.debug(f"📖 Parse du fichier iCal: {ical_url}") + + try: + response = self.session.get(ical_url, timeout=30) + response.raise_for_status() + + # Parser le contenu iCal + cal = Calendar.from_ical(response.content) + + for component in cal.walk(): + if component.name == "VEVENT": + event_data = { + 'summary': str(component.get('SUMMARY', '')), + 'description': str(component.get('DESCRIPTION', '')), + 'location': str(component.get('LOCATION', '')), + 'dtstart': component.get('DTSTART'), + 'dtend': component.get('DTEND'), + 'geo': component.get('GEO'), + 'url': str(component.get('URL', '')), + 'uid': str(component.get('UID', '')) + } + + logger.debug(f"📅 Événement parsé: {event_data['summary']}") + return event_data + + logger.warning("⚠️ Aucun événement VEVENT trouvé dans le fichier iCal") + return None + + except Exception as e: + logger.error(f"❌ Erreur lors du parsing iCal: {e}") + return None + + def geocode_address(self, address: str) -> Optional[Tuple[float, float]]: + """Géocode une adresse en utilisant Nominatim""" + if not address or address.strip() == '': + return None + + logger.debug(f"🌍 Géocodage de l'adresse: {address}") + + try: + # Utiliser Nominatim pour le géocodage + geocode_url = "https://nominatim.openstreetmap.org/search" + params = { + 'q': address, + 'format': 'json', + 'limit': 1, + 'countrycodes': 'fr', # Limiter à la France + 'addressdetails': 1 + } + + response = self.session.get(geocode_url, params=params, timeout=10) + response.raise_for_status() + + results = response.json() + if results: + result = results[0] + lat = float(result['lat']) + lon = float(result['lon']) + logger.debug(f"✅ Géocodage réussi: {lat}, {lon}") + return (lat, lon) + else: + logger.warning(f"⚠️ Aucun résultat de géocodage pour: {address}") + return None + + except Exception as e: + logger.error(f"❌ Erreur lors du géocodage: {e}") + return None + + def extract_coordinates(self, event_data: Dict) -> Optional[Tuple[float, float]]: + """Extrait les coordonnées depuis les données de l'événement""" + # D'abord essayer la propriété GEO + if event_data.get('geo'): + try: + geo = event_data['geo'] + logger.debug(f"🔍 Type GEO trouvé: {type(geo)} - Valeur: {geo}") + + # Cas 1: GEO avec paramètres latitude/longitude + if hasattr(geo, 'params') and 'latitude' in geo.params and 'longitude' in geo.params: + lat = float(geo.params['latitude']) + lon = float(geo.params['longitude']) + logger.debug(f"📍 Coordonnées GEO (params) trouvées: {lat}, {lon}") + return (lat, lon) + + # Cas 2: GEO avec méthode to_ical + elif hasattr(geo, 'to_ical'): + # Format GEO standard: "latitude;longitude" + geo_bytes = geo.to_ical() + # Gérer le cas où c'est déjà une string ou des bytes + if isinstance(geo_bytes, bytes): + geo_str = geo_bytes.decode('utf-8') + else: + geo_str = str(geo_bytes) + + logger.debug(f"🔍 GEO string extrait: '{geo_str}'") + parts = geo_str.split(';') + if len(parts) == 2: + lat = float(parts[0]) + lon = float(parts[1]) + logger.debug(f"📍 Coordonnées GEO parsées: {lat}, {lon}") + return (lat, lon) + + # Cas 3: GEO est directement une string + elif isinstance(geo, str): + logger.debug(f"🔍 GEO est une string directe: '{geo}'") + parts = geo.split(';') + if len(parts) == 2: + lat = float(parts[0]) + lon = float(parts[1]) + logger.debug(f"📍 Coordonnées GEO (string) parsées: {lat}, {lon}") + return (lat, lon) + + # Cas 4: Autres formats possibles + else: + logger.debug(f"🔍 Format GEO non reconnu, tentative de conversion en string: {str(geo)}") + geo_str = str(geo) + if ';' in geo_str: + parts = geo_str.split(';') + if len(parts) == 2: + lat = float(parts[0]) + lon = float(parts[1]) + logger.debug(f"📍 Coordonnées GEO (fallback) parsées: {lat}, {lon}") + return (lat, lon) + + except (ValueError, AttributeError) as e: + logger.warning(f"⚠️ Erreur parsing GEO: {e}") + + # Si pas de GEO, essayer de géocoder la location + location = event_data.get('location', '').strip() + if location: + return self.geocode_address(location) + + return None + + def format_for_oedb(self, event_data: Dict, coordinates: Tuple[float, float], source_url: str) -> Dict: + """Formate les données de l'événement pour l'API OEDB""" + lat, lon = coordinates + + # Convertir les dates + dtstart = event_data.get('dtstart') + dtend = event_data.get('dtend') + + start_iso = None + end_iso = None + + if dtstart: + if hasattr(dtstart, 'dt'): + dt = dtstart.dt + if not isinstance(dt, datetime): + # Si c'est juste une date, créer un datetime + dt = datetime.combine(dt, datetime.min.time()) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=timezone.utc) + start_iso = dt.isoformat() + + if dtend: + if hasattr(dtend, 'dt'): + dt = dtend.dt + if not isinstance(dt, datetime): + dt = datetime.combine(dt, datetime.min.time()) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=timezone.utc) + end_iso = dt.isoformat() + + # Si pas de date de fin, définir à +2h de la date de début + if start_iso and not end_iso: + start_dt = datetime.fromisoformat(start_iso.replace('Z', '+00:00')) + end_dt = start_dt.replace(hour=start_dt.hour + 2) + end_iso = end_dt.isoformat() + + # Construire l'objet pour l'API OEDB + oedb_event = { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [lon, lat] + }, + "properties": { + "label": event_data.get('summary', 'Événement Agenda Geek'), + "type": "scheduled", + "what": "culture.geek", + "start": start_iso, + "stop": end_iso, + "where": event_data.get('location', ''), + "description": event_data.get('description', ''), + "source:name": "L'Agenda Geek", + "source:url": source_url, + "source:uid": event_data.get('uid', ''), + "url": event_data.get('url', source_url) + } + } + + return oedb_event + + def send_to_oedb(self, event: Dict) -> bool: + """Envoie un événement vers l'API OEDB""" + if self.dry_run: + logger.info(f"🏃‍♂️ DRY RUN - Événement qui serait envoyé:") + logger.info(json.dumps(event, indent=2, ensure_ascii=False)) + return True + + try: + response = self.session.post( + f"{self.api_url}/event", + json=event, + timeout=30 + ) + + if response.status_code == 201: + result = response.json() + event_id = result.get('id', 'unknown') + logger.info(f"✅ Événement créé avec succès: ID {event_id}") + return True + elif response.status_code == 409: + logger.info("⚠️ Événement déjà existant (conflit)") + return True # Considérer comme un succès + else: + logger.error(f"❌ Erreur API ({response.status_code}): {response.text}") + return False + + except requests.RequestException as e: + logger.error(f"❌ Erreur lors de l'envoi vers l'API: {e}") + return False + + def process_events(self, limit: int = 5, offset: int = 0) -> None: + """Traite les événements avec pagination""" + logger.info(f"🚀 Début du traitement - Limite: {limit}, Offset: {offset}") + + # Récupérer la liste des événements + event_links = self.get_events_list() + + if not event_links: + logger.error("❌ Aucun événement trouvé") + return + + # Appliquer l'offset et la limite + total_events = len(event_links) + start_idx = min(offset, total_events) + end_idx = min(offset + limit, total_events) + + events_to_process = event_links[start_idx:end_idx] + + logger.info(f"📊 Traitement de {len(events_to_process)} événements ({start_idx+1} à {end_idx} sur {total_events})") + + success_count = 0 + error_count = 0 + + for i, event_url in enumerate(events_to_process, 1): + logger.info(f"🔄 [{i}/{len(events_to_process)}] Traitement de {event_url}") + + try: + # Obtenir le lien iCal + ical_url = self.get_ical_link(event_url) + if not ical_url: + logger.warning(f"⚠️ Pas de lien iCal trouvé pour {event_url}") + error_count += 1 + continue + + # Parser le fichier iCal + event_data = self.parse_ical(ical_url) + if not event_data: + logger.warning(f"⚠️ Impossible de parser l'iCal pour {event_url}") + error_count += 1 + continue + + # Extraire les coordonnées + coordinates = self.extract_coordinates(event_data) + if not coordinates: + logger.warning(f"⚠️ Pas de coordonnées trouvées pour {event_data.get('summary', 'événement sans titre')}") + error_count += 1 + continue + + # Formater pour OEDB + oedb_event = self.format_for_oedb(event_data, coordinates, event_url) + + # Envoyer vers l'API + if self.send_to_oedb(oedb_event): + success_count += 1 + else: + error_count += 1 + + # Pause entre les requêtes pour éviter la surcharge + time.sleep(1) + + except Exception as e: + logger.error(f"❌ Erreur lors du traitement de {event_url}: {e}") + error_count += 1 + + logger.info(f"🏁 Traitement terminé - Succès: {success_count}, Erreurs: {error_count}") + +def main(): + parser = argparse.ArgumentParser(description='Scraper Agenda Geek vers OEDB') + parser.add_argument('--limit', type=int, default=20, help='Nombre d\'événements à traiter') + parser.add_argument('--page', type=int, default=1, help='Numéro de page du site') + parser.add_argument('--offset', type=int, default=0, help='Nombre d\'événements à ignorer') + parser.add_argument('--api-url', default='https://api.openeventdatabase.org', help='URL de l\'API OEDB') + parser.add_argument('--dry-run', action='store_true', help='Mode test sans envoi vers l\'API') + parser.add_argument('--verbose', action='store_true', help='Mode verbeux') + + args = parser.parse_args() + + if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + + scraper = AgendaGeekScraper(api_url=args.api_url, dry_run=args.dry_run, page=args.page) + scraper.process_events(limit=args.limit, offset=args.offset) + +if __name__ == "__main__": + main() diff --git a/extractors/agendadulibre.py b/extractors/agendadulibre.py new file mode 100644 index 0000000..26114f7 --- /dev/null +++ b/extractors/agendadulibre.py @@ -0,0 +1,967 @@ +#!/usr/bin/env python3 +""" +Script de scraping pour l'agenda du libre (https://www.agendadulibre.org/) +Utilise le fichier iCal pour récupérer les événements et les envoyer à l'API OEDB +""" + +import requests +import json +import os +import sys +import argparse +import re +import time +from concurrent.futures import ThreadPoolExecutor, as_completed +from datetime import datetime, timedelta +from typing import Dict, List, Optional, Tuple +import icalendar +from icalendar import Calendar, Event +import logging + +# Configuration par défaut +api_oedb = "https://api.openeventdatabase.org" + +# Configuration du logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + handlers=[ + logging.FileHandler('agendadulibre_scraper.log'), + logging.StreamHandler(sys.stdout) + ] +) +logger = logging.getLogger(__name__) + +class AgendaDuLibreScraper: + def __init__(self, api_base_url: str = api_oedb, batch_size: int = 1, max_events: int = None, dry_run: bool = True, + parallel: bool = False, max_workers: int = 4): + self.api_base_url = api_base_url + self.batch_size = batch_size + self.max_events = max_events + self.dry_run = dry_run + self.parallel = parallel + self.max_workers = max_workers + self.data_file = "agendadulibre_events.json" + self.cache_file = "agendadulibre_cache.json" + self.ical_file = "agendadulibre_events.ics" + self.ical_url = "https://www.agendadulibre.org/events.ics" + self.cache_duration_hours = 1 # Durée de cache en heures + + # Charger les données existantes + self.events_data = self.load_events_data() + self.cache_data = self.load_cache_data() + + def load_events_data(self) -> Dict: + """Charge les données d'événements depuis le fichier JSON local""" + if os.path.exists(self.data_file): + try: + with open(self.data_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + logger.error(f"Erreur lors du chargement du fichier {self.data_file}: {e}") + return {"events": {}, "last_update": None} + return {"events": {}, "last_update": None} + + def load_cache_data(self) -> Dict: + """Charge les données de cache depuis le fichier JSON local""" + if os.path.exists(self.cache_file): + try: + with open(self.cache_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + logger.error(f"Erreur lors du chargement du fichier cache {self.cache_file}: {e}") + return {"processed_events": {}, "last_ical_fetch": None, "ical_content_hash": None} + return {"processed_events": {}, "last_ical_fetch": None, "ical_content_hash": None} + + def save_events_data(self): + """Sauvegarde les données d'événements dans le fichier JSON local""" + try: + with open(self.data_file, 'w', encoding='utf-8') as f: + json.dump(self.events_data, f, ensure_ascii=False, indent=2) + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde du fichier {self.data_file}: {e}") + + def save_cache_data(self): + """Sauvegarde les données de cache dans le fichier JSON local""" + try: + with open(self.cache_file, 'w', encoding='utf-8') as f: + json.dump(self.cache_data, f, ensure_ascii=False, indent=2) + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde du fichier cache {self.cache_file}: {e}") + + def is_ical_cache_valid(self) -> bool: + """Vérifie si le cache iCal est encore valide (moins d'une heure)""" + if not os.path.exists(self.ical_file): + return False + + try: + file_time = os.path.getmtime(self.ical_file) + cache_age = datetime.now().timestamp() - file_time + cache_age_hours = cache_age / 3600 + + logger.debug(f"Cache iCal âgé de {cache_age_hours:.2f} heures") + return cache_age_hours < self.cache_duration_hours + except Exception as e: + logger.error(f"Erreur lors de la vérification du cache iCal: {e}") + return False + + def get_content_hash(self, content: bytes) -> str: + """Calcule le hash du contenu pour détecter les changements""" + import hashlib + return hashlib.md5(content).hexdigest() + + def is_ical_content_changed(self, new_content: bytes) -> bool: + """Vérifie si le contenu iCal a changé depuis la dernière fois""" + new_hash = self.get_content_hash(new_content) + old_hash = self.cache_data.get("ical_content_hash") + return new_hash != old_hash + + def save_ical_cache(self, ical_content: bytes): + """Sauvegarde le contenu iCal en cache local""" + try: + with open(self.ical_file, 'wb') as f: + f.write(ical_content) + logger.info(f"Cache iCal sauvegardé dans {self.ical_file}") + + # Mettre à jour le cache JSON avec le hash du contenu + self.cache_data["ical_content_hash"] = self.get_content_hash(ical_content) + self.cache_data["last_ical_fetch"] = datetime.now().isoformat() + self.save_cache_data() + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde du cache iCal: {e}") + + def load_ical_cache(self) -> Optional[bytes]: + """Charge le contenu iCal depuis le cache local""" + try: + with open(self.ical_file, 'rb') as f: + content = f.read() + logger.info(f"Cache iCal chargé depuis {self.ical_file}") + return content + except Exception as e: + logger.error(f"Erreur lors du chargement du cache iCal: {e}") + return None + + def fetch_ical_data(self, force_refresh: bool = False) -> Optional[Calendar]: + """Récupère et parse le fichier iCal depuis l'agenda du libre ou depuis le cache""" + ical_content = None + + # Vérifier si le cache est valide (sauf si on force le rechargement) + if not force_refresh and self.is_ical_cache_valid(): + logger.info("Utilisation du cache iCal local (moins d'une heure)") + ical_content = self.load_ical_cache() + else: + if force_refresh: + logger.info(f"Rechargement forcé du fichier iCal depuis {self.ical_url}") + else: + logger.info(f"Cache iCal expiré ou absent, téléchargement depuis {self.ical_url}") + + try: + response = requests.get(self.ical_url, timeout=30) + response.raise_for_status() + ical_content = response.content + + # Vérifier si le contenu a changé + if not self.is_ical_content_changed(ical_content): + logger.info("Contenu iCal identique au précédent, utilisation du cache existant") + ical_content = self.load_ical_cache() + else: + logger.info("Nouveau contenu iCal détecté, mise à jour du cache") + # Sauvegarder en cache + self.save_ical_cache(ical_content) + + except requests.RequestException as e: + logger.error(f"Erreur lors de la récupération du fichier iCal: {e}") + # Essayer de charger depuis le cache même s'il est expiré + logger.info("Tentative de chargement depuis le cache expiré...") + ical_content = self.load_ical_cache() + + if ical_content is None: + logger.error("Impossible de récupérer le contenu iCal") + return None + + try: + calendar = Calendar.from_ical(ical_content) + logger.info(f"Fichier iCal parsé avec succès") + return calendar + except Exception as e: + logger.error(f"Erreur lors du parsing du fichier iCal: {e}") + return None + + def parse_event(self, event: Event) -> Optional[Dict]: + """Parse un événement iCal et le convertit au format OEDB""" + try: + # Récupérer les propriétés de base + summary = str(event.get('summary', '')) + description = str(event.get('description', '')) + location = str(event.get('location', '')) + url = str(event.get('url', '')) + + # Extraire les coordonnées GEO si disponibles + geo_coords = self.extract_geo_coordinates(event) + + # Extraire les catégories si disponibles + categories = self.extract_categories(event) + + # Extraire les propriétés supplémentaires + organizer = self.extract_organizer(event) + alt_description = self.extract_alt_description(event) + short_description = self.extract_short_description(event) + sequence = self.extract_sequence(event) + repeat_rules = self.extract_repeat_rules(event) + + # Gestion des dates + dtstart = event.get('dtstart') + dtend = event.get('dtend') + + if not dtstart: + logger.warning(f"Événement sans date de début: {summary}") + return None + + # Convertir les dates + start_date = dtstart.dt + if isinstance(start_date, datetime): + start_iso = start_date.isoformat() + else: + # Date seulement (sans heure) + start_iso = f"{start_date}T00:00:00" + + end_date = None + if dtend: + end_dt = dtend.dt + if isinstance(end_dt, datetime): + end_iso = end_dt.isoformat() + else: + end_iso = f"{end_dt}T23:59:59" + else: + # Si pas de date de fin, ajouter 2 heures par défaut + if isinstance(start_date, datetime): + end_iso = (start_date + timedelta(hours=2)).isoformat() + else: + end_iso = f"{start_date}T02:00:00" + + # Créer l'événement au format OEDB + oedb_event = { + "properties": { + "label": summary, + "description": description, + "type": "scheduled", + "what": "culture.floss", # Type par défaut pour l'agenda du libre + "where": location, + "start": start_iso, + "stop": end_iso, + "url": url if url else None, + "source:name": "Agenda du Libre", + "source:url": "https://www.agendadulibre.org/", + "last_modified_by": "agendadulibre_scraper", + "tags": categories if categories else [], # Ajouter les catégories comme tags + "organizer": organizer, # Organisateur de l'événement + "alt_description": alt_description, # Description alternative HTML + "short_description": short_description, # Description courte + "sequence": sequence, # Numéro de séquence + "repeat_rules": repeat_rules # Règles de répétition + }, + "geometry": { + "type": "Point", + "coordinates": geo_coords if geo_coords else [0, 0] # Utiliser GEO ou coordonnées par défaut + } + } + + # Créer un ID unique basé sur le contenu + event_id = self.generate_event_id(summary, start_iso, location) + + return { + "id": event_id, + "event": oedb_event, + + } + + except Exception as e: + logger.error(f"Erreur lors du parsing de l'événement: {e}") + return None + + def extract_geo_coordinates(self, event: Event) -> Optional[List[float]]: + """Extrait les coordonnées du champ GEO: de l'événement iCal""" + try: + geo = event.get('geo') + if geo: + # Le champ GEO peut être sous différentes formes + if hasattr(geo, 'lat') and hasattr(geo, 'lon'): + # Format avec attributs lat/lon + lat = float(geo.lat) + lon = float(geo.lon) + logger.info(f"📍 Coordonnées GEO trouvées: {lat}, {lon}") + return [lon, lat] # Format GeoJSON (longitude, latitude) + else: + # Format string "latitude;longitude" + geo_str = str(geo) + if ';' in geo_str: + parts = geo_str.split(';') + if len(parts) == 2: + lat = float(parts[0].strip()) + lon = float(parts[1].strip()) + logger.info(f"📍 Coordonnées GEO trouvées: {lat}, {lon}") + return [lon, lat] # Format GeoJSON (longitude, latitude) + else: + logger.debug(f"Format GEO non reconnu: {geo_str}") + else: + logger.debug("Aucun champ GEO trouvé") + return None + except (ValueError, AttributeError, TypeError) as e: + logger.warning(f"Erreur lors de l'extraction des coordonnées GEO: {e}") + return None + except Exception as e: + logger.error(f"Erreur inattendue lors de l'extraction GEO: {e}") + return None + + def extract_categories(self, event: Event) -> List[str]: + """Extrait les catégories du champ CATEGORIES: de l'événement iCal""" + try: + categories = [] + + # Le champ CATEGORIES peut apparaître plusieurs fois + for category in event.get('categories', []): + if category: + # Extraire la valeur de l'objet vCategory + if hasattr(category, 'cats'): + # Si c'est un objet vCategory avec des catégories + for cat in category.cats: + cat_str = str(cat).strip() + if cat_str: + categories.append(cat_str) + else: + # Sinon, convertir directement en string + cat_str = str(category).strip() + if cat_str: + categories.append(cat_str) + + if categories: + logger.info(f"🏷️ Catégories trouvées: {', '.join(categories)}") + else: + logger.debug("Aucune catégorie trouvée") + + return categories + + except Exception as e: + logger.warning(f"Erreur lors de l'extraction des catégories: {e}") + return [] + + def extract_organizer(self, event: Event) -> Optional[str]: + """Extrait l'organisateur du champ ORGANIZER: de l'événement iCal""" + try: + organizer = event.get('organizer') + if organizer: + organizer_str = str(organizer).strip() + if organizer_str: + logger.debug(f"👤 Organisateur trouvé: {organizer_str}") + return organizer_str + return None + except Exception as e: + logger.warning(f"Erreur lors de l'extraction de l'organisateur: {e}") + return None + + def extract_alt_description(self, event: Event) -> Optional[str]: + """Extrait la description alternative HTML du champ X-ALT-DESC;FMTTYPE=text/html: de l'événement iCal""" + try: + # Chercher le champ X-ALT-DESC avec FMTTYPE=text/html + for prop in event.property_items(): + if prop[0] == 'X-ALT-DESC' and hasattr(prop[1], 'params') and prop[1].params.get('FMTTYPE') == 'text/html': + alt_desc = str(prop[1]).strip() + if alt_desc: + logger.debug(f"📄 Description alternative HTML trouvée: {len(alt_desc)} caractères") + return alt_desc + return None + except Exception as e: + logger.warning(f"Erreur lors de l'extraction de la description alternative: {e}") + return None + + def extract_short_description(self, event: Event) -> Optional[str]: + """Extrait la description courte du champ SUMMARY: de l'événement iCal""" + try: + summary = event.get('summary') + if summary: + summary_str = str(summary).strip() + if summary_str: + logger.debug(f"📝 Description courte trouvée: {summary_str}") + return summary_str + return None + except Exception as e: + logger.warning(f"Erreur lors de l'extraction de la description courte: {e}") + return None + + def extract_sequence(self, event: Event) -> Optional[int]: + """Extrait le numéro de séquence du champ SEQUENCE: de l'événement iCal""" + try: + sequence = event.get('sequence') + if sequence is not None: + seq_num = int(sequence) + logger.debug(f"🔢 Séquence trouvée: {seq_num}") + return seq_num + return None + except (ValueError, TypeError) as e: + logger.warning(f"Erreur lors de l'extraction de la séquence: {e}") + return None + except Exception as e: + logger.warning(f"Erreur inattendue lors de l'extraction de la séquence: {e}") + return None + + def extract_repeat_rules(self, event: Event) -> Optional[str]: + """Extrait les règles de répétition du champ RRULE: de l'événement iCal""" + try: + # Essayer différentes variantes de casse + rrule = event.get('rrule') or event.get('RRULE') or event.get('Rrule') + + if rrule: + rrule_str = str(rrule).strip() + if rrule_str: + logger.info(f"🔄 Règles de répétition trouvées: {rrule_str}") + return rrule_str + + # Vérifier aussi dans les propriétés avec parcours manuel + for prop in event.property_items(): + if prop[0].upper() == 'RRULE': + rrule_str = str(prop[1]).strip() + if rrule_str: + logger.info(f"🔄 Règles de répétition trouvées (parcours): {rrule_str}") + return rrule_str + + # Note: Pas de log ici car c'est normal qu'il n'y ait pas de RRULE + # dans tous les événements (seulement les événements récurrents en ont) + return None + except Exception as e: + logger.warning(f"Erreur lors de l'extraction des règles de répétition: {e}") + return None + + def generate_event_id(self, summary: str, start_date: str, location: str) -> str: + """Génère un ID unique pour l'événement""" + import hashlib + content = f"{summary}_{start_date}_{location}" + return hashlib.md5(content.encode('utf-8')).hexdigest() + + def clean_location_for_geocoding(self, location: str) -> Optional[str]: + """Nettoie le lieu pour le géocodage en extrayant l'adresse après la première virgule""" + if not location or location.strip() == "": + return None + + # Diviser par la première virgule + parts = location.split(',', 1) + if len(parts) > 1: + # Prendre la partie après la première virgule + address_part = parts[1].strip() + + # Vérifier si on a un numéro et une adresse + # Pattern pour détecter un numéro suivi d'une adresse + address_pattern = r'^\s*\d+.*' + if re.match(address_pattern, address_part): + logger.info(f"📍 Adresse potentielle trouvée: {address_part}") + return address_part + + # Si pas de virgule ou pas d'adresse valide, essayer le lieu complet + logger.info(f"📍 Tentative de géocodage avec le lieu complet: {location}") + return location.strip() + + def geocode_with_nominatim(self, location: str) -> Optional[Tuple[float, float]]: + """Géocode un lieu avec Nominatim""" + if not location: + return None + + try: + # URL de l'API Nominatim + nominatim_url = "https://nominatim.openstreetmap.org/search" + + # Paramètres de la requête + params = { + 'q': location, + 'format': 'json', + 'limit': 1, + 'countrycodes': 'fr', # Limiter à la France + 'addressdetails': 1 + } + + headers = { + 'User-Agent': 'AgendaDuLibreScraper/1.0 (contact@example.com)' + } + + logger.info(f"🌍 Géocodage avec Nominatim: {location}") + + # Faire la requête avec un timeout + response = requests.get(nominatim_url, params=params, headers=headers, timeout=10) + response.raise_for_status() + + # Parser la réponse + results = response.json() + + if results and len(results) > 0: + result = results[0] + lat = float(result['lat']) + lon = float(result['lon']) + + logger.info(f"✅ Géocodage réussi: {location} -> ({lat}, {lon})") + logger.info(f" Adresse trouvée: {result.get('display_name', 'N/A')}") + + # Respecter la limite de 1 requête par seconde pour Nominatim + time.sleep(1) + + return (lon, lat) # Retourner (longitude, latitude) pour GeoJSON + else: + logger.warning(f"⚠️ Aucun résultat de géocodage pour: {location}") + return None + + except requests.RequestException as e: + logger.error(f"❌ Erreur de connexion Nominatim: {e}") + return None + except (ValueError, KeyError) as e: + logger.error(f"❌ Erreur de parsing Nominatim: {e}") + return None + except Exception as e: + logger.error(f"❌ Erreur inattendue lors du géocodage: {e}") + return None + + def improve_event_coordinates(self, event_data: Dict) -> Dict: + """Améliore les coordonnées de l'événement si nécessaire""" + coords = event_data["event"]["geometry"]["coordinates"] + + # Vérifier si les coordonnées sont par défaut (0, 0) + if coords == [0, 0]: + location = event_data["event"]["properties"].get("where", "") + + if location: + # Nettoyer le lieu pour le géocodage + clean_location = self.clean_location_for_geocoding(location) + + if clean_location: + # Tenter le géocodage + new_coords = self.geocode_with_nominatim(clean_location) + + if new_coords: + # Mettre à jour les coordonnées + event_data["event"]["geometry"]["coordinates"] = list(new_coords) + logger.info(f"🎯 Coordonnées mises à jour par géocodage: {coords} -> {new_coords}") + else: + logger.warning(f"⚠️ Impossible de géocoder: {clean_location}") + else: + logger.info(f"ℹ️ Lieu non géocodable: {location}") + else: + logger.info("ℹ️ Aucun lieu spécifié pour le géocodage") + else: + # Vérifier si les coordonnées viennent du champ GEO + geo_coords = event_data.get("raw_ical", {}).get("geo") + if geo_coords: + logger.info(f"✅ Coordonnées utilisées depuis le champ GEO: {coords}") + else: + logger.info(f"ℹ️ Coordonnées déjà définies: {coords}") + + return event_data + + def log_event_details(self, event_data: Dict): + """Log détaillé de l'événement avant envoi""" + props = event_data["event"]["properties"] + geom = event_data["event"]["geometry"] + + logger.info("📝 Détails de l'événement à insérer:") + # INSERT_YOUR_CODE + # Affiche un dump lisible de l'événement avec json.dumps (indentation) + try: + logger.info(json.dumps(event_data, ensure_ascii=False, indent=2)) + except Exception as e: + logger.warning(f"Erreur lors de l'affichage lisible de l'événement: {e}") + # logger.info(event_data) + # logger.info(f" ID: {event_data['id']}") + # logger.info(f" Titre: {props.get('label', 'N/A')}") + # logger.info(f" Description: {props.get('description', 'N/A')[:100]}{'...' if len(props.get('description', '')) > 100 else ''}") + # logger.info(f" Type: {props.get('type', 'N/A')}") + # logger.info(f" Catégorie: {props.get('what', 'N/A')}") + # logger.info(f" Lieu: {props.get('where', 'N/A')}") + # logger.info(f" Début: {props.get('start', 'N/A')}") + # logger.info(f" Fin: {props.get('stop', 'N/A')}") + # logger.info(f" URL: {props.get('url', 'N/A')}") + # logger.info(f" Source: {props.get('source:name', 'N/A')}") + # logger.info(f" Coordonnées: {geom.get('coordinates', 'N/A')}") + # logger.info(f" Tags: {', '.join(props.get('tags', [])) if props.get('tags') else 'N/A'}") + # logger.info(f" Organisateur: {props.get('organizer', 'N/A')}") + # logger.info(f" Description courte: {props.get('short_description', 'N/A')}") + # logger.info(f" Séquence: {props.get('sequence', 'N/A')}") + # logger.info(f" Règles de répétition: {props.get('repeat_rules', 'N/A')}") + # logger.info(f" Description HTML: {'Oui' if props.get('alt_description') else 'N/A'}") + # logger.info(f" Modifié par: {props.get('last_modified_by', 'N/A')}") + + def send_event_to_api(self, event_data: Dict, skip_geocoding: bool = False) -> Tuple[bool, str]: + """Envoie un événement à l'API OEDB (ou simule en mode dry-run)""" + # Améliorer les coordonnées si nécessaire (sauf si déjà traité) + if not skip_geocoding: + event_data = self.improve_event_coordinates(event_data) + else: + logger.info("ℹ️ Géocodage ignoré - événement déjà traité") + + # Log détaillé de l'événement + self.log_event_details(event_data) + + if self.dry_run: + logger.info(f"[DRY-RUN] Simulation d'envoi de l'événement: {event_data['event']['properties']['label']}") + return True, "Simulé (dry-run)" + + try: + url = f"{self.api_base_url}/event" + headers = {"Content-Type": "application/json"} + + # Formater l'événement au format GeoJSON attendu par l'API + geojson_event = { + "type": "Feature", + "geometry": event_data["event"]["geometry"], + "properties": event_data["event"]["properties"] + } + + logger.info(f"🌐 Envoi à l'API: {url}") + response = requests.post(url, json=geojson_event, headers=headers, timeout=30) + + if response.status_code == 201: + logger.info("✅ Événement créé avec succès dans l'API") + return True, "Créé avec succès" + elif response.status_code == 409: + logger.warning("⚠️ Événement déjà existant dans l'API") + return False, "Événement déjà existant" + else: + logger.error(f"❌ Erreur API: {response.status_code} - {response.text}") + return False, f"Erreur API: {response.status_code} - {response.text}" + + except requests.RequestException as e: + logger.error(f"❌ Erreur de connexion: {e}") + return False, f"Erreur de connexion: {e}" + except Exception as e: + logger.error(f"❌ Erreur inattendue: {e}") + return False, f"Erreur inattendue: {e}" + + def process_single_event(self, event_data: Dict) -> Tuple[str, bool, str]: + """Traite un événement individuellement (thread-safe)""" + event_id = event_data["id"] + event_label = event_data["event"]["properties"]["label"] + + try: + # Vérifier si l'événement a déjà été traité avec succès + skip_geocoding = False + if event_id in self.events_data["events"]: + event_status = self.events_data["events"][event_id].get("status", "unknown") + if event_status in ["saved", "already_exists"]: + skip_geocoding = True + logger.info(f"ℹ️ Géocodage ignoré pour {event_label} - déjà traité") + + # Envoyer à l'API + success, message = self.send_event_to_api(event_data, skip_geocoding=skip_geocoding) + + return event_id, success, message + + except Exception as e: + logger.error(f"❌ Erreur lors du traitement de {event_label}: {e}") + return event_id, False, f"Erreur: {e}" + + def process_events(self, calendar: Calendar) -> Dict: + """Traite tous les événements du calendrier""" + stats = { + "total_events": 0, + "new_events": 0, + "already_saved": 0, + "api_errors": 0, + "parse_errors": 0, + "sent_this_run": 0, + "skipped_due_to_limit": 0 + } + + events_to_process = [] + pending_events = [] # Événements en attente d'envoi + processed_count = 0 + + # Parcourir tous les événements + for component in calendar.walk(): + if component.name == "VEVENT": + stats["total_events"] += 1 + + # Parser l'événement + parsed_event = self.parse_event(component) + if not parsed_event: + stats["parse_errors"] += 1 + continue + + event_id = parsed_event["id"] + event_label = parsed_event["event"]["properties"]["label"] + + # Vérifier le statut de l'événement + event_status = None + skip_reason = "" + + # Vérifier dans les données d'événements + if event_id in self.events_data["events"]: + event_status = self.events_data["events"][event_id].get("status", "unknown") + if event_status in ["saved", "already_exists"]: + stats["already_saved"] += 1 + logger.info(f"⏭️ Événement ignoré: {event_label} - déjà traité (status: {event_status})") + continue + + # Vérifier dans le cache des événements traités + if event_id in self.cache_data["processed_events"]: + cache_status = self.cache_data["processed_events"][event_id].get("status", "unknown") + if cache_status in ["saved", "already_exists"]: + stats["already_saved"] += 1 + logger.info(f"⏭️ Événement ignoré: {event_label} - déjà dans le cache (status: {cache_status})") + continue + + # Déterminer la priorité de l'événement + priority = 0 # 0 = nouveau, 1 = en attente, 2 = échec précédent + + if event_status in ["pending", "failed", "api_error"]: + priority = 1 # Priorité haute pour les événements en attente + logger.info(f"🔄 Événement en attente prioritaire: {event_label} (status: {event_status})") + elif event_id in self.cache_data["processed_events"]: + cache_status = self.cache_data["processed_events"][event_id].get("status", "unknown") + if cache_status in ["pending", "failed", "api_error"]: + priority = 1 # Priorité haute pour les événements en attente dans le cache + logger.info(f"🔄 Événement en attente du cache: {event_label} (status: {cache_status})") + + # Ajouter l'événement avec sa priorité + event_with_priority = { + "event": parsed_event, + "priority": priority, + "event_id": event_id, + "event_label": event_label + } + + if priority > 0: + pending_events.append(event_with_priority) + else: + events_to_process.append(event_with_priority) + + # Trier les événements : d'abord les événements en attente, puis les nouveaux + all_events = pending_events + events_to_process + all_events.sort(key=lambda x: x["priority"], reverse=True) # Priorité décroissante + + # Appliquer la limite d'événements + if self.max_events: + all_events = all_events[:self.max_events] + if len(pending_events) + len(events_to_process) > self.max_events: + stats["skipped_due_to_limit"] = len(pending_events) + len(events_to_process) - self.max_events + + # Extraire les événements pour le traitement + events_to_process = [item["event"] for item in all_events] + + # Traiter les événements + if self.parallel and len(events_to_process) > 10: + logger.info(f"🚀 Traitement parallèle de {len(events_to_process)} événements avec {self.max_workers} workers") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + if self.dry_run: + logger.info("Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API") + + # Traitement parallèle + with ThreadPoolExecutor(max_workers=self.max_workers) as executor: + # Soumettre tous les événements + future_to_event = { + executor.submit(self.process_single_event, event_data): event_data + for event_data in events_to_process + } + + # Traiter les résultats au fur et à mesure + for future in as_completed(future_to_event): + event_data = future_to_event[future] + event_id, success, message = future.result() + event_label = event_data["event"]["properties"]["label"] + + # Mettre à jour les statistiques et les données locales + if success: + stats["new_events"] += 1 + stats["sent_this_run"] += 1 + self.events_data["events"][event_id] = { + "status": "saved", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache des événements traités + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "saved", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + if "déjà existant" in message or "already exists" in message.lower(): + stats["already_saved"] += 1 + self.events_data["events"][event_id] = { + "status": "already_exists", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache même si déjà existant + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "already_exists", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + stats["api_errors"] += 1 + self.events_data["events"][event_id] = { + "status": "api_error", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + logger.error(f"❌ {event_label} - {message}") + + # Sauvegarder les données après chaque événement + self.save_events_data() + self.save_cache_data() + else: + # Traitement séquentiel (mode original) + logger.info(f"Traitement séquentiel de {len(events_to_process)} événements par batch de {self.batch_size}") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + if self.dry_run: + logger.info("Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API") + + for i in range(0, len(events_to_process), self.batch_size): + batch = events_to_process[i:i + self.batch_size] + logger.info(f"Traitement du batch {i//self.batch_size + 1}/{(len(events_to_process) + self.batch_size - 1)//self.batch_size}") + + for event_data in batch: + event_id, success, message = self.process_single_event(event_data) + event_label = event_data["event"]["properties"]["label"] + + # Mettre à jour les statistiques et les données locales + if success: + stats["new_events"] += 1 + stats["sent_this_run"] += 1 + self.events_data["events"][event_id] = { + "status": "saved", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache des événements traités + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "saved", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + if "déjà existant" in message or "already exists" in message.lower(): + stats["already_saved"] += 1 + self.events_data["events"][event_id] = { + "status": "already_exists", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache même si déjà existant + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "already_exists", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + stats["api_errors"] += 1 + self.events_data["events"][event_id] = { + "status": "api_error", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + logger.error(f"❌ {event_label} - {message}") + + # Sauvegarder les données après chaque événement + self.save_events_data() + self.save_cache_data() + + # Mettre à jour la date de dernière mise à jour + self.events_data["last_update"] = datetime.now().isoformat() + + # Sauvegarder le cache + self.save_cache_data() + + return stats + + def run(self, force_refresh: bool = False): + """Exécute le scraping complet""" + logger.info("🚀 Démarrage du scraping de l'agenda du libre") + logger.info(f"Configuration: batch_size={self.batch_size}, api_url={self.api_base_url}") + logger.info(f"Mode dry-run: {'OUI' if self.dry_run else 'NON'}") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + logger.info(f"Cache iCal: {'ignoré' if force_refresh else f'valide pendant {self.cache_duration_hours}h'}") + + # Récupérer le fichier iCal + calendar = self.fetch_ical_data(force_refresh=force_refresh) + if not calendar: + logger.error("❌ Impossible de récupérer le fichier iCal") + return False + + # Traiter les événements + stats = self.process_events(calendar) + + # Sauvegarder les données + self.save_events_data() + + # Afficher les statistiques finales + logger.info("📊 Statistiques finales:") + logger.info(f" Total d'événements trouvés: {stats['total_events']}") + logger.info(f" Nouveaux événements envoyés: {stats['new_events']}") + logger.info(f" Événements déjà existants: {stats['already_saved']}") + logger.info(f" Erreurs d'API: {stats['api_errors']}") + logger.info(f" Erreurs de parsing: {stats['parse_errors']}") + logger.info(f" Événements envoyés cette fois: {stats['sent_this_run']}") + if stats['skipped_due_to_limit'] > 0: + logger.info(f" Événements ignorés (limite atteinte): {stats['skipped_due_to_limit']}") + + logger.info("✅ Scraping terminé avec succès") + return True + +def main(): + parser = argparse.ArgumentParser(description="Scraper pour l'agenda du libre") + parser.add_argument("--api-url", default=api_oedb, + help=f"URL de base de l'API OEDB (défaut: {api_oedb})") + parser.add_argument("--batch-size", type=int, default=1, + help="Nombre d'événements à envoyer par batch (défaut: 1)") + parser.add_argument("--max-events", type=int, default=None, + help="Limiter le nombre d'événements à traiter (défaut: aucun)") + parser.add_argument("--dry-run", action="store_true", default=True, + help="Mode dry-run par défaut (simulation sans envoi à l'API)") + parser.add_argument("--no-dry-run", action="store_true", + help="Désactiver le mode dry-run (envoi réel à l'API)") + parser.add_argument("--verbose", "-v", action="store_true", + help="Mode verbeux") + parser.add_argument("--force-refresh", "-f", action="store_true", + help="Forcer le rechargement du fichier iCal (ignorer le cache)") + parser.add_argument("--cache-duration", type=int, default=1, + help="Durée de validité du cache en heures (défaut: 1)") + parser.add_argument("--parallel", action="store_true", + help="Activer le traitement parallèle pour plus de 10 événements") + parser.add_argument("--max-workers", type=int, default=4, + help="Nombre maximum de workers pour le traitement parallèle (défaut: 4)") + + args = parser.parse_args() + + if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + + # Déterminer le mode dry-run + dry_run = args.dry_run and not args.no_dry_run + + # Créer et exécuter le scraper + scraper = AgendaDuLibreScraper( + api_base_url=args.api_url, + batch_size=args.batch_size, + max_events=args.max_events, + dry_run=dry_run, + parallel=args.parallel, + max_workers=args.max_workers + ) + + # Modifier la durée de cache si spécifiée + scraper.cache_duration_hours = args.cache_duration + + # Exécuter avec ou sans rechargement forcé + success = scraper.run(force_refresh=args.force_refresh) + sys.exit(0 if success else 1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/extractors/agendadulibre_events.ics b/extractors/agendadulibre_events.ics new file mode 100644 index 0000000..4f51aa8 --- /dev/null +++ b/extractors/agendadulibre_events.ics @@ -0,0 +1,58933 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:icalendar-ruby +CALSCALE:GREGORIAN +METHOD:PUBLISH +BEGIN:VTIMEZONE +TZID:Europe/Paris +BEGIN:DAYLIGHT +DTSTART:20250330T030000 +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 +TZNAME:CEST +END:DAYLIGHT +BEGIN:STANDARD +DTSTART:20251026T020000 +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:CET +END:STANDARD +END:VTIMEZONE +BEGIN:VTIMEZONE +TZID:Europe/Zurich +BEGIN:DAYLIGHT +DTSTART:20250330T030000 +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 +TZNAME:CEST +END:DAYLIGHT +BEGIN:STANDARD +DTSTART:20251026T020000 +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:CET +END:STANDARD +END:VTIMEZONE +BEGIN:VTIMEZONE +TZID:Europe/Brussels +BEGIN:DAYLIGHT +DTSTART:20250330T030000 +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 +TZNAME:CEST +END:DAYLIGHT +BEGIN:STANDARD +DTSTART:20251026T020000 +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZNAME:CET +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T120335 +UID:33506@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251007T140000 +DTEND;TZID=Europe/Paris:20251010T200000 +DESCRIPTION:**[Rencontres Amicales Francophones du Logiciel Libre (#RAFLL20 + 25)](/events/)**\n\nMardi 07 au vendredi 10 octobre 2025 de 14h00 à 20h00 + \nAtelier des Pigistes\, 171 bis\, rue Frimaire\, 34000 Montpellier\nJOUR + 1 - LES INDUSTRIES CULTURELLES ET CRÉATIVES EN LIEN AVEC LES LOGICIELS LI + BRES\nJOUR 2 - L'ÉDUCATION AUX USAGES DU NUMÉRIQUE\, L'ENSEIGNEMENT\, LA + RECHERCHE ET LES LOGICIELS LIBRES\nJOUR 3 - RENCONTRE DES LIBRISTES ET DE + S ACTEURS DE L'ÉCONOMIE SOCIALE ET SOLIDAIRE\nJOUR 4 - LOGICIELS LIBRES E + T DÉVELOPPEMENT DURABLE\n[Visio][1] \\| [Inscriptions][2] \\| [GPS][3 + ] 43.60305/3.89786\n\n\n\n[1]: https://visio.rafll.org/rooms/sll-hts-cfa-d + h3/join\n[2]: https://rafll.org/docs/RAFLL2025_Activite_Stand_Lieu.pdf\n[3 + ]: https://www.openstreetmap.org/#map=19/43.60305/3.89786\n +GEO:43.6032;3.8991 +LOCATION:Atelier des Pigistes\, 171 bis\, rue Frimaire\, Montpellier\, Occi + tanie\, France +ORGANIZER:mailto:contact@montpellibre.fr +SEQUENCE:2 +SUMMARY:Rencontres Amicales Francophones du Logiciel Libre (#RAFLL2025) +URL;VALUE=URI:https://montpellibre.fr +CATEGORIES:montpel-libre +CATEGORIES:logiciels-libres +CATEGORIES:rafll +CATEGORIES:rencontres +CATEGORIES:amicales +CATEGORIES:francophones +X-ALT-DESC;FMTTYPE=text/html:

Rencontres Amicales Francophones du Logiciel Libre (#RAFLL2025)Rencontres Amicales Francophones du Logiciel Libre (# + RAFLL2025)

\n

Mardi 07 au vendredi + 10 octobre 2025 de 14h00 à 20h00
Atelier des Pigistes\, 171 bis\, rue + Frimaire\, 34000 Montpellier
JOUR 1 - LES INDUSTRIES CULTURELLES ET CR + ÉATIVES EN LIEN AVEC LES LOGICIELS LIBRES
JOUR 2 - L'ÉDUCATION AUX US + AGES DU NUMÉRIQUE\, L'ENSEIGNEMENT\, LA RECHERCHE ET LES LOGICIELS LIBRES +
JOUR 3 - RENCONTRE DES LIBRISTES ET DES ACTEURS DE L'ÉCONOMIE SOCIALE + ET SOLIDAIRE
JOUR 4 - LOGICIELS LIBRES ET DÉVELOPPEMENT DURABLE
Visio | Inscriptions | GPS + 43.60305/3.89786

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251004T082654 +UID:33482@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T090000 +DTEND;TZID=Europe/Paris:20251010T180000 +DESCRIPTION:Bonjour\,\n\nje propose une install party Linux pour dire adieu + -Windows\n\nAu plaisir de vous recevoir et de collaborer dans le monde lib + re\n\nVenez avec votre ordinateur portable ou fixe\n\nFrançois\n\n +GEO:44.7829;-0.605963 +LOCATION:Gradignan\, 1 rue du Parc\, Gradignan\, Nouvelle-Aquitaine\, Franc + e +ORGANIZER:mailto:lecourtier.fr@gmail.com +SEQUENCE:5 +SUMMARY:Install party +CATEGORIES:adieu-windows +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

Bonjour\,

\n

je propose une install pa + rty Linux pour dire adieu-Windows

\n

Au plaisir de vous recevoir et d + e collaborer dans le monde libre

\n

Venez avec votre ordinateur porta + ble ou fixe

\n

François

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T115228 +UID:33498@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T134000 +DTEND;TZID=Europe/Paris:20251010T160000 +DESCRIPTION:Les VENDREDIS après-Midi\,\n\nVenez nous rencontrer lors de no + s CAFÉS-CONSEILS et REPAIR-CAFÉS\,\n\nNous faisons découvrir les logici + els et systèmes libre (et gratuits !)\n\nPlus de Télémétrie\, de PC ra + lentis\, une meilleure stabilité\, et sécurité\,\n\nMoins de virus\, et + fini l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 4 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:stephane.pelot.mediateur.numerique@etik.com +SEQUENCE:3 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:adieu-windows +CATEGORIES:repair +CATEGORIES:café +CATEGORIES:numérique +CATEGORIES:linux +CATEGORIES:fin +CATEGORIES:de +CATEGORIES:windows +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

Les VENDREDIS après-Midi\,

Venez no + us rencontrer lors de nos CAFÉS-CONSEILS et REPAIR-CAFÉS\, 

Nous + faisons découvrir les logiciels et systèmes libre (et gratuits !) 
+
Plus de Télémétrie\, de PC ralentis\, une meilleure stabilité\, et + sécurité\, 

Moins de virus\, et fini l'obsolescence programmée + !


+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T073448 +UID:33516@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T134000 +DTEND;TZID=Europe/Paris:20251010T161500 +DESCRIPTION:\n\nAdieu Windows\, bonjour le libre !\n\nTous les **vendredis* + * après-midi\, venez nous rencontrer lors de nos **cafés-conseils** et * + *repairs-cafés!**\n\nNous faisons découvrir les logiciels et systèmes l + ibres (et gratuits !)\n\nPlus de Télémétrie\, de PC ralentis\, une meil + leure stabilité et sécurité\,\n\nMoins de virus et fini l'obsolescence + programmée !\n\n--\nStéphane PELOT Conseiller Médiateur Numérique\n\n[ + https://fete-des-possibles.org/rdv/adieu-windows-bonjour-le-libre/][1]\n\n + \n\n\n\n[1]: https://fete-des-possibles.org/rdv/adieu-windows-bonjour-le-l + ibre/\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 Rue du 19 Mars 1962\, LANMEUR\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:4 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh/ +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +X-ALT-DESC;FMTTYPE=text/html:

\n

Adieu Windows\, bonjour le libre !

\n

Tous l + es vendredis après-midi\, venez nous rencontrer lors de + nos cafés-conseils et repairs-cafés!  +

\n

Nous faisons découvrir les logiciels et systèmes libres (et gra + tuits !) 

\n

Plus de Télémétrie\, de PC ralentis\, une meilleure + stabilité et sécurité\, 

\n

Moins de virus et fini l'obsolescence + programmée !

\n

--
Stéphane PELOT Conseiller Médiateur Numéri + que

\n

https://fete-des-p + ossibles.org/rdv/adieu-windows-bonjour-le-libre/

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104826 +UID:33548@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T134000 +DTEND;TZID=Europe/Paris:20251010T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:3 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

\n

+ Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
 
Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
 
Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
 
Moins de v + irus et finie l'obsolescence programmée !

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181058 +UID:33279@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T140000 +DTEND;TZID=Europe/Paris:20251010T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
\n

Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

\n

Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182404 +UID:33378@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T143000 +DTEND;TZID=Europe/Paris:20251010T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:3 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

Café de la Gare

\n

Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

\n

Vous pourrez< + span class="finePre">:

\n\n

Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

\n

 

\n< + p> 

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T214836 +UID:33462@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T173000 +DTEND;TZID=Europe/Paris:20251010T193000 +DESCRIPTION:Sensibilisation: comprendre les enjeux de la protection de la v + ie privée dans le domaine du numérique.\n\nAtelier pratique: configurer + votre smartphone ou tablette de façon à mieux vous sécuriser et limiter + l'espionnage et la manipulation (blocage des traqueurs et des publicités + \, faire une recherche web sans passer par Google)\n\nApplications que nou + s vous proposerons d'installer\n\n* sur Android version ≥ 5:\n * Bloque + ur de pub et traqueurs Blokada 5\n * Bloqueur d'appels indésirables: Sar + acroche ou Yet another call blocker + liste noire\n* sur iOS version ≥14 + : Blokada 6\n\nInscription recommandée sur [https://calc.ouvaton.coop/Ins + criptionAtelierNumeriqueEthiqueRouen][1]\n\n\n\n[1]: https://calc.ouvaton. + coop/InscriptionAtelierNumeriqueEthiqueRouen\n +GEO:49.4463;1.12679 +LOCATION:MJC Grieu\, 3 rue de Genève\, Rouen\, Normandie\, France +SEQUENCE:3 +SUMMARY:Protection smartphone +URL;VALUE=URI:https://liberonsnosordis.org +CATEGORIES:smartphone +CATEGORIES:sécurité +CATEGORIES:sensibilisation +CATEGORIES:logiciels-libres +CATEGORIES:libérons-nos-ordis +CATEGORIES:atelier +CATEGORIES:vie-privée +X-ALT-DESC;FMTTYPE=text/html:

Sensi + bilisation : comprendre les enjeux de la protection de la vie privée dans + le domaine du numérique.

\n

Atelier pratique : configurer votre sma + rtphone ou tablette de façon à mieux vous sécuriser et limiter l'espion + nage et la manipulation (blocage des traqueurs et des publicités\, faire + une recherche web sans passer par Google)

\n

Applications que nous vo + us proposerons d'installer

\n\n

Inscr + iption recommandée sur ht + tps://calc.ouvaton.coop/InscriptionAtelierNumeriqueEthiqueRouen

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T154218 +UID:33601@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T190000 +DTEND;TZID=Europe/Paris:20251010T220000 +DESCRIPTION:Venez découvrir [l'association][1]\, ses membres et ses activi + tés lors d'un moment de convivialité à La Générale\, 39 rue Gassendi\ + , 75014 Paris.\n\nMétro les plus proches: Denfert-Rochereau (RER B\, lign + es 4 et 6)\, Mouton-Duvernet (ligne 4)\, Gaîté (ligne 13).\n\nVous pouve + z apporter de la nourriture et des boissons pour l'apéro partagé. Il y a + aussi un frigo disponible avec des boissons payantes afin de soutenir la + générale.\n\n\n\n\n\n[1]: https://www.a-lec.org/\n +GEO:48.8355;2.32724 +LOCATION:La Générale\, 39 rue Gassendi\, Paris\, Île-de-France\, France +ORGANIZER:mailto:contact@a-lec.org +SEQUENCE:4 +SUMMARY:Rencontre Libre en Communs +URL;VALUE=URI:https://www.a-lec.org +CATEGORIES:libre-en-communs +CATEGORIES:rencontre +CATEGORIES:apéro +CATEGORIES:échange-de-savoirs +CATEGORIES:la-générale +X-ALT-DESC;FMTTYPE=text/html:

L
+ ogo: Libre en CommunsVenez découvrir l'association\, ses membres et ses activités + lors d'un moment de convivialité à La Générale\, 39 rue Gassendi\, 750 + 14 Paris.

\n

Métro les plus proches: Denfert-Rochereau (RER B\, lign + es 4 et 6)\, Mouton-Duvernet (ligne 4)\, Gaîté (ligne 13).

\n

Vous + pouvez apporter de la nourriture et des boissons pour l'apéro partagé. I + l y a aussi un frigo disponible avec des boissons payantes afin de souteni + r la générale.

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T222325 +UID:33496@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251010T200000 +DTEND;TZID=Europe/Paris:20251010T230000 +DESCRIPTION:Les membres de l'[Axul][1] (Association du Pays d'Aix des Utili + sateurs de Linux et des Logiciels Libres) vous invitent à leur **réunion + réelle du vendredi 10 octobre de 20h00 à 23h00** au Centre Culturel Geo + rges Duby du Tholonet\, 859 avenue Paul Julien\, à proximité de la place + du marché de [Palette][2] (premier village sur la D7n au Sud-Est d'Aix). + \n\n\n\n* 20h00 - 20h15: [Accueil][3]\n* 20h15 - 20h30: Présentation des + participants et organisation de la soirée\n* 20h30 - 23h00:\n* **Interven + tions urgentes si nécessaires**\n* **Discussions et décisions importante + s**\n* Précisions sur le don probable d'ordinateurs\n* Préparation de la + projection de novembre\n* Annuaire des membres\n* Organisation des listes + de diffusion\n\n* **Autres questions ?**\n\n**Évènements ultérieurs:** + voir l'[Agenda du Libre](/events?tag=axul)\n\nCes réunions libres et gra + tuites sont ouvertes à toutes et à tous\, débutantEs ou expertEs **GNU/ + Linux**\, membres ou non de l'**Axul**.\n\nEntrée Libre. Tout Public.\n\n + \n\n[1]: http://www.axul.org/\n[2]: https://www.openstreetmap.org/#map=14/ + 43.5126/5.4929\n[3]: https://www.openstreetmap.org/#map=18/43.51005/5.4902 + 5\n +GEO:43.5085;5.49396 +LOCATION:Espace Culturel Georges Duby\, 744 avenue Paul Julien\, LE THOLONE + T (Palette )\, Provence-Alpes-Côte d'Azur\, France +ORGANIZER:mailto:contact@axul.org +SEQUENCE:4 +SUMMARY:Réunion mensuelle de l'Axul +URL;VALUE=URI:https://axul.org +CATEGORIES:linux +CATEGORIES:e-os +CATEGORIES:reunion-mensuelle +CATEGORIES:logiciel-libre +CATEGORIES:culture-libre +CATEGORIES:telephone-libre +CATEGORIES:ubuntu +CATEGORIES:debian +CATEGORIES:axul +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Les membres de l'Axul (Association du Pays d'Aix des Utilisateurs de Linux et des + Logiciels Libres) vous invitent à leur réunion réelle du vendre + di 10 octobre de 20h00 à 23h00 au Centre Culturel Georges Duby d + u Tholonet\, 859 avenue Paul Julien\, à proximité de la place du marché + de Palette + (premier village sur la D7n au Sud-Est d'Aix).

\n

\n\n

 

\n

Sur les Arnaques\, les Menaces et l + a Sécurité — https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces +  

\n

Le Wiki pour vous aider à passer au Libre — https://wiki.llv.asso.fr/doku.php

\n

+  

\n

Merci pour vos suggestions et vos demandes pour la suit + e.

\n

 

\n

Venez avec une application QRcode.
Par exemple : QR Scanne + r (sécurisé) de Trend Micro
https://news + .trendmicro.com/2018/06/18/scan-qr-codes-safely-with-the-trend-micro-qr-sc + anner/
https://play.google.com/store/apps/details?id=com.trendm + icro.qrscan

\n

 

\n

À 15 minutes du Métro + (13) Malakoff Plateau de Vanves\, passez par le tunnel.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T163046 +UID:33434@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T140000 +DTEND;TZID=Europe/Paris:20251011T180000 +DESCRIPTION:*Atelier* *GRATUIT ouvert à TOUTES et à TOUS ! pas besoin d' + être adhérent !*\n\nEn **première partie** présentation de l'outil SYM + PA: ce gestionnaire de liste permet d'envoyer vos messages à un grand nom + bre de personnes\, de communiquer en équipe pour vous organiser et de dé + battre entre adhérents !\n\nEn **deuxième partie**\, séance de question + s-réponses (apportez vos questions)\, travaux pratiques\n\n**Pour le cot + é pratique**\n\nLieu: Maison des Associations\, 14 Chemin Pouciquot\, 315 + 20 RAMONVILLE SAINT-AGNE\n\n**Possibilité de suivre l'atelier à distance + via le lien [atelier-sympa][1]**\n\nInscription **\\:** **l’inscription + n’est pas obligatoire mais fortement conseillée ([formulaire][2]). En + effet\, l'atelier peut-être annulé s'il n'y a aucune inscription.**\n\nM + atériel **\\: Vous pouvez apporter votre ordinateur\, portable ou non\, + équipé d'une carte réseau filaire ou wifi\, et en état de marche. Nous + utiliserons le navigateur internet. *Veillez à ce qu'il soit à jour.*** + \n\n\n\n[1]: https://bbb.futuretic.fr/rooms/awo-tn4-hjy-ofw\n[2]: https:// + www.le-pic.org/contact\n +GEO:43.5519;1.4726 +LOCATION:maison des associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:picca@le-pic.org +SEQUENCE:2 +SUMMARY:Atelier listes de discussion avec le logiciel SYMPA +URL;VALUE=URI:https://www.le-pic.org +CATEGORIES:atelier +CATEGORIES:sympa +CATEGORIES:liste +CATEGORIES:discussion +CATEGORIES:libre +X-ALT-DESC;FMTTYPE=text/html:

Atelier GRATUIT o + uvert à TOUTES et à TOUS ! pas besoin d'être adhérent !< + /span>

\n

En première partie présentatio + n de l'outil SYMPA : ce gestionnaire de liste permet d'envoyer vos message + s à un grand nombre de personnes\, de communiquer en équipe pour vous or + ganiser et de débattre entre adhérents !

\n

En deuxième partie\, séance de quest + ions-réponses (apportez vos questions)\, travaux pratiques

+ \n

Pour le coté pratique +

\n

Lieu : Maison des Associations\, 14 Chemin Pouciquot\, 31520 RAMONV + ILLE SAINT-AGNE

\n

Possibilité de suivre l'atelier à distance via le lien atelier-sympa< + /a>

\n

Inscription : l’inscription n + ’est pas obligatoire mais fortement conseillée (formulaire + ). En effet\, l'atelier peut-être annulé s'il n'y a aucune inscription.< + br>

\n

Matériel : Vous pouvez apporter votre + ordinateur\, portable ou non\, équipé d'une carte réseau filaire ou wif + i\, et en état de marche. Nous utiliserons le navigateur internet. Ve + illez à ce qu'il soit à jour.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T203517 +UID:33514@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T140000 +DTEND;TZID=Europe/Paris:20251011T180000 +DESCRIPTION:La part des utilisateurs de Linux augmente\, Microsoft ne tient + pas compte de ses utilisateurs\, ni de la pollution engendrée par ses d + écisions et encore moins des ressources naturelles.\n\nPour aider des uti + lisateurs à **reprendre le contrôle et limiter les déchets numériques* + *\, nous proposons un temps dédié à l'installation de GNU/Linux sur les + PC non compatibles avec Windows 11... et ceux qui le sont aussi !\n\n\n\n + Retrouvez les membres de Tricassinux pour vous aider à installer un syst + ème GNU/Linux ou répondre à vos questions.\n\nPensez à faire une sauve + garde de vos données avant de venir. Ensuite\, rejoignez un monde libre ! + \n\n +GEO:48.3056;4.09286 +LOCATION:Maison des Activités associatives Robert Schuman\, 125 avenue Rob + ert Schumann\, Troyes\, Grand Est\, France +ORGANIZER:mailto:contact-tricassinux@mailoo.com +SEQUENCE:3 +SUMMARY:Install Party Tricassinux pour dire adieu à Windows +URL;VALUE=URI:https://www.helloasso.com/associations/tricassinux +CATEGORIES:rencontres-installations +CATEGORIES:tricassinux +CATEGORIES:linux +CATEGORIES:foss +CATEGORIES:floss +CATEGORIES:logiciel-libre +CATEGORIES:open-source +CATEGORIES:install-party +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

La part des utilisateurs de Linux augmente\ + , Microsoft ne tient pas compte de ses utilisateurs\, ni de la pollution e + ngendrée par ses décisions et encore moins des ressources naturelles.

\n

Pour aider des utilisateurs à reprendre le contrôle et lim + iter les déchets numériques\, nous proposons un temps dédié + à l'installation de GNU/Linux sur les PC non compatibles avec Windows 11. + .. et ceux qui le sont aussi !

\n

logo tricassinux

\n

Retrouvez les membres de Tricassinux pour vous ai + der à installer un système GNU/Linux ou répondre à vos questions.

\ + n

Pensez à faire une sauvegarde de vos données avant de venir. Ensuite + \, rejoignez un monde libre !

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T120430 +UID:33507@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T140000 +DTEND;TZID=Europe/Paris:20251012T200000 +DESCRIPTION:**[](/events/)**\n\n**Rencontres Amicales Francophones du Logic + iel Libre (#RAFLL2025)**\n\n**Samedi 11 et dimanche 12 octobre 2025 de 14h + 00 à 20h00
EPF Montpellier H03 et Hall - 21\, boulevard Berthelot\, + 34000 Montpellier
JOUR 5 - NUMÉRIQUE DURABLE ET RESPONSABLE
JOU + R 6 - RÉALISATIONS PARTICIPATIVES\, CITOYENNES ET SOLIDAIRES
Village + associatif\, entrepreneurial et radio
Visio \\| Inscriptions \\| +  GPS 43.60305/3.89786**\n\n +GEO:43.6002;3.87136 +LOCATION:EPF Montpellier\, 21\, boulevard Berthelot\, Montpellier\, Occitan + ie\, France +ORGANIZER:mailto:contact@montpellibre.fr +SEQUENCE:2 +SUMMARY:Rencontres Amicales Francophones du Logiciel Libre (#RAFLL2025) +URL;VALUE=URI:https://montpellibre.fr +CATEGORIES:montpel-libre +CATEGORIES:logiciels-libres +CATEGORIES:rafll +CATEGORIES:rencontres +CATEGORIES:amicales +CATEGORIES:francophones +X-ALT-DESC;FMTTYPE=text/html:

Rencontres Amicales Francophones du Logiciel Libre (#RAFLL2025)

\n

Rencontres Amicales Francophones du Lo + giciel Libre (#RAFLL2025)

\n

Samedi 11 et dimanche 12 octobre 2025 + de 14h00 à 20h00
EPF Montpellier H03 et Hall - 21\, boulevard Berthelo + t\, 34000 Montpellier
JOUR 5 - NUMÉRIQUE DURABLE ET RESPONSABLE
JOU + R 6 - RÉALISATIONS PARTICIPATIVES\, CITOYENNES ET SOLIDAIRES
Village a + ssociatif\, entrepreneurial et radio
Visio | Inscriptions | GPS 43 + .60305/3.89786

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251004T083201 +UID:33483@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T143000 +DTEND;TZID=Europe/Paris:20251011T143000 +DESCRIPTION:Venez vous familiariser avec l'édition de Wikipédia et le pro + jet les sans pagEs pour réduire les biais de genre sur Wikipédia.\n\n\n\ + n* Permanences Les sans pagEs Strasbourg de **14h30 à 17h** **tous les de + uxièmes samedis du mois** sauf vacances scolaires.\n* Lieu : **Médiath + èque Olympe de Gouges**\, [3 rue Kuhn][1] à Strasbourg. Rendez-vous sur + la mezzanine.\n* Apportez votre ordinateur portable.\n\nGratuit\, tous niv + eaux\, ouvert à tous·tes sans inscription préalable (mais vous pouvez n + oter votre participation dans la liste).\n\n\n\n[1]: https://fr.wikipedia. + org/wiki/Rue_Kuhn\n +GEO:48.5849;7.73946 +LOCATION:Médiathèque Olympe de Gouges - mezzanine\, 3 rue Kuhn\, Strasbou + rg\, Grand Est\, France +ORGANIZER:mailto:info@sans-pages.org +SEQUENCE:3 +SUMMARY:Permanence wikipédienne des sans pagEs +URL;VALUE=URI:https://sanspages.org +CATEGORIES:sans-pages +CATEGORIES:permanence +CATEGORIES:wikipédia +X-ALT-DESC;FMTTYPE=text/html:

Venez vous familiariser avec l'édition de + Wikipédia et le projet les sans pagEs pour réduire les biais de genre su + r Wikipédia.

\n

\n
    \n
  • Permanences Les + sans pagEs Strasbourg de 14h30 à 17h tous les de + uxièmes samedis du mois sauf vacances scolaires.
  • \n
  • Lieu +  : Médiathèque Olympe de Gouges\, 3 rue Kuhn à Strasbourg + . Rendez-vous sur la mezzanine.
  • \n
  • Apportez votre ordinateur + portable.
  • \n
\n

Gratuit\, tous niveaux\, ouvert à tous·tes sa + ns inscription préalable (mais vous pouvez noter votre participation dans + la liste).

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251004T133211 +UID:33488@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T143000 +DTEND;TZID=Europe/Paris:20251011T170000 +DESCRIPTION:Permanence **GNU/LINUX**\, installation et maintenance par **LI + NESS** en partenariat avec l**e CIJ** (Club informatique de Juvisy-sur-Org + e).\n\n\n\n\n\nIl s'agit d'une assistance pour vous aider à installer et + utiliser **LINUX**\, mais ce n'est pas un cours à proprement parler.\n\nA + ucune inscription préalable n'est nécessaire\, aucune assiduité n'est r + equise.\n\nQuand vous avez un problème\, vous passez nous voir.\n\nÉvent + uellement stationner parc Danaux (à côté du pont sur la Seine) qui est + gratuit le samedi après-midi (3mn à pied après pour aller au **CIJ**).\ + n\nC'est tout à côté de la gare.\n\n +GEO:48.6885;2.38444 +LOCATION:Local d'associations\, 53 rue Monttessuy\, Juvisy-sur-Orge\, Île- + de-France\, France +ORGANIZER:mailto:adm@liness.org +SEQUENCE:2 +SUMMARY:Permanence GNU/Linux +URL;VALUE=URI:https://liness.org/permanence-linux +CATEGORIES:liness +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:permanence +CATEGORIES:cij +CATEGORIES:rencontre +CATEGORIES:initiation +CATEGORIES:linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Permanence GNU/LINUX\, ins + tallation et maintenance par LINESS en partenariat avec l + e CIJ (Club informatique de Juvisy-sur-Orge).

\n

\n

 

\n

Il s'agit d'une assistance pour vous aider + à installer et utiliser LINUX\, mais ce n'est pas un cou + rs à proprement parler.

\n

Aucune inscription préalable n'est néce + ssaire\, aucune assiduité n'est requise.

\n

Quand vous avez un probl + ème\, vous passez nous voir.

\n

Éve + ntuellement stationner parc Danaux (à côté du pont sur la Seine) qui es + t gratuit le samedi après-midi (3mn à pied après pour aller au + CIJ).

\n

C'est tout + à côté de la gare.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250213T162622 +UID:31948@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T143000 +DTEND;TZID=Europe/Paris:20251011T180000 +DESCRIPTION:\n\n**Atelier Gimp animé par Yves Specht**\n\n**GIMP** (/gimp/ + \, acronyme de *GNUImage Manipulation Program*)\, ou anciennement « **Th + e GIMP**» (appellation abandonnée avec GIMP 2.4.0 en 2007\, comme le mon + tre l’historique des écrans d’accueil)\, est un outil de manipulation + et de retouche d’image\, diffusé sous la licence GPLv3 comme un logici + el gratuit et libre.\n\nIl en existe des versions pour la plupart des syst + èmes d’exploitation dont GNU/Linux\, macOS et Microsoft Windows.\n\nLe + logiciel est intégré à la liste des logiciels libres préconisés par l + ’État français dans le cadre de la modernisation globale de ses systè + mes d’informations (SI)\,\n\n**Samedi 11 octobre** (premier séance)  d + e 14h 30 à 18h00\n\nUne participation est demandée **5 euros** par séan + ce.\n\nVous pouvez vous inscrire: [Rendez-vous sur le Pad][1]\n\n\n\n[1]: + https://pad.chapril.org/p/Atelier_Gimp\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:9 +SUMMARY:Atelier Gimp (première séance) +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:gimp +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:fete-des-possibles-2025 +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

\n

Atelier Gimp animé par Yves Specht

\n

GIMP (/gimp/\, acro + nyme de GNUImage Manipulation Program)\, ou anciennement « The GIMP» (appellation abandonnée avec GIMP 2.4.0 en 2007\, + comme le montre l’historique des écrans d’accueil)\, est un outil de + manipulation et de retouche d’image\, diffusé sous la licence GPLv3 co + mme un logiciel gratuit et libre.

\n

Il en existe des versions pour l + a plupart des systèmes d’exploitation dont GNU/Linux\, macOS et Microso + ft Windows.

\n

Le logiciel est intégré à la liste des logiciels li + bres préconisés par l’État français dans le cadre de la modernisatio + n globale de ses systèmes d’informations (SI)\,

\n

Samedi + 11 octobre (premier séance)  de 14h 30 à 18h00

\n

Une par + ticipation est demandée 5 euros par séance.

\n

Vou + s pouvez vous inscrire: R + endez-vous sur le Pad  

\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250910T135300 +UID:33232@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T150000 +DTEND;TZID=Europe/Paris:20251011T180000 +DESCRIPTION:\n\n\n\n\n\n Linux Nantes tient à vous informer de ça prochai + ne permanence. Nous vous proposons:\n\n\\- de vous faire découvrir Linux + et les logiciels libres.\n\n\\- de vous aider à installer Linux sur votre + ordinateur ou votre portable.\n\n\\- de vous informer sur l'utilisation d + e votre version de Linux et des logiciels libres.\n\n\\- de voir avec vous + les problèmes rencontrés.\n\nPour plus d’informations sur l’associa + tion voir notre site.\n\n +GEO:47.2217;-1.55706 +LOCATION:B17\, 17 rue Paul Bellamy\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linux-nantes.org +SEQUENCE:6 +SUMMARY:Permanence Linux-Nantes +URL;VALUE=URI:https://www.linux-nantes.org +CATEGORIES:linux-nantes +CATEGORIES:gnu +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:permanence +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:


+



\n

Linux Nantes tient à vous informer de ça prochai + ne permanence. Nous vous proposo + ns:

\n

- de vous faire découvrir Linux et les logic + iels libres.

\n

- de vous aider à installer Linux s + ur votre ordinateur ou votre portable.

\n

- de vous + informer sur l'utilisation de votre version de Linux et des logiciels libres.

\n

- d + e voir avec vous les problèmes rencontrés.

\n

Pour + plus d’informations sur l’association voir notre site.

\n

  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T151547 +UID:33475@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T170000 +DTEND;TZID=Europe/Paris:20251011T200000 +DESCRIPTION:Root66 tiendra son assemblée générale annuelle: le samedi 11 + octobre 2025 de 17h-20h\n\n**Ordre du jour**\n\n* Rapport moral du prési + dent\n* Rapport d’activité\n* Approbation du rapport d’activité par + l’assemblée\n* Rapport financier du trésorier\n* Approbation du rappor + t financier par l’assemblée\n* Élection des membres du Conseil d’Adm + inistration\n* Élection du bureau\, trésorier et du président par le Co + nseil d’Administration\n* Projets d’activité\n* Questions diverses\n\ + nDans l'objectif de renforcer encore ses liens avec les d'utilisateurs de + logiciels libres\, l'AG de Root66 est ouverte à tous les utilisateurs et + utilisatrices\, petits ou grands:P\n\nSur place\, l'[adhésion][1] à l’ + association est possible\, mais non obligatoire.\n\n**Accès:** Parking ru + e Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint-Cyr. + \n\n\n\n[1]: https://root66.net/public/bulletin-adhesion-R66-saisieDirecte + .pdf\n +GEO:48.807;2.06688 +LOCATION:La Maison des Associations\, Simone Veil\, 14 Av. Tom Morel\, Sain + t-Cyr L'École\, Île-de-France\, France +ORGANIZER:mailto:contact@root66.net +SEQUENCE:5 +SUMMARY:Assemblée générale +URL;VALUE=URI:https://root66.net +CATEGORIES:root66 +CATEGORIES:assemblee-generale +CATEGORIES:logiciel-libre +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

\n

Root66 tiendra s + on assemblée générale annuelle : le samedi + 11 octobre 2025 de 17h-20h

\n

Ordre du jour

\n
    \n
  • Rapport moral du président
  • \n
  • Rapp + ort d’activité
  • \n
  • Approbation du rapport d’activité par l’a + ssemblée
  • \n
  • Rapport financier du trésorier
  • \n
  • Approbation + du rapport financier par l’assemblée
  • \n
  • Élection des membres du + Conseil d’Administration
  • \n
  • Élection du bureau\, trésorier et + du président par le Conseil d’Administration
  • \n
  • Projets d’acti + vité
  • \n
  • Questions diverses
  • \n
\n

Dans l'objectif de renf + orcer encore ses liens avec les d'utilisateurs de logiciels libres\, l'AG + de Root66 est ouverte à tous les utilisateurs et utilisatrices\, petits o + u grands :P

\n
\n

Sur place\, l'adhésion à l’associati + on est possible\, mais non obligatoire.

\n

Accès : + Parking rue Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de + Saint-Cyr.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T130114 +UID:33596@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251011T180000 +DTEND;TZID=Europe/Paris:20251011T203000 +DESCRIPTION:Chacun apporte une boisson à partager et faire découvrir\, et + des blagues et anecdotes de ses réseaux sociaux\, nous apportons les sti + ckers !\n\nMême si vous n'êtes pas sur Mastodon / Le Fediverse\, c'est l + 'occasion de découvrir ces réseaux sociaux libres et décentralisés.\n\ + n\n\n +GEO:44.9339;4.89368 +LOCATION:Fabrico\, 7 rue Belle Image\, Valence\, Auvergne-Rhône-Alpes\, Fr + ance +ORGANIZER:mailto:revol@free.fr +SEQUENCE:3 +SUMMARY:FédiVerre / Mastapéro +URL;VALUE=URI:https://mobilizon.fr/events/87c72f33-46fb-465f-b777-7474f4e15 + b80 +CATEGORIES:réseautage +CATEGORIES:mastodon +CATEGORIES:fédiverre +CATEGORIES:mastapéro +CATEGORIES:apéritif +CATEGORIES:fabrico +X-ALT-DESC;FMTTYPE=text/html:
\n
\n

Chacun apporte une boisson à partager et faire découvrir\, et des + blagues et anecdotes de ses réseaux sociaux\, nous apportons les sticker + s !

\n

Même si vous n'êtes pas sur Mastodon / Le Fediverse\, c'est + l'occasion de découvrir ces réseaux sociaux libres et décentralisés.\n

\n
\n

Affichette décrivant l'évènement\, dans les tons jaune et
+  violet\, avec une photo d'une table sur laquelle des stickers et des verr
+ es sont posés.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T214904 +UID:33463@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251012T100000 +DTEND;TZID=Europe/Paris:20251012T160000 +DESCRIPTION:Venez nous rencontrer pour découvrir ce que peut vous apporter + le numérique libre et éthique.\n\nProtéger votre vie privée\, gagner + en autonomie\, ne pas risquer d'être manipulé ou "piraté".\n\nFaire dur + er vos appareils numériques beaucoup plus longtemps.\n\n**Acheter des ord + inateurs et des Fairphones (marque éthique et durable) reconditionnés.** + \n\n +GEO:49.4335;1.08228 +LOCATION:La Base\, 5 rue Geuffroy\, Rouen\, Normandie\, France +SEQUENCE:4 +SUMMARY:Foire à tout +URL;VALUE=URI:https://liberonsnosordis.org +CATEGORIES:libérons-nos-ordis +CATEGORIES:vente +CATEGORIES:reconditionnement +CATEGORIES:/e/os +CATEGORIES:fairphone +CATEGORIES:vie-privée +X-ALT-DESC;FMTTYPE=text/html:
\n
\n

Venez nous rencontrer pour d + écouvrir ce que peut vous apporter le numérique libre et éthique.

\n +

Protéger votre vie privée\, gagner en autonomie\, ne pas risquer d'ê + tre manipulé ou "piraté".

\n

Faire durer vos appareils numériques + beaucoup plus longtemps.

\n

Acheter des ordinateurs et des Fa + irphones (marque éthique et durable) reconditionnés.

\n
\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251008T110332 +UID:33603@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251012T100000 +DTEND;TZID=Europe/Paris:20251012T170000 +DESCRIPTION:Sensibilisation\, discussions\, et installation de logiciels li + bres et respectueux de la vie privée. tables rondes. adieu-windows\n\nLe + s Marmandais et leurs voisins sont invités à venir avec leurs ordinateur + s\, tablettes et smartphones\, et à adopter des solutions promouvant la g + ratuité\, l’ouverture et l’indépendance numérique\, la sécurité e + t le respect de la vie privée. Cela se présente sous la forme d’atelie + rs\, accompagnés de tables rondes: logiciels libres\, obsolescence progra + mmée\, souveraineté numérique\, algorithmes… cette initiative est por + tée par un collectif aidé des associations Agenux\, Mafda\, et est accue + illie par la médiathèque de Marmande.\n\n\n\n +GEO:44.4974;0.166068 +LOCATION:Médiathèque de Marmande\, 23 rue de la République\, Marmande\, + Nouvelle-Aquitaine\, France +ORGANIZER:mailto:agenux_marmande@agenux.org +SEQUENCE:6 +SUMMARY:Journée du Libre +URL;VALUE=URI:https://www.mairie-marmande.fr/evenements/journee-du-libre/ +CATEGORIES:journée-du-libre +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:agenux +CATEGORIES:mafda +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Sensibilisation\, discussions\, et installa + tion de logiciels libres et respectueux de la vie privée. tables rondes. +  adieu-windows

\n

Les Marmandais et leurs voisins sont invités à v + enir avec leurs ordinateurs\, tablettes et smartphones\, et à adopter des + solutions promouvant la gratuité\, l’ouverture et l’indépendance nu + mérique\, la sécurité et le respect de la vie privée. Cela se présent + e sous la forme d’ateliers\, accompagnés de tables rondes : logiciels l + ibres\, obsolescence programmée\, souveraineté numérique\, algorithmes + … cette initiative est portée par un collectif aidé des associations A + genux\, Mafda\, et est accueillie par la médiathèque de Marmande. 

\ + n

affiche pour la journée du libre le 12 oct
+ obre 2025 à la Mediateque de Marmande - Install Party

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T131337 +UID:33440@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251012T110000 +DTEND;TZID=Europe/Paris:20251012T120000 +DESCRIPTION:Le carrefour des transitions a pour objectif d'accélérer la t + ransition écologique et citoyenne et de la rendre désirable. Il a lieu u + ne fois par an depuis 2022. Cette année ce sera les 11 et 12 octobre 2025 + \, voir le programme : [https://paysbigoudenentransition.fr/le-carrefour- + des-transitions/][1]\n\n[][2]Dans ce cadre\, l'association [Les Ordis Libr + es][3] aura un stand avec son exposition «Partage et solidarité dans le + numérique» et animera un atelier de démonstration de Linux: montrer une + installation et les principaux usages\, à partir de XUbuntu. L'idée est + de prendre date pour une installe-partie pour les personnes intéressées + .\n\n(L'heure reste à valider)\n\n\n\n\n\n\n\n[1]: https://paysbigoudenen + transition.fr/le-carrefour-des-transitions/\n[2]: https://lesordislibres.f + r/\n[3]: https://lesordislibres.fr\n +GEO:47.9031;-4.28261 +LOCATION:Halles Raphalen\, Plonéour-Lanvern\, Bretagne\, France +ORGANIZER:mailto:contact@lesordislibres.fr +SEQUENCE:3 +SUMMARY:Carrefour des transitions\, Démo Linux +URL;VALUE=URI:https://lesordislibres.fr +CATEGORIES:adieu-windows +CATEGORIES:linux +CATEGORIES:install-partie +CATEGORIES:xubuntu +CATEGORIES:les-ordis-libres +X-ALT-DESC;FMTTYPE=text/html:

Le carrefour des transitions a pour objectif + d'accélérer la transition écologique et citoyenne et de la rendre dés + irable. Il a lieu une fois par an depuis 2022. Cette année ce sera les 11 + et 12 octobre 2025\, voir le programme  : https://paysbigoudenentransi + tion.fr/le-carrefour-des-transitions/

\n

https://lesordislibres
+ .fr/images/sampledata/lesordislibres/panneaux/panneaux_jpg/panneau-00-v7.2
+ _legende.jpgDans ce cadre\, l'association < + a href="https://lesordislibres.fr">Les Ordis Libres aura un stand avec + son exposition «Partage et solidarité dans le numérique» et animera u + n atelier de démonstration de Linux: montrer une installation et les prin + cipaux usages\, à partir de XUbuntu. L'idée est de prendre date pour une + installe-partie pour les personnes intéressées.

\n

(L'heure reste + à valider)

\n

 

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T112556 +UID:33431@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251012T120000 +DTEND;TZID=Europe/Paris:20251012T180000 +DESCRIPTION:Ğrendez-vous -à Besançon- est un événement mensuel (2ème + dimanches du mois) d'information\, d'aide au démarrage et d'échanges en + Monnaie Libre\, la June (Ğ1)\n\nl'entrée et libre et gratuite\n\n------- + \n\nla Monnaie Libre a été conçue par Stéphane Laborde dans son livre + intitulé "Théorie Relative de la Monnaie (TRM)"\, et mise en oeuvre le 8 + mars 2017 par un collectif d'informaticiens.\n\ndepuis\, elle s'est déve + loppée en France\, Belgique\, Espagne.. 22 pays actifs à ce jour\n\n59 c + omptes utilisateurs en mars 2017\, plus de 30.000 comptes aujourd'hui\, do + nt la moitié en France\, normal\, c'est un produit français\n\n\n\nwww.i + nfojune.fr - www.monnaie-libre.fr\n\n +GEO:47.2555;6.04571 +LOCATION:l'Agora du quartier des Vaîtes\, 3 rue Max Jacob\, Besançon\, Bo + urgogne-Franche-Comté\, France +ORGANIZER:mailto:br.com@laposte.net +SEQUENCE:3 +SUMMARY:Ğrendez-vous - Monnaie Libre (la June) +URL;VALUE=URI:https://www.monnaie-libre.fr +CATEGORIES:gmarché +CATEGORIES:crypto-monnaie +CATEGORIES:ğrendez-vous +CATEGORIES:june +CATEGORIES:monnaie-libre +CATEGORIES:ğ1 +CATEGORIES:besançon +CATEGORIES:besancon +CATEGORIES:monétaire +CATEGORIES:liberté +CATEGORIES:cesium +CATEGORIES:duniter +CATEGORIES:compte +X-ALT-DESC;FMTTYPE=text/html:

Ğrendez-vous -à Besançon- est un événe + ment mensuel (2ème dimanches du mois) d'information\, d'aide au démarrag + e et d'échanges en Monnaie Libre\, la June (Ğ1)

\n

l'entrée et lib + re et gratuite

\n

-------

\n

la Monnaie Libre a été conçue pa + r Stéphane Laborde dans son livre intitulé "Théorie Relative de la Monn + aie (TRM)"\, et mise en oeuvre le 8 mars 2017 par un collectif d'informati + ciens.

\n

depuis\, elle s'est développée en France\, Belgique\, Esp + agne.. 22 pays actifs à ce jour

\n

59 comptes utilisateurs en mars 2 + 017\, plus de 30.000 comptes aujourd'hui\, dont la moitié en France\, nor + mal\, c'est un produit français

\n

 

\n

www.infojune.fr - www. + monnaie-libre.fr 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250901T201828 +UID:33176@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251012T140000 +DTEND;TZID=Europe/Paris:20251012T180000 +DESCRIPTION:Dans le cadre de la Fête des Possibles\, Doune et Attilax vous + proposent une Install Party le 12 octobre de 14h à 18h dans les locaux d + e la CNL\, 2 rue d'Alsace\, 94430 Chennevières-sur-Marne\n\nVenez découv + rir Linux et si vous le souhaitez\, amenez votre vieil ordinateur pour lui + redonner une seconde vie !\n\n[][1]\n\nMerci de réserver votre place sur + ce formulaire d'inscription:\n\n🔗 [https://s.42l.fr/Inscriptions][2]\n + \n\n\nPour toute question relative à l'Install Party merci de nous écrir + e à cette adresse:\n\n📧 [installparty94@pm.me](mailto:installparty94@p + m.me)\n\n\n\nPrix Libre !\n\n\n\n[1]: https://s.42l.fr/installparty\n[2]: + https://s07.swdrive.fr/apps/forms/s/xKPbT7i7jW33TyBe2QrPM9QD\n +GEO:48.6629;5.40521 +LOCATION:CNL Chennevières Bois l'Abbé (en face du centre social de la Col + line)\, 2 rue d'Alsace\, Chennevières-sur-Marne\, Île-de-France\, France +ORGANIZER:mailto:installparty94@pm.me +SEQUENCE:8 +SUMMARY:Linux Install Party +URL;VALUE=URI:https://s.42l.fr/installparty +CATEGORIES:installation +CATEGORIES:install-party +CATEGORIES:fete-des-possibles-2025 +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

Dans le cadre de la Fête des Possibles\, D + oune et Attilax vous proposent une Install Party le 12 octobre de 14h à 1 + 8h dans les locaux de la CNL\, 2 rue d'Alsace\, 94430 Chennevières-sur-Ma + rne

\n

Venez découvrir Linux et si vous le souhaitez\, amenez votre + vieil ordinateur pour lui redonner une seconde vie !

\n

vignette-install-par
+ ty-FDP.png

\n

Merci de réserver votre place + sur ce formulaire d'inscription :

\n

🔗 https://s.42l.fr/Inscriptions +

\n

 

\n

Pour toute question relative à l'Install Party me + rci de nous écrire à cette adresse :

\n

📧 installparty94@pm.me

\n

 

\n

Prix Libre !

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T115516 +UID:33500@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251013T100000 +DTEND;TZID=Europe/Paris:20261005T170000 +DESCRIPTION:Tous les lundis de 10h à 17h sans interruption\, l'association + prends toi en main / atelier abcpc\, propose install party\, suivi dépan + nage\, formation et revalorisation à petit prix sous Linux exclusivement. + \n\n +GEO:43.8907;0.76945 +LOCATION:Médiatheque\, 4 place Dastros\, Saint Clar\, Occitanie\, France +ORGANIZER:mailto:abcpc32@free.fr +SEQUENCE:4 +SUMMARY:Tous les Lundis\, médiatheque de Saint Clar +CATEGORIES:linux +CATEGORIES:association +CATEGORIES:permanence +CATEGORIES:depannage +CATEGORIES:formation +CATEGORIES:adieu-windows +CATEGORIES:libre +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

Tous les lundis de 10h à 17h sans interrup + tion\, l'association prends toi en main / atelier abcpc\, propose install + party\, suivi dépannage\, formation et revalorisation à petit prix sous + Linux exclusivement.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251009T081110 +UID:33607@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251013T173000 +DTEND;TZID=Europe/Paris:20251013T190000 +DESCRIPTION:La fin de Windows 10 peut être une opportunité de découvrir + des alternatives.\n\nNous vous proposons d’en débattre ensemble ainsi + que de découvrir l’univers du libre dans notre salle multimédia.\n\n +GEO:43.1998;2.7581 +LOCATION:MJC de Lézignan-Corbières\, 25 rue Marat\, Lézignan-Corbières\ + , Occitanie\, France +ORGANIZER:mailto:fablab@mjc-lezignan-corbieres.com +SEQUENCE:3 +SUMMARY:Café-débat : trouver des alternatives à Windows\, c’est possi + ble +URL;VALUE=URI:https://www.mjc-lezignan-corbieres.com +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:fablab +CATEGORIES:mjc +CATEGORIES:lezignan +CATEGORIES:ordinateur +CATEGORIES:numérique +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

L + a fin de Windows 10 peut être une opportunité de découvrir des alternatives.

\n

Nous vo + us proposons d’en débattre ensemble ainsi que de découvrir l’univers du libre< + /span> dans notre salle multim + édia.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T111826 +UID:33201@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251013T180000 +DTEND;TZID=Europe/Paris:20251013T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:3 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

\n +

Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

\n

Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

\n

🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

\n

📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

\n

🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

\n

Le programme des mapathons

\n

18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

\n

18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

\n

Pour s'inscrire c'est par ici

\n

Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T121112 +UID:33204@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251013T180000 +DTEND;TZID=Europe/Paris:20251013T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:2 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

\n +

Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

\n

Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

\n

🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

\n

📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

\n

🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

\n

Le programme des mapathons

\n

18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

\n

18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

\n

Pour s'inscrire c'est par ici

\n

Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250902T183721 +UID:33190@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251013T190000 +DTEND;TZID=Europe/Paris:20251013T210000 +DESCRIPTION:Le [groupe local OpenStreetMap de Grenoble][1] vous propose un + atelier d'initiation à destination de celles et ceux qui veulent découv + rir la carte coopérative libre [OpenStreepMap][2].\n\n**Programme de la s + oirée**\n\n* Tour de table\, présentation des contributeurs et contribut + rices\n* Présentation du projet OpenStreetMap\n* Présentation du groupe + local\n* Initiation à la contribution en petits groupes\n\n**En pratique* + *\n\n* Si vous avez un ordinateur portable merci de l'apporter. Un atelier + dédié à la contribution sur smartphone[ ][3]aura lieu ultérieurement + mais nous pourrons évoquer le sujet.\n* L'entrée s'effectue sur le côt + é du bâtiment. La salle de réunion se trouve au rez de chaussée et est + également accessible en traversant le "Beer Square".\n* Inscription souh + aitée sur le site de la Turbine: [https://turbine.coop/programmation/][4] + (formulaire à venir)\n\n\n\n[1]: https://wiki.openstreetmap.org/wiki/Gre + noble_groupe_local\n[2]: https://www.openstreetmap.org/#map=13/45.1867/5.7 + 371\n[3]: https://wiki.openstreetmap.org/wiki/Grenoble_groupe_local/Agenda + #Lundi_15_mai_Atelier_contribution_sur_mobile\n[4]: https://turbine.coop/p + rogrammation/\n +GEO:45.1877;5.70502 +LOCATION:La Turbine Coop\, 3-5 esplanade Andry Farcy\, Grenoble\, Auvergne- + Rhône-Alpes\, France +ORGANIZER:mailto:contact-grenoble@listes.openstreetmap.fr +SEQUENCE:3 +SUMMARY:Découverte d'OpenStreetMap +URL;VALUE=URI:https://wiki.openstreetmap.org/wiki/Grenoble_groupe_local/Age + nda#Lundi_13_octobre_Atelier_d%C3%A9couverte_&_initiation +CATEGORIES:openstreetmap +CATEGORIES:osm +CATEGORIES:atelier +CATEGORIES:osm-grenoble +X-ALT-DESC;FMTTYPE=text/html:

\n

Le groupe local OpenStreetMap de Grenoble vous propose un atelie + r d'initiation à destination de celles et ceux qui veulent découvrir la + carte coopérative libre OpenStreepMap.

\n

Programme de la soirée

\n
    \n
  • Tour de table\, présentation des contributeurs et + contributrices
  • \n
  • Présentation du projet OpenStreetMap
  • \n
  • P + résentation du groupe local
  • \n
  • Initiation à la contribution en pe + tits groupes
  • \n
\n

En pratique

\n
    \n
  • S + i vous avez un ordinateur portable merci de l'apporter. Un atelier dédié + à la contribution sur smartphone aura lieu ultérieurement mais nous pourrons évoquer le sujet. +
  • \n
  • L'entrée s'effectue sur le côté du bâtiment. La salle de r + éunion se trouve au rez de chaussée et est également accessible en trav + ersant le "Beer Square".
  • \n
  • Inscription souhaitée sur le site de l + a Turbine : https://turbine. + coop/programmation/ (formulaire à venir)
  • \n
\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250925T181523 +UID:33404@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T100000 +DTEND;TZID=Europe/Paris:20251014T200000 +DESCRIPTION:Afin de proposer une alternative au consumérisme propagandé p + ar Microsoft annonçant la fin du support de Windows 10 et invitant à ach + eter un nouvel ordinateur\, venez prolonger la vie de votre PC/Mac actuel + et vous libérer d'une partie de la surveillance de masse.\n\n\n\n +GEO:46.6235;4.98859 +LOCATION:Les Accords Du Lion d'Or\, 87 rue du 19 mars 1962\, Simandre\, Bou + rgogne-Franche-Comté\, France +ORGANIZER:mailto:etienne@liondor.org +SEQUENCE:4 +SUMMARY:Install'Party du Lion d'Or #3 Célebrons la fin de Windows 10 +URL;VALUE=URI:https://www.liondor.org/evenements/p6008/install-party-3.html +CATEGORIES:rencontre +CATEGORIES:information +CATEGORIES:numérique +CATEGORIES:les-accords-du-lion-d-or +CATEGORIES:install-party +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Afin de propos + er une alternative au consumérisme propagandé par Microsoft annonçant l + a fin du support de Windows 10 et invitant à acheter un nouvel ordinateur + \, venez prolonger la vie de votre PC/Mac actuel et vous libérer d'une pa + rtie de la surveillance de masse.

\n

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182253 +UID:33293@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T140000 +DTEND;TZID=Europe/Paris:20251014T180000 +DESCRIPTION:Dans le cadre de l'évènement "Orvault répare et vous".\n\nUn + ordinateur qui rame\, qui refuse de démarrer ou qui est cassé\, venez l + e réparer en notre compagnie.\n\nMarre de Windows et envie d'un peu de li + berté\, venez le libérer!\n\n +GEO:47.2402;-1.58976 +LOCATION:Centre socioculturel Plaisance\, avenue de l’Ille\, Orvault\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:5 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Dans le cadre de l'évènement "Orvault ré + pare et vous".

\n

Un ordinateur qui rame\, qui refuse de démarrer ou + qui est cassé\, venez le réparer en notre compagnie.

\n

Marre de W + indows et envie d'un peu de liberté\, venez le libérer!

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32903@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T153000 +DTEND;TZID=Europe/Paris:20251014T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:


+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

\n

Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

\n +

Les ambitions de l'émission Libre à vous!

\n

Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

\n +

Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

\n

L'émissio + n dispose:

\n\n

Photo d'illustration de l'émission

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T115810 +UID:33501@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T170000 +DTEND;TZID=Europe/Paris:20251014T190000 +DESCRIPTION:\n\nDans le cadre du mouvement [adieu windows ][1]de l'april\, + le fablab du plateau des petites roches organise se première install par + ty.\n\n\n\n\n\n[1]: https://adieuwindows.april.org/\n +GEO:45.3481;5.9121 +LOCATION:Fablab PPR\, 123 route du Col de Marcieu\, Plateau-des-Petites-Roc + hes\, Auvergne-Rhône-Alpes\, France +ORGANIZER:mailto:fablabppr@gmail.com +SEQUENCE:3 +SUMMARY:Adieu Windows\, bonjour le Libre ! - Install Party +URL;VALUE=URI:https://fablabppr.home.blog +CATEGORIES:adieu-windows +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

\n

Dans le cadre du mouvement adieu wi + ndows de l'april\, le fablab du plateau des petites roches organise se + première install party.

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T215022 +UID:33464@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T170000 +DTEND;TZID=Europe/Paris:20251014T193000 +DESCRIPTION:Venez donner une nouvelle jeunesse à votre ordinateur !\n\nEn + remplaçant votre système Windows® \\[ou Mac®\\] par un système **plus + simple\, plus sûr\, plus rapide\, plus sobre et libre** - GNU/Linux - vo + us pouvez donner à votre ordinateur toute son efficacité et vous serez + à l'abri des virus !\n\n\n\nLa durée de vie de votre ordinateur pourra e + n être multipliée au moins par deux\, vous permettant ainsi de réaliser + de très substantielles économies et de diminuer d'autant votre impact + écologique.\n\n\n\nLors de cette "Install partie" nous vous proposerons t + out d'abord une **démonstration** de GNU/Linux.\n\nSi vous amenez votre o + rdinateur\, nous pourrons effectuer des **tests** pour savoir s'il est par + faitement compatible avec Linux\, et si c'est le cas nous vous proposerons + de procéder à son **installation**.\n\nVous pouvez aussi venir **si vou + s avez déjà GNU/Linux** et que vous avez besoin d'un complément de conf + iguration ou des questions.\n\nVous pouvez également venir pour que l'on + vous aide à **installer /e/OS** sur votre appareil Android à condition q + u'il soit compatible: à vérifier avant de venir sur [https://doc.e.found + ation/devices ][1](Les Fairphones sont compatibles et plus faciles à inst + aller que les autres ordiphones).\n\nL'installation est gratuite\, vous po + urrez néanmoins faire un don à notre association "Libérons nos ordis".\ + n\n\n\nIMPORTANT: veuillez lire cette page afin de venir préparé: [https + ://blog.liberetonordi.com/index.php?post/participer-installparty][2]\n\nSi + vous n'êtes pas en mesure d'effectuer vous même votre **SAUVEGARDE**\, + veuillez apporter un support de sauvegarde (disque dur externe ou clé USB + de capacité suffisante).\n\n\n\nRemarque: vous pouvez même apporter un + ordinateur de bureau - uniquement l'unité centrale (la tour) - nous avons + des écrans\, claviers et souris à brancher dessus.\n\n\n\nVEUILLEZ VOUS + INSCRIRE ICI [https://calc.ouvaton.coop/InscriptionInstallPartieLinuxRoue + n][3]\n\n\n\n[1]: https://doc.e.foundation/devices\n[2]: https://blog.libe + retonordi.com/index.php?post/participer-installparty\n[3]: https://calc.ou + vaton.coop/InscriptionInstallPartieLinuxRouen\n +GEO:49.4335;1.08228 +LOCATION:La Base\, 5 rue Geuffroy\, Rouen\, Normandie\, France +SEQUENCE:3 +SUMMARY:Install partie Linux +URL;VALUE=URI:https://liberonsnosordis.org +CATEGORIES:libérons-nos-ordis +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:assistance +CATEGORIES:logiciels-libres +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

Venez + donner une nouvelle jeunesse à votre ordinateur !

\n

En remplaçant + votre système Windows® [ou Mac®] par un système plus simple\, + plus sûr\, plus rapide\, plus sobre et libre - GNU/Linux - vous + pouvez donner à votre ordinateur toute son efficacité et vous serez à + l'abri des virus !

\n

 

\n

La durée de vie de votre ordinateur + pourra en être multipliée au moins par deux\, vous permettant ainsi de + réaliser de très substantielles économies et de diminuer d'autant votre + impact écologique.

\n

 

\n

Lors de cette "Install partie" nou + s vous proposerons tout d'abord une démonstration de GNU + /Linux.

\n

Si vous amenez votre ordinateur\, nous pourrons effectuer + des tests pour savoir s'il est parfaitement compatible av + ec Linux\, et si c'est le cas nous vous proposerons de procéder à son installation.

\n

Vous pouvez aussi venir si vo + us avez déjà GNU/Linux et que vous avez besoin d'un complément + de configuration ou des questions.

\n

Vous pouvez également venir p + our que l'on vous aide à installer /e/OS sur votre appar + eil Android à condition qu'il soit compatible : à vérifier avant de ven + ir sur https://doc.e.foundation/devices (Les Fairphones + sont compatibles et plus faciles à installer que les autres ordiphones). +

\n

L'installation est gratuite\, vous pourrez néanmoins faire un do + n à notre association "Libérons nos ordis".

\n

 

\n

IMPORTANT + : veuillez lire cette page afin de venir préparé : https://blog.liberetonordi.com/index.php?p + ost/participer-installparty

\n

Si vous n'êtes pas en mesure d'ef + fectuer vous même votre SAUVEGARDE\, veuillez apporter u + n support de sauvegarde (disque dur externe ou clé USB de capacité suffi + sante).

\n

 

\n

Remarque : vous pouvez même apporter un ordina + teur de bureau - uniquement l'unité centrale (la tour) - nous avons des + écrans\, claviers et souris à brancher dessus.

\n

 

\n

VEUILL + EZ VOUS INSCRIRE ICI https://ca + lc.ouvaton.coop/InscriptionInstallPartieLinuxRouen

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251008T202307 +UID:33605@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T180000 +DTEND;TZID=Europe/Paris:20251014T200000 +DESCRIPTION:Le HSBT (Hacker Space du Bassin de Thau) a été créé pour of + frir des alternatives concrètes en matière numérique par la promotion d + u logiciel libre.\n\nNotre première action « Libère ton PC » axée sur + la lutte contre la fracture numérique par le reconditionnement des PC « + déclassés » et l’utilisation des logiciels libres est prête à dém + arrer.\n\nRDV à la Palanquée que le HSBT se fera un plaisir de vous accu + eillir: le mardi 14 Octobre 2025 de 18h à 20h pour un apéro « Adieu Win + dows\, bonjour le libre !»\n\nC’est en effet ce jour-là\, le 14 octobr + e\, que Microsoft mettra fin au support et mises à jour du système d’e + xploitation Windows 10 et poussera vers la décharge les PC ne pouvant pas + ser à Windows 11 (+ de 400 millions dans le monde).\n\nC’est donc le mo + ment idéal pour venir découvrir avec nous\, l’action « Libère ton PC + »\, Linux et les logiciels libres qui vont donner une nouvelle vie à vo + s appareils. Venez nombreux !\n\n +GEO:43.4052;3.69576 +LOCATION:La Palanquée\, 3 bis rue Gabriel Péri\, Sète\, Occitanie\, Fran + ce +ORGANIZER:mailto:contact@hsbt.fr +SEQUENCE:4 +SUMMARY:Apéro "Adieu Windows\, bonjour le libre !" +CATEGORIES:adieu-windows +CATEGORIES:hsbt +CATEGORIES:reconditionnement +CATEGORIES:la-palanquée +CATEGORIES:apéro +X-ALT-DESC;FMTTYPE=text/html:

https://www.lapalanquee.org
+ /wp-content/uploads/elementor/thumbs/LogoP-396x397-qenzj78338bexszwprf85hw
+ 9gbkphewctgnlgbnzes.jpgLe HSBT (Hacker Space du Bassin de Thau) a été + créé pour offrir des alternatives concrètes en matière numérique par + la promotion du logiciel libre.

\n

Notre première action « Libère + ton PC » axée sur la lutte contre la fracture numérique par le recondit + ionnement des PC « déclassés » et l’utilisation des logiciels libres + est prête à démarrer.

\n

RDV à la Palanquée que le HSBT se fera + un plaisir de vous accueillir : le mardi 14 Octobre 2025 de 18h à 20h po + ur un apéro « Adieu Windows\, bonjour le libre !»

\n

C’est en ef + fet ce jour-là\, le 14 octobre\, que Microsoft mettra fin au support et m + ises à jour du système d’exploitation Windows 10 et poussera vers la d + écharge les PC ne pouvant passer à Windows 11 (+ de 400 millions dans le + monde).

\n

C’est donc le moment idéal pour venir découvrir avec + nous\, l’action « Libère ton PC »\, Linux et les logiciels libres qui + vont donner une nouvelle vie à vos appareils. Venez nombreux !

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T111634 +UID:33349@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T180000 +DTEND;TZID=Europe/Paris:20251014T220000 +DESCRIPTION:L'association [Actux][1] et les bibliothèques de l'Université + de Rennes organisent une Install Party en prévision de la fin du support + de Windows 10 par Microsoft.\n\nToutes les personnes désirant passer à + un système libre sont les bienvenues.\n\nInformations supplémentaires et + inscriptions sur le [site de la bibliothèque][2].\n\n\n\n[1]: https://ac + tux.eu.org/\n[2]: https://bibliotheques.univ-rennes.fr/actualites/install- + party-linux-sur-le-campus-de-beaulieu\n +GEO:48.1155;-1.63393 +LOCATION:Université de Rennes\, Campus Beaulieu\, 263 avenue du Général + Leclerc\, Rennes\, Bretagne\, France +ORGANIZER:mailto:bu-contact@listes.univ-rennes.fr +SEQUENCE:4 +SUMMARY:Install Party à l'Université de Rennes +URL;VALUE=URI:https://bibliotheques.univ-rennes.fr/actualites/install-party + -linux-sur-le-campus-de-beaulieu +CATEGORIES:linux +CATEGORIES:install-party +CATEGORIES:endof10 +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

ActuxL'association Actux et les bibliothèques de l'Université + de Rennes organisent une Install Party en prévision de la fin du support + de Windows 10 par Microsoft. 

\n

Toutes les personnes désirant pass + er à un système libre sont les bienvenues.

\n

Informations supplém + entaires et inscriptions sur le site de la bibliothèque.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110837 +UID:33585@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T183000 +DTEND;TZID=Europe/Paris:20251014T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

\n
    \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
  • prend + re des conseils pour choisir des logiciels alternatifs
  • \n
  • différen + cier les logiciels libres utilisables pour répondre aux besoins
  • \n
  • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
\n

Mais c'est aussi un moment consacré pour :

\n
    \n
  • partager des connaissances et échanger des s + avoirs
  • \n
  • maîtriser les formats ouverts et la pérennité de ses d + ocuments
  • \n
  • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
  • \n
  • Diversité des alternatives
  • \n
  • Ind + épendance
  • \n
\n

Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250812T145300 +UID:33061@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T183000 +DTEND;TZID=Europe/Paris:20251014T213000 +DESCRIPTION:  **/!\\ Attention cette formation se déroule en trois temps: + les mardis 14\, 21 et 28 octobre de 18h30 à 21h30.** **Il faut impérati + vement avoir suivi [la formation de niveau 1][1]. **   **Objectifs: ** + * Rappel des fonctionnalités de base du Logiciel et retours d'expérience + sur son utilisation.\n* Traiter les écritures comptables de fin d'année + les plus courantes: les charges à payer et les dettes\, les produits à + recevoir et les créances\, les notions d'investissement et la comptabilis + ations d'amortissements\,  la comptabilisation de la paie.\n* Comptabilit + é du bénévolat et des abandons de frais.\n* Tenir une comptabilité ana + lytique.\n* Vérifier et valider  les comptes de l'association.\n* Les co + mptes annuels: Qu'est ce qu'un bilan qu'est ce qu'un compte de résultat?\ + n* Préparer le rapport financier\n\nFormation adaptée à de petites asso + ciations\, à des comptabilités de trésorerie\, la/le stagiaire doit pou + voir utiliser son ordinateur portable\n\n Accès transport en commun: Tram + D\, arrêt starcoop ou Bus 2\, arrêt coopérative   Toutes les informat + ions sur le site du Mouvement Associatif Grand Est https://www.lemouvement + associatif-grandest.org/fr/formations/approfondir-et-finaliser-ses-comptes + -sur-le-logiciel-libre-paheko-niveau-2\\_-d.html\n\n[1]: https://www.lemou + vementassociatif-grandest.org/fr/formations/apprendre-a-tenir-sa-comptabil + ite-sur-le-logiciel-libre-paheko-niveau-1_-d.html\n +GEO:48.5746;7.78865 +LOCATION:Kaledidoscoop (1er étage\, espace A\, salle verte)\, 5 rue de la + coopérative\, Strasbourg\, Grand Est\, France +ORGANIZER:mailto:fabien.blot@alsacenature.org +SEQUENCE:3 +SUMMARY:Approfondir et finaliser ses comptes sur le logiciel libre PAHEKO n + iveau 2 +URL;VALUE=URI:https://www.lemouvementassociatif-grandest.org/fr/formations/ + apprendre-a-tenir-sa-comptabilite-sur-le-logiciel-libre-paheko-niveau-1_-d + .html +CATEGORIES:paheko +CATEGORIES:comptabilité +CATEGORIES:association +CATEGORIES:formation +CATEGORIES:gestion +CATEGORIES:logiciel +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:
 
\n
/!\\ Attention cette formation se déroule + en trois temps : les mardis 14\, 21 et 28 octobre de + 18h30 à 21h30.
\n
< + span class="libelle">Il faut impérativement avoir sui + vi la formation de niveau 1
\n
 
\n
Objectifs : 
\n
    \n
  • Ra + ppel des fonctionnalités de base du Logiciel et retours d'expérience sur + son utilisation .
  • \n
  • Traiter les écritures comptables de fin d'an + née les plus courantes : les charges à payer et les dettes\, les produit + s à recevoir et les créances\, les notions d'investissement et la compta + bilisations d'amortissements\,  la comptabilisation de la paie.
  • \n
  • Comptabilité du bénévolat et des abandons de frais.
  • \n
  • Tenir un + e comptabilité analytique .
  • \n
  • Vérifier et valider  les comptes + de l'association.
  • \n
  • Les comptes annuels : Qu'est ce qu'un bilan qu + 'est ce qu'un compte de résultat?
  • \n
  • Préparer le rapport financie + r
  • \n
\n

Formation adaptée à de petites associations\, à des c + omptabilités de trésorerie\, la/le stagiaire doit pouvoir utiliser son o + rdinateur portable

\n
Accès + transport en commun : Tram D\, arrêt starcoop ou Bus 2\, arrêt coopérat + ive
\n
 
\n
+ Toutes les informations sur le site du Mouvement Associatif Grand Est http + s://www.lemouvementassociatif-grandest.org/fr/formations/approfondir-et-fi + naliser-ses-comptes-sur-le-logiciel-libre-paheko-niveau-2_-d.html
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164807 +UID:33098@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251014T200000 +DTEND;TZID=Europe/Paris:20251014T220000 +DESCRIPTION:\n\nLa Coollégiale\, c'est le moment où les bénévoles actif + s se retrouvent afin de préparer la suite de la vie de l'association\, di + scuter des projets et prendre les décisions 👍 Cet instant est ouvert + à toute personne intéressée d'en apprendre plus sur le fonctionnement d + e l'association et voulant s'investir avec nous dans sa vie quotidienne + 😄\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:🧭 La Coollégiale\, la réunion de coordination d'Alsace Réseau + Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn +CATEGORIES:arn-fai +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

Bannière de l'évènement Coollégiale

\n

La Coollégiale\, c'est le moment où les bén + évoles actifs se retrouvent afin de préparer la suite de la vie de l'ass + ociation\, discuter des projets et prendre les décisions 👍 Cet instant + est ouvert à toute personne intéressée d'en apprendre plus sur le fonc + tionnement de l'association et voulant s'investir avec nous dans sa vie qu + otidienne 😄

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T152318 +UID:33512@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T100000 +DTEND;TZID=Europe/Paris:20251015T170000 +DESCRIPTION:\n\nAvec la fin annoncée des mises à jour de sécurité de Wi + ndows 10\, initialement prévue pour octobre 2025\, c’est le moment idé + al pour faire le point sur votre ordinateur personnel. Participez à cet a + telier pour diagnostiquer votre machine\, découvrir Linux Mint — une al + ternative libre\, gratuite et facile d’utilisation — et offrir une sec + onde jeunesse à votre PC avec un système d’exploitation moins intrusif + \, plus léger et rapide. Si vous le souhaitez\, vous pourrez l’installe + r sur place\, avec un accompagnement possible tout au long de l’année a + u Lab Numérique.\n\n* Venez avec votre ancien PC.\n* Faites au préalable + une sauvegarde de vos données.\n* Si vous avez un PC fixe\, n’apportez + que votre unité centrale.\n\nMerci de réserver un des trois créneaux i + ci: 10h\, 14h ou 15h30\,\n[https://dun-inscriptions.u-strasbg.fr/eJ2lKkIrV + Ef06][1]\n\n\n\n\n\n[1]: https://dun-inscriptions.u-strasbg.fr/eJ2lKkIrVEf + 06\n +GEO:48.5786;7.76352 +LOCATION:Atrium\, 16 rue René Descartes\, Strasbourg\, Grand Est\, France +ORGANIZER:mailto:schnellf@unistra.fr +SEQUENCE:4 +SUMMARY:Donnez une seconde vie à votre PC ou à votre Mac avec Linux ! +URL;VALUE=URI:https://ccn.unistra.fr/formations-et-ateliers +CATEGORIES:repair-café +CATEGORIES:adieu-windows +CATEGORIES:atelier +CATEGORIES:tiers-lieux +CATEGORIES:culture-libre +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:centre-de-culture-numérique +X-ALT-DESC;FMTTYPE=text/html:

\n

Avec la fin annoncée des mises à jour de sécurité de Windows 10\, ini + tialement prévue pour octobre 2025\, c’est le moment idéal pour faire + le point sur votre ordinateur personnel. Participez à cet atelier pour di + agnostiquer votre machine\, découvrir Linux Mint — une alternative libr + e\, gratuite et facile d’utilisation — et offrir une seconde jeunesse + à votre PC avec un système d’exploitation moins intrusif\, plus léger + et rapide. Si vous le souhaitez\, vous pourrez l’installer sur place\, + avec un accompagnement possible tout au long de l’année au Lab Numériq + ue.

\n
    \n
  • Venez avec votre ancien PC.
  • \n
  • Faites au préala + ble une sauvegarde de vos données.
  • \n
  • Si vous avez un PC fixe\, n + ’apportez que votre unité centrale.
  • \n
\n

Merci de réserver + un des trois créneaux ici : 10h\, 14h ou 15h30\,
https://dun-inscriptions.u-strasb + g.fr/eJ2lKkIrVEf06

\n

 

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060649 +UID:33608@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T123000 +DTEND;TZID=Europe/Paris:20251015T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:2 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

Assistance technique et démonstration conc + ernant les logiciels libres.

\n

\n

Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

\n

Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112308 +UID:33353@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T140000 +DTEND;TZID=Europe/Paris:20251015T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique/ +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

< + /p>\n

Des ateliers numériques pour :
    analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
    installer des logiciels libres
    appre + ndre à utiliser les logiciels

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T130922 +UID:33599@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T140000 +DTEND;TZID=Europe/Paris:20251015T170000 +DESCRIPTION:Si votre ordinateur vous a annoncé qu'il n'aurait plus de mise + s à jour en octobre\, et que passer à la dernière version de windows n' + est pas envisageable pour lui\, nous avons une solution pour vous avant qu + 'il passe à la poubelle !\n\nNous vous proposons d'installer le système + d'exploitation Linux Mint qui redonnera une seconde vie à votre PC et vou + s permettra d'accéder aux dernières versions des logiciels usuels (Firef + ox et LibreOffice entre autres).\n\n(N'oubliez pas de sauvegarder vos donn + ées sur un support externe avant l'atelier).\n\n\n\n\n\nD'autre part\, ce + tte install party se déroule dans le cadre d'un café auto-réparation qu + i pourra vous permettre d'apprendre à diagnostiquer et peut-être répare + r vos objets électroniques ou petit électroménager. Ça sera aussi l'oc + casion de réviser votre vélo avant l'hiver !\n\n +GEO:45.2614;1.75988 +LOCATION:À Bicyclette\, 108 avenue Victor Hugo\, Tulle\, Nouvelle-Aquitain + e\, France +ORGANIZER:mailto:contact@medicationtime.org +SEQUENCE:4 +SUMMARY:Install party & café auto-réparation +URL;VALUE=URI:https://trashuniverse.org +CATEGORIES:adieu-windows +CATEGORIES:install-party +CATEGORIES:cafe-reparation +CATEGORIES:logiciels-libres +CATEGORIES:linux-mint +CATEGORIES:trashuniverse +CATEGORIES:medication-time +X-ALT-DESC;FMTTYPE=text/html:

Si votre ordinateur vous a annoncé qu'il n + 'aurait plus de mises à jour en octobre\, et que passer à la dernière v + ersion de windows n'est pas envisageable pour lui\, nous avons une solutio + n pour vous avant qu'il passe à la poubelle !

\n

Nous vous proposons + d'installer le système d'exploitation Linux Mint qui redonnera une secon + de vie à votre PC et vous permettra d'accéder aux dernières versions de + s logiciels usuels (Firefox et LibreOffice entre autres).

\n

(N'oubli + ez pas de sauvegarder vos données sur un support externe avant l'atelier) + .

\n

 

\n

\n

D'autre part\, cette install party se déroule dans le c + adre d'un café auto-réparation qui pourra vous permettre d'apprendre à + diagnostiquer et peut-être réparer vos objets électroniques ou petit é + lectroménager. Ça sera aussi l'occasion de réviser votre vélo avant l' + hiver !

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182421 +UID:33295@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T140000 +DTEND;TZID=Europe/Paris:20251015T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
\n

Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

\n

Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T112631 +UID:33433@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T180000 +DTEND;TZID=Europe/Paris:20251015T193000 +DESCRIPTION:Conférence \\| Comment décrypter les infox ?\n\nMercredi 15 o + ctobre 2025 de 18h00 à 19h30\nSalle Yves ABRIC\, place des Arènes Munici + pales\, place Fanfonne Guillierme\, 34470 Pérols\n\nS'appuyant sur les pr + incipes fondamentaux du logiciel libre\, cette conférence propose au publ + ic d'explorer collaborativement les mécanismes et les enjeux des infox (e + n anglais fake news\,).\n\nSelon Wikipédia « Les articles contenant des + infox emploient souvent des titres accrocheurs ou des informations entièr + ement fabriquées en vue d'augmenter le nombre de lecteurs et de partages + en ligne ».  Ils se multiplient sur internet.\n\nS'appuyant sur les prin + cipes fondamentaux du logiciel libre\, Montpel’libre et API: Action d’ + Intérêt Collectif proposent au public d'explorer collaborativement les m + écanismes et les enjeux des infox (en anglais  fake news\,).\nÉchanger + au sujet des bonnes pratiques et apprendre ensemble à décrypter ces info + x\, voir comment s’entraider à forger un esprit critique\, tel est l’ + objectif.\n\nÀ travers une conférence\, débat mouvant interactif\, une + discussion dynamique avec le public s’installera afin que chacun puisse + en ressortir non seulement avec des pistes de réflexion\, mais également + avec des réponses.\n\nInscriptions nécessaires\, places limitées \\| G + PS 43.561087/3.954121\n\n +GEO:43.5612;3.95464 +LOCATION:Salle Yves ABRIC\, place Fanfonne Guillierme\, Pérols\, Occitanie + \, France +ORGANIZER:mailto:contact@montpellibre.fr +SEQUENCE:3 +SUMMARY:Conférence | Comment décrypter les infox ? +URL;VALUE=URI:https://montpellibre.fr +CATEGORIES:montpel-libre +CATEGORIES:logiciels-libres +CATEGORIES:conference +CATEGORIES:infox +CATEGORIES:fake-news +X-ALT-DESC;FMTTYPE=text/html:

fakenews\, infoxConférence | Co + mment décrypter les infox ?

\n

Mercredi 15 octobre 2025 de 18h00 à + 19h30
Salle Yves ABRIC\, place des Arènes Municipales\, place Fanfonne + Guillierme\, 34470 Pérols

\n

S'appuyant sur les principes fondament + aux du logiciel libre\, cette conférence propose au public d'explorer col + laborativement les mécanismes et les enjeux des infox (en anglais fake ne + ws\,).

\n

Selon Wikipédia « Les articles contenant des infox emploi + ent souvent des titres accrocheurs ou des informations entièrement fabriq + uées en vue d'augmenter le nombre de lecteurs et de partages en ligne ». +  Ils se multiplient sur internet.

\n

S'appuyant sur les principes f + ondamentaux du logiciel libre\, Montpel’libre et API : Action d’Intér + êt Collectif proposent au public d'explorer collaborativement les mécani + smes et les enjeux des infox (en anglais  fake news\,). 
Échanger au + sujet des bonnes pratiques et apprendre ensemble à décrypter ces infox\ + , voir comment s’entraider à forger un esprit critique\, tel est l’ob + jectif.

\n

À travers une conférence\, débat mouvant interactif\, u + ne discussion dynamique avec le public s’installera afin que chacun puis + se en ressortir non seulement avec des pistes de réflexion\, mais égalem + ent avec des réponses.

\n

Inscriptions nécessaires\, places limité + es | GPS 43.561087/3.954121

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145415 +UID:32764@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T180000 +DTEND;TZID=Europe/Paris:20251015T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

\n

C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T045711 +UID:32967@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T183000 +DTEND;TZID=Europe/Paris:20251015T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

\n

\n

Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

\n

N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

\n

Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

\n

Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T110659 +UID:33490@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T183000 +DTEND;TZID=Europe/Paris:20251015T235900 +DESCRIPTION:Tous les 15 du mois\, Parinux organise un Apéro Parisien du Li + bre (APL).\n\nCet événement informel et convivial réunit les personnes + intéressées par le monde du Libre.\n\nLe 15 octobre\, cela se passera à + la [Kunda][1] à partir de 18h30.\n\nIl y aura de la nourriture et des bo + issons en vente sur place mais vous pouvez également en apporter:-)\n\n\n + \nÀ noter\, on prévoit au cours de la soirée une projection-débat du d + ocumentaire "Computing\, Climate Change\, and all our Relationships".\n\nA + dresse: 46-48 rue Jules Lagaisse 94400 Vitry\n\nTram T9 Beethoven Concorde + \nMétros proches: Villejuif Paul Vaillant Couturier\nRER proche: Vitry su + r Seine (C)\n\n\n\n[1]: https://lakunda.squat.net/\n +GEO:48.7972;2.38041 +LOCATION:La Kunda\, 46-48 rue Jules Lagaisse\, Vitry\, Île-de-France\, Fra + nce +ORGANIZER:mailto:ca@parinux.org +SEQUENCE:3 +SUMMARY:Apéro Parisien du Libre +URL;VALUE=URI:https://parinux.org/Apero-Parisien-du-Libre-du-15-octobre-a-p + artir-de-18h30-497 +CATEGORIES:parinux +CATEGORIES:apl +CATEGORIES:apéro-parisien-du-libre +CATEGORIES:projection +CATEGORIES:debat +X-ALT-DESC;FMTTYPE=text/html:

Tous les 15 du mois\, Parinux organise un A + péro Parisien du Libre (APL).

\n

Cet événement informel et convivi + al réunit les personnes intéressées par le monde du Libre.

\n

Le 1 + 5 octobre\, cela se passera à la Kunda à partir de 18h30.

\n

Il y au + ra de la nourriture et des boissons en vente sur place mais vous pouvez é + galement en apporter :-)

\n

\n

À noter\, on prévoit a + u cours de la soirée une projection-débat du documentaire "Computing\, C + limate Change\, and all our Relationships".

\n

Adresse : 46-48 rue Ju + les Lagaisse 94400 Vitry

\n

Tram T9 Beethoven Concorde
Métros proches : Villejuif Paul Vaillant Couturier
RER proche : Vitry sur Seine (C)

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T232731 +UID:33466@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251015T193000 +DTEND;TZID=Europe/Paris:20251015T223000 +DESCRIPTION:Coagul est une association qui vous accompagne dans la prise en + main de votre matériel informatique et ses applications\, par la promoti + on du logiciel libre et sa philosophie. Venez installer Linux Mint\, confi + gurer Firefox\, découvrir Inkscape et bien d'autres logiciels ! Mais auss + i\, la découpe laser\, la broderie numérique\, l'impression 3D et l'éle + ctronique !\n\nEn ce 15 octobre 2025\, l'association se propose de vous fa + ire découvrir deux initiatives pour vous libérer\, ainsi que votre maté + riel des services des GAFAM.\n\n**DéMAILnagemen**t: Quittez Gmail et les + autres géants d’internet et rejoignez le monde du mail libre. Des DéMA + ILnageurs et DéMAILnageuses\, se proposent de vous aider à changer de fo + urnisseur de mail ! Votre nouvelle boîte mail peut être accueillie chez + un hébergeur alternatif qui protège et sécurise vos données\, les stoc + ke au plus proche de chez vous quand il le peut\, avec le souci de préser + ver votre vie privée et de consommer moins d’énergie.\n\n**Adieu WIndo + ws**: Si vous aussi\, vous voulez être délivré·es\, ou libérer vos pr + oches de Windows 10\, si vous ne voulez pas ou n’avez pas les moyens de + passer à Windows 11\, alors les systèmes libres s’offrent à vous. Vou + s pouvez en installer un de façon autonome\, chez vous\, mais si vous pen + sez avoir besoin d’aide\, les bénévoles de Coagul se sont organisés p + our vous recevoir et répondre à vos questions.\n\n*En partenariat avec l + a [Médiathèque][1]*\n\n\n\n[1]: https://laparenthese-quetigny.fr/agenda\ + n +GEO:47.3152;5.11014 +LOCATION:La Parenthèse (Médiathèque de Quetigny)\,\, 4 rue des Huches\, + Quetigny\, Bourgogne-Franche-Comté\, France +ORGANIZER:mailto:c-bureau@outils.coagul.org +SEQUENCE:4 +SUMMARY:permanence spéciale Initiatives Démailnagement & Adieu Windows +URL;VALUE=URI:https://coagul.org/ +CATEGORIES:coagul +CATEGORIES:logiciel-libre +CATEGORIES:logiciels-libres +CATEGORIES:demailnagement +CATEGORIES:adieu-windows +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

Coagul est une + association qui vous accompagne dans la prise en main de votre matériel i + nformatique et ses applications\, par la promotion du logiciel libre et sa + philosophie. Venez installer Linux Mint\, configurer Firefox\, découvrir + Inkscape et bien d'autres logiciels ! Mais aussi\, la découpe laser\, la + broderie numérique\, l'impression 3D et l'électronique ! 

\n

En c + e 15 octobre 2025\, l'association se propose de vous faire découvrir deux + initiatives pour vous libérer\, ainsi que votre matériel des services d + es GAFAM.

\n

DéM + AILnagement: Quittez Gmail et les autres géants d’internet et + rejoignez le monde du mail libre. Des DéMAILnageurs et DéMAILnageuses\, + se proposent de vous aider à changer de fournisseur de mail ! Votre nouve + lle boîte mail peut être accueillie chez un hébergeur alternatif qui pr + otège et sécurise vos données\, les stocke au plus proche de chez vous + quand il le peut\, avec le souci de préserver votre vie privée et de con + sommer moins d’énergie.

\n

Adieu WIndows: Si vous aussi\, vou + s voulez être délivré·es\, ou libérer vos proches de Windows 10\, si + vous ne voulez pas ou n’avez pas les moyens de passer à Windows 11\, al + ors les systèmes libres s’offrent à vous. Vous pouvez en installer un + de façon autonome\, chez vous\, mais si vous pensez avoir besoin d’aide + \, les bénévoles de Coagul se sont organisés pour vous recevoir et rép + ondre à vos questions.

\n

En partenariat avec la Médiathèque

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T131217 +UID:33439@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T090000 +DTEND;TZID=Europe/Paris:20251019T190000 +DESCRIPTION:Le 14 octobre 2026\, Microsoft mettra fin aux mises à jour de + sécurité de Windows 10. Cela conduira environ 200 à 400 millions d'ord + inateurs vers des risques de sécurité ou en déchets électroniques.\n\n + **Le vôtre peut être l'un d'entre eux\, des solutions durables sont poss + ibles\, économiques et écologiques.**\n\nDécouvrons ensemble des soluti + ons durables et libres dans le cadre des Journées Nationales de la répar + ation.\nDécouvrons Linux qui est un système d'exploitation libre\, convi + vial pouvant répondre aux besoins de la plupart des utilisateurs.\n\nIl p + ermet de pouvoir continuer à utiliser son ordinateur encore de nombreuses + années\, en toute sécurité !\n\nC'est donc économique\, écologique e + t sécuritaire.\n\n +GEO:49.471;1.10882 +LOCATION:Rue des Canadiens\, Bois-Guillaume\, Normandie\, France +ORGANIZER:mailto:contact@papermotion.fr +SEQUENCE:4 +SUMMARY:La fin (de Windows 10) est proche ! Les solutions durables et libre + s +URL;VALUE=URI:https://www.papermotion.fr/contact#%E2%80%8BPrise-de-rendez-v + ous-en-ligne +CATEGORIES:adieu-windows +CATEGORIES:jnr2025 +CATEGORIES:paper-motion +CATEGORIES:réparation +CATEGORIES:découverte +X-ALT-DESC;FMTTYPE=text/html:

Logo de l'actionLe 14 oct + obre 2026\, Microsoft mettra fin aux mises à jour de sécurité de Window + s 10. Cela conduira environ 200 à 400 millions d'ordinateurs vers des ri + sques de sécurité ou en déchets électroniques.

\n

Le vôt + re peut être l'un d'entre eux\, des solutions durables sont possibles\, + économiques et écologiques.

\n

Découvrons ensemble des so + lutions durables et libres dans le cadre des Journées Nationales de la r + éparation.
Découvrons Linux qui est un système d'exploitation libre\ + , convivial pouvant répondre aux besoins de la plupart des utilisateurs.< + /p>\n

Il permet de pouvoir continuer à utiliser son ordinateur encore d + e nombreuses années\, en toute sécurité !

\n

C'est donc économiqu + e\, écologique et sécuritaire.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250929T075141 +UID:33421@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T100000 +DTEND;TZID=Europe/Paris:20251016T193000 +DESCRIPTION:**Quittez les systèmes propriétaires et privateurs avec l'aid + e de personnes d'Antanak**\n\nVenez avec votre ordinateur\, portable ou ju + ste l'unité centrale. En fonction de ces capacités et performances\, on + vous aide à passer sur une des distributions GNU-Linux.\n\nPRÉPARATION D + E VOTRE VENUE\nVous devez sauvegarder toutes vos données\, fichiers\, pho + tos\, images\, vidéos\, tout sur un espace externe avant de venir avec vo + tre ordinateur.\n\nVÉRIFICATION ET TEST DE VOTRE ORDINATEUR\nOn regarde a + vec vous l'état de santé physique de votre ordinateur (RAM\, setup\, pro + cesseur\, etc). On vous montre plusieurs distributions\, vous choisissez c + elle qui vous plait le plus \; peut-être\, on ajoute de la mémoire\, on + nettoie\, etc.\n\nINSTALLATION GNU-Linux\nAvec vous\, on installe pas à p + as la distribution choisie par vous\, on paramètre ensemble\, on installe + les applications dont vous avez besoin\, et vous faites tous les tests qu + e vous voulez avant de partir !\n\n Entrée libre\, mais c'est mieux si vo + us nous prévenez et adressez un petit courriel pour qu'on s'organise !   + *L'association propose également des ateliers d'entraide\, de la récup + ération d'anciens appareils pour pouvoir le reconditionner et le distribu + er aux personnes qui ont besoin.* +GEO:48.897;2.33053 +LOCATION:Antanak\, 18 rue Bernard Dimey\, Paris\, Île-de-France\, France +ORGANIZER:mailto:contact@antanak.com +SEQUENCE:5 +SUMMARY:Passage sous linux de votre ordinateur! +URL;VALUE=URI:https://antanak.com +CATEGORIES:antanak +CATEGORIES:installation +CATEGORIES:gnu-linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

Quittez les systèmes propriétaire + s et privateurs avec l'aide de personnes d'Antanak

\n

Venez + avec votre ordinateur\, portable ou juste l'unité centrale. En fonction d + e ces capacités et performances\, on vous aide à passer sur une des dist + ributions GNU-Linux.

\n
\n

PRÉPARATION DE VOT + RE VENUE
Vous devez sauvegarder toutes vos données\, fichiers\, photos + \, images\, vidéos\, tout sur un espace externe avant de venir avec votre + ordinateur.

\n

VÉRIFICATION ET TEST DE VOTRE ORDINATEUR
On regar + de avec vous l'état de santé physique de votre ordinateur (RAM\, setup\, + processeur\, etc). On vous montre plusieurs distributions\, vous choisiss + ez celle qui vous plait le plus \; peut-être\, on ajoute de la mémoire\, + on nettoie\, etc.

\n

INSTALLATION GNU-Linux
Avec vous\, on instal + le pas à pas la distribution choisie par vous\, on paramètre ensemble\, + on installe les applications dont vous avez besoin\, et vous faites tous l + es tests que vous voulez avant de partir !

\n
\n
Entrée libre\, mais c'est mieux si vous nous prévenez et adressez + un petit courriel pour qu'on s'organise !
\n
+  
\n
L'association propose également des + ateliers d'entraide\, de la récupération d'anciens appareils pour pouvo + ir le reconditionner et le distribuer aux personnes qui ont besoin. +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T215425 +UID:33459@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T160000 +DTEND;TZID=Europe/Paris:20251016T210000 +DESCRIPTION:Nous organisons un goûter install' pour s'entre-aider à insta + ller Linux sur nos PC\, l'occasion de se lancer en étant accompagné.\n\n + Avec la fin du support de Windows 10\, installer Linux peut donner une sec + onde vie à notre matériel.\n\nEt même avec un ordi assez récent pour s + upporter Windows 11\, il y a plein de raisons de passer vers un système c + ommunautaire\, plus respectueux des utilisateurs et utilisatrices.\n\nC'es + t quoi Linux ? Le récent post de Framasoft le résume bien\n[https://fram + ablog.org/2025/10/01/fin-de-windows-10-faisons-le-point/][1]\n\nSi possibl + e\, ramenez une clef USB de 4GB minimum\, préférez 8GB et plus.\n\nSi vo + us souhaitez installer une distribution particulière\, essayez de téléc + harger l'image avant de venir. N'hésitez pas à demander de l'aide pour t + rouver la version si besoin.\n\nSi vous avez des demandes particulières\, + n'hésitez pas non plus.\n\nVous pouvez nous contacter sur le groupe sign + al: [https://signal.group/#CjQKICL-nfBrD7Cbji0LOlqszUmZ0uUI\\\\_cuOv1Djp3d + X1o3pEhBYRG4\\\\_5OQMuAi7tmEOv3YP][2]\n\nL'entrée sera à prix libre ou g + ratuite\n\nLes gâteaux et limonades sont les bienvenues\n\n\n\n[1]: https + ://framablog.org/2025/10/01/fin-de-windows-10-faisons-le-point/\n[2]: http + s://signal.group/#CjQKICL-nfBrD7Cbji0LOlqszUmZ0uUI\\_cuOv1Djp3dX1o3pEhBYRG + 4\\_5OQMuAi7tmEOv3YP\n +GEO:43.301;5.38906 +LOCATION:61 rue Consolat\, Marseille\, Provence-Alpes-Côte d'Azur\, France +SEQUENCE:4 +SUMMARY:Goûter install' +CATEGORIES:adieu-windows +CATEGORIES:goûter +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

Nous organisons un goûter install' pour s'entre-aider à installe + r Linux sur nos PC\, l'occasion de se lancer en étant accompagné.

\n< + p>Avec la fin du support de Windows 10\, installer Linux peut donner une s + econde vie à notre matériel.

\n

Et même avec un ordi assez récent + pour supporter Windows 11\, il y a plein de raisons de passer vers un sys + tème communautaire\, plus respectueux des utilisateurs et utilisatrices.< + /p>\n

C'est quoi Linux ? Le récent post de Framasoft le résume bien
https://framablog.org/ + 2025/10/01/fin-de-windows-10-faisons-le-point/

\n

Si possible\, r + amenez une clef USB de 4GB minimum\, préférez 8GB et plus.

\n

Si vo + us souhaitez installer une distribution particulière\, essayez de téléc + harger l'image avant de venir. N'hésitez pas à demander de l'aide pour t + rouver la version si besoin.

\n

Si vous avez des demandes particuliè + res\, n'hésitez pas non plus.

\n

Vous pouvez nous contacter sur le g + roupe signal: https://signal.group/#CjQKICL-nfBrD7Cbji0LOlqszUmZ0uU + I\\_cuOv1Djp3dX1o3pEhBYRG4\\_5OQMuAi7tmEOv3YP

\n

L'entrée sera + à prix libre ou gratuite

\n

Les gâteaux et limonades sont les bienv + enues

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250905T163245 +UID:33215@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T161500 +DTEND;TZID=Europe/Paris:20251016T174500 +DESCRIPTION:Vous voulez installer Linux\, mais vous ne savez pas par où co + mmencer?\n\nNous vous accompagnons pour réaliser cette installation et ai + nsi donner une seconde jeunesse à votre ordinateur.\n\nToute l’année\, + la médiathèque propose un programme de formations au numérique\, des R + DV Culture numérique et des animations numériques.\n\nGratuit\, sur insc + ription.\n\nOutils d'inscription:\n\n* Par téléphone 02 40 24 75 91\n* [ + Par mail](mailto:mediatheque@ville-guerande.fr)\n\n +GEO:47.3313;-2.42758 +LOCATION:Médiathèque - Centre culturel Athanor\, 2 avenue anne de bretagn + e Guérande\, Guérande\, Pays de la Loire\, France +ORGANIZER:mailto:mediatheque@ville-guerande.fr +SEQUENCE:4 +SUMMARY:Installer Linux +URL;VALUE=URI:https://www.athanor-guerande.fr +CATEGORIES:médiathèque +CATEGORIES:formation +CATEGORIES:atelier +CATEGORIES:animation +CATEGORIES:accès-libre +CATEGORIES:médiathèque-de-guérande +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

Vous voulez installer Linux\, mais vous ne savez pas par où commence + r? 

\n

Nous v + ous accompagnons pour réaliser cette installation et ainsi donner une sec + onde jeunesse à votre ordinateur.

\n

Toute l’année\, la médiathèque propose un pro + gramme de formations au numérique\, des RDV Culture numérique et des ani + mations numériques.

\n

Gratuit\, sur inscription.

\n

Outils d'inscripti + on :

\n +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250923T132104 +UID:33371@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T163000 +DTEND;TZID=Europe/Paris:20251016T193000 +DESCRIPTION:Le 14 octobre 2025\, **Microsoft met fin aux mises à jour non + -payantes de Windows 10 et pousse au passage à Windows 11**.\n\nPour les + ordinateurs incompatibles avec Windows 11\, **l'Install Party du 16 octob + re** propose de **conserver son ordinateur** et **s'affranchir de Windows + en le remplaçant par le système Linux**. (on ne s'occupera pas d'ordina + teurs sous MacOS lors de cet atelier là)\n\n**Le 16 octobre 2025\, de 16h + 30 à 19h30\, aux Forges Lab 42\, St-Étienne**\n\n>\;>\; [Plus d'inf + os et inscriptions][1]\n\n\n\n[1]: https://www.helloasso.com/associations/ + zoomacom/evenements/install-party\n +GEO:45.4507;4.38843 +LOCATION:Forges Lab 42\, 11 rue Docteur Rémy Annino\, Saint-Étienne\, Auv + ergne-Rhône-Alpes\, France +ORGANIZER:mailto:contact@zoomacom.org +SEQUENCE:4 +SUMMARY:Install Party aux Forges +URL;VALUE=URI:https://www.zoomacom.org +CATEGORIES:linux +CATEGORIES:intall-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
\n

Le 14 octobre 202 + 5\, Microsoft met fin aux mises à jour non-payantes de Windows 1 + 0 et pousse au passage à Windows 11.

\n


Pour les ordina + teurs incompatibles avec Windows 11\, l'Install Party du 16 octob + re propose de conserver son ordinateur et s'affranchir de Windows en le remplaçant par le système Linux. (on ne s'occupera pas d'ordinateurs sous MacOS lors de cet atelier là) +

\n

Le 16 octobre 2025\, de 16h30 à 19h30\, aux Forges Lab 4 + 2\, St-Étienne

\n

>\;>\; Plus d'infos et insc + riptions

\n
+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T222538 +UID:33481@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T170000 +DTEND;TZID=Europe/Paris:20251016T180000 +DESCRIPTION:\n\nDans ce mini-webinaire on présentera une **ressource** q + ui peut être utilisée lors d’une **formation à Opale**.\nIl s’agit + d’un **document ODT** dont le contenu est à rédiger sur Opale\, qui + contient différents éléments qui permettent d’exploiter au maximum l + es possibilités d’Opale. Il contient aussi quelques **pièges**.\nOn + échangera sur les manières de l’utiliser dans le cadre d’une formati + on à Opale.\n\nSi tu as des attentes particulières ou des question sur l + e sujet traité\, réponds à ce [message][1]\, ça nous aidera à coller + au mieux aux besoins.\n\n\n\n[1]: https://forums.scenari.org/t/mini-webina + ire-40-presentation-d-une-ressource-utilisable-en-formation-opale/10177\n +LOCATION:Internet +ORGANIZER:mailto:contact@scenari.org +SEQUENCE:2 +SUMMARY:Mini-webinaire Scenari : Présentation d’une ressource utilisable + en formation Opale +URL;VALUE=URI:https://scenari.org/visio/miniwebinaire +CATEGORIES:scenari +CATEGORIES:visio-conférence +CATEGORIES:formation +CATEGORIES:pédagogie +CATEGORIES:exercice +CATEGORIES:opale +CATEGORIES:exemple +X-ALT-DESC;FMTTYPE=text/html:

\n

Dans ce mini-webinaire on présentera une ressource qui peut être utilisée lors d’une f + ormation à Opale.
Il s’agit d’un document ODT
 dont le contenu est à rédiger sur Opale\, qui contient différen + ts éléments qui permettent d’exploiter au maximum les possibilités d + ’Opale. Il contient aussi quelques pièges.
On éch + angera sur les manières de l’utiliser dans le cadre d’une formation + à Opale.

\n

Si tu as des attentes particulières ou des question sur + le sujet traité\, réponds à ce message\, ça nous aidera à coller au mieux aux besoins.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250116T062331 +UID:31751@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T180000 +DTEND;TZID=Europe/Paris:20251016T193000 +DESCRIPTION:J’organise une présentation de l’Espéranto\, la langue in + ternationale très facile à apprendre\, fraternelle\, neutre et libre au + Café **Le Petit Grain**\, Place Dormoy à Bordeaux (c’est un café asso + ciatif avec des tarifs abordables dans le quartier de la gare Saint-Jean + à côté de Barbey).\n\nCe sera l’occasion de découvrir autour d’un + verre ce qu’est l’Espéranto\, pourquoi a-t-il été créé\, comment\ + , qui l’utilise…\n[Cette vidéo][1] vous permettra d’en savoir plus + et nous répondrons à toutes vos questions: [https://flim.txmn.tk/w/57p7H + NerYxBrfDnSG4RKdd][1]\n\nVous trouverez également plus d'informations sur + : [https://esperanto-gironde.fr/lesperanto/][2]\, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.\n\nCe sera + aussi l’occasion de pratiquer pour les espérantistes.\n\nLa soirée est + ouverte à tous et toutes\, espérantistes ou non.\n\nLa sortie est gratu + ite sans obligation de consommation. Votre seule participation sera votre + éventuelle consommation et l'adhésion au café associatif le Petit Grain + si vous consommez (tarif libre\, conseillé à 5€\, minimum 2€).\n\n\ + n\n[1]: https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd\n[2]: https://espera + nto-gironde.fr/lesperanto/\n +GEO:44.8268;-0.564883 +LOCATION:Le Petit Grain\, 3 place Dormoy\, Bordeaux\, Nouvelle-Aquitaine\, + France +ORGANIZER:mailto:dodolacho7@gmail.com +SEQUENCE:3 +SUMMARY:Découverte de l'Espéranto +URL;VALUE=URI:https://esperanto-gironde.fr +CATEGORIES:esperanto +CATEGORIES:neutre +CATEGORIES:équitable +CATEGORIES:fraternelle +CATEGORIES:langue-libre +CATEGORIES:decouverte +CATEGORIES:le-petit-grain +X-ALT-DESC;FMTTYPE=text/html:

J’organise une présentation de l’Espé + ranto\, la langue internationale très facile à apprendre\, fraternelle\, + neutre et libre au Café Le Petit Grain\, Place Dormoy + à Bordeaux (c’est un café associatif avec des tarifs abordables dans l + e quartier de la gare Saint-Jean à côté de Barbey).

Ce sera l’ + occasion de découvrir autour d’un verre ce qu’est l’Espéranto\, po + urquoi a-t-il été créé\, comment\, qui l’utilise…
Cette vidéo vous permettra d’en savoir plu + s et nous répondrons à toutes vos questions : https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd

\n

Vous + trouverez également plus d'informations sur : https://esperanto-gironde.fr/lesperanto/ \, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.

\n

Ce + sera aussi l’occasion de pratiquer pour les espérantistes.

\n

La s + oirée est ouverte à tous et toutes\, espérantistes ou non.

\n

La s + ortie est gratuite sans obligation de consommation. Votre seule participat + ion sera votre éventuelle consommation et l'adhésion au café associatif + le Petit Grain si vous consommez (tarif libre\, conseillé à 5€\, mini + mum 2€).

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172311 +UID:33127@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T183000 +DTEND;TZID=Europe/Paris:20251016T203000 +DESCRIPTION:Le Rize vous propose un pas de côté dans la course folle au p + rogrès pour nous interroger sur les algorithmes en général\, l’Intell + igence Artificielle en particulier et leur impact sur nos vies : avec **H + ubert Guillaud** auteur de *Les algorithmes contre la société* (La Fabri + que\, 2025)\, **Aurélien Tabard** de **Limites Numériques**\, et **Judit + h Descombes\,** chargée de projets « Transformations numériques et rel + ation usagers » à la **ville de Villeurbanne**.\n\n**En partenariat ave + c la Fabrique et le café-librairie Carbone**\n\nRéservation + en ligne ou entrée libre dans la limite des places disponibles. + \n\n +GEO:45.7595;4.88421 +LOCATION:Le Rize\, 23 rue Valentin Hauy\, Villeurbanne\, Auvergne-Rhône-Al + pes\, France +ORGANIZER:mailto:anouck.eychenne@villeurbanne.fr +SEQUENCE:3 +SUMMARY:IA : méfiez-vous des magiciens ! +URL;VALUE=URI:https://lerize.villeurbanne.fr/agenda/ia-mefiez-vous-des-magi + ciens +CATEGORIES:intelligence-artificielle +CATEGORIES:technocritique +CATEGORIES:algorithmes +CATEGORIES:société +CATEGORIES:le-rize +CATEGORIES:ia +X-ALT-DESC;FMTTYPE=text/html:

Le Rize vous propose un pas de côté dans + la course folle au progrès pour nous interroger sur les algorithmes en g + énéral\, l’Intelligence Artificielle en particulier et leur impact sur + nos vies : avec Hubert Guillaud auteur de Les algor + ithmes contre la société (La Fabrique\, 2025)\, Aurélien T + abard de Limites Numériques\, et Judith + Descombes\, chargée de projets « Transformations numériques + et relation usagers » à la ville de Villeurbanne.

\ + n

En partenariat avec la Fabrique et le café-librairie Carbone +

\n

Réservation en ligne ou entrée libre dans + la limite des places disponibles.

+END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T112013 +UID:33429@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251016T190000 +DTEND;TZID=Europe/Paris:20251016T220000 +DESCRIPTION:Rencontres mensuelles autour de [Guix][1].\nVenez découvrir\, + discuter et contribuer à Guix dans une ambiance conviviale.\n\nIl n'y a + pas d'expérience pré-requise et vous êtes tout·es les bienvenu·es.\n\ + n**Programme**\n\nLes soirées se déroulent en 3 temps :\n\n* 19h-20h +  : accueil et discussions libres \;\n* 20h-21h : présention autour + d’un sujet spécifique suivie d’une session de questions/réponses \ + ;\n* 21h-22h : ateliers de contribution et discussions libres.\n\nBien s + ûr\, les horaires sont donnés à titre complètement indicatif ! ^\\_^ + '\n\n**Logistique**\n\nS’inspirant des rencontres April\, chacun·e est + invité·e à amener un petit quelque chose à manger et/ou à boire afin + de pouvoir partager avec les autres participant·es.\n\n**Accès**\n\nNous + serons accueilli·es dans les locaux de l'[April][2]\, elle même héberg + ée par [Easter-eggs][3] :\n\nAssociation April\n44/46 rue de l'Ouest (co + ur intérieure)\nBâtiment 8\n75014 Paris\n\nStations de Métro: Gaîté\, + Montparnasse\, Pernety.\nOpenStreetMap: <\;[https://www.openstreetmap.o + rg/node/3199095063][4]>\;.\n\nAu plaisir de vous y rencontrer !\n\n\n\n[ + 1]: https://guix.gnu.org\n[2]: https://april.org\n[3]: https://easter-eggs + .com/Presentation-d-Easter-eggs\n[4]: https://www.openstreetmap.org/node/3 + 199095063\n +GEO:48.8368;2.31923 +LOCATION:April\, 44-46 rue de l'Ouest\, Paris\, Île-de-France\, France +ORGANIZER:mailto:tanguy@bioneland.org +SEQUENCE:2 +SUMMARY:Guix@Paris +URL;VALUE=URI:https://guix.gnu.org +CATEGORIES:guix +CATEGORIES:guile +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:rencontre-mensuelle +X-ALT-DESC;FMTTYPE=text/html:

Rencontres mensuelles autour de Guix.
Venez découvrir\, discuter et contribuer à Guix dans une + ambiance conviviale.

\n

Il n'y a pas d'expérience pré-requise et v + ous êtes tout·es les bienvenu·es.

\n

Programme

\n

Les soirées se déroulent en 3 temps :

\n< + ul>\n
  • 19h-20h : accueil et discussions libres \;
  • \n
  • 20h-21h +  : présention autour d’un sujet spécifique suivie d’une session de + questions/réponses \;
  • \n
  • 21h-22h : ateliers de contribution e + t discussions libres.
  • \n\n

    Bien sûr\, les horaires sont donné + s à titre complètement indicatif ! ^_^'

    \n

    Logistique

    \n

    S + ’inspirant des rencontres April\, chacun·e est invité·e à amener un + petit quelque chose à manger et/ou à boire afin de pouvoir partager avec + les autres participant·es.

    \n

    Accès

    \n

    Nous serons accueill + i·es dans les locaux de l'Apri + l\, elle même hébergée par Easter-eggs :

    \n

    Association April
    44/46 rue de l'O + uest (cour intérieure)
    Bâtiment 8
    75014 Paris

    Stations de M + étro : Gaîté\, Montparnasse\, Pernety.
    OpenStreetMap : <\;https://www.openstreetmap. + org/node/3199095063>\;.

    \n

    Au plaisir de vous y rencontrer !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T181232 +UID:33479@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T093000 +DTEND;TZID=Europe/Paris:20251017T123000 +DESCRIPTION:\n\nÀ l'occasion de l'atelier de coréparation du premier same + di du mois d'octobre\, nous proposons la migration des PC sous Windows 10 + vers [Linux Mint][1] ou [AnduinOS.][2]\n\nUn suivi est possible en cas de + difficulté aux horaires habituels du fablab !\n\n\n\n[1]: https://peertu + be.mesnumeriques.fr/w/k75w3kcNxWZqTmnBGNsHFS\n[2]: https://www.anduinos.co + m/\n +GEO:46.9242;-0.741969 +LOCATION:Fablab L'Entrepot\, 21 Rue de la Poterie\, Mauléon\, Nouvelle-Aqu + itaine\, France +ORGANIZER:mailto:merlet.c@laposte.net +SEQUENCE:3 +SUMMARY:Adieu Windows à l'entrepôt ! +URL;VALUE=URI:https://www.fablabentrepot.fr +CATEGORIES:fablab +CATEGORIES:atelier +CATEGORIES:linux-mint +CATEGORIES:logiciels-libres +CATEGORIES:anduinos +X-ALT-DESC;FMTTYPE=text/html:

    
+ Fablab L'Entrepôt

    \n

    À l'occasion de l'atelier de coréparation d + u premier samedi du mois d'octobre\, nous proposons la migration des PC so + us Windows 10 vers Linux Mint ou AnduinOS.

    \n

    Un suivi es + t possible en cas de difficulté aux horaires habituels du fablab !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104826 +UID:33551@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T134000 +DTEND;TZID=Europe/Paris:20251017T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183719 +UID:33315@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T150000 +DTEND;TZID=Europe/Paris:20251017T200000 +DESCRIPTION:A l'occasion des journées nationales de la réparation\, venez + rencontrer des bénévoles qui vous expliqueront comment entretenir et r + éparer votre matériel numérique.\n\nProfitez aussi de l'occasion pour d + écouvrir Linux\, un système d'exploitation libre qui peut remplacer votr + e windows 10 en fin de vie.\n\n +GEO:48.1506;-3.60135 +LOCATION:Squatelier\, Terre alternative\, 297 rue de Carhaix\, Gourin\, Bre + tagne\, France +ORGANIZER:mailto:l.rauch@rmcom.bzh +SEQUENCE:5 +SUMMARY:Repair'Ordi et Install Party +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:repair-cafe +CATEGORIES:repair-ordi +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    A l'occasion des journées nationales de la + réparation\, venez rencontrer des bénévoles qui vous expliqueront comm + ent entretenir et réparer votre matériel numérique.

    \n

    Profitez au + ssi de l'occasion pour découvrir Linux\, un système d'exploitation libre + qui peut remplacer votre windows 10 en fin de vie.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20251007T154022 +UID:33600@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20251017T170000 +DTEND;TZID=Europe/Zurich:20251017T210000 +DESCRIPTION:Une soirée où on t’aide à installer Linux sur ton ordinate + ur. C’est gratuit et ouvert à toutes et tous. Ce projet est proposé pa + r des étudiant-es de l’UNIGE.\n\nInscription [https://framaforms.org/gn + ulinux-install-fest-1756738199][1]\n\n\n\n[1]: https://framaforms.org/gnul + inux-install-fest-1756738199\n +GEO:46.1767;6.1397 +LOCATION:Centre Universitaire d'Informatique\, 7 route de Drize\, Genève\, + Genève\, Suisse +ORGANIZER:mailto:Sophia.Koulen@etu.unige.ch +SEQUENCE:4 +SUMMARY:Install Party +URL;VALUE=URI:https://agenda.unige.ch/events/view/43759 +CATEGORIES:install-partie +CATEGORIES:unige +CATEGORIES:install-fest +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

    GNU/Linux Install FestUne soirée où on + t’aide à installer Linux sur ton ordinateur. C’est gratuit et ouvert + à toutes et tous. Ce projet est proposé par des étudiant-es de l’UNIG + E.

    \n

    Inscription https://framaforms.org/gnulinux-install-fest-1756738199 +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Brussels:20251006T115037 +UID:33497@agendadulibre.org +DTSTART;TZID=Europe/Brussels:20251017T180000 +DTEND;TZID=Europe/Brussels:20251017T200000 +DESCRIPTION:Antoinix est un groupe d’utilisateurs de logiciels libres (G. + U.L.L.) situé à Antoing\, en Belgique**. **\n\nNous proposons des ateli + ers de niveau débutant et avancé un vendredi sur deux de 18 à 20h. Les + participants peuvent amener des sujets à aborder pendant les ateliers.\n\ + nSi vous souhaitez participer à nos activités\, nous vous conseillons d + ’avoir une connaissance générale dans l’utilisation d’un ordinateu + r\, notre vocation n’étant pas l’apprentissage des bases de l’infor + matique. Nous ne sommes pas non plus un atelier de support informatique Wi + ndows ou Mac.\n\nBon à savoir: notre atelier se déroule dans une salle a + u nombre de places limitées\, au maximum nous pouvons accueillir 6 à 7 p + ersonnes. Si vous souhaitez participer à nos ateliers merci de nous envoy + er un mail à l'adresse ci dessous.\n\n +GEO:50.5662;3.44851 +LOCATION:Foyer Socio Culturel\, rue du Burg\, 23\, Antoing\, Wallonie\, Bel + gique +ORGANIZER:mailto:antoinix@netcourrier.com +SEQUENCE:2 +SUMMARY:Atelier Linux +CATEGORIES:atelier-du-vendredi +CATEGORIES:linux-mint +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:antoinix +X-ALT-DESC;FMTTYPE=text/html:

    Antoinix est un groupe d’utilisateurs de + logiciels libres (G.U.L.L.) situé à Antoing\, en Belgique

    \n

    Nous proposons des ateliers de niveau débutant et avancé u + n vendredi sur deux de 18 à 20h. Les participants peuvent amener des suje + ts à aborder pendant les ateliers.

    \n

    Si vous souhaitez participer + à nos activités\, nous vous conseillons d’avoir une connaissance gén + érale dans l’utilisation d’un ordinateur\, notre vocation n’étant + pas l’apprentissage des bases de l’informatique. Nous ne sommes pas no + n plus un atelier de support informatique Windows ou Mac.

    \n

    Bon à s + avoir: notre atelier se déroule dans une sal + le au nombre de places limitées\, au maximum nous pouvons accueillir 6 à + 7 personnes. Si vous souhaitez participer à nos ateliers merci de nous e + nvoyer un mail à l'adresse ci dessous.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250916T184711 +UID:33334@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T183000 +DTEND;TZID=Europe/Paris:20251017T203000 +DESCRIPTION:Conférence sur l'obsolescence et la durabilité des objets\, d + es textiles et des logiciels.\n\nAvec\n\n* Bookynette\, présidente de l'A + pril\,\n* Léo Sprimont\, artiste designer\,\n* Anthony Jaugeard: expert + économie et mode circulaire.\n\nInscriptions obligatoires à [https://www + .billetweb.fr/textiles-objets-logiciels-et-si-on-faisait-les-durer][1]\n\n + Organisé par l'Etiquette\, Réactiv Maker\, la MRES et la Ville de Lille\ + n\nDans le cadre des [Hauts-de-France réparent][2] et des [Journées Nati + onales de la réparation][3].\n\nEt le 18 octobre\, le lendemain\, c'est l + a fête de la réparation à Chaud Bouillon avec les Repair Cafés lillois + \, les Jantes du Nord\, Emmaüs connect\, Zéro waste Lille et d'autres ac + teurs de la réparation.\n\n\n\n\n\n\n\n[1]: https://www.billetweb.fr/text + iles-objets-logiciels-et-si-on-faisait-les-durer\n[2]: https://repaircafe- + hdf.org/hauts-de-france-reparent/\n[3]: https://journeesreparation.fr/\n +GEO:50.6279;3.09232 +LOCATION:La LOCO\, 19 passage de l'internationale\, Lille\, Hauts-de-France + \, France +SEQUENCE:5 +SUMMARY:Conférence : Textiles\, objets\, logiciels ? Et si on faisait les + durer ? +URL;VALUE=URI:https://www.billetweb.fr/textiles-objets-logiciels-et-si-on-f + aisait-les-durer +CATEGORIES:obsolescence +CATEGORIES:durabilité +CATEGORIES:logiciels +CATEGORIES:conférence +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Conférence sur l'obsolescence et la durabi + lité des objets\, des textiles et des logiciels.

    \n

    Avec

    \n
      \n +
    • Bookynette\, présidente de l'April\,
    • \n
    • Léo Sprimont\, artist + e designer\,
    • \n
    • Anthony Jaugeard : expert économie et mode circula + ire.
    • \n
    \n

    Inscriptions obligatoires à https://www.billetwe + b.fr/textiles-objets-logiciels-et-si-on-faisait-les-durer

    \n +

    Organisé par l'Etiquette\, + Réactiv Maker\, la MRES et la Ville de Lille

    \n

    Dans le cadr + e des Hauts + -de-France réparent et des J + ournées Nationales de la réparation.

    \n

    Et le 18 octobre\, le l + endemain\, c'est la fête de la réparation à Chaud Bouillon avec les Rep + air Cafés lillois\, les Jantes du Nord\, Emmaüs connect\, Zéro waste Li + lle et d'autres acteurs de la réparation.

    \n

     

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250901T202147 +UID:33175@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T183000 +DTEND;TZID=Europe/Paris:20251018T173000 +DESCRIPTION:A l’occasion des Hauts-de-France réparent et des Journées N + ationales de la Réparation\, des acteurs lillois organisent la Fête de l + a réparation les vendredi 17 et samedi 18 octobre 2025 à Lille.\n\n**Au + programme:**\n\n* le vendredi 17 octobre à 18h30: une conférence sur l'o + bsolescence des objets\, des textiles et des logiciels le 17 octobre\n* le + samedi 18 octobre de 10h à 17h30: des ateliers de réparation de tout ty + pe (textile\, petit électroménager\, hifi\, informatique\, vélo\,...)\n + \nA cette occasion\, des libristes se réunissent pour une **opération sp + éciale fin de vie de windows 10** et se proposent d'installer linux sur l + es PC des participants.\n\nOrganisateurs: la Maison Régionale de l’Envi + ronnement\, l'étiquette\, Chaud Bouillon\, La Loco\n\nPartenaires: Les Re + pair Cafés lillois et le Jardin des Bennes\, Emmaüs connect\, les libris + tes (Chtinux – Cliss21)\, les ateliers vélos (Bbcyclette\, Jantes du No + rd\,...)\, Zéro waste\n\n +GEO:50.6279;3.09312 +LOCATION:Chaud Bouillon et la Loco\, 70 passage de l'internationale\, Lille + \, Hauts-de-France\, France +SEQUENCE:4 +SUMMARY:Fête de la réparation +CATEGORIES:windows10 +CATEGORIES:réparation +CATEGORIES:install-party +CATEGORIES:atelier +CATEGORIES:conférence +CATEGORIES:fête-de-la-réparation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    A l’occasion des Hauts-de-France réparen + t et des Journées Nationales de la Réparation\, des acteurs lillois orga + nisent la Fête de la réparation les vendredi 17 et samedi 18 octobre 202 + 5 à Lille.

    \n

    Au programme :

    \n
      \n
    • le ven + dredi 17 octobre à 18h30 : une conférence sur l'obsolescence des objets\ + , des textiles et des logiciels le 17 octobre
    • \n
    • le samedi 18 octob + re de 10h à 17h30 : des ateliers de réparation de tout type (textile\, p + etit électroménager\, hifi\, informatique\, vélo\, ...)
    • \n
    \n

    A cette occasion\, des libristes se réunissent pour une opérati + on spéciale fin de vie de windows 10 et se proposent d'installer + linux sur les PC des participants.

    \n

    Organisateurs : la Maison Rég + ionale de l’Environnement\, l'étiquette\, Chaud Bouillon\, La Loco

    \ + n

    Partenaires : Les Repair Cafés lillois et le Jardin des Bennes\, Emma + üs connect\, les libristes (Chtinux – Cliss21)\, les ateliers vélos (B + bcyclette\, Jantes du Nord\, ...)\, Zéro waste

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241227T123804 +UID:31563@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251017T203000 +DTEND;TZID=Europe/Paris:20251017T233000 +DESCRIPTION:Re-Boot est une association qui s'inscrit dans le mouvement de + l'économie sociale et solidaire dans le domaine informatique\, engagée d + ans la promotion des [logiciels libres][1] et de [Linux][2]. L'association + est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes heu + reux d'accueillir toutes les personnes qui souhaitent découvrir les logic + iels libres.\n\n\n\nDécouvrez les sujets de ce mois sur notre site Intern + et à la rubrique Agenda/Thèmes à l'adresse https://rebootinformatique.o + rg/?reunions-mensuelles--les-thematiques\n\nVenez nombreuses et nombreux p + our découvrir nos activités.\n\nLe bureau.\n\n\n\n\n\n[1]: https://fr.wi + kipedia.org/wiki/Logiciel_libre\n[2]: https://fr.wikipedia.org/wiki/Linux\ + n +GEO:47.7175;1.93859 +LOCATION:MASS\, 45 rue Hippolyte Martin\, La Ferté Saint-Aubin\, Centre-Va + l de Loire\, France +ORGANIZER:mailto:contact@rebootinformatique.org +SEQUENCE:4 +SUMMARY:Réunion publique mensuelle - découverte des logiciels libres +URL;VALUE=URI:https://rebootinformatique.org +CATEGORIES:réemploi +CATEGORIES:re-boot +CATEGORIES:reboot +CATEGORIES:reboot-informatique +CATEGORIES:obsolescence-programmée +CATEGORIES:découverte +CATEGORIES:réunion-mensuelle +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Re-Boot est une association qui s'inscrit d + ans le mouvement de l'économie sociale et solidaire dans le domaine infor + matique\, engagée dans la promotion des logiciels libres et de Linux. L'associati + on est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes h + eureux d'accueillir toutes les personnes qui souhaitent découvrir les log + iciels libres.

    \n

    \n

    Découvrez les sujets + de ce mois sur notre site Internet à la rubrique Agenda/Thèmes à l'adr + esse https://rebootinformatique.org/?reunions-mensuelles--les-thematiques< + /p>\n

    Venez nombreuses et nombreux pour découvrir nos activités.

    \n +

    Le bureau.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050134 +UID:32973@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T090000 +DTEND;TZID=Europe/Paris:20251018T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T130355 +UID:33597@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T090000 +DTEND;TZID=Europe/Paris:20251018T120000 +DESCRIPTION:**INSTALL PARTY: le Libre pour toutes et tous**\n\n**Samedi 18 + octobre de 9H à 12H\, salle de quartier du Patio**\n\n**Entrée libre\, s + ans inscription.**\n\n\n\nVous en avez assez d’être dépendant des syst + èmes d'exploitation et logiciels propriétaires payants ? Votre ordinate + ur est vieillissant et vous souhaitez lui donner une seconde vie ? Vous s + ouhaitez simplement découvrir l’univers des logiciels libres ?\n\nCet + évènement est fait pour vous !\n\nLe Cybercentre\, l'ANETH (association + numérique d'entraide pour tous les habitants) et le centre socioculturel + Maison pour Tous vous proposent de tester et d’installer sans risques un + système libre et gratuit Linux sur votre ordinateur par une clé USB ou + par un cédérom fourni.\n\nPrésentez-vous avec votre matériel\, laissez + -vous guider\, et repartez avec votre propre machine fonctionnant sous un + nouveau système d’exploitation\, correctement installé et configuré.\ + n\nContact: Jean-Luc Turbé\, animateur du cybercentre 02.40.04.76.99\n\n +GEO:47.1789;-1.62607 +LOCATION:Le Patio\, 6bis rue de Beauvoir\, Bouguenais\, Pays de la Loire\, + France +ORGANIZER:mailto:cyber.animateur@yahoo.fr +SEQUENCE:5 +SUMMARY:Install Party\, le Libre est pour tous ! +CATEGORIES:inclusion +CATEGORIES:numérique +CATEGORIES:linux +CATEGORIES:médiation-numérique +CATEGORIES:logiciel-libres +CATEGORIES:grand-public +CATEGORIES:gratuit +CATEGORIES:install-party +CATEGORIES:linux-mint +X-ALT-DESC;FMTTYPE=text/html:

    INST + ALL PARTY : le Libre pour toutes et tous

    \n

    Samedi 1 + 8 octobre de 9H à 12H\, salle de quartier du Patio

    \n

    Entrée libre\, sans inscription.

    \n

     

    \n

    Vous en a + vez assez d’être dépendant des systèmes d'exploitation et logiciels p + ropriétaires payants ? Votre ordinateur est vieillissant et vous souhait + ez lui donner une seconde vie ? Vous souhaitez simplement découvrir l’ + univers des logiciels libres ?

    \n

    Cet évènement est fait pour vous + ! 

    \n

    Le Cybercentre\, l'ANETH (association numérique d'entraide p + our tous les habitants) et le centre socioculturel Maison pour Tous vous p + roposent de tester et d’installer sans risques un système libre et grat + uit Linux sur votre ordinateur par une clé USB ou par un cédérom fourni + .

    \n

    Présentez-vous avec votre matériel\, laissez-vous guider\, et + repartez avec votre propre machine fonctionnant sous un nouveau système d + ’exploitation\, correctement installé et configuré.

    \n

    Contact: J + ean-Luc Turbé\, animateur du cybercentre 02.40.04.76.99

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T133540 +UID:33494@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T090000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:\n\nGarlatek participe à la [Fête des Alternatives 3E (Écon + omie\, Écologie\, Emploi)][1] organisée par l’[union Locale CGT d’Au + bagne][2].\n\nNous aurons un stand pour sensibiliser aux problèmes liés + à l’obsolescence et pourrons vous aider pour de petites réparations su + r place.\n\n\n\n[1]: https://ul-cgt-aubagne.fr/index.php/economie-ecologie + -emploi/\n[2]: https://ul-cgt-aubagne.fr/\n +GEO:43.3511;5.60458 +LOCATION:Boulodrome\, Cours Négrel Féraud\, Roquevaire\, Provence-Alpes-C + ôte d'Azur\, France +ORGANIZER:mailto:garlatek@ekimia.fr +SEQUENCE:3 +SUMMARY:Atelier Répare café et logiciels libres +URL;VALUE=URI:https://www.garlatek.org +CATEGORIES:ekimia +CATEGORIES:android +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:garlatek +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    +

    \n

    Garlatek participe à la Fête des Alternatives 3E (Économie\, É + cologie\, Emploi) organisée par l’union Locale CGT d’Aubagne.

    \n

    Nous aurons un stand pour se + nsibiliser aux problèmes liés à l’obsolescence et pourrons vous aider + pour de petites réparations sur place.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20251004T133310 +UID:33489@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20251018T090000 +DTEND;TZID=Europe/Zurich:20251018T190000 +DESCRIPTION:**Offrez une nouvelle vie à votre ordi ! **\n\n\n\nLe 14 octo + bre 2025\, Microsoft arrête le support de Windows 10.\n\n**Samedi 18 octo + bre 2025**\nSalle Unia de Fleurier\, Place de la Gare 3\n\n**Dès 9h:** No + us vous aidons à remplacer Windows ou MacOS par un système d’exploitat + ion libre\, simple\, sûr\, performant... et durable.\n\n**Dès 17h:** Pro + jection et discussion autour du film "*La bataille du libre*" version cour + te (~56 minutes). Fin vers 19h.\n\n\n\n**La convivialité\nÀ PRIX LIBRE ! + **\n\n +GEO:46.9045;6.58204 +LOCATION:Salle Unia de Fleurier\, place de la gare 3\, Fleurier\, Neuchâte + l\, Suisse +ORGANIZER:mailto:admin@logiciel-libre.ch +SEQUENCE:3 +SUMMARY:Offrez une nouvelle vie à votre ordi ! (Install Party) +URL;VALUE=URI:https://logiciel-libre.ch +CATEGORIES:install +CATEGORIES:party +CATEGORIES:install_party +CATEGORIES:suisse +CATEGORIES:val-de-travers +CATEGORIES:neuchâtel +CATEGORIES:romandie +CATEGORIES:gnu +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:prix_libre +CATEGORIES:convivialité +CATEGORIES:logiciel_libre +CATEGORIES:windows_10 +CATEGORIES:film +CATEGORIES:la_bataille_du_libre +CATEGORIES:internet_et_la_révolution_du_partage +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Offrez une nouvelle vie à votre ordi ! 

    \n

    Windows 10\, c'est FINI !

    \n

    Le 14 octobre 202 + 5\, Microsoft arrête le support de Windows 10.

    \n
    \n

    Samedi 18 octobre + 2025
    Salle Unia de Fleurier\, Place de la Gare 3

    \n< + hr>\n

    Dès 9h : Nous vous aidons à remplacer Windows o + u MacOS par un système d’exploitation libre\, simple\, sûr\, performan + t... et durable.

    \n

    Dès 17h : Projection et discuss + ion autour du film "La bataille du libre" version courte (~56 min + utes). Fin vers 19h.

    \n

    GNU Tux 

    \n

    La convivialité
    À + PRIX LIBRE !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250821T050627 +UID:33087@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T091500 +DTEND;TZID=Europe/Paris:20251018T120000 +DESCRIPTION:L'association CLX Club LinuX Nord-Pas de Calais\, organise chaq + ue 3ème samedi de chaque mois une install party.\n\n\n\n\n\n\n\nVotre ord + inateur est lent ou fatigué?\n\nIl fonctionne moins bien et vous aimeriez + retrouver un fonctionnement adapté?\n\nVous pouvez lui donner un nouveau + coup de santé!\n\nEmmenez le (prenez soin de sauvegarder vos documents p + récieux avant de sortir)\, nous faisons le reste avec vous!\n\nAu cours d + e ces séances\, nous vous proposons d’installer le système d’exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\nC'est le moment convivial ou chacun peut installer Linux\, p + asser progressivement ses logiciels privateurs vers du libre ou tout simpl + ement se faire aider à l'entretien de son ordinateur.\n\nC'est aussi l'en + droit où l'on est pas obligé d'avoir un PC à réparer pour venir discut + er!\n\n +GEO:50.0158;4.04528 +LOCATION:Tiers-Lieu le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-F + rance\, France +ORGANIZER:mailto:fourmies@clx.asso.fr +SEQUENCE:4 +SUMMARY:Donnez une seconde vie à vos ordinateurs +URL;VALUE=URI:https://clx-fourmies.fr +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:clx +CATEGORIES:recyclage +CATEGORIES:linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    L'association CL + X Club LinuX Nord-Pas de Calais\, organise chaque 3ème samedi de chaque m + ois une install party.

    \n

     

    \n
    \n

    \n

     

    \n

    Votre ordinateur es + t lent ou fatigué?

    \n

    Il fonctionne moi + ns bien et vous aimeriez retrouver un fonctionnement adapté?

    \n

    Vous pouvez lui donner un nouveau coup de santé< + span class="finePre">!

    \n

    Emmenez le (prenez soin de sauvegard + er vos documents précieux avant de sortir)\, nous faisons le reste avec v + ous!

    \n

    Au cours de ces séances\, nous + vous proposons d’installer le système d’exploitation libre Linux et/o + u les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    C'e + st le moment convivial ou chacun peut installer Linux\, passer progressive + ment ses logiciels privateurs vers du libre ou tout simplement se faire ai + der à l'entretien de son ordinateur.

    \n

    C'est aussi l'endroit où l' + on est pas obligé d'avoir un PC à réparer pour venir discuter!

    \n
    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T045921 +UID:32970@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T093000 +DTEND;TZID=Europe/Paris:20251018T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'occasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:5 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'occasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182555 +UID:33380@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T100000 +DTEND;TZID=Europe/Paris:20251018T120000 +DESCRIPTION:\n\n\n\n**Programme**:\n\n- Présentation de l'écosystème Lin + ux\n\n- Analyse des services pédagogiques Debian-Facile\n\n- Récupérati + on de l'ISO de la distribution Debian-Facile et vérification de sa signat + ure numérique de téléchargement\n\n- Méthode(s) de transfert de l'ISO + sur clé USB pour installation future\n\n +GEO:48.6306;-3.30067 +LOCATION:Salle de la Forge\, rue Jean Le Porchou\, Bégard\, Bretagne\, Fra + nce +ORGANIZER:mailto:contact@infothema.fr +SEQUENCE:3 +SUMMARY:Permanence infothema (Groupe 1) +URL;VALUE=URI:https://www.infothema.fr/forum/index.php/topic,5526.0.html +CATEGORIES:infothema +CATEGORIES:debian-facile +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    \n

     

    \n

    Programme :
    - Présentation de l'écosystème Linux

    - Analyse des service + s pédagogiques Debian-Facile

    - Récupération de l'ISO de la distr + ibution Debian-Facile et vérification de sa signature numérique de tél + échargement

    - Méthode(s) de transfert de l'ISO sur clé USB pour + installation future

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T112304 +UID:33373@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T100000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:Dans le cadre de l'opération « [les Hauts de France réparent + ][1]»\, tout le monde peut venir à l'install-partie permanente\, pour r + efourbir son ordinateur personnel (tour ou portable) à l'aide d'un systè + me GNU/Linux.\n\nPour participer\, voici les étapes:\n\n1. **on fait une + sauvegarde des données personnelles** (textes\, photos\, tableaux\, logi + ns et mots de passes) sur un support détachable: clé USB ou disque dur e + xterne. En effet\, installer GNU/Linux est une opération qui touche au di + sque dur de l'ordinateur et cette précaution est utile.\n2. **on prend r + endez-vous**: visitez la page dédiée de la [Halle aux Sucres\, pour cet + évènement][2]. En bas de la page se trouvent un numéro de téléphone e + t une adresse de courriel. Appelez de préférence une semaine avant.\n3. + **on vient à la Halle aux Sucres** (parking gratuit le long du quai\, ar + rêt de BUS ([voyez les horaires et la plan de la ligne de bus n°16][3])\ + , à l'heure convenue \; ce sera entre 10h et 12h ou entre 14h et 17h\n\nV + ous pouvez aussi [voir par avance le diaporama][4] qui explique comment on + lutte contre l'obsolescence programmée de Windows 10.\n\n**Et le service + « après-vente » ?**\n\nDurant une install-partie\, il n'a pas de vente + : c'est gratuit\, on installe GNU/Linux sous sa propre responsabilité. Po + ur le suivi\, le mieux est de participer à une entraide collaborative\, a + ssociative: voyez le [Club Linux du Nord-Pas-de-Calais (CLX)][5]\, et la [ + maison de quartier des Glacis à Dunkerque\, l'épicerie La Source en Bass + e-Ville](/?near[distance]=10&\;near[location]=Dunkerque).\n\n\n\n[1]: h + ttps://repaircafe-hdf.org/hauts-de-france-reparent/\n[2]: https://www.hall + eauxsucres.fr/agenda/animation-atelier/les-hauts-de-france-reparent-2025-r + epair-cafe-geant\n[3]: https://dkbus.transdev-hdf.fr/wp-content/uploads/20 + 25/08/L16-horaire-2V-2025-09-WEB.pdf\n[4]: http://rebouteuse.eu/end-of-10/ + \n[5]: https://clx.asso.fr\n +GEO:51.0383;2.36799 +LOCATION:Halle aux sucres\, quai Freycinet 3\, Dunkerque\, Hauts-de-France\ + , France +ORGANIZER:mailto:georges.khaznadar@free.fr +SEQUENCE:3 +SUMMARY:Les Hauts-de-France réparent\, grâce à GNU/Linux +CATEGORIES:windows10 +CATEGORIES:install-party +CATEGORIES:repair-café +CATEGORIES:clx +CATEGORIES:adieu-windows +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de l'opération « les Hauts de Franc + e réparent »\, tout le monde peut venir à l'install-partie permanen + te\, pour refourbir son ordinateur personnel (tour ou portable) à l'aide + d'un système GNU/Linux.

    \n

    Pour participer\, voici les étapes :

    + \n
      \n
    1. on fait une sauvegarde des données personnelles (textes\, photos\, tableaux\, logins et mots de passes) sur un support + détachable : clé USB ou disque dur externe. En effet\, installer GNU/Li + nux est une opération qui touche au disque dur de l'ordinateur et cette p + récaution est utile.
    2. \n
    3. on prend rendez-vous : vi + sitez la page dédiée de la Halle aux Sucres\, pour cet évènement. En bas de la page se trouve + nt un numéro de téléphone et une adresse de courriel. Appelez de préf + érence une semaine avant.
    4. \n
    5. on vient à la Halle aux Sucr + es (parking gratuit le long du quai\, arrêt de BUS (voyez les horaires et la p + lan de la ligne de bus n°16)\, à l'heure convenue \; ce sera entre 1 + 0h et 12h ou entre 14h et 17h
    6. \n
    \n

    Vous pouvez aussi voir par avance le diaporama qui explique comment on lutt + e contre l'obsolescence programmée de Windows 10.

    \n

    Et le s + ervice « après-vente » ?

    \n

    Durant une install-partie\, i + l n'a pas de vente : c'est gratuit\, on installe GNU/Linux sous sa propre + responsabilité. Pour le suivi\, le mieux est de participer à une entraid + e collaborative\, associative : voyez le Club Linux du No + rd-Pas-de-Calais (CLX)\, et la maison de quartier des Glacis à Dunkerque\, l'épice + rie La Source en Basse-Ville.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T203227 +UID:33602@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T100000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:**LàO: Libre à Orx**\n\nLogiciels et Cultures Libres\n\nUne j + ournée pour explorer les logiciels libres\, les communs numériques (Wiki + pédia\, OpenStreetMap). Ateliers\, conférences et échanges !\n\n\n\n**P + rogramme**\n\n* 09:30 - 10:00 \\| Accueil\n* 10:00 - 12:30 \\| 🐧 Instal + l Party Linux\n* 10:00 - 12:30 \\| Impression 3D et découpe laser\n* 10:0 + 0 - 12:30 \\| Initiation à OpenStreetMap\n* 10:00 - 12:30 \\| Initiation + Wikipedia\n* 10:00 - 12:30 \\| Panoramax des sentiers communaux\n* 12:30 - + 14:00 \\| 🍽️ Repas\n* 14:00 - 14:30 \\| Autodéfense numérique\n* 1 + 4:00 - 14:30 \\| Communs géonumériques et gouvernance territoriale\n* 14 + :00 - 15:00 \\| Utiliser l'IA\n* 14:00 - 15:30 \\| Cartopartie: les nichoi + rs\n* 14:00 - 16:00 \\| Exploration de microcontrôleurs avec ESP32\n* 14: + 00 - 17:00 \\| Impression 3D et découpe laser\n* 15:00 - 16:00 \\| Inksca + pe\n* 15:00 - 16:30 \\| Docu-Blabla\n* 16:00 - 16:30 \\| Le libre: du beso + in au projet\n* 16:00 - 17:00 \\| Archive d'un jardinier\n* 16:30 - 17:00 + \\| Libre et droits humains\n* 17:00 - 18:30 \\| Rangement\n\n +GEO:43.6029;-1.37004 +LOCATION:Mairie\, place de l'Église\, Orx\, Nouvelle-Aquitaine\, France +ORGANIZER:mailto:contact@edouard-lopez.com +SEQUENCE:7 +SUMMARY:🎈 LàO: Libre à Orx (Logiciels et Cultures Libres: install-part + y\, carto-party\, éditathon) +URL;VALUE=URI:https://edouard-lopez.github.io/libre-a-orx/ +CATEGORIES:osm +CATEGORIES:wikipedia +CATEGORIES:panoramax +CATEGORIES:install-party +CATEGORIES:impression3d +CATEGORIES:inkscape +CATEGORIES:carto-partie +CATEGORIES:jardin +CATEGORIES:communs-numeriques +CATEGORIES:ia +CATEGORIES:contribution-au-libre +CATEGORIES:mapadour +CATEGORIES:openstreetmap +CATEGORIES:shell +CATEGORIES:women-in-tech +X-ALT-DESC;FMTTYPE=text/html:

    LàO: Libre à Orx

    \n

    Logiciels et Cultures Libres

    \n< + blockquote>\n

    Une journée pour explorer les logiciels libres\, les comm + uns numériques (Wikipédia\, OpenStreetMap). Ateliers\, conférences et + échanges !

    \n

    Affiche de l'événement

    \n\n

    Programme

    \n
      \n< + li>09:30 - 10:00 | Accueil\n
    • 10:00 - 12:30 | 🐧 Install Party Li + nux
    • \n
    • 10:00 - 12:30 | Impression 3D et découpe laser
    • \n
    • 10 + :00 - 12:30 | Initiation à OpenStreetMap
    • \n
    • 10:00 - 12:30 | Initia + tion Wikipedia
    • \n
    • 10:00 - 12:30 | Panoramax des sentiers communaux< + /li>\n
    • 12:30 - 14:00 | 🍽️ Repas
    • \n
    • 14:00 - 14:30 | Autodéf + ense numérique
    • \n
    • 14:00 - 14:30 | Communs géonumériques et gouve + rnance territoriale
    • \n
    • 14:00 - 15:00 | Utiliser l'IA
    • \n
    • 14:0 + 0 - 15:30 | Cartopartie: les nichoirs
    • \n
    • 14:00 - 16:00 | Exploratio + n de microcontrôleurs avec ESP32
    • \n
    • 14:00 - 17:00 | Impression 3D + et découpe laser
    • \n
    • 15:00 - 16:00 | Inkscape
    • \n
    • 15:00 - 16: + 30 | Docu-Blabla
    • \n
    • 16:00 - 16:30 | Le libre : du besoin au projet< + /li>\n
    • 16:00 - 17:00 | Archive d'un jardinier
    • \n
    • 16:30 - 17:00 | + Libre et droits humains
    • \n
    • 17:00 - 18:30 | Rangement
    • \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112745 +UID:33365@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T100000 +DTEND;TZID=Europe/Paris:20251018T173000 +DESCRIPTION:\n\nLa fin du support de Window$ 10 va rendre des milliers d'or + dinateurs obsolètes...\n\nÀ MOINS DE LES PASSER SOUS GNU/Linux !\n\nVene + z-vous renseigner\, apportez votre ordinateur pour faire un diagnostic et + si vous êtes convaincu⋅e installer un système d'exploitation (ou plut + ôt de libération) stable et responsable.\n\nRepas partagé à midi (chac + un apporte un plat à partager ou son repas)\n\n +GEO:46.6296;1.06278 +LOCATION:Atelier Linux au Blanc\, RéparLab\, 14 quai Aubépin\, Le Blanc\, + Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:7 +SUMMARY:Installe-partie GNU/Linux +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:formation +CATEGORIES:gnu/linux +CATEGORIES:reparlab +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    La fin du support de Window$ 10 va rendre des milliers d'ordinateu + rs obsolètes...

    \n

    À MOINS DE LES PASSER SOUS GNU/Linux !

    \n

    V + enez-vous renseigner\, apportez votre ordinateur pour faire un diagnostic + et si vous êtes convaincu⋅e installer un système d'exploitation (ou pl + utôt de libération) stable et responsable.

    \n

    Repas partagé à mid + i (chacun apporte un plat à partager ou son repas)

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135851 +UID:33159@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T103000 +DTEND;TZID=Europe/Paris:20251018T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250927T163557 +UID:33408@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T130000 +DTEND;TZID=Europe/Paris:20251018T160000 +DESCRIPTION:Samedi 18 octobre 2025 à Perpignan\, événement Monnaie Libre + Ğ1.\n\nDe 13h à 16h au 26 rue de l’avenir 66000 dans le cybercafé La + Nouvelle Cyberbodega.\n\nEntrée gratuite\, moment convivial\, explicatio + n sur la monnaie libre\, Ğmarché avec vos produits\, cafétéria sur pla + ce.\n\nVoici le groupe telegram du 66: [Telegram: View @monnaielibre66][1] + \n\nPour soutenir l’événement et le développement de la monnaie libre + dans le 66 tout don en monnaie libre est le bienvenue:\n\nHscwY8x7cv7xTdp + kr2JRxpEGCPbpdjuM2oPp67tX4c1d\n\nBienvenue à tous\n\n\n\n[1]: https://t.m + e/monnaielibre66\n +GEO:42.6959;2.88496 +LOCATION:La nouvelle CyberBodega\, 26 rue de l'Avenir\, Perpignan\, Occitan + ie\, France +ORGANIZER:mailto:ml66@gmx.com +SEQUENCE:3 +SUMMARY:Monnaie Libre +URL;VALUE=URI:https://forum.monnaie-libre.fr/t/66-evenement-monnaie-libre-g + 1-june-a-perpignan-le-18-octobre-2025/32775 +CATEGORIES:66 +CATEGORIES:g1 +CATEGORIES:monnaie-libre +X-ALT-DESC;FMTTYPE=text/html:

    Samedi 18 octobre 2025 à Perpignan\, évé + nement Monnaie Libre Ğ1.

    \n

    De 13h à 16h au 26 rue de l’avenir 66 + 000 dans le cybercafé La Nouvelle Cyberbodega.

    \n

    Entrée gratuite\, + moment convivial\, explication sur la monnaie libre\, Ğmarché avec vos + produits\, cafétéria sur place.

    \n

    Voici le groupe telegram du 66 : + Telegram: View @monnaielibre66

    \n

    Pour soutenir l + ’événement et le développement de la monnaie libre dans le 66 tout do + n en monnaie libre est le bienvenue :

    \n

    HscwY8x7cv7xTdpkr2JRxpEGCPbp + djuM2oPp67tX4c1d

    \n

    Bienvenue à tous

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T031559 +UID:32591@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T133000 +DTEND;TZID=Europe/Paris:20251018T190000 +DESCRIPTION:Le samedi 18 octobre 2025 de 13h30 à 19h00.\n\nMJC-EVS du Chev + al Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n         +           [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club + Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaine + s (environ) et accueille toutes les personnes qui souhaitent découvrir ou + approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétenc + e n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous acc + ueillons celles et ceux qui cherchent une réponse ou souhaitent découvri + r **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur + des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui p + ermet de conserver l’ancien système (par exemple Windows) et d’utilis + er quand même **Linux**\, en choisissant au démarrage\,\n* nous partageo + ns nos recherches (nos difficultés aussi) et nos découvertes\, les nouve + autés.\n\nLe **Club Linux** est également impliqué dans une démarche d + e libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de pro + motion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [** + OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S + **][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n + \n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https + ://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multibo + ot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[ + 6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: ht + tps://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:6 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 18 octobre 2025 de 13h30 à 19h00 + .

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vo + sges\, Wintzenheim\, Grand Est

    \n
    \n< + div class="leaflet-pane leaflet-map-pane" style="transform: translate3d(0p + x\, 0px\, 0px)\;">\n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     
    \n
    \n
    \n
      +
    \n
    \n
     
    \n
     
    \n
    \n\n< + /div>\n
    \n
    \n
    \n

    Rencontre du + Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes le + s 3 semaines (environ) et accueille toutes les personnes qui souhaitent d + écouvrir ou approfondir Linux et les Logiciels Libres. Aucune c + ompétence n'est demandée.  

    \n

    Pendant ces rencontres\, informelle + s\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, + la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par e + xemple Windows) et d’utiliser quand même Linux\, en ch + oisissant au démarrage\,
    • \n
    • nous part + ageons nos recherches (nos difficultés aussi) et nos découvertes\, les n + ouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Facebo + ok Amazon Microsoft) et de promotion de solutions libres comme\, entre aut + res\, Wi + kipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et b + eaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T115951 +UID:33503@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T160000 +DESCRIPTION:Rencontre des contributeurs OpenStreetMap (OSM) de la région d + e Saint-Brieuc. Les contributeurs plus éloignés sont évidemment bienven + us!\n\nLa rencontre se tient dans l'objectif de structurer un groupe local + pour l'organisation d'évènements collectifs\, le partage d'informations + sur le projet OSM et les applications qui l'entourent!\n\nUne rapide pré + sentation d'OSM sera effectuée puis nous ferons une sortie à l'aide de p + apier/crayon et de l'application StreetComplete. Un dernier temps sera dé + dié à l'intégration des données.\n\n +GEO:48.5249;-2.74295 +LOCATION:Mar'mousse\, 25 rue Adolphe Le Bail\, Plérin\, Bretagne\, France +ORGANIZER:mailto:osm22000@proton.me +SEQUENCE:3 +SUMMARY:Rencontre OpenStreetMap +CATEGORIES:openstreetmap +CATEGORIES:osm +CATEGORIES:rencontre +CATEGORIES:contributeurs +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Rencontre des co + ntributeurs OpenStreetMap (OSM) de la région de Saint-Brieuc. Les contrib + uteurs plus éloignés sont évidemment bienvenus!

    \n

    La rencontre se tient dans l'objectif de structurer un group + e local pour l'organisation d'évènements collectifs\, le partage d'infor + mations sur le projet OSM et les applications qui l'entourent!

    \n

    Une rapide présentation d'OSM sera effectuée p + uis nous ferons une sortie à l'aide de papier/crayon et de l'application + StreetComplete. Un dernier temps sera dédié à l'intégration des donné + es.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251009T064829 +UID:33606@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T160000 +DESCRIPTION:\n\nVotre ordinateur fonctionne encore\, mais Windows 10 s’ar + rête ? Pas de panique !\n\nDécouvrez comment lui offrir une seconde vie + grâce aux systèmes libres\, comme Linux: une solution écologique\, éco + nomique et durable.\n\nAvec l’association [Désobsolescence](/orgas/6550 + ).\n\n\n\n\n\n +LOCATION:Bibliothèque Fontaine d'Ouche\, Place André Gervais\, Dijon\, Bo + urgogne-Franche-Comté\, France +ORGANIZER:mailto:contact@desobs.fr +SEQUENCE:3 +SUMMARY:Adieu Windows\, bonjour Linux ! +URL;VALUE=URI:https://bm.dijon.fr +CATEGORIES:desobsolescence +CATEGORIES:obsolescence +CATEGORIES:atelier +CATEGORIES:réemploi +CATEGORIES:entraide +CATEGORIES:formation +CATEGORIES:adieu-windows +CATEGORIES:désobsolescence +CATEGORIES:install-partie +CATEGORIES:install-party +CATEGORIES:installparty +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Votre ordinateur fonctionn + e encore\, mais Windows 10 s’arrête ? Pas de panique !

    \n

    Découvr + ez comment lui offrir une seconde vie grâce aux systèmes libres\, comme + Linux : une solution écologique\, économique et durable.

    \n


    Ave + c l’association Dé + sobsolescence.

    \n

     

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T102032 +UID:33469@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:Root66 vous propose une permanence Logiciels Libres.\n\nÀ cett + e permanence\, tu pourras bénéficier d'une aide et d'un accompagnement p + our t'aider à installer\, configurer des logiciels libres aussi bien sur + PC que sur Smartphones.\nUn vieux pc qui rame ? Besoin de faire une sauveg + arde de tes données ? Envie de tester des applications opensource sur ton + téléphone ou sur ton pc\, mais tu as peur de tout casser et de ne pas y + arriver seul.e. Pas de souci\, l'équipe de root66 est là pour t'accompa + gner\, à ton propre rythme !\n\nUn des objectifs est de t'aider à repren + dre le contrôle de tes données et d'apprendre pas à pas les bonnes prat + iques à adopter pour sécuriser et améliorer ta vie privée numérique.\ + n\nN'hésite pas à passer ! L'équipe de root66 sera ravie de t'accueilli + r ! 🤓\n\n**Programme** (non exhaustif):\n\n* Dépannage\, assistance su + r PC\, smartphones utilisant du logiciel libre\n* Découverte et apprentis + sage pour utiliser un système libre comme Linux\n* Installations et confi + gurations complémentaires d'applications\n* Mise à jour et installation + de nouveaux logiciels opensource\n* Discussions conviviales entre utilisat + eurs autour des logiciels libres\n\nEntrée libre et gratuite 😎\n\nPour + une installation Linux ou pour un dépannage particulier\, envoyez un mai + l à: contact@root66.net\n\nSur place\, l'[adhésion][1] à l’associatio + n est possible\, mais non obligatoire.\n\n**Accès:** Parking rue Raymond + Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint-Cyr.\n\n\n\n[1 + ]: https://root66.net/public/bulletin-adhesion-R66-saisieDirecte.pdf\n +GEO:48.8074;2.06269 +LOCATION:Maison des associations Simone Veil\, 14 avenue Lieutenant Tom Mor + el\, Saint-Cyr L'École\, Île-de-France\, France +ORGANIZER:mailto:contact@root66.net +SEQUENCE:4 +SUMMARY:Permanences Logiciels Libres : pc et smartphones +URL;VALUE=URI:https://root66.net +CATEGORIES:adieu-windows +CATEGORIES:root66 +CATEGORIES:linux +CATEGORIES:smartphone +CATEGORIES:android +CATEGORIES:logiciel-libre +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    Root66 vous propose une permanence Logiciel + s Libres.

    \n

    À cette permanence\, tu pourras + bénéficier d'une aide et d'un accompagnement pour t'aider à installer\ + , configurer des logiciels libres aussi bien sur PC que sur Smartphones.Un vieux pc qui rame ? Besoin de faire une sauvegarde de tes données ? + Envie de tester des applications opensource sur ton téléphone ou sur ton + pc\, mais tu as peur de tout casser et de ne pas y arriver seul.e. Pas de + souci\, l'équipe de root66 est là pour t'accompagner\, à ton propre ry + thme !

    \n

    Un des objectifs est de t'aider à reprendre le contrôle d + e tes données et d'apprendre pas à pas les bonnes pratiques à adopter p + our sécuriser et améliorer ta vie privée numérique.

    \n

    N'hésite + pas à passer ! L'équipe de root66 sera ravie de t'accueillir ! 🤓

    \ + n

    Programme (non exhaustif) :

    \n
      \n
    • Dépannage + \, assistance sur PC\, smartphones utilisant du logiciel libre
    • \n
    • D + écouverte et apprentissage pour utiliser un système libre comme Linux\n
    • Installations et configurations complémentaires d'applications\n
    • Mise à jour et installation de nouveaux logiciels opensource
    • + \n
    • Discussions conviviales entre utilisateurs autour des logiciels libr + es
    • \n
    \n

    Entrée libre et gratuite 😎

    \n

    Pour une install + ation Linux ou pour un dépannage particulier\, envoyez un mail à : conta + ct@root66.net

    \n

    Sur place\, l'adhésion à l’association est + possible\, mais non obligatoire.

    \n

    Accès : Parkin + g rue Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint- + Cyr.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T215227 +UID:33465@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:1er étage\, entrée par l'escalier extérieur\, rue St Julien. + \n\n\n\nVous pouvez venir pour:\n\n* découvrir ce que peut vous apporter + le numérique libre\, éthique et écoresponsable\n* obtenir de l'assistan + ce pour l'utilisation des systèmes d'exploitation libres (GNU/Linux pour + ordinateur et /e/OS pour smartphones)\n* obtenir de l'assistance pour l'ut + ilisation des logiciels libres (ex: Firefox\, Thunderbird\, LibreOffice\, + VLC) et des services Internet éthiques (ex: mél et cloud\, travail colla + boratif en ligne).\n* vous faire aider à installer GNU/Linux sur votre or + dinateur ou /e/OS sur votre Fairphone\, si vous n'avez pas pu venir à not + re Install Partie.\n\nNous vous recommandons d'effectuer une **sauvegarde + avant de venir**\, si vous n'êtes pas en mesure de faire\, veuillez appor + ter un support de sauvegarde (disque dur externe ou clé USB de capacité + suffisante).\n\nNos services sont gratuits\, vous pourrez néanmoins faire + un don à notre association "Libérons nos ordis".\n\nATTENTION si vous a + pportez un ordinateur de bureau\, amenez aussi écran\, clavier et souris + à brancher dessus. Et câble d'alimentation avec multi-prise.\n\n\n\nINSC + RIPTION RECOMMANDÉE SUR LE TABLEAU À REMPLIR ICI: [https://calc.ouvaton. + coop/InscriptionPermanenceNumeriqueLibreRouen][1]\n\n\n\n[1]: https://calc + .ouvaton.coop/InscriptionPermanenceNumeriqueLibreRouen\n +GEO:49.4299;1.08434 +LOCATION:Maison Saint-Sever\, 10 rue Saint-Julien\, Rouen\, Normandie\, Fra + nce +SEQUENCE:3 +SUMMARY:Assistance numérique +URL;VALUE=URI:https://liberonsnosordis.org +CATEGORIES:libérons-nos-ordis +CATEGORIES:adieu-windows +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:assistance +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    1er étage\, entrée par l'escalier extéri + eur\, rue St Julien.

    \n

    \n

    Vous + pouvez venir pour :

    \n
      \n
    • découvrir ce que peut vous apporter le + numérique libre\, éthique et écoresponsable
    • \n
    • obtenir de l'ass + istance pour l'utilisation des systèmes d'exploitation libres (GNU/Linux + pour ordinateur et /e/OS pour smartphones)
    • \n
    • obtenir de l'assistan + ce pour l'utilisation des logiciels libres (ex : Firefox\, Thunderbird\, L + ibreOffice\, VLC) et des services Internet éthiques (ex : mél et cloud\, + travail collaboratif en ligne).
    • \n
    • vous faire aider à installer G + NU/Linux sur votre ordinateur ou /e/OS sur votre Fairphone\, si vous n'ave + z pas pu venir à notre Install Partie.
    • \n
    \n

    Nous vous recomman + dons d'effectuer une sauvegarde avant de venir\, si vous + n'êtes pas en mesure de faire\, veuillez apporter un support de sauvegard + e (disque dur externe ou clé USB de capacité suffisante).

    \n

    Nos se + rvices sont gratuits\, vous pourrez néanmoins faire un don à notre assoc + iation "Libérons nos ordis".

    \n

    ATTENTION si vous apportez un ordina + teur de bureau\, amenez aussi écran\, clavier et souris à brancher dessu + s. Et câble d'alimentation avec multi-prise.

    \n

     

    \n

    INSCRIPTI + ON RECOMMANDÉE SUR LE TABLEAU À REMPLIR ICI : https://calc.ouvaton.coop/InscriptionPermanenceNume + riqueLibreRouen

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T203933 +UID:33515@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T170000 +DESCRIPTION:**Artifaille fête les **[**journées mondiales de la réparat + ion**][1]**\, invités par la Recyclette de Caen.**\n\nUne “Install Part + y” l'après-midi (14h/17h)\, permettant à chacun·e de venir faire le g + rand saut vers Linux\, suivie de la co-animation d'un débat sur l'obsoles + cence programmée !\n\nTout le programme sur le site de [La recyclette][2 + ] !\n\n\n\n\n\n[1]: https://journeesreparation.fr/\n[2]: https://www.votc. + fr/page/3212877-ateliers-animations\n +GEO:49.1737;-0.391936 +LOCATION:La Recyclette\, 102b avenue Henry Chéron\, Caen\, Normandie\, Fra + nce +ORGANIZER:mailto:a.postec@votc.fr +SEQUENCE:3 +SUMMARY:Install party par Artifaille chez La Recyclette +URL;VALUE=URI:https://www.votc.fr/page/3212877-ateliers-animations +CATEGORIES:adieu-windows +CATEGORIES:artifaille +CATEGORIES:install-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Accueil
+ Artifaille fête les  + journées mondiales de la réparation\, invit + és par la Recyclette de Caen.

    \n

    Une “Install Party” l' + après-midi (14h/17h)\, permettant à chacun·e de venir faire le grand sa + ut vers Linux\, suivie de la co-animation d'un débat sur l'obsolescence p + rogrammée !

    \n

    Tout le programme sur le site de La recyclette !

    \n

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174549 +UID:32853@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@O2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@O2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174556 +UID:32854@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux31@culte.org". Vous pouvez sans attendre demand + er à y être inscrit pour\, le cas échéant\, y exposer une difficulté + et bénéficier de l'aide et de conseils d'une centaine de participants. I + l vous suffit de vous rendre à cette adresse et d'y formuler votre demand + e d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31?prev + ious\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subscribe + /linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux31@culte.o + rg". Vous pouvez sans attendre demander à y être inscrit pour\, le cas + échéant\, y exposer une difficulté et bénéficier de l'aide et de cons + eils d'une centaine de participants. Il vous suffit de vous rendre à cett + e adresse et d'y formuler votre demande d'inscription :

    \n

    http + s://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250809T045124 +UID:32951@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T180000 +DESCRIPTION:Le 14 octobre\, Microsoft cessera la mise à jour de Windows 10 + . Jusqu'à 400 millions d’ordinateurs encore fonctionnels risquent de pa + rtir à la poubelle à cause de cette obsolescence logicielle.\n\nLa Maiso + n Régionale de l’Environnement et des Solidarités (MRES) saisit l'occa + sion de Journée Internationale de la Réparation pour lutter contre cette + gabegie. Ce sera le 18 octobre. Le réseau des repair-café des Hauts de + France sera mobilisé\, et proposera d'installer Linux pour prolonger la v + ie du matériel.\n\nL'association Oisux s'associe à l'ALEP60 pour cette a + ction.\n\nLiens utiles:\n\n[https://www.alep60.fr/][1]\n\n[https://mres-as + so.org/][2]\n\n[https://repaircafe-hdf.org/][3]\n\n\n\n\n\n[1]: https://ww + w.alep60.fr/\n[2]: https://mres-asso.org/\n[3]: https://repaircafe-hdf.org + /\n +GEO:49.4211;2.07522 +LOCATION:Maison des associations Harmonie\, 25 rue Maurice Segonds\, Beauva + is\, Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:3 +SUMMARY:Journée Internationale de la Réparation et fin de Windows10 +URL;VALUE=URI:https://oisux.org +CATEGORIES:oisux +CATEGORIES:reparer +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:recyclage +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le 14 octobre\, Microsoft cessera la mise + à jour de Windows 10. Jusqu'à 400 millions d’ordinateurs encore foncti + onnels risquent de partir à la poubelle à cause de cette obsolescence lo + gicielle. 

    \n

    La Maison Régionale de l’Environnement et des Solid + arités (MRES) saisit l'occasion de Journée Internationale de la Réparat + ion pour lutter contre cette gabegie. Ce sera le 18 octobre. Le réseau de + s repair-café des Hauts de France sera mobilisé\, et proposera d'install + er Linux pour prolonger la vie du matériel.

    \n

    L'association Oisux s + 'associe à l'ALEP60 pour cette action.

    \n

    Liens utiles :

    \n

    https://www.alep60.fr/

    \n

    https://mres-asso.org/

    \n

    https://repaircafe-hdf.org/

    \n

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250816T140559 +UID:33072@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T180000 +DESCRIPTION:\n\nLe collectif Librezo et la ressourcerie de la Petite Rocket + te vous proposent une install party tous les 3e samedi du mois: reprenez l + e contrôle de votre ordinateur et luttez contre l'obsolescence programmé + e avec un système d'exploitation libre.\n\nApportez votre PC (ou achetez- + en un d'occasion sur place\, de 20 à 50€) et redonnez-lui une seconde j + eunesse avec GNU/Linux!\n\nMerci de réserver votre créneau horaire (comp + tez une heure au max pour l'installation).\n\nPrix libre.\n\n +GEO:48.8621;2.38394 +LOCATION:La petite Rockette\, 125 rue du Chemin vert\, Paris\, Île-de-Fran + ce\, France +ORGANIZER:mailto:attilax@librezo.fr +SEQUENCE:4 +SUMMARY:Install Party +URL;VALUE=URI:https://www.lapetiterockette.org/cafe_restauration/cafe_ateli + er +CATEGORIES:install-party +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:librezo +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    \ + n

    Le collectif Librezo et la ressourcerie de la Petite Rockette vous pro + posent une install party tous les 3e samedi du mois: + reprenez le contrôle de votre ordinateur et luttez contre l'obsol + escence programmée avec un système d'exploitation libre.

    \n

    Apporte + z votre PC (ou achetez-en un d'occasion sur place\, de 20 à 50) et redonnez-lui une seconde jeunesse avec GNU/Linux + !

    \n

    Merci de réserver votre créneau h + oraire (comptez une heure au max pour l'installation).

    \n

    Prix libre. +

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T120315 +UID:33505@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T140000 +DTEND;TZID=Europe/Paris:20251018T200000 +DESCRIPTION:L’**association Artifaille** s’associe aux [Journées mondi + ales][1] de la réparation !\n\n📍 Nous vous invitons à nous rejoindr + e à [La Recyclette][2] de Caen pour une journée dédiée à la réparati + on.\n\n🖥️ **Install Party Linux – 14h à 17h**\n\nEnvie de franchir + le pas ? Apportez votre ordinateur ! On vous aidera à installer Linux + dans la bonne humeur.\n\nPensez à apporter un disque dur pour sauvegarder + vos données ainsi que le câble d’alimentation de votre machine.\n\n** + Débat — De 17 h à 20 h**\n\nNous co-animons un échange sur **l’ob + solescence programmée** avec le film « Prêt à jeter ».\n\n📅 In + fos pratiques :\n\nTout le programme est à retrouver sur le site de [La + Recyclette][3]\n\n**Adresse** : 102b\, avenue Henry CHERON à Caen\n\nL + ’inscription n’est pas **obligatoire**\n\nL’adhésion à l’associa + tion est **facultative**\n\nVenez nombreux·ses\, curieux·ses ou convainc + u·es !\n\n\n\n\n\n[1]: https://journeesreparation.fr/\n[2]: https://www.v + otc.fr/page/3102867-la-recyclette\n[3]: https://s.42l.fr/la-recyclette\n +GEO:49.1722;-0.396864 +LOCATION:La Recyclette\, 102 avenue Henry Cheron\, Caen\, Normandie\, Franc + e +ORGANIZER:mailto:a.postec@votc.fr +SEQUENCE:3 +SUMMARY:Journées nationales de la réparation +URL;VALUE=URI:https://www.votc.fr/page/3212877-ateliers-animations +CATEGORIES:linux +CATEGORIES:reparer +CATEGORIES:install-party +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    vignette
    L’association Artifaille s’associe aux Journées mondi + ales de la réparation !

    \n

    📍 Nous vous invitons à nous rej + oindre à La Recyclette de Caen pour une journée dédi + ée à la réparation.

    \n

    🖥️ Install Party Linux – 14h + à 17h

    \n

    Envie de franchir le pas ? Apportez votre ordinat + eur ! On vous aidera à installer Linux dans la bonne humeur.

    \n

    Pe + nsez à apporter un disque dur pour sauvegarder vos données ainsi que le + câble d’alimentation de votre machine.

    \n

    Débat — De 17 +  h à 20 h

    \n

    Nous co-animons un échange sur l’ + obsolescence programmée avec le film « Prêt à jeter ».\n

    📅 Infos pratiques :

    \n

    Tout le programme est à retrouver + sur le site de La Recyclette

    \n

    Adresse : 102b\, + avenue Henry CHERON à Caen

    \n

    L’inscription n’est pas ob + ligatoire

    \n

    L’adhésion à l’association est fa + cultative

    \n

    Venez nombreux·ses\, curieux·ses ou convaincu + ·es !

    \n

    Affiche de l'événement

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250213T163536 +UID:31949@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251018T143000 +DTEND;TZID=Europe/Paris:20251018T180000 +DESCRIPTION:\n\n**Atelier Gimp animé par Yves Specht**\n\n**GIMP** (/gimp/ + \, acronyme de *GNUImage Manipulation Program*)\, ou anciennement «**The + GIMP**» (appellation abandonnée avec GIMP 2.4.0 en 2007\, comme le mont + re l’historique des écrans d’accueil)\, est un outil de manipulation + et de retouche d’image\, diffusé sous la licence GPLv3 comme un logicie + l gratuit et libre.\n\nIl en existe des versions pour la plupart des syst + èmes d’exploitation dont GNU/Linux\, macOS et Microsoft Windows.\n\nLe + logiciel est intégré à la liste des logiciels libres préconisés par l + ’État français dans le cadre de la modernisation globale de ses systè + mes d’informations (SI)\,\n\n**Samedi 18 octobre** (deuxième séance) d + e 14h 30 à 18h00\n\nUne participation est demandée **5 euros** par séan + ce.\n\nVous pouvez vous inscrire: [Rendez-vous sur le Pad][1]\n\n\n\n[1]: + https://pad.chapril.org/p/Atelier_Gimp\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:6 +SUMMARY:Atelier Gimp (deuxième séance) +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:gimp +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Atelier Gimp animé par Yves Specht

    \n

    GIMP (/gimp/\, acronyme de GNUIma + ge Manipulation Program)\, ou anciennement «The GIMP» (appellation abandonnée avec GIMP 2.4.0 en 2007\, comme le montre l + ’historique des écrans d’accueil)\, est un outil de manipulation et d + e retouche d’image\, diffusé sous la licence GPLv3 comme un logiciel gr + atuit et libre.

    \n

    Il en existe des versions pour la plupart des syst + èmes d’exploitation dont GNU/Linux\, macOS et Microsoft Windows.

    \n< + p>Le logiciel est intégré à la liste des logiciels libres préconisés + par l’État français dans le cadre de la modernisation globale de ses s + ystèmes d’informations (SI)\,

    \n

    Samedi 18 octobre (deuxième séance) de 14h 30 à 18h00

    \n

    Une participation est dem + andée 5 euros par séance.

    \n

    Vous pouvez vous insc + rire: Rendez-vous sur le + Pad

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251004T083449 +UID:33484@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251019T140000 +DTEND;TZID=Europe/Paris:20251019T180000 +DESCRIPTION:\n\n\n\nAtelier de contribution wikipédia et/ou wiktionnaire\, + débutant·es bienvenu·es\n\nApportez votre ordinateur.\n\nSur inscripti + on préalable ici (il faudra vous faire un compte wikipédia si vous n'en + n'avez pas) https://meta.wikimedia.org/wiki/Event:Atelier\\_LSP\\_Toulouse + /19\\_octobre\\_2025\n\n +GEO:43.5975;1.42813 +LOCATION:Bar la La Gougnotte\, 18 avenue Etienne Billières\, Toulouse\, Oc + citanie\, France +ORGANIZER:mailto:info@sans-pages.org +SEQUENCE:3 +SUMMARY:Permanence des sans pagEs +URL;VALUE=URI:https://sanspages.org +CATEGORIES:wikipédia +CATEGORIES:wiktionnaire +CATEGORIES:atelier +CATEGORIES:sans-pages +X-ALT-DESC;FMTTYPE=text/html:

    \n

     

    \n

    Ate + lier de contribution wikipédia et/ou wiktionnaire\, débutant·es bienven + u·es

    \n

    Apportez votre ordinateur.

    \n

    Sur inscription préalabl + e ici (il faudra vous faire un compte wikipédia si vous n'en n'avez pas) + https://meta.wikimedia.org/wiki/Event:Atelier_LSP_Toulouse/19_octobre_2025 +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32904@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251021T153000 +DTEND;TZID=Europe/Paris:20251021T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250927T163323 +UID:33407@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251021T180000 +DTEND;TZID=Europe/Paris:20251021T203000 +DESCRIPTION:\n\nChacun de nous peut prendre part aux progrès de la science + .\nQuels que soient vos diplômes\, découvrez et contribuez avec nous à + divers projets de sciences participatives\, s'inscrivant dans la culture l + ibre\, au cours des ateliers proposés par le Laboratoire Sauvage.\n\nSuje + t du jour: Quels arbres planter pour améliorer notre résilience alimenta + ire face aux changements climatiques ?\nPrésentation suivie d’un atelie + r pratique contributif.\n\nPour nous trouver\, c'est chaque 3ᵉ mardi du + mois\, mêmes lieu et horaires.\n\n +GEO:48.6633;6.17287 +LOCATION:Espace multimédia\, médiathèque Jules Verne\, 2 rue de Malines\ + , Vandoeuvre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@laboratoire-sauvage.fr +SEQUENCE:2 +SUMMARY:Sciences participatives +URL;VALUE=URI:https://fccl-vandoeuvre.fr/sciences +CATEGORIES:laboratoire-sauvage +CATEGORIES:atelier +CATEGORIES:numérique +CATEGORIES:fccl +CATEGORIES:sciences +CATEGORIES:culture-libre +X-ALT-DESC;FMTTYPE=text/html:

    Affiche ateliers de sciences participa
+ tives

    \n

    Chacun de nous peut prendre part + aux progrès de la science.
    Quels que soient vos diplômes\, découvrez + et contribuez avec nous à divers projets de sciences participatives\, s' + inscrivant dans la culture libre\, au cours des ateliers proposés par le + Laboratoire Sauvage.

    \n

    Sujet du jour : Quels arbres planter pour am + éliorer notre résilience alimentaire face aux changements climatiques ?< + br>Présentation suivie d’un atelier pratique contributif.

    \n

    Pour + nous trouver\, c'est chaque 3ᵉ mardi du mois\, mêmes lieu et horaires.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250829T050611 +UID:33142@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251021T183000 +DTEND;TZID=Europe/Paris:20251021T200000 +DESCRIPTION:Discussion entre contributeurs lyonnais du projet OSM et acteur + s intéressés.\n\n\n\nToute personne intéressée par OpenStreetMap peut + s'intégrer à cette rencontre\, tout particulièrement les débutants qui + souhaiteraient des conseils pour se lancer.\n\nOrdre du jour à compléte + r: [https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-10-21][1]\n\n + **Lieu de réunion: ****Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e****.* + *\n\n\n\n[1]: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-10- + 21\n +GEO:45.7623;4.85875 +LOCATION:Tubà\, 15 boulevard Vivier-Merle\, Lyon\, Auvergne-Rhône-Alpes\, + France +SEQUENCE:2 +SUMMARY:OpenStreetMap\, rencontre mensuelle +URL;VALUE=URI:https://wiki.openstreetmap.org/wiki/FR:Lyon +CATEGORIES:osm +CATEGORIES:openstreetmap +CATEGORIES:rencontre-mensuelle +CATEGORIES:contributeurs +CATEGORIES:données-ouvertes +CATEGORIES:discussion +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Discussion entre + contributeurs lyonnais du projet OSM et acteurs intéressés.

    \n

    \n +

    Toute personne intéressée par OpenStreetMap peut s'intégrer à cette + rencontre\, tout particulièrement les débutants qui souhaiteraient des + conseils pour se lancer.

    \n

    Ordre du jour à compléter: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-1 + 0-21

    \n

    Lieu de réunion: < + /strong>Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110837 +UID:33586@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251021T183000 +DTEND;TZID=Europe/Paris:20251021T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250224T094323 +UID:32054@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251021T190000 +DTEND;TZID=Europe/Paris:20251021T210000 +DESCRIPTION:La Guilde vous propose deux ateliers en une soirée: install pa + rty **ET** rencontre Fairphone\n  à la Turbine.coop (entrée par le côt + é droit du bâtiment).\n\nVous en avez assez d’être dépendants des OS + et logiciels propriétaires (Android\, Microsoft\, etc.)?\n\nCet atelier + est pour vous! Repartez à la fin de la soirée avec votre propre machine + fonctionnant sous un nouveau système d’exploitation\, correctement inst + allé\, configuré et agrémenté de nombreux logiciels (essentiellement l + ibres!).\n\nC’est aussi l’occasion pour les utilisateurs de [FairPhone + ][1] de partager leurs expériences. Ce mois-ci\, un Fairphone 3\, un Fair + phone 4 et un Fairphone 5 avec /e/OS installé seront disponibles pour dé + monstration.\n\nMerci de sauvegarder vos données si vous apportez votre m + achine!\n\n\n\n\n\n[1]: https://www.fairphone.com\n +GEO:45.1876;5.70509 +LOCATION:La Turbine.coop\, 5 esplanade Andry Farcy\, Grenoble\, Auvergne-Rh + ône-Alpes\, France +ORGANIZER:mailto:contact@guilde.asso.fr +SEQUENCE:2 +SUMMARY:Install Party + Rencontre FairPhone +URL;VALUE=URI:https://www.guilde.asso.fr +CATEGORIES:install-party +CATEGORIES:guilde +CATEGORIES:rencontre +CATEGORIES:fairphone +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    La Guilde vous + propose deux ateliers en une soirée: install party ET r + encontre Fairphone
      à la Turbine.coop (entrée par le côté droit d + u bâtiment).

    \n

    Vous en ave + z assez d’être dépendants des OS et logiciels propriétaires (Android\ + , Microsoft\, etc.)?

    \n

    Cet + atelier est pour vous! Repartez à la fin de la soirée avec votre propre + machine fonctionnant sous un nouveau système d’exploitation\, correctem + ent installé\, configuré et agrémenté de nombreux logiciels (essentiel + lement libres!).

    \n

    C’est aussi l’occasion pour les utilisateurs + de FairPhone de partager leurs exp + ériences. Ce mois-ci\, un Fairphone 3\, un Fairphone 4 et un Fairphone 5 + avec /e/OS installé seront disponibles pour démonstration.

    \n

    Merci + de sauvegarder vos données si vous apportez votre machine!

    \n

    guil
+ de

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060649 +UID:33610@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251022T123000 +DTEND;TZID=Europe/Paris:20251022T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112416 +UID:33354@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251022T140000 +DTEND;TZID=Europe/Paris:20251022T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145416 +UID:32765@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251022T180000 +DTEND;TZID=Europe/Paris:20251022T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250902T105258 +UID:33182@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251022T180000 +DTEND;TZID=Europe/Paris:20251022T200000 +DESCRIPTION:\n\nLe groupe local Nancy de l’association OpenStreetMap Fran + ce **vous propose de participer aux réunions mensuelles ouvertes à tou· + te·s** !\n\nAvec [OpenStreetMap][1]\, participez à la construction d’u + ne carte en ligne libre et gratuite\, partagée avec le monde entier!\n\n* + *Participation aux ateliers**\n\nLe lieu la Fabrique des possibles nous es + t librement accessible lors de nos réunions.\n\nSi vous souhaitez partici + per à distance\, cela est possible [depuis ce lien][2]. Toutefois merci d + e nous en avertir pour que nous nous organisions en nous équipant et inst + allant le matériel nécessaire.\n\n\n\n[1]: https://www.openstreetmap.org + \n[2]: https://fccl-vandoeuvre.fr/visio\n +GEO:48.6673;6.16751 +LOCATION:Fabrique des possibles\, 164 avenue du Général Leclerc\, Vandoeu + vre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:2 +SUMMARY:Réunion OpenStreetMap +URL;VALUE=URI:https://fccl-vandoeuvre.fr/osm +CATEGORIES:osm +CATEGORIES:fccl +CATEGORIES:osm-54 +CATEGORIES:rencontre +CATEGORIES:cartographie +CATEGORIES:logiciels-libres +CATEGORIES:fabrique-des-possibles +CATEGORIES:openstreetmap +CATEGORIES:réunion +X-ALT-DESC;FMTTYPE=text/html:

    Affiche d'OSM Nancy

    \n

    Le groupe local Nancy de l’association OpenStreet + Map France vous propose de participer aux réunions mensuelles ouv + ertes à tou·te·s !

    \n

    Avec OpenStreetMap\, participez à la construc + tion d’une carte en ligne libre et gratuite\, partagée avec le monde en + tier!

    \n

    Participation aux ateliers

    \n

    Le lieu + la Fabrique des possibles nous est librement accessible lors de nos réuni + ons.

    \n

    Si vous souhaitez participer à distance\, cela est possible + depuis ce lien. Toutef + ois merci de nous en avertir pour que nous nous organisions en nous équip + ant et installant le matériel nécessaire.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T045756 +UID:32968@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251022T183000 +DTEND;TZID=Europe/Paris:20251022T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T174741 +UID:33240@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251023T093000 +DTEND;TZID=Europe/Paris:20251023T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181720 +UID:33290@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251023T140000 +DTEND;TZID=Europe/Paris:20251023T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2617;-1.57319 +LOCATION:Maison de quartier la Mano\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T173320 +UID:33476@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251023T203000 +DTEND;TZID=Europe/Paris:20251023T223000 +DESCRIPTION:La fin prochaine du support de Windows 10 pousse au remplacemen + t d’ordinateurs toujours fonctionnels. Pour éviter ça\, les membres de + l’association GEBULL vous proposent une soirée spéciale d’aide à l + ’installation de GNU/Linux sur votre ordinateur.\n\n\n\n +GEO:46.8325;-0.498315 +LOCATION:La Gob\, 3 rue de la chaize\, Bressuire\, Nouvelle-Aquitaine\, Fra + nce +ORGANIZER:mailto:contact@gebull.org +SEQUENCE:3 +SUMMARY:Soirée d’installation GNU/Linux +URL;VALUE=URI:https://gebull.org/ +CATEGORIES:adieu-windows +CATEGORIES:install-party +CATEGORIES:lagob +CATEGORIES:endof10 +CATEGORIES:gebull +X-ALT-DESC;FMTTYPE=text/html:

    La fin prochaine du support de Windows 10 p + ousse au remplacement d’ordinateurs toujours fonctionnels. Pour éviter + ça\, les membres de l’association GEBULL vous proposent une soirée sp + éciale d’aide à l’installation de GNU/Linux sur votre ordinateur.

    \n

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250923T224239 +UID:33372@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T133000 +DTEND;TZID=Europe/Paris:20251024T173000 +DESCRIPTION:Médiathèque de Quimperlé\, place Saint-Michel\, pas d’insc + ription\, entrée libre !\n\nMickaël\, Johann\, Alain\, et Yves vous accu + eillent (ou l'un d'eux\, on se relaie !).\n\nConseils\, aide et infos prat + iques *GNU/Linux* et *Logiciels Libres*.\n\nCurieux ? Déjà utilisateur ? + Expert ? Pour résoudre vos problèmes\, vous êtes le bienvenu \; pas be + soin de prendre rendez-vous !\n\nN'hésitez pas à venir avec votre PC si + vous voulez une installation de GNU/Linux ou de venir avec votre périphé + rique récalcitrant (imprimante\, scanner...) si possible.\n\n +GEO:47.8701;-3.54911 +LOCATION:Médiathèque de Quimperlé\, Médiathèque de Quimperlé\, place + Saint Michel\, Quimperlé\, Bretagne\, France +ORGANIZER:mailto:libreaquimperle@free.fr +SEQUENCE:4 +SUMMARY:Point info GNU/Linux +URL;VALUE=URI:https://libreaquimperle.netlib.re +CATEGORIES:dépannage +CATEGORIES:entraide +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:point-info +CATEGORIES:linux +CATEGORIES:libre-à-quimperlé +CATEGORIES:médiathèque-de-quimperlé +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Médiathèque de Quimperlé\, place Saint-M + ichel\, pas d’inscription\, entrée libre ! 

    \n

    Mickaël\, + Johann\, Alain\, et Yves vous accueillent (ou l'un d'eux\, on se relaie !) + .

    \n

    Conseils\, aide et infos pratiques GNU/Linux et Log + iciels Libres.

    \n

    Curieux ? Déjà utilisateur ? Expert ? Pour r + ésoudre vos problèmes\, vous êtes le bienvenu \; pas besoin de prendre + rendez-vous !

    \n

    N'hésitez pas à venir avec votre PC si vous voulez + une installation de GNU/Linux ou de venir avec votre périphérique réca + lcitrant (imprimante\, scanner...) si possible.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104826 +UID:33552@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T134000 +DTEND;TZID=Europe/Paris:20251024T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182306 +UID:33382@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T143000 +DTEND;TZID=Europe/Paris:20251024T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250706T040232 +UID:32740@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T160000 +DTEND;TZID=Europe/Paris:20251024T180000 +DESCRIPTION:La prochaine rencontre des «samedis des libertés numériques + » est organisée à la Maison de Quartier des Glacis (un vendredi !): ren + dez-vous à l'accueil. Le thème du jour est: «Installez GNU/Linux\, rend + ez rapide votre ordinateur: contre l'obsolescence programmée par Windows + 10».\n\nEn parallèle\, selon les possibilités un logiciel libre sera mi + s en vedette: [kdenlive][1]\, un éditeur pour monter vos vidéos.\n\nSi v + ous apportez votre ordinateur (de bureau\, ou portable)\, nous pouvons vou + s aider pas à pas\, pour:\n\n1. Tester GNU/Linux\, sans rien installer s + ur le disque\; vous verrez si l'ordinateur redevient maniable\, et si vos + logiciels préférés sont là\, pour la bureautique\, Internet\, le dessi + n\, le son\, la vidéo\, etc.\n2. Si vous le voulez\, installer GNU/Linux + (il y a le choix entre quelques variantes\, selon les âges et les préf + érences)\n3. Voir comment accéder à la logithèque libre et gratuite ( + plusieurs milliers de paquets logiciels)\, et installer des applications e + n plus.\n\nCes rencontres du logiciel libre sont organisées les 3èmes sa + medis du mois. Elles sont l'occasion d'échanger\, en toute simplicité\, + sur divers thèmes en rapport avec notre monde numérique\, dans une struc + ture attentive à nos libertés.\n\n\n\n[1]: https://kdenlive.org/fr/\n +GEO:51.0425;2.38973 +LOCATION:Maison de Quartier des Glacis\, 8 rue de l'adroit\, Dunkerque\, Ha + uts-de-France\, France +ORGANIZER:mailto:georges.khaznadar@free.fr +SEQUENCE:4 +SUMMARY:Rencontres des libertés numériques +CATEGORIES:clx +CATEGORIES:à_tes_côtés +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:kdenlive +CATEGORIES:vidéo +CATEGORIES:montage-vidéo +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    La prochaine rencontre des «samedis des li + bertés numériques» est organisée à la Maison de Quartier des Glacis ( + un vendredi !) : rendez-vous à l'accueil. Le thème du jour est: «Instal + lez GNU/Linux\, rendez rapide votre ordinateur: contre l'obsolescence prog + rammée par Windows 10».

    \n

    En parallèle\, selon les possibilités + un logiciel libre sera mis en vedette : kdenlive\, un éditeur pour monter vos vidéos.

    \n

    Si vous appor + tez votre ordinateur (de bureau\, ou portable)\, nous pouvons vous aider p + as à pas\, pour:

    \n
      \n
    1. Tester GNU/Linux\, sans rien installer su + r le disque\; vous verrez si l'ordinateur redevient maniable\, et si vos l + ogiciels préférés sont là\, pour la bureautique\, Internet\, le dessin + \, le son\, la vidéo\, etc.
    2. \n
    3. Si vous le voulez\, installer GNU/L + inux (il y a le choix entre quelques variantes\, selon les âges et les pr + éférences)
    4. \n
    5. Voir comment accéder à la logithèque libre et gr + atuite (plusieurs milliers de paquets logiciels)\, et installer des applic + ations en plus.
    6. \n
    \n

    Ces rencontres du logiciel libre sont orga + nisées les 3èmes samedis du mois. Elles sont l'occasion d'échanger\, en + toute simplicité\, sur divers thèmes en rapport avec notre monde numér + ique\, dans une structure attentive à nos libertés.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145503 +UID:32799@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T160000 +DTEND;TZID=Europe/Paris:20251024T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251008T201447 +UID:33604@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251024T183000 +DTEND;TZID=Europe/Paris:20251024T223000 +DESCRIPTION:La communauté tourangelle vous propose une rencontre pour veni + r discuter et échanger avec d'autres contributeurs et contributrices à l + a base de données cartographique libre OpenStreetMap\, des projets de car + tographie en cours et autres envies de discussion en rapport.\n\nSi besoin + de discuter\, nous sommes joignables sur le forum OSM dans [ce sujet][1] + et par messagerie instantanée via [Framateam][2]\n\nLa réservation est a + u nom de Rémi si vous avez besoin d’aide à l’accueil du lieu.\n\nAu + plaisir de vous y croiser !\n\n\n\n[1]: https://forum.openstreetmap.fr/t/v + en-24-10-tours-rencontre-locale-doctobre-2025/37654/4\n[2]: https://framat + eam.org/osm-tours/channels/town-square\n +GEO:47.3832;0.691964 +LOCATION:L'étape 84\, 84 avenue Grammont\, Tours\, Centre-Val de Loire\, F + rance +SEQUENCE:5 +SUMMARY:Rencontre communauté OSM Tours +URL;VALUE=URI:https://forum.openstreetmap.fr/t/ven-24-10-tours-rencontre-lo + cale-doctobre-2025/37654/4 +CATEGORIES:openstreetmap +CATEGORIES:openstreetmap-tours +CATEGORIES:cartographie +CATEGORIES:osm +CATEGORIES:rencontre +X-ALT-DESC;FMTTYPE=text/html:

    La communauté tourangelle vous propose une r + encontre pour venir discuter et échanger avec d'autres contributeurs et c + ontributrices à la base de données cartographique libre OpenStreetMap\, + des projets de cartographie en cours et autres envies de discussion en rap + port.

    \n

    Si besoin de discuter\, nous sommes joignables sur le forum + OSM dans ce sujet et par messagerie instantanée via Framateam

    \n

    La réservation est au no + m de Rémi si vous avez besoin d’aide à l’accueil du lieu.

    \n

    Au + plaisir de vous y croiser !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050217 +UID:32974@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T090000 +DTEND;TZID=Europe/Paris:20251025T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250808T144648 +UID:32949@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T093000 +DTEND;TZID=Europe/Paris:20251025T120000 +DESCRIPTION:* Présentation de l'intelligence artificielle\n* Son apport et + ses limites\n\n\n* Exemples d'utilisation\n* Débat sur les usages\n* Inf + ormations complémentaires à celles partagées lors de la séance du 11 j + anvier\n\n*En présentiel ou en visio\, adresse du salon: [https://url.ois + ux.org/samedi-du-libre][1]*\n\n\n\n\n\n\n\n\n\n\n\n[1]: https://url.oisux. + org/samedi-du-libre\n +GEO:49.4567;2.06189 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:infos@oisux.org +SEQUENCE:5 +SUMMARY:Informations sur l'Intelligence Artificielle +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:intelligence-artificielle +CATEGORIES:ia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
      \n
    • Présentation de l'int + elligence artificielle
    • \n
    • Son apport et se + s limites\n

      \n
    • \n
    • Exemples d'utilisation
    • \n
    • < + span class="author-a-z86zi5z84zz72zz72z4z69z8120qz69zcz83z">Débat sur les + usages
    • \n
    • Informations complémentaires à ce + lles partagées lors de la séance du 11 janvier
    • \n
    \n

    En présentiel ou en visio\, adress + e du salon: https://url.oisux.org/samedi-du-libre

    \n

     

    \n

     

    \n

     

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180544 +UID:33270@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T093000 +DTEND;TZID=Europe/Paris:20251025T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172441 +UID:33128@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T103000 +DTEND;TZID=Europe/Paris:20251025T120000 +DESCRIPTION:\n\n\n\nTestez Luanti\, ex-minetest: créez votre monde de bloc + s\, la seule limite est votre imagination !\n\n***dès 8 ans***\n\n +GEO:45.7595;4.88421 +LOCATION:Le Rize\, 23 rue Valentin Hauy\, Villeurbanne\, Auvergne-Rhône-Al + pes\, France +ORGANIZER:mailto:anouck.eychenne@villeurbanne.fr +SEQUENCE:3 +SUMMARY:Tester Luanti\, le Minecraft Libre +URL;VALUE=URI:https://lerize.villeurbanne.fr/agenda/tester-luanti-le-minecr + aft-libre/ +CATEGORIES:jeu-vidéo +CATEGORIES:minetest +CATEGORIES:luanti +CATEGORIES:le-rize +X-ALT-DESC;FMTTYPE=text/html:

    \n

     

    \n

    Testez Luanti\, ex-minet + est : créez votre monde de blocs\, la seule limite est votre imagination + !

    \n

    dès 8 ans

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135852 +UID:33160@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T103000 +DTEND;TZID=Europe/Paris:20251025T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251004T083559 +UID:33485@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T110000 +DTEND;TZID=Europe/Paris:20251025T180000 +DESCRIPTION:En partenariat avec Les sans pagEs\, le deuxième texte\, Viole + tte&\;Co\, Loreley Films propose un [atelier Wikipédia et Wikisource][ + 1] à l’occasion de la Rétrospective sur [Judit Elek][2] (réalisatric + e de documentaires) de la **[Cinémathèque du Documentaire][3].**\n\nPou + r introduire la journée\, nous relirons et mettrons en ligne sur [Wikisou + rce][4] un texte de [Germaine Dulac][5].\n\nNous allons écrire et étoffe + r des articles sur Judit Elek\, mais aussi sur des réalisatrices oubliée + s ou méconnues\, notamment de documentaires.\n\nNous invitons toutes les + participantes à poursuivre la journée avec deux films\, *Un village hong + rois* et *Une histoire simple\,* à 18h et 20h30 au [Forum des Images.][6] + \n\n**Tous les niveaux bienvenus mais venez avec un ordinateur portable:)* + *\n\n[**Inscription obligatoire ici **][7]\n\n\n\n[1]: https://fr.wikiped + ia.org/wiki/Projet:Les_sans_pagEs/Another_Story/R%C3%A9trospective_Judit_E + lek\n[2]: https://fr.wikipedia.org/wiki/Judit_Elek\n[3]: https://fr.wikipe + dia.org/wiki/Cin%C3%A9math%C3%A8que_du_documentaire\n[4]: https://fr.wikip + edia.org/wiki/Wikisource\n[5]: https://fr.wikipedia.org/wiki/Germaine_Dula + c\n[6]: https://fr.wikipedia.org/wiki/Forum_des_images\n[7]: https://meta. + wikimedia.org/wiki/Event:R%C3%A9trospective_sur_Judit_Elek_-_R%C3%A9alisat + rices_de_documentaires\n +GEO:48.8685;2.37967 +LOCATION:Violette & Co\, 52 rue Jean-Pierre Timbaud 75011\, Paris\, Île-de + -France\, France +ORGANIZER:mailto:info@sans-pages.org +SEQUENCE:4 +SUMMARY:Retrospective Judith Elek - atelier Wikipédia +URL;VALUE=URI:https://sanspages.org +CATEGORIES:wikipédia +CATEGORIES:wikisource +CATEGORIES:cinéma +CATEGORIES:atelier +CATEGORIES:sans-pages +X-ALT-DESC;FMTTYPE=text/html:

    En partenariat avec Les sans pagEs\, le deu + xième texte\, Violette&\;Co\, Loreley Films propose un atelier Wikipédia et Wikisource à l’occasion de l + a Rétrospective sur Judit Elek (réalisatrice de docume + ntaires) de la Ciném + athèque du Documentaire.

    \n

    Pour introduire la journée + \, nous relirons et mettrons en ligne sur Wikisource un texte de Germa + ine Dulac.

    \n

    Nous allons écrire et étoffer des articles sur Ju + dit Elek\, mais aussi sur des réalisatrices oubliées ou méconnues\, not + amment de documentaires.

    \n

    Nous invitons toutes les participantes à + poursuivre la journée avec deux films\, Un village hongrois et + Une histoire simple\, à 18h et 20h30 au Forum des Image + s.

    \n

    Tous les niveaux bienv + enus mais venez avec un ordinateur portable :)

    \n

    I + nscription obligatoire ici 

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250519T082543 +UID:32582@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T140000 +DTEND;TZID=Europe/Paris:20251025T170000 +DESCRIPTION:**Windows 10 n’est plus supporté ? Votre PC s’essouffle ? + Donnez-lui un coup de jeune !**\n\n**Installons** *y* **Linux !**\n\nLa pr + ise en charge de Windows 10 se termine le 14 octobre 2025. Microsoft veut + que vous achetiez un nouvel ordinateur.\n\nMais que se passerait-il si vou + s pouviez rendre votre ordinateur actuel à nouveau rapide et sécurisé ? + \n\nSi vous avez acheté votre ordinateur après 2010\, il n’y a probabl + ement aucune raison de le jeter. En installant simplement un système d’ + exploitation GNU / Linux récent\, vous pouvez continuer à l’utiliser p + our des années.\nL’installation d’un système d’exploitation peut s + embler difficile. Mais\, vous n’avez pas à vous lancer tout seul ! Il y + a des personnes prêtes à vous aider !\n\nAu programme\n\n* Découverte + de Linux et des logiciels libres\n* Installation de Linux sur votre ordina + teur\n* Installation d’ « *Android* » sur votre smartphone\n\n[Formula + ire d'inscription][1]\n\n\n\n[1]: https://fccl-vandoeuvre.fr/inscription-l + inux\n +GEO:48.6673;6.16751 +LOCATION:Fabrique des Possibles\, 164 avenue du Général Leclerc\, Vandœu + vre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:6 +SUMMARY:Installons Linux ! +URL;VALUE=URI:https://fccl-vandoeuvre.fr/linux +CATEGORIES:fccl +CATEGORIES:install-partie +CATEGORIES:logiciels-libres +CATEGORIES:installations +CATEGORIES:fabrique-des-possibles +CATEGORIES:gnu-linux +CATEGORIES:vando-libre +CATEGORIES:lineageos +CATEGORIES:mirabellug +CATEGORIES:/e/os +CATEGORIES:linux-mint +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Affiche de l'événement Installons Linux ! 2025 
+ !Windows 10 n’est plus supporté ? Votre PC s + ’essouffle ? Donnez-lui un coup de jeune !

    \n

    Inst + allons y Linux !

    \n

    La prise en ch + arge de Windows 10 se termine le 14 octobre 2025. Microsoft veut que vous + achetiez un nouvel ordinateur.

    \n

    Mais que se passerait-il si vous po + uviez rendre votre ordinateur actuel à nouveau rapide et sécurisé ?

    + \n

    Si vous avez acheté votre ordinateur après 2010\, il n’y a probab + lement aucune raison de le jeter. En installant simplement un système d + ’exploitation GNU / Linux récent\, vous pouvez continuer à l’utilise + r pour des années.
    L’installation d’un système d’exploitation p + eut sembler difficile. Mais\, vous n’avez pas à vous lancer tout seul ! + Il y a des personnes prêtes à vous aider !

    \n

    Au programme

    \n\n
  • Découverte de Linux et des logiciels libres
  • \n
  • Installatio + n de Linux sur votre ordinateur
  • \n
  • Installation d’ « Android + » sur votre smartphone
  • \n\n

    Formulaire d'inscription

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T102032 +UID:33470@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T140000 +DTEND;TZID=Europe/Paris:20251025T170000 +DESCRIPTION:Root66 vous propose une permanence Logiciels Libres.\n\nÀ cett + e permanence\, tu pourras bénéficier d'une aide et d'un accompagnement p + our t'aider à installer\, configurer des logiciels libres aussi bien sur + PC que sur Smartphones.\nUn vieux pc qui rame ? Besoin de faire une sauveg + arde de tes données ? Envie de tester des applications opensource sur ton + téléphone ou sur ton pc\, mais tu as peur de tout casser et de ne pas y + arriver seul.e. Pas de souci\, l'équipe de root66 est là pour t'accompa + gner\, à ton propre rythme !\n\nUn des objectifs est de t'aider à repren + dre le contrôle de tes données et d'apprendre pas à pas les bonnes prat + iques à adopter pour sécuriser et améliorer ta vie privée numérique.\ + n\nN'hésite pas à passer ! L'équipe de root66 sera ravie de t'accueilli + r ! 🤓\n\n**Programme** (non exhaustif):\n\n* Dépannage\, assistance su + r PC\, smartphones utilisant du logiciel libre\n* Découverte et apprentis + sage pour utiliser un système libre comme Linux\n* Installations et confi + gurations complémentaires d'applications\n* Mise à jour et installation + de nouveaux logiciels opensource\n* Discussions conviviales entre utilisat + eurs autour des logiciels libres\n\nEntrée libre et gratuite 😎\n\nPour + une installation Linux ou pour un dépannage particulier\, envoyez un mai + l à: contact@root66.net\n\nSur place\, l'[adhésion][1] à l’associatio + n est possible\, mais non obligatoire.\n\n**Accès:** Parking rue Raymond + Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint-Cyr.\n\n\n\n[1 + ]: https://root66.net/public/bulletin-adhesion-R66-saisieDirecte.pdf\n +GEO:48.8074;2.06269 +LOCATION:Maison des associations Simone Veil\, 14 avenue Lieutenant Tom Mor + el\, Saint-Cyr L'École\, Île-de-France\, France +ORGANIZER:mailto:contact@root66.net +SEQUENCE:1 +SUMMARY:Permanences Logiciels Libres : pc et smartphones +URL;VALUE=URI:https://root66.net +CATEGORIES:adieu-windows +CATEGORIES:root66 +CATEGORIES:linux +CATEGORIES:smartphone +CATEGORIES:android +CATEGORIES:logiciel-libre +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    Root66 vous propose une permanence Logiciel + s Libres.

    \n

    À cette permanence\, tu pourras + bénéficier d'une aide et d'un accompagnement pour t'aider à installer\ + , configurer des logiciels libres aussi bien sur PC que sur Smartphones.Un vieux pc qui rame ? Besoin de faire une sauvegarde de tes données ? + Envie de tester des applications opensource sur ton téléphone ou sur ton + pc\, mais tu as peur de tout casser et de ne pas y arriver seul.e. Pas de + souci\, l'équipe de root66 est là pour t'accompagner\, à ton propre ry + thme !

    \n

    Un des objectifs est de t'aider à reprendre le contrôle d + e tes données et d'apprendre pas à pas les bonnes pratiques à adopter p + our sécuriser et améliorer ta vie privée numérique.

    \n

    N'hésite + pas à passer ! L'équipe de root66 sera ravie de t'accueillir ! 🤓

    \ + n

    Programme (non exhaustif) :

    \n
      \n
    • Dépannage + \, assistance sur PC\, smartphones utilisant du logiciel libre
    • \n
    • D + écouverte et apprentissage pour utiliser un système libre comme Linux\n
    • Installations et configurations complémentaires d'applications\n
    • Mise à jour et installation de nouveaux logiciels opensource
    • + \n
    • Discussions conviviales entre utilisateurs autour des logiciels libr + es
    • \n
    \n

    Entrée libre et gratuite 😎

    \n

    Pour une install + ation Linux ou pour un dépannage particulier\, envoyez un mail à : conta + ct@root66.net

    \n

    Sur place\, l'adhésion à l’association est + possible\, mais non obligatoire.

    \n

    Accès : Parkin + g rue Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint- + Cyr.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20221105T154444 +UID:26222@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T140000 +DTEND;TZID=Europe/Paris:20251025T180000 +DESCRIPTION:Comme chaque mois (enfin presque)\, nous nous retrouvons avec l + e collectif Garlatek le 2e samedi du mois de 14h à 18h pour un atelier In + formatique dans le pays d'Aubagne:\n\n* Répare café informatique: Ne jet + ez pas votre PC ! on va le faire revivre.\n* Atelier logiciel libres : D + écouvrez avec d'autres les logiciels libres et gratuits pour votre ordina + teur ou telephone pour mieux maîtriser le numérique (Ubuntu\, Gimp\, And + roid etc... )\n\n +GEO:43.2908;5.56947 +LOCATION:Cercle de l'Harmonie\, 12 Cours Beaumond\, Aubagne\, Provence-Alpe + s-Côte d'Azur\, France +ORGANIZER:mailto:garlatek@ekimia.fr +SEQUENCE:4 +SUMMARY:Atelier Répare café et logiciels libres +URL;VALUE=URI:https://www.garlatek.org +CATEGORIES:ekimia +CATEGORIES:android +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:garlatek +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Comme chaque mois (enfin presque)\, nous no + us retrouvons avec le collectif Garlatek le 2e samedi du mois de 14h à 18 + h pour un atelier Informatique dans le pays d'Aubagne:

    \n
      \n
    • Rép + are café informatique : Ne jetez pas votre PC ! on va le faire revivre.\n
    • Atelier logiciel libres  : Découvrez avec d'autres les logiciel + s libres et gratuits pour votre ordinateur ou telephone pour mieux maîtri + ser le numérique (Ubuntu \, Gimp \, Android etc... )
    • \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250103T085024 +UID:31586@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T140000 +DTEND;TZID=Europe/Paris:20251025T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 25 octobre 2025 de 14h00 à 18h00**\, da + ns la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille. + **\n\n\n\nVous avez envie de découvrir un système d’exploitation libre + \, simple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle fa + çon d’utiliser votre ordinateur.\n\nVous vous sentez une affection nais + sante pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux. + **\n\nAu programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.* + *\n\n**INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meill + eur des **logiciels libres**.\n\nVenez avec votre ordinateur\, nous insta + llerons ensemble une distribution **GNU/Linux** avec un ensemble de **log + iciels libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n\ + n\n**Ouvert à tous – accessible aux débutant-e-s**\n\nUne participatio + n de **2 euros** est demandée.\n\nL’adhésion à l’association est de + **20 euros** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d + ’accès][3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foye + rdupeuple.wordpress.com/\n[3]: https://www.openstreetmap.org/node/26239755 + 97\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:4 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 25 octobre + 2025 de 14h00 à 18h00\, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

    + \n

    +

    \n

    Vous avez envie de découvrir un système d’exploitati + on libre\, simple d’utilisation\, stable\, rapide et sécurisé. Une nou + velle façon d’utiliser votre ordinateur.

    \n

    Vous vous sentez une a + ffection naissante pour le Gnou et le Manchot\, les mascottes de GNU/ Linux.

    \n

    Au programm + e:

    \n

    DÉCOUVERTE de l’univers + des logiciels libres.

    \n

    INSTALLATION d’un enviro + nnement GNU/ Linux\, ainsi que le meilleur des logiciels + libres.

    \n

    Venez avec votre ordinateur\, nous installerons + ensemble une distribution GNU/Linux avec un ensemble de< + strong> logiciels libres et gratuits pour une ut + ilisation quotidienne.

    \n

    \n

     

    \n

    Ouvert à tous – accessible + aux débutant-e-s

    \n

    Une participation de 2 euros est demandée.

    \n

    L’adhésion à l’association est de 20 euros annuelle.(L’adhésion n’est pas obligatoire).

    \n

    Plan d’acc + ès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162622 +UID:33443@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T140000 +DTEND;TZID=Europe/Paris:20251025T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:3 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20251004T083731 +UID:33486@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20251025T140000 +DTEND;TZID=Europe/Zurich:20251025T180000 +DESCRIPTION:L'évènement est une permanence des sans pagEs ouverte à tout + public souhaitant s'informer ou apprendre à contribuer sur Wikipédia et + les projets associés (wikidata\, wikisource\, commons\, wikiquote) tout. + en réduisant les biais de genre\n\nIl est obligatoire de s'inscrire pour + participer.\n\nCette séance est dédiée à la campagne [She Said sur Wi + kiquote][1] pour alimenter les entrées du jeu Francautrices qui sera pré + senté à Wikimania à Paris en 2026.\n\n[Inscription obligatoie ici ][2] + \n\n\n\n[1]: https://fr.wikiquote.org/wiki/Wikiquote:SheSaid/FrancAutrices + _SheSaid\n[2]: https://fr.wikipedia.org/wiki/Event:Permanence_mensuelle_LS + P_%C3%A0_Photo_Elys%C3%A9e_26_10_2025\n +GEO:46.5187;6.62374 +LOCATION:Photo Elysée\, Place de la Gare 17\, Lausanne\, Suisse +ORGANIZER:mailto:info@sans-pages.org +SEQUENCE:3 +SUMMARY:Permanence des sans pagEs à Lausanne +URL;VALUE=URI:https://sanspages.org +CATEGORIES:wikiquote +CATEGORIES:wikimedia +CATEGORIES:les-sans-pages +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    L'évènement est une permanence + des sans pagEs ouverte à tout public souhaitant s'informer ou apprendre + à contribuer sur Wikipédia et les projets associés (wikidata\, wikisour + ce\, commons\, wikiquote) tout. en réduisant les biais de genre

    \n

    Il est obligatoire de s'inscrire pour participer.

    \n

    Cette séance est dédiée à la campagne She Said sur Wikiquote pour alimenter les entrées du jeu Fran + cautrices qui sera présenté à Wikimania à Paris en 2026.

    \n

    Inscription oblig + atoie ici 

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241130T162328 +UID:31323@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251025T180000 +DTEND;TZID=Europe/Paris:20251025T210000 +DESCRIPTION:**Rencontres Accès Libre**\n\n\n\n\n\nCertains les appellent  + «install party»\, d’autres encore «Soirées Linux»\, mais les **Renc + ontres Accès Libre** sont tout cela en même temps\, et bien plus encore + …\n\nEntre autres\, c'est l’occasion de:\n\n* discuter\, échanger\, e + xpliquer\;\n* installer des logiciels libres\;\n* et\, toute autre idée c + oopérative de solidarité à but non lucratif!\n\nC'est un évènement or + ganisé conjointement par [Linux Azur][1] et le [SHL][2].\n\n\n\n[1]: http + s://www.linux-azur.org/\n[2]: https://www.shl.contact/\n +GEO:43.5978;7.05631 +LOCATION:SHL // Sophia Hack Lab\, 2323 chemin de Saint-Bernard\, Vallauris + - Sophia Antipolis\, Provence-Alpes-Côte d'Azur\, France +ORGANIZER:mailto:crew@shl.contact +SEQUENCE:1 +SUMMARY:Rencontre Accès Libre +URL;VALUE=URI:https://www.shl.contact/ +CATEGORIES:shl +CATEGORIES:sophia-hack-lab +CATEGORIES:hackerspace +CATEGORIES:rencontre +CATEGORIES:libre +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Rencon + tres Accès Libre

    \n

    \n

     

    \n

    + Certains les appellent «install party»\, d’autres encore «Soirées Linux»\, mais les Renc + ontres Accès Libre sont tout cela en même temps\, et bien plus + encore…

    \n

    Entre autres\, c'est l’occasion de:

    \n
      \n
    • discuter\, échanger\, expliquer\;
    • \n
    • installer des logiciels libres\;
    • \n
    • et\, toute autre idée coopérative de solidarité + à but non lucratif!
    • \n
    \n

    C'est u + n évènement organisé conjointement par Linux Azur et le SHL .

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175328 +UID:33250@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251027T140000 +DTEND;TZID=Europe/Paris:20251027T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T121050 +UID:33203@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251027T180000 +DTEND;TZID=Europe/Paris:20251027T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:2 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

    Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

    \n +

    Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

    \n

    Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

    \n

    🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

    \n

    📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

    \n

    🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

    \n

    Le programme des mapathons

    \n

    18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

    \n

    18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

    20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

    \n

    Pour s'inscrire c'est par ici

    \n

    Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32905@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251028T153000 +DTEND;TZID=Europe/Paris:20251028T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110838 +UID:33587@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251028T183000 +DTEND;TZID=Europe/Paris:20251028T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035342 +UID:33111@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251028T200000 +DTEND;TZID=Europe/Paris:20251028T220000 +DESCRIPTION:Vous avez décidé de reprendre en main votre vie numérique? V + enez nous rencontrer **le dernier mardi de chaque mois au [Café Citoyen] + [1]** à Lille !\n\nLa permanence associative autour du Libre est une man + ifestation conviviale\, ouverte à toutes et tous\, organisée le dernier + mardi (ou jeudi) de chaque mois par les collectifs de [Chtinux][2] ([Raoul + l\,][3] [Deuxfleurs][4]\, [Mycélium][5]\, [CLX][6]\, [Cliss XXI][7]\,...) + .\n\nRejoignez-nous pour y discuter joyeusement de Logiciel Libre\, de Cul + ture Libre\, de données ouvertes (*open data*)\, de bidouille sous Linux\ + , ou proposer vos idées d’évènements.\n\nC'est aussi l'occasion d'obt + enir un coup de main si vous rencontrez une difficulté sous Linux\, ou si + vous avez besoin de conseils pour migrer sur du Logiciel Libre.\n\nSi vou + s venez avec votre ordinateur pour obtenir de l'aide technique\, pour perm + ettre à l'équipe bénévole de s'organiser\, prévenez-nous via un courr + ier électronique à l'adresse: chtinux-diffusion CHEZ deuxfleurs POINT fr + .\n\nLe Café Citoyen est accessible en métro (station République - Beau + x Arts). Une connexion Internet y est disponible\, des prises électriques + \, de la place... Au bar\, vous trouverez aussi de bonnes boissons avec et + sans alcool\, ainsi que de la petite restauration (notamment fromage ou t + artines véganes).\n\nPour soutenir le Café Citoyen\, nous vous demandons + d'y acheter au minimum une consommation. Après avoir pris votre boisson + ou votre en-cas au bar\, vous pouvez nous rejoindre directement au deuxiè + me étage.\n\nAu plaisir de vous retrouver!\n\n\n\n[1]: https://cafecitoye + n.org/\n[2]: https://chtinux.org/\n[3]: https://raoull.org/\n[4]: https:// + deuxfleurs.fr\n[5]: https://mycelium-fai.org/wiki/\n[6]: http://clx.asso.f + r/\n[7]: https://www.cliss21.com/site/\n +GEO:50.6328;3.0634 +LOCATION:Café Citoyen\, 7 place du Vieux Marché aux Chevaux\, Lille\, Hau + ts-de-France\, France +ORGANIZER:mailto:chtinux-diffusion@deuxfleurs.fr +SEQUENCE:3 +SUMMARY:Permanence associative autour du Libre +URL;VALUE=URI:https://chtinux.org +CATEGORIES:café-citoyen +CATEGORIES:permanence +CATEGORIES:raoull +CATEGORIES:chtinux +CATEGORIES:clx +CATEGORIES:logiciels-libres +CATEGORIES:mycelium +CATEGORIES:cliss21 +CATEGORIES:deux-fleurs +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Vous avez décidé de reprendre en main votre vie numérique< + span class="finePre">? Venez nous rencontrer le dernier ma + rdi de chaque mois au Café Citoyen + à Lille !

    \n

    La permanence a + ssociative autour du Libre est une manifestation conviviale\, ouverte à t + outes et tous\, organisée le dernier mardi (ou jeudi) de chaque mois par + les collectifs de Chtinux (Raoull\, Deuxfleurs< + /a>\, Mycélium\, CLX\, Cliss + XXI\, ...).

    \n

    Rejoignez-nous pour y discuter joyeusement de Log + iciel Libre\, de Culture Libre\, de données ouvertes (open data) + \, de bidouille sous Linux\, ou proposer vos idées d’évènements.

    \ + n

    C'est aussi l'occasion d'obtenir un coup de main si vous rencontrez un + e difficulté sous Linux\, ou si vous avez besoin de conseils pour migrer + sur du Logiciel Libre.

    \n

    Si vous venez avec votre ordinateur pour ob + tenir de l'aide technique\, pour permettre à l'équipe bénévole de s'or + ganiser\, prévenez-nous via un courrier électronique à l'adresse: chtinux-diffusion CHEZ deuxfleurs POINT fr.

    \n< + p>Le Café Citoyen est accessible en métro (station République - Beaux A + rts). Une connexion Internet y est disponible\, des prises électriques\, + de la place... Au bar\, vous trouverez aussi de bonnes boissons avec et sa + ns alcool\, ainsi que de la petite restauration (notamment fromage ou tart + ines véganes).

    \n

    Pour soutenir + le Café Citoyen\, nous vous demandons d'y acheter au minimum une consomma + tion. Après avoir pris votre boisson ou votre en-cas au bar\, vous pouvez + nous rejoindre directement au deuxième étage.

    \n

    Au plaisir de vou + s retrouver!

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060651 +UID:33611@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251029T123000 +DTEND;TZID=Europe/Paris:20251029T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112512 +UID:33355@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251029T140000 +DTEND;TZID=Europe/Paris:20251029T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n\n* analyser vos ordinateur + s\n* sauvegarder vos données personnelles\n* installer le nouveau systèm + e d exploitation (vous choisissez la distribution Linux qui vous convient + le mieux)\n* installer des logiciels libres\n* apprendre à utiliser les l + ogiciels\n\nRDV au Réppare'Lab\, à côté du mouchoir de poche.\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:5 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :

    \n
      \n
    • analyser vos ordina + teurs
    • \n
    • sauvegarder vos données personnelles
    • \n
    • installer + le nouveau système d exploitation (vous choisissez la distribution Linux + qui vous convient le mieux)
    • \n
    • installer des logiciels libres
    • \ + n
    • apprendre à utiliser les logiciels
    • \n
    \n

    RDV au Réppare'L + ab\, à côté du mouchoir de poche.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145417 +UID:32766@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251029T180000 +DTEND;TZID=Europe/Paris:20251029T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T045826 +UID:32969@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251029T193000 +DTEND;TZID=Europe/Paris:20251029T220000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise ce mercredi une permanence *Logiciels Libres* ouverte + à tous\, membre de l'association ou non\, débutant ou expert\, curieux + ou passionné.\n\nLe Centre d’Infos Jeunes a mis en place une démarche + d’accompagnement des jeunes aux pratiques actuelles pour l’informatiqu + e et le numérique:\n\n* Lieu d’accès public à Internet ( 5 postes ave + c Wifi libre et gratuit )\n* Web collaboratif et citoyen pour que chacun p + uisse trouver sa place et passer du rôle de simple usager à celui d’in + itiateur de processus collaboratif\n* Éducation à l’information par le + s nouveaux médias ( diffusion par le biais du numérique )\n* Logiciels l + ibres ( bureautique\, sites\, blogs\, cloud\, infographie et vidéo\, musi + que\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu sur rende + z-vous\, tous les samedis matins hors vacances scolaires à la Maison comm + unale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ\n\n\n\n + [1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso.fr\n +GEO:50.6216;3.14488 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise ce mercredi une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    Le Centre d’Infos Je + unes a mis en place une démarche d’accompagnement des jeunes aux pratiq + ues actuelles pour l’informatique et le numérique :

    \n
      \n
    • Lieu + d’accès public à Internet ( 5 postes avec Wifi libre et gratuit )
    • \n
    • Web collaboratif et citoyen pour que chacun puisse trouver sa place + et passer du rôle de simple usager à celui d’initiateur de processus + collaboratif
    • \n
    • Éducation à l’information par les nouveaux méd + ias ( diffusion par le biais du numérique )
    • \n
    • Logiciels libres ( + bureautique\, sites\, blogs\, cloud\, infographie et vidéo\, musique\, r + éseaux sociaux\, chat\, … ).
    • \n
    \n

    Cette rencontre a lieu sur + rendez-vous\, tous les samedis matins hors vacances scolaires à la Maiso + n communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250414T041309 +UID:32433@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251030T100000 +DTEND;TZID=Europe/Paris:20251102T180000 +DESCRIPTION:La PyConFR est une conférence\, de quatre jours\, organisée p + ar [l'AFPy][1].\n\nCette conférence est gratuite\, entièrement gérée p + ar des bénévoles et dédiée au regroupement des personnes intéressées + par le langage de programmation [Python][2].\n\nLes deux premiers jours + sont dédiés aux sprints où les développeurs et développeuses de diff + érents projets open source se rejoignent pour coder ensemble. Chaque pers + onne est la bienvenue pour contribuer\, et nous cherchons également à ac + compagner les débutantes.\n\nLes deux jours suivants sont dédiés aux co + nférences et ateliers sur des sujets variés\, autour du langage Python.\ + n\n\n\n[1]: https://www.afpy.org\n[2]: https://www.python.org/\n +GEO:45.7661;4.80543 +LOCATION:Campus René Cassin\, 47 rue du Sergent Michel Berthet\, Lyon\, Au + vergne-Rhône-Alpes\, France +ORGANIZER:mailto:contact@pycon.fr +SEQUENCE:4 +SUMMARY:PyConFR 2025 +URL;VALUE=URI:https://www.pycon.fr/2025 +CATEGORIES:python +CATEGORIES:pyconfr +CATEGORIES:afpy +CATEGORIES:conférence +X-ALT-DESC;FMTTYPE=text/html:

    La PyConFR est une conférence\, de quatre jours\, organisée par l'AFPy.

    \n

    Cette conférence est gratu + ite\, entièrement gérée par des bénévoles et dédiée au regroupement + des personnes intéressées par le langage de programmation Python.

    \n

    Les deux premiers jours sont dé + diés aux sprints où les développeurs et développeuses de différents p + rojets open source se rejoignent pour coder ensemble. Chaque personne est + la bienvenue pour contribuer\, et nous cherchons également à accompagner + les débutantes.

    \n

    Les deux jours suivants sont dédiés aux confé + rences et ateliers sur des sujets variés\, autour du langage Python.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T222505 +UID:33480@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251030T160000 +DTEND;TZID=Europe/Paris:20251030T170000 +DESCRIPTION:\n\n🤔 Vous avez des questions sur Scenari avant de tester ?\ + n\n🧙‍♂️ Vous voudriez une petite démo ?\n\n🚀 Vous commencez + à utiliser Scenari et vous avez besoin d'un peu de soutien ?\n\n**Cette v + isio est faite pour vous 🤩**\n\n +LOCATION:Internet +ORGANIZER:mailto:contact@scenari.org +SEQUENCE:2 +SUMMARY:Découverte de Scenari (en visio) +URL;VALUE=URI:https://scenari.org/visio/miniwebinaire +CATEGORIES:scenari +CATEGORIES:visio-conférence +CATEGORIES:découverte +CATEGORIES:test +X-ALT-DESC;FMTTYPE=text/html:

    \n

    🤔 Vous avez d + es questions sur Scenari avant de tester ?

    \n

    🧙‍♂️ Vous voudriez une petite démo ?

    \n

    🚀 Vous commencez à utiliser Scenari et vous avez besoi + n d'un peu de soutien ?

    Cette visio est faite pour vous + 🤩

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164813 +UID:33099@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251030T200000 +DTEND;TZID=Europe/Paris:20251030T220000 +DESCRIPTION:\n\nLa Coollégiale\, c'est le moment où les bénévoles actif + s se retrouvent afin de préparer la suite de la vie de l'association\, di + scuter des projets et prendre les décisions 👍 Cet instant est ouvert + à toute personne intéressée d'en apprendre plus sur le fonctionnement d + e l'association et voulant s'investir avec nous dans sa vie quotidienne + 😄\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:🧭 La Coollégiale\, la réunion de coordination d'Alsace Réseau + Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn +CATEGORIES:arn-fai +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Coollégiale

    \n

    La Coollégiale\, c'est le moment où les bén + évoles actifs se retrouvent afin de préparer la suite de la vie de l'ass + ociation\, discuter des projets et prendre les décisions 👍 Cet instant + est ouvert à toute personne intéressée d'en apprendre plus sur le fonc + tionnement de l'association et voulant s'investir avec nous dans sa vie qu + otidienne 😄

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104827 +UID:33553@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251031T134000 +DTEND;TZID=Europe/Paris:20251031T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150748 +UID:32940@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251101T093000 +DTEND;TZID=Europe/Paris:20251101T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135853 +UID:33161@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251101T103000 +DTEND;TZID=Europe/Paris:20251101T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174605 +UID:32855@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251101T140000 +DTEND;TZID=Europe/Paris:20251101T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@o2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@o2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T110820 +UID:33491@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251101T140000 +DTEND;TZID=Europe/Paris:20251101T180000 +DESCRIPTION:Toutes les informations sont sur [https://premier-samedi.org][1 + ]\nPlan des salles: [https://premier-samedi.org/IMG/png/plancarrnum.png][2 + ]\n\n\n\n\n\nVenez aider ou vous faire aider à installer et paramétrer d + es **logiciels** **libres** et toute distribution **GNU/Linux** ou **Andro + id** avec les associations d'utilisateurs de [Fedora][3]\, [Mageia][4]\, [ + Ubuntu\,][5] [Debian][6] pour **GNU/Linux** \; et [**Replicant**][7]\, **[ + LineageOS][8]**\, **[f-droid][9]** pour **Android\,** sur netbook\, portab + le\, tour\, PC/Mac\, ou smartphone\, éventuellement à côté de votre sy + stème actuel. Idem si vous avez des difficultés avec GNU/Linux\, un pér + iphérique\, un logiciel libre\, ou avec des logiciels libres sous Android + .\n\n* Déjeuner à partir de 12h30-12h45 à la pizzeria Le Verona\, 25 av + enue Corentin Cariou\n* Salle Classe Numérique 14h-18h: install party GNU + /Linux toutes distributions + potentiellement (si les volontaires sont la) + atelier auto-hébergement et Brique Internet avec Franciliens.net\n* Sall + e Agora: si pas de conférence prévue\, possibilité d'organiser à parti + r de 16h30 une présentation-discussion autour d'un thème particulier (po + ur se renseigner\, choisir le thème ou s'inscrire\, s'adresser à l'accue + il de l'Install Partie à partir de 14h)\n* Salle LivingLab: wikipermanenc + e Wikimedia France\n* Salle Atelier: atelier Blender 3D du BUG Blender Use + r Group Paris\n* Apéro/dîner dans un lieu à déterminer sur place\n\n\n + \n[1]: https://premier-samedi.org\n[2]: https://premier-samedi.org/IMG/png + /plancarrnum.png\n[3]: http://www.borsalinux-fr.org/\n[4]: http://www.mage + ia.org/fr/\n[5]: http://ubuntu-fr.org/\n[6]: http://france.debian.net/\n[7 + ]: https://www.replicant.us/\n[8]: https://lineageos.org/\n[9]: https://f- + droid.org/\n +GEO:48.8958;2.38798 +LOCATION:Cité des sciences et de l'industrie\; Carrefour Numérique niveau + -1\, 30 avenue Corentin Cariou\, Paris\, Île-de-France\, France +ORGANIZER:mailto:ca@parinux.org +SEQUENCE:3 +SUMMARY:Premier Samedi du Libre +URL;VALUE=URI:https://parinux.org/Premier-Samedi-du-Libre-du-1er-novembre-2 + 025 +CATEGORIES:parinux +CATEGORIES:psl +CATEGORIES:install-party +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:premier-samedi-du-libre +X-ALT-DESC;FMTTYPE=text/html:

    Toutes les informations sont sur https://premier-samedi.org
    Plan des salles : + https://premier-samedi.org/IMG/ + png/plancarrnum.png

    \n

    \n

     

    \n

    Venez aider ou + vous faire aider à installer et paramétrer des logiciels libres et toute distribution GNU/Linux ou Android avec les associations d'utilisateurs de Fedora\, Mageia\, Ubuntu\, Debian pour GNU/Linux + \; et Replicant\, + LineageOS\, f-droid pour Android\ + , sur netbook\, portable\, tour\, PC/Mac\, ou smartphone\, évent + uellement à côté de votre système actuel. Idem si vous avez des diffic + ultés avec GNU/Linux\, un périphérique\, un logiciel libre\, ou avec de + s logiciels libres sous Android.

    \n
      \n
    • D + éjeuner à partir de 12h30-12h45 à la pizzeria Le Verona\, 25 avenue Cor + entin Cariou
    • \n
    • Salle Classe Numérique 14h-18h : install party GNU + /Linux toutes distributions + potentiellement (si les volontaires sont la) + atelier auto-hébergement et Brique Internet avec Franciliens.net
    • \n< + li>Salle Agora : si pas de conférence prévue\, possibilité d'organiser + à partir de 16h30 une présentation-discussion autour d'un thème particu + lier (pour se renseigner\, choisir le thème ou s'inscrire\, s'adresser à + l'accueil de l'Install Partie à partir de 14h)\n
    • Salle LivingLab + : wikipermanence Wikimedia France
    • \n
    • Salle Atelier : atelier Blend + er 3D du BUG Blender User Group Paris
    • \n
    • Apéro/dîner dans un lieu + à déterminer sur place
    • \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172141 +UID:33130@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251102T100000 +DTEND;TZID=Europe/Paris:20251102T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T202455 +UID:33513@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251103T183000 +DTEND;TZID=Europe/Paris:20251103T193000 +DESCRIPTION:Venez nous rencontrer le premier lundi de chaque mois jusqu'en + juillet. Nous vous attendons pour vous aider à utiliser nos services libr + es en ligne. Pour vous expliquer comment utiliser notre nuage Nextcloud et + ses applications.\n\n\n\nNous vous attendons aussi si vous voulez contrib + uer\, modestement ou plus largement à notre déploiement sur le bassin an + nécien.\n\n +GEO:45.9103;6.11238 +LOCATION:Petit Vernay\, face au dojo - Arrière du batiment - Cran Gevrier\ + , 23 avenue Germain Perreard\, Annecy\, Auvergne-Rhône-Alpes\, France +ORGANIZER:mailto:contact@yauter.net +SEQUENCE:3 +SUMMARY:Rencontre publique avec Yauternet +URL;VALUE=URI:https://yauter.net +CATEGORIES:services +CATEGORIES:yauternet +CATEGORIES:numerica +CATEGORIES:nextcloud +CATEGORIES:linux +CATEGORIES:rencontre +CATEGORIES:services-libres +X-ALT-DESC;FMTTYPE=text/html:

    Venez nous rencontrer le premier lundi de c + haque mois jusqu'en juillet. Nous vous attendons pour vous aider à utilis + er nos services libres en ligne. Pour vous expliquer comment utiliser notr + e nuage Nextcloud et ses applications.

    \n

    \n

    N + ous vous attendons aussi si vous voulez contribuer\, modestement ou plus l + argement à notre déploiement sur le bassin annécien.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182913 +UID:33306@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251104T140000 +DTEND;TZID=Europe/Paris:20251104T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32906@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251104T153000 +DTEND;TZID=Europe/Paris:20251104T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110839 +UID:33588@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251104T183000 +DTEND;TZID=Europe/Paris:20251104T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050338 +UID:32976@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251104T190000 +DTEND;TZID=Europe/Paris:20251104T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="212" height="212">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060651 +UID:33612@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251105T123000 +DTEND;TZID=Europe/Paris:20251105T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112607 +UID:33356@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251105T140000 +DTEND;TZID=Europe/Paris:20251105T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145418 +UID:32767@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251105T180000 +DTEND;TZID=Europe/Paris:20251105T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180007 +UID:33260@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251106T140000 +DTEND;TZID=Europe/Paris:20251106T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164947 +UID:33105@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251106T200000 +DTEND;TZID=Europe/Paris:20251106T220000 +DESCRIPTION:\n\nSlash\, c'est la soirée où l'on parle technique\, réseau + et machinerie. De 20h à 22h\, nous nous répartissons pour aborder des p + oints précis de notre infrastructure réseau\, préparons et effectuons l + es mises à jour\, installons nos nouveaux services\, etc...\n\nCette soir + ée est ouverte à tous\, pour venir découvrir l'envers du décor de votr + e association.\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:Slash\, la soirée de l'infra d'Alsace Réseau Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn-fai +CATEGORIES:arn +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Slash

    \n

    Slash\, c'est la soirée où l'on parle technique\, réseau et + machinerie. De 20h à 22h\, nous nous répartissons pour aborder des point + s précis de notre infrastructure réseau\, préparons et effectuons les m + ises à jour\, installons nos nouveaux services\, etc...

    \n

    Cette soi + rée est ouverte à tous\, pour venir découvrir l'envers du décor de vot + re association.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104828 +UID:33554@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251107T134000 +DTEND;TZID=Europe/Paris:20251107T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145533 +UID:32809@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251107T170000 +DTEND;TZID=Europe/Paris:20251107T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251006T115308 +UID:33499@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251107T190000 +DTEND;TZID=Europe/Paris:20251107T220000 +DESCRIPTION:Le prochain Apéro mensuel [Aïolibre][1] aura lieu vendredi 7 + novembre 2025 à partir de 19h à La Base Marseille.\n\n\n\nLa réunion ra + ssemble des associations du collectif AïoLibre: Provence Linux User Group + \, OpenStreetMap Marseille\, La Quadrature du Net\, Technopolice\, l’APR + IL\, Wikipedia Projet Les sans pagEs Méditerranée etc.\n\nLes participan + t·e·s sont invité·e·s à apporter quelque chose à grignoter. Il est + probable que des pizzas seront commandées au cours de la soirée.\nIl n'e + st PAS possible d'apporter des boissons alcoolisées.\nDes boissons (vins\ + , bières\, jus\, etc.) seront en vente au bar à La Base.\n\nAttention\, + c'est un bar associatif donc il faut adhérer à La Base pour consommer.  + Si vous ne l'avez pas encore fait\, faites le en ligne avant de venir via: + \n[https://www.helloasso.com/associations/la-base-marseille/adhesions/adhe + sion-a-la-base-marseille-2025-2][2]\n\nVoir aussi la [page Mobilizon de la + soirée][3]\n\nVenez nombreuses et nombreux et faites passer le mot\, cet + évènement est ouvert à tous et toutes.\n\n\n\n[1]: https://www.aiolibr + e.org/\n[2]: https://www.helloasso.com/associations/la-base-marseille/adhe + sions/adhesion-a-la-base-marseille-2025-2\n[3]: https://mobilizon.fr/event + s/4e1a5d11-b353-4354-b3c9-2336f4d696a5/\n +GEO:43.3098;5.40112 +LOCATION:La Base Marseille\, 3 rue Pierre Roche\, Marseille\, Provence-Alpe + s-Côte d'Azur\, France +ORGANIZER:mailto:contact@plugfr.org +SEQUENCE:2 +SUMMARY:Apéro mensuel Aïolibre et PLUG +URL;VALUE=URI:https://plugfr.org/reunions/7-novembre-2025 +CATEGORIES:apero +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:la-base +CATEGORIES:logiciels-libres +CATEGORIES:aiolibre +CATEGORIES:plug +CATEGORIES:rencontre +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Le prochain Apé + ro mensuel Aïolibre aura lieu ven + dredi 7 novembre 2025 à partir de 19h à La Base Marseille.

    \n

    \n

    L + a réunion rassemble des associations du collectif AïoLibre: Provence Linux User Group\, OpenStreetMap Marseille\, La + Quadrature du Net\, Technopolice\, l’APRIL\, Wikipedia Projet Les sans p + agEs Méditerranée etc.

    \n

    Les participant·e·s sont invité·e·s + à apporter quelque chose à grignoter. Il est probable que des pizzas ser + ont commandées au cours de la soirée.
    Il n'est PAS possible d'apporte + r des boissons alcoolisées.
    Des boissons (vins\, bières\, jus\, etc.) seront en vente au + bar à La Base.

    \n

    Attention\, c'est un bar associatif donc il faut + adhérer à La Base pour consommer. Si vous ne l'avez pas encore fait\, f + aites le en ligne avant de venir via:
    https://www.helloasso.com/associations/ + la-base-marseille/adhesions/adhesion-a-la-base-marseille-2025-2

    \n< + p>Voir aussi la page Mobilizon de la soirée

    \n

    Venez nombreuse + s et nombreux et faites passer le mot\, cet évènement est ouvert à tous + et toutes.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050709 +UID:32981@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T090000 +DTEND;TZID=Europe/Paris:20251108T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035226 +UID:33114@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T090000 +DTEND;TZID=Europe/Paris:20251108T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250519T082538 +UID:32583@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T100000 +DTEND;TZID=Europe/Paris:20251108T130000 +DESCRIPTION:\n\n**Windows 10 n’est plus supporté? Votre PC s’essouffle + ? Donnez-lui un coup de jeune!**\n\n**Installons** *y* **Linux !**\n\nLa p + rise en charge de Windows 10 se termine le 14 octobre 2025. Microsoft veut + que vous achetiez un nouvel ordinateur.\n\nMais que se passerait-il si vo + us pouviez rendre votre ordinateur actuel à nouveau rapide et sécurisé? + \n\nSi vous avez acheté votre ordinateur après 2010\, il n’y a probabl + ement aucune raison de le jeter. En installant simplement un système d’ + exploitation GNU / Linux récent\, vous pouvez continuer à l’utiliser p + our des années.\nL’installation d’un système d’exploitation peut s + embler difficile. Mais\, vous n’avez pas à vous lancer tout seul! Il y + a des personnes prêtes à vous aider !\n\nAu programme\n\n* Découverte d + e Linux et des logiciels libres\n* Installation de Linux sur votre ordinat + eur\n* Installation d’ « *Android*» sur votre smartphone\n\n[Formulair + e d'inscription][1]\n\n\n\n[1]: https://fccl-vandoeuvre.fr/inscription-lin + ux\n +GEO:48.6633;6.17287 +LOCATION:Médiathèque Jules Verne\, espace multimédia étage 2\, 2 rue de + Malines\, Vandœuvre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:6 +SUMMARY:Installons Linux ! +URL;VALUE=URI:https://fccl-vandoeuvre.fr/linux +CATEGORIES:fccl +CATEGORIES:install-partie +CATEGORIES:logiciels-libres +CATEGORIES:installations +CATEGORIES:gnu-linux +CATEGORIES:vando-libre +CATEGORIES:lineageos +CATEGORIES:/e/os +CATEGORIES:linux-mint +CATEGORIES:mirabellug +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Windows 10 n’est plus supporté? Votre PC s’essouffle? Donnez-lui un coup de jeune!

    \n

    Installons y Linux !

    \n

    La prise en charge de Windows 10 se termi + ne le 14 octobre 2025. Microsoft veut que vous achetiez un nouvel ordinate + ur.

    \n

    Mais que se passerait-il si vous pouviez rendre votre ordinate + ur actuel à nouveau rapide et sécurisé?

    \n

    Si vous avez acheté votre ordinateur après 2010\, il n’y a proba + blement aucune raison de le jeter. En installant simplement un système d + ’exploitation GNU / Linux récent\, vous pouvez continuer à l’utilise + r pour des années.
    L’installation d’un système d’exploitation p + eut sembler difficile. Mais\, vous n’avez pas à vous lancer tout seul! Il y a des personnes prêtes à vous aider !

    \n

    Au programme

    \n
      \n
    • Découver + te de Linux et des logiciels libres
    • \n
    • Installation de Linux sur vo + tre ordinateur
    • \n
    • Installation d’ « Android» sur votre smartphone
    • \n
    \n

    Formulaire d'inscription +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T111029 +UID:33492@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T100000 +DTEND;TZID=Europe/Paris:20251108T180000 +DESCRIPTION:L'association [GUTenberg][1] est très heureuse d'annoncer la t + enue de sa Journée 2025\, ouverte à tous.\n\nAu programme\, trois expos + és (dont les titres\, résumés et horaires précis seront communiqués u + ltérieurement):\n\n* (La)TeX et l’enseignement de la physique par [Wiss + am Sabra][2]\, contributeur de la [FAQ LaTeX][3].\n* Utilisation du packag + e [robust-externalize][4] par son concepteur Léo Colisson.\n* (La)TeX et + les éditions critiques via les packages [reledmac][5] et [reledpar][6]: c + odage par leur concepteur Maïeul Rouquette et utilisation par Enimie Rouq + uette.\n\nHabituellement\, la série d'exposés de la Journée est suivie + de l'assemblée générale (AG) de l'association mais\, cette année\, le + conseil d'administration a décidé de la découpler de la Journée et ce\ + , pour au moins les trois raisons suivantes:\n\n1. Elle se déroulait jus + qu'ici en fin d'après-midi de la Journée\, à un moment où les présent + s commençaient à fatiguer et éventuellement à devoir s'en aller par ex + emple pour attraper un train de retour.\n2. Ceux qui y assistaient en lig + ne avaient du mal à la fois à entendre tout ce qui s'y disait et à y ê + tre facilement entendus.\n3. Le moment convivial qui clôturait la Journ + ée était réduit à peau de chagrin alors que nous souhaitons qu'il soit + l'occasion d'autant d'échanges informels que possible.\n\nCette AG se ti + endra exclusivement en ligne\, où tous les participants (adhérents et no + n adhérents) pourront donc entendre et être bien entendus (seuls les mem + bres à jour de leur cotisation pourront toutefois prendre part aux votes) + . Sa date n'est pas encore fixée mais elle aura lieu *a priori* un des sa + medis ou dimanches de novembre suivants le week-end de la Journée.\n\nNou + s espérons que nous serons nombreux à nous retrouver à l'occasion de ce + s deux événements !\n\n\n\n[1]: https://www.gutenberg-asso.fr/\n[2]: htt + ps://forge.apps.education.fr/wissam_sabra\n[3]: https://faq.gutenberg-asso + .fr/\n[4]: https://ctan.org/pkg/robust-externalize\n[5]: https://ctan.org/ + pkg/reledmac\n[6]: https://ctan.org/pkg/reledpar\n +GEO:48.8418;2.34404 +LOCATION:École normale supérieure\, amphithéâtre Galois\, 45 rue d'Ulm\ + , Paris\, Île-de-France\, France +ORGANIZER:mailto:secretariat@gutenberg-asso.fr +SEQUENCE:5 +SUMMARY:Journée de l'association GUTenberg 2025 +URL;VALUE=URI:https://www.gutenberg-asso.fr/Journee-GUTenberg-2025 +CATEGORIES:latex +CATEGORIES:tex +CATEGORIES:enseignement +CATEGORIES:physique +CATEGORIES:cache +CATEGORIES:éditions +CATEGORIES:critiques +CATEGORIES:gutenberg +X-ALT-DESC;FMTTYPE=text/html:

    L'association GUTenberg est trè + s heureuse d'annoncer la tenue de sa Journée 2025\, ouverte à tous.
    < + br>Au programme\, trois exposés (dont les titres\, résumés et horaires + précis seront communiqués ultérieurement) :

    \n
      \n
    • (La) + TeX et l’enseignement de la physique par Wissam Sabra\, + contributeur de la FAQ LaTeX.
    • \n
    • Utilisation du package robust-externalize par son conc + epteur Léo Colisson.
    • \n
    • (La)TeX et les éditions critiques via les + packages reledmac et reledpar : codage par leur concepteur Maïeul + Rouquette et utilisation par Enimie Rouquette.
    • \n
    \n


    Habitue + llement\, la série d'exposés de la Journée est suivie de l'assemblée g + énérale (AG) de l'association mais\, cette année\, le conseil d'adminis + tration a décidé de la découpler de la Journée et ce\, pour au moins l + es trois raisons suivantes :

    \n
      \n
    1. Elle s + e déroulait jusqu'ici en fin d'après-midi de la Journée\, à un moment + où les présents commençaient à fatiguer et éventuellement à devoir s + 'en aller par exemple pour attraper un train de retour.
    2. \n
    3. Ceux qui + y assistaient en ligne avaient du mal à la fois à entendre tout ce qui + s'y disait et à y être facilement entendus.
    4. \n
    5. Le moment convivia + l qui clôturait la Journée était réduit à peau de chagrin alors que n + ous souhaitons qu'il soit l'occasion d'autant d'échanges informels que po + ssible.
    6. \n
    \n

    Cette AG se tiendra exclusivement en ligne\, où t + ous les participants (adhérents et non adhérents) pourront donc entendre + et être bien entendus (seuls les membres à jour de leur cotisation pour + ront toutefois prendre part aux votes). Sa date n'est pas encore fixée ma + is elle aura lieu a priori un des samedis ou dimanches de novembr + e suivants le week-end de la Journée.

    Nous espérons que nous sero + ns nombreux à nous retrouver à l'occasion de ces deux événements !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250728T180958 +UID:32884@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T100000 +DTEND;TZID=Europe/Paris:20251109T190000 +DESCRIPTION:Après le **succès des éditions précédentes**\, **Éthiciel + organise la suite des Hackathons du Libre**.\n\nN'hésitez pas à nous re + joindre !\n\nDéroulement avec des pauses régulières pour échanger sur + les encours en développement:\n\n**Samedi: 10h à 20h** avec des pauses r + égulières pour échanger.\n\n**Dimanche: 10h à 19h** avec des pauses r + égulières pour échanger.\n\nSi vous êtes intéressé\, **envoyez un em + ail à l'association Éthiciel avec un laïus de présentation décrivant + succinctement votre parcours et les langages que vous avez explorés.**\n\ + nAprès validation de votre candidature\, vous serez intégré aux outils + de communication du Collectif de Dev et DevOps.\n\nPour contacter l'associ + ation: contact@ethiciel.org (Laurent)\n\n---\n\n**Objectif: Générateur d + e sites statiques et responsives**\n\n* **fedireader**: une bibliothèque + Typescript permettant d'afficher des flux RSS / ATOM / ICS ou API depuis l + e fediverse ou autre application compatible. Chaque application est intég + rée grâce à un système de plugins\n* **zola / template**: Implémentat + ion de templates et thèmes avec le générateur de sites statiques Zola + écrit en Rust et basé sur Tera\n* **Website Creation Wizard** (Python): + Assistant logiciel vulgarisant la création de sites en la rendant accessi + ble à des personnes non initiées. Cette application pilote le générate + ur de site Zola en fonction des données saisies par l'utilisateur.\n* **S + tatic Site Deployer** (Rust ou Python): permet de déployer le site intern + et à partir de différents outils (github\, gitlab\, docker\, sftp\, s3 g + arage etc.)\n* **Site catalogue** (non démarré): ce site recense tous le + s clubs associatifs et les associations qui le souhaitent\, qui utilisent + notre outil\, permettant ainsi de faire des recherches sur différents cri + tères.\n\nL'objectif du collectif est à terme d'orienter nos devs le plu + s possible vers le langage Rust qui est rapide et plus sécurisant grâce + à ses nouveaux paradigmes.\n\n---\n\n**Notes**:\n\n* Les Hackathons sont + en **distanciel**\n* Il est préférable d'être présent sur les deux jou + rs \;\n* La langue d'échange oral est le français.\n* Nous avons **un m + attermost** (grâce à Framasoft) sur lequel **nous** discutons et **prép + arons les hackathons**.\n* Il faut un compte sur [https://www.framagit.or + g][1] (créé le dès que vous pouvez).\n\n[**Plus d'infos sur le projet e + nglobant \;** https://ethiciel.frama.space/s/76L8tnzHHsCRfbF][2]\n\n\n\n[1 + ]: https://www.framagit.org\n[2]: https://ethiciel.frama.space/s/76L8tnzHH + sCRfbF\n +GEO:48.8589;2.32004 +LOCATION:Paris\, Île-de-France\, France +ORGANIZER:mailto:contact@ethiciel.org +SEQUENCE:2 +SUMMARY:Hackathon Du Libre (Suite) - Distanciel +URL;VALUE=URI:https://ethiciel.org +CATEGORIES:dev +CATEGORIES:devops +CATEGORIES:hackathons +CATEGORIES:bienveillance +CATEGORIES:collaboration +CATEGORIES:ethiciel +CATEGORIES:jamclub +X-ALT-DESC;FMTTYPE=text/html:

    Après le succès des éditions pr + écédentes\, Éthiciel organise la suite des Hackathons + du Libre.

    \n

    N'hésitez pas à nous rejoindre !

    \n

    Dér + oulement avec des pauses régulières pour échanger sur les encours en d + éveloppement :

    \n

    Samedi : 10h à 20h avec des paus + es régulières pour échanger.

    \n

    Dimanche : 10h à 19h avec des pauses régulières pour échanger.

    \n

    Si vous êtes in + téressé\, envoyez un email à l'association Éthiciel avec un la + ïus de présentation décrivant succinctement votre parcours et les langa + ges que vous avez explorés.

    \n

    Après validation de votre c + andidature\, vous serez intégré aux outils de communication du Collectif + de Dev et DevOps.

    \n

    Pour contacter l'association : contact@ethiciel + .org (Laurent)

    \n

    ---

    \n

    Objectif : Générateur de site + s statiques et responsives

    \n
      \n
    • fedireader : une bibliothèque Typescript permettant d'afficher des flux RSS / A + TOM / ICS ou API depuis le fediverse ou autre application compatible. Chaq + ue application est intégrée grâce à un système de plugins
    • \n
    • < + strong>zola / template : Implémentation de templates et thèmes + avec le générateur de sites statiques Zola écrit en Rust et basé sur T + era
    • \n
    • Website Creation Wizard (Python) : Assistan + t logiciel vulgarisant la création de sites en la rendant accessible à d + es personnes non initiées. Cette application pilote le générateur de si + te Zola en fonction des données saisies par l'utilisateur.
    • \n
    • Static Site Deployer (Rust ou Python) : permet de déployer l + e site internet à partir de différents outils (github\, gitlab\, docker\ + , sftp\, s3 garage etc.)
    • \n
    • Site catalogue (non d + émarré): ce site recense tous les clubs associatifs et les associations + qui le souhaitent\, qui utilisent notre outil\, permettant ainsi de faire + des recherches sur différents critères.
    • \n
    \n

    L'objectif du co + llectif est à terme d'orienter nos devs le plus possible vers le langage + Rust qui est rapide et plus sécurisant grâce à ses nouveaux paradigmes. +

    \n

    ---

    \n

    Notes :

    \n
      \n
    • Les Hackathon + s sont en distanciel
    • \n
    • Il est préférable d'êtr + e présent sur les deux jours \;
    • \n
    • La langue d'échange oral est l + e français.
    • \n
    • Nous avons un mattermost (grâce + à Framasoft) sur lequel nous discutons et prépa + rons les hackathons.
    • \n
    • Il faut un compte sur http + s://www.framagit.org (créé le dès que vous pouvez).
    • \n
    \n

    Plus d'infos sur le projet englobant + \; https://ethiciel.frama.space/s/76L8tnzHHsCRfbF

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135854 +UID:33162@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T103000 +DTEND;TZID=Europe/Paris:20251108T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T031631 +UID:32592@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T133000 +DTEND;TZID=Europe/Paris:20251108T190000 +DESCRIPTION:Le samedi 08 novembre 2025 de 13h30 à 19h00.\n\nMJC-EVS du Che + val Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n       +             [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Cl + ub Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semai + nes (environ) et accueille toutes les personnes qui souhaitent découvrir + ou approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compéte + nce n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous a + ccueillons celles et ceux qui cherchent une réponse ou souhaitent découv + rir **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** s + ur des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui + permet de conserver l’ancien système (par exemple Windows) et d’util + iser quand même **Linux**\, en choisissant au démarrage\,\n* nous partag + eons nos recherches (nos difficultés aussi) et nos découvertes\, les nou + veautés.\n\nLe **Club Linux** est également impliqué dans une démarche + de libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de p + romotion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [ + **OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N + .S**][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n + \n\n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: htt + ps://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multi + boot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\ + n[6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: + https://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 08 novembre 2025 de 13h30 à 19h0 + 0.

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des V + osges\, Wintzenheim\, Grand Est

    \n
    \n +
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n< + /div>\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     \n
    \n
    \n
    +  
    \n
    \n
     
    \n
     
    \n\n
    \n
    \n
    \n

    Rencontre du Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes + les 3 semaines (environ) et accueille toutes les personnes qui souhaitent + découvrir ou approfondir Linux et les Logiciels Libres. Aucune + compétence n'est demandée.  

    \n

    Pendant ces rencontres\, informell + es\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\ + , la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par + exemple Windows) et d’utiliser quand même Linux\, en c + hoisissant au démarrage\,
    • \n
    • nous par + tageons nos recherches (nos difficultés aussi) et nos découvertes\, les + nouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Faceb + ook Amazon Microsoft) et de promotion de solutions libres comme\, entre au + tres\, W + ikipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et + beaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250822T181215 +UID:33093@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T140000 +DTEND;TZID=Europe/Paris:20251108T170000 +DESCRIPTION:\n\nDans le cadre de la fête d’anniversaire des 25 ans de la + médiathèque Jules Verne\, venez participer à l’enrichissement des pa + ges de Vandœuvre\, de l’encyclopédie libre et participative Wikipédia + \, lors d’ateliers pratiques.\n\nProgramme\n\n* Samedi 4 octobre: Décou + verte de Wikipédia\, comment y contribuer ?\n* Samedi 8 novembre: Prise d + e photos pour la banque d’images Wikimedia Commons\n* Samedi 15 novembre + : Contribution au contenu Wikipédia à propos de la médiathèque\n\nLe s + amedi 22 novembre: rendu des ateliers lors de la fête des 25 ans.\n\n**In + scription conseillée**\n\nTel: 03 83 54 85 53\, demander Axel ou Jordan\n + \nFormulaire: [fccl-vandoeuvre.fr/inscription-wikipedia][1]\n\n\n\n[1]: ht + tps://fccl-vandoeuvre.fr/inscription-wikipedia\n +GEO:48.6633;6.17287 +LOCATION:Médiathèque Jules Verne\, 2 rue de Malines\, Vandœuvre-lès-Nan + cy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:3 +SUMMARY:Atelier Wikipédia +URL;VALUE=URI:https://fccl-vandoeuvre.fr +CATEGORIES:fccl +CATEGORIES:atelier +CATEGORIES:mediatheque-jules-verne +CATEGORIES:micro-folie +CATEGORIES:wikipédia +CATEGORIES:wikimedia-commons +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Dans + le cadre de la fête d’anniversaire des 25 ans de la médiathèque Jule + s Verne\, venez participer à l’enrichissement des pages de Vandœuvre\, + de l’encyclopédie libre et participative Wikipédia\, lors d’atelier + s pratiques.

    \n

    Programme

    \n
      \n
    • Samedi 4 octobre : Découver + te de Wikipédia\, comment y contribuer ?
    • \n
    • Samedi 8 novembre : Pr + ise de photos pour la banque d’images Wikimedia Commons
    • \n
    • Samedi + 15 novembre : Contribution au contenu Wikipédia à propos de la médiath + èque
    • \n
    \n

    Le samedi 22 novembre : rendu des ateliers lors de l + a fête des 25 ans.

    \n

    Inscription conseillée

    \n +

    Tel : 03 83 54 85 53\, demander Axel ou Jordan

    \n

    Formulaire : fccl-vandoeuvre.fr + /inscription-wikipedia

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060732 +UID:33609@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T140000 +DTEND;TZID=Europe/Paris:20251108T180000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nAttention\, réservez votre place par [contact (at) linux + maine.org ](mailto:contact@linuxmaine)\n\nPlanning des réservations cons + ultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip.php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contatct@linuxmaine.org +SEQUENCE:2 +SUMMARY:Permanence mensuelle du samedi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Attention\, r + éservez votre place par contact (at) + linuxmaine.org 

    \n

    Planning des réservations consultable ici.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250910T135434 +UID:33233@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251108T150000 +DTEND;TZID=Europe/Paris:20251108T180000 +DESCRIPTION:\n\n\n\n\n\n Linux Nantes tient à vous informer de ça prochai + ne permanence. Nous vous proposons:\n\n\\- de vous faire découvrir Linux + et les logiciels libres.\n\n\\- de vous aider à installer Linux sur votre + ordinateur ou votre portable\,\n\n\\- de vous informer sur l'utilisation + de votre version de Linux et des logiciels libres.\n\n\\- de voir avec vou + s les problèmes rencontrés.\n\nPour plus d’informations sur l’associ + ation voir notre site.\n\n +GEO:47.2217;-1.55706 +LOCATION:B17\, 17 rue Paul Bellamy\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linux-nantes.org +SEQUENCE:4 +SUMMARY:Permanence Linux-Nantes +URL;VALUE=URI:https://www.linux-nantes.org +CATEGORIES:permanence +CATEGORIES:linux-nantes +CATEGORIES:gnu +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:


    +



    \n

    Linux Nantes tient à vous informer de ça prochai + ne permanence. Nous vous proposo + ns:

    \n

    - de vous faire découvrir Linux et les logic + iels libres.

    \n

    - de vous aider à installer Linux s + ur votre ordinateur ou votre portable\,

    \n

    - de vous + informer sur l'utilisation de votre version de Linux et des logiciels libres.

    \n

    - + de voir avec vous les problèmes rencontrés.

    \n

    Pou + r plus d’informations sur l’association voir notre site.

    \n< + pre>  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T112333 +UID:33432@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251109T120000 +DTEND;TZID=Europe/Paris:20251109T180000 +DESCRIPTION:Ğrendez-vous -à Besançon- est un événement mensuel (2ème + dimanches du mois) d'information\, d'aide au démarrage et d'échanges en + Monnaie Libre\, la June (Ğ1)\n\nl'entrée et libre et gratuite\n\n------- + \n\nla Monnaie Libre a été conçue par Stéphane Laborde dans son livre + intitulé "Théorie Relative de la Monnaie (TRM)"\, et mise en oeuvre le 8 + mars 2017 par un collectif d'informaticiens.\n\ndepuis\, elle s'est déve + loppée en France\, Belgique\, Espagne.. 22 pays actifs à ce jour\n\n59 c + omptes utilisateurs en mars 2017\, plus de 30.000 comptes aujourd'hui\, do + nt la moitié en France\, normal\, c'est un produit français\n\n +GEO:47.2555;6.04577 +LOCATION:l'Agora des Vaîtes à Besançon\, 5 rue Max Jacob\, Besançon\, F + rance +ORGANIZER:mailto:br.com@laposte.net +SEQUENCE:2 +SUMMARY:Ğrendez-vous mensuel de Besançon en Monnaie Libre (June) +URL;VALUE=URI:https://www.monnaie-libre.fr +CATEGORIES:june +CATEGORIES:cesium\, +CATEGORIES:monnaie\, +CATEGORIES:libre\, +CATEGORIES:liberté\, +CATEGORIES:ğ1\, +CATEGORIES:duniter\, +CATEGORIES:gmarché\, +CATEGORIES:ğrendez-vous\, +CATEGORIES:besançon +X-ALT-DESC;FMTTYPE=text/html:

    Ğrendez-vous -à Besançon- est un événe + ment mensuel (2ème dimanches du mois) d'information\, d'aide au démarrag + e et d'échanges en Monnaie Libre\, la June (Ğ1)

    \n

    l'entrée et lib + re et gratuite

    \n

    -------

    \n

    la Monnaie Libre a été conçue pa + r Stéphane Laborde dans son livre intitulé "Théorie Relative de la Monn + aie (TRM)"\, et mise en oeuvre le 8 mars 2017 par un collectif d'informati + ciens.

    \n

    depuis\, elle s'est développée en France\, Belgique\, Esp + agne.. 22 pays actifs à ce jour

    \n

    59 comptes utilisateurs en mars 2 + 017\, plus de 30.000 comptes aujourd'hui\, dont la moitié en France\, nor + mal\, c'est un produit français

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T121112 +UID:33206@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251110T180000 +DTEND;TZID=Europe/Paris:20251110T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:1 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

    Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

    \n +

    Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

    \n

    Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

    \n

    🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

    \n

    📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

    \n

    🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

    \n

    Le programme des mapathons

    \n

    18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

    \n

    18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

    20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

    \n

    Pour s'inscrire c'est par ici

    \n

    Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32907@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251111T153000 +DTEND;TZID=Europe/Paris:20251111T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110840 +UID:33589@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251111T183000 +DTEND;TZID=Europe/Paris:20251111T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164820 +UID:33100@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251111T200000 +DTEND;TZID=Europe/Paris:20251111T220000 +DESCRIPTION:\n\nLa Coollégiale\, c'est le moment où les bénévoles actif + s se retrouvent afin de préparer la suite de la vie de l'association\, di + scuter des projets et prendre les décisions 👍 Cet instant est ouvert + à toute personne intéressée d'en apprendre plus sur le fonctionnement d + e l'association et voulant s'investir avec nous dans sa vie quotidienne + 😄\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:🧭 La Coollégiale\, la réunion de coordination d'Alsace Réseau + Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn +CATEGORIES:arn-fai +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Coollégiale

    \n

    La Coollégiale\, c'est le moment où les bén + évoles actifs se retrouvent afin de préparer la suite de la vie de l'ass + ociation\, discuter des projets et prendre les décisions 👍 Cet instant + est ouvert à toute personne intéressée d'en apprendre plus sur le fonc + tionnement de l'association et voulant s'investir avec nous dans sa vie qu + otidienne 😄

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060652 +UID:33613@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T123000 +DTEND;TZID=Europe/Paris:20251112T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112704 +UID:33357@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T140000 +DTEND;TZID=Europe/Paris:20251112T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182446 +UID:33296@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T140000 +DTEND;TZID=Europe/Paris:20251112T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145419 +UID:32768@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T180000 +DTEND;TZID=Europe/Paris:20251112T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250110T115629 +UID:31704@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T190000 +DTEND;TZID=Europe/Paris:20251112T220000 +DESCRIPTION:Réunion ouverte à tous\, adhérent ou pas.\n\nLes réunions m + ensuelles Hadoly ont lieu tous les 2eme mercredi du mois\, à partir de 19 + h.\n\nSoit en présentiel dans les locaux de Altnet - 7 place Louis Chazet + te 69001 Lyon\n\nSoit en distanciel sur l'adresse [**https://jitsi.hadoly + .fr/permanence-hadoly**][1].\n\n**À propos de cet événement**\n\nLa pe + rmanence (mensuelle) d'Hadoly (**H**ébergeur **A**ssociatif **D**écen + tralisé et **O**uvert à **LY**on)\, [**chaton**][2] lyonnais\, est l + 'occasion d'échanger avec les membres de l'asso sur les services et moyen + s mis à disposition des adhérents afin de se libérer des Gafams tout en + partageant ce que chacun·e aura amené pour grignoter ou boire.\n\nNous + partageons du mail\, du cloud\, et d'autres services\, le tout basé exclu + sivement sur une infrastructure locale et des logiciels libres. Nous respe + ctons la neutralité du net et la vie privée. Plus largement nous échang + eons autour des communs numériques\, des cultures libres et de l'éducati + on populaire par exemple en réalisant ou animant des ateliers d'éducatio + n aux médias.\n\nVous serez bienvenu pour présenter votre projet\, celui + de votre organisation\, causer communs numériques\, cultures libres et + éduc pop.\n\n\n\n[1]: https://jitsi.hadoly.fr/permanence-hadoly\n[2]: htt + ps://chatons.org/\n +GEO:45.7731;4.83748 +LOCATION:Altnet\, 7 place Louis Chazette\, Lyon\, Auvergne-Rhône-Alpes\, F + rance +ORGANIZER:mailto:contact@hadoly.fr +SEQUENCE:1 +SUMMARY:Réunion mensuelle Hadoly +URL;VALUE=URI:https://hadoly.fr +CATEGORIES:hadoly +CATEGORIES:chaton +CATEGORIES:permanence +CATEGORIES:réunion +CATEGORIES:discussion +X-ALT-DESC;FMTTYPE=text/html:

    Réunion ouverte à tous\, adhérent ou pas.

    \n

    Les ré + unions mensuelles Hadoly ont lieu tous les 2eme mercredi du mois\, à part + ir de 19h.

    \n

    Soit en présentiel dans les locaux de Altnet - 7 place + Louis Chazette 69001 Lyon

    \n

    Soit en distanciel sur l'adresse https://jitsi.hadoly.fr/permanence-hadoly.

    \n

    À propos de cet événement

    \ + n

    La permanence (mensuelle) d'Hadoly (Hébergeur Associatif Décentralisé et Ouvert à LYon)\, chaton lyonnais\, est l'occasion d'échanger avec les membres de l'asso su + r les services et moyens mis à disposition des adhérents afin de se lib + érer des Gafams tout en partageant ce que chacun·e aura amené pour grig + noter ou boire.

    \n

    Nous partageons du mail\, du cloud\, et d'autres s + ervices\, le tout basé exclusivement sur une infrastructure locale et des + logiciels libres. Nous respectons la neutralité du net et la vie privée + . Plus largement nous échangeons autour des communs numériques\, des cul + tures libres et de l'éducation populaire par exemple en réalisant ou ani + mant des ateliers d'éducation aux médias.

    \n

    Vous serez bienvenu po + ur présenter votre projet\, celui de votre organisation\, causer communs + numériques\, cultures libres et éduc pop.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050419 +UID:32977@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251112T193000 +DTEND;TZID=Europe/Paris:20251112T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104830 +UID:33555@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251114T134000 +DTEND;TZID=Europe/Paris:20251114T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181130 +UID:33280@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251114T140000 +DTEND;TZID=Europe/Paris:20251114T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182404 +UID:33392@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251114T143000 +DTEND;TZID=Europe/Paris:20251114T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050747 +UID:32982@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T090000 +DTEND;TZID=Europe/Paris:20251115T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250821T050649 +UID:33088@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T091500 +DTEND;TZID=Europe/Paris:20251115T120000 +DESCRIPTION:L'association CLX Club LinuX Nord-Pas de Calais\, organise chaq + ue 3ème samedi de chaque mois une install party.\n\n\n\n\n\n\n\nVotre ord + inateur est lent ou fatigué?\n\nIl fonctionne moins bien et vous aimeriez + retrouver un fonctionnement adapté?\n\nVous pouvez lui donner un nouveau + coup de santé!\n\nEmmenez le (prenez soin de sauvegarder vos documents p + récieux avant de sortir)\, nous faisons le reste avec vous!\n\nAu cours d + e ces séances\, nous vous proposons d’installer le système d’exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\nC'est le moment convivial ou chacun peut installer Linux\, p + asser progressivement ses logiciels privateurs vers du libre ou tout simpl + ement se faire aider à l'entretien de son ordinateur.\n\nC'est aussi l'en + droit où l'on est pas obligé d'avoir un PC à réparer pour venir discut + er!\n\n +GEO:50.0158;4.04528 +LOCATION:Tiers-Lieu le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-F + rance\, France +ORGANIZER:mailto:fourmies@clx.asso.fr +SEQUENCE:4 +SUMMARY:Donnez une seconde vie à vos ordinateurs +URL;VALUE=URI:https://clx-fourmies.fr +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:clx +CATEGORIES:recyclage +CATEGORIES:linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    L'association CL + X Club LinuX Nord-Pas de Calais\, organise chaque 3ème samedi de chaque m + ois une install party.

    \n

     

    \n
    \n

    \n

     

    \n

    Votre ordinateur es + t lent ou fatigué?

    \n

    Il fonctionne moi + ns bien et vous aimeriez retrouver un fonctionnement adapté?

    \n

    Vous pouvez lui donner un nouveau coup de santé< + span class="finePre">!

    \n

    Emmenez le (prenez soin de sauvegard + er vos documents précieux avant de sortir)\, nous faisons le reste avec v + ous!

    \n

    Au cours de ces séances\, nous + vous proposons d’installer le système d’exploitation libre Linux et/o + u les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    C'e + st le moment convivial ou chacun peut installer Linux\, passer progressive + ment ses logiciels privateurs vers du libre ou tout simplement se faire ai + der à l'entretien de son ordinateur.

    \n

    C'est aussi l'endroit où l' + on est pas obligé d'avoir un PC à réparer pour venir discuter!

    \n
    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050628 +UID:32980@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T093000 +DTEND;TZID=Europe/Paris:20251115T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250902T105219 +UID:33180@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T093000 +DTEND;TZID=Europe/Paris:20251115T173000 +DESCRIPTION:Le Campus du Libre\, c'est un événement autour du libre organ + isé par des personnes issues du milieu universitaire (étudiants et perso + nnels) pour les étudiants lyonnais. L'objectif est de partager différent + s aspects du libre et des communs\, allant par exemple du logiciel libre ( + Linux\, Firefox\, etc.) aux espaces communs gérés collaborativement (Wik + ipedia\, OpenStreetMap).\n\n\n\nL'édition 2025 met l'accent sur les commu + ns\n\n Il est bien sûr gratuit de participation et de contribution.\n\n* + *Cet événement est avant tout pensé pour les curieux qui auraient envie + de venir découvrir cet univers (nouveaux étudiants\, non connaisseurs d + u sujet).**\n\n +GEO:45.7831;4.87599 +LOCATION:INSA Lyon\, 20 avenue Albert Einstein\, Villeurbanne\, Auvergne-Rh + ône-Alpes\, France +ORGANIZER:mailto:contact@campus-du-libre.org +SEQUENCE:3 +SUMMARY:Campus du Libre +URL;VALUE=URI:https://www.campus-du-libre.org +CATEGORIES:logiciel +CATEGORIES:logiciel-libre +CATEGORIES:communs +CATEGORIES:numerique +CATEGORIES:campus-du-libre +X-ALT-DESC;FMTTYPE=text/html:

    Le Campus du Libre\, c'est un événement a + utour du libre organisé par des personnes issues du milieu universitaire + (étudiants et personnels) pour les étudiants lyonnais. L'objectif est de + partager différents aspects du libre et des communs\, allant par exemple + du logiciel libre (Linux\, Firefox\, etc.) aux espaces communs gérés co + llaborativement (Wikipedia\, OpenStreetMap).

    \n

    \n

    L'édition 2025 met l'accent sur les communs

    \n

     Il est + bien sûr gratuit de participation et de contribution.

    \n

    Cet + événement est avant tout pensé pour les curieux qui auraient envie de + venir découvrir cet univers (nouveaux étudiants\, non connaisseurs du su + jet).

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250930T144155 +UID:33424@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T093000 +DTEND;TZID=Europe/Paris:20251115T180000 +DESCRIPTION:Microsoft arrête le support de Windows 10 cette année (ou la + prochaine\, si vous êtes prêts à payer ou à lui donner vos données... + )\n\nVous ne voulez pas de cette "Taxe Windows" qui vous impose de rachete + r un nouveau PC compatible Windows11 alors que votre PC actuel marche enco + re très bien !\n\nIl est donc temps de dire Bye-Bye à Windows 10 (ou mê + me à Windows 8\, 7... !)\n\nVenez nous voir et nous vous aiderons à inst + aller Linux Mint un système d'exploitation libre et gratuit qui propose l + a plus grande partie des logiciels que vous utilisez déjà: navigateur we + b\, suite bureautique\, visionneuse de photos et de vidéos...\n\nNous vou + s formerons à l'utilisation de ce nouvel environnement et à sa maintenan + ce.\n\nLe tout gratuitement et dans la bonne humeur.\n\nUne seule contrain + te: avoir sauvegardé toutes ses données sur un disque dur externe car l' + installation de Linux va réinitialiser/effacer le disque dur.\n\nAccès M + étro: station Plateau de Vanves ligne 13\n\nAccès piéton: 14/18 rue Jea + n Jaurès\, suivre le fléchage "LLV/Bye-Bye Windows 10"\n\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:9 +SUMMARY:Bye-Bye Windows 10 +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:adieu-windows +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:mint +CATEGORIES:logiciels-libres +CATEGORIES:llv +CATEGORIES:le-libre-vanveen +CATEGORIES:le-libre-vanvéen +X-ALT-DESC;FMTTYPE=text/html:

    Le Libr
+ e VanvéenMicrosoft arrête le support de Windows 10 cette année (ou la + prochaine\, si vous êtes prêts à payer ou à lui donner vos données . + ..)

    \n

    Vous ne voulez pas de cette "Taxe Windows" qui vous impose de + racheter un nouveau PC compatible Windows11 alors que votre PC actuel marc + he encore très bien !

    \n

    Il est donc temps de dire Bye-Bye à Window + s 10 (ou même à Windows 8\, 7... !)

    \n

    Venez nous voir et nous vous + aiderons à installer Linux Mint un système d'exploitation libre et grat + uit qui propose la plus grande partie des logiciels que vous utilisez déj + à: navigateur web\, suite bureautique\, visionneuse de photos et de vidé + os...

    \n

    Nous vous formerons à l'utilisation de ce nouvel environnem + ent et à sa maintenance.

    \n

    Le tout gratuitement et dans la bonne hu + meur.

    \n

    Une seule contrainte: avoir sauvegardé toutes ses données + sur un disque dur externe car l'installation de Linux va réinitialiser/ef + facer le disque dur.

    \n

    Accès Métro: station Plateau de Vanves lign + e 13

    \n

    Accès piéton : 14/18 rue Jean Jaurès\, suivre le fléchage + "LLV/Bye-Bye Windows 10"

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250706T040332 +UID:32741@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T100000 +DTEND;TZID=Europe/Paris:20251115T120000 +DESCRIPTION:La prochaine rencontre des «samedis des libertés numériques + » est organisée à la Maison de Quartier des Glacis: rendez-vous à l'ac + cueil. Le thème du jour est: « Installez GNU/Linux\, rendez rapide votre + ordinateur: contre l'obsolescence programmée par Windows 10 ».\n\nEn pa + rallèle\, selon les possibilités un logiciel libre sera mis en vedette: + [Gimp][1]\, le couteau suisse graphique pour vos photos\, vos dessins\, et + c.\n\nSi vous apportez votre ordinateur (de bureau\, ou portable)\, nous p + ouvons vous aider pas à pas\, pour:\n\n1. Tester GNU/Linux\, sans rien i + nstaller sur le disque\; vous verrez si l'ordinateur redevient maniable\, + et si vos logiciels préférés sont là\, pour la bureautique\, Internet\ + , le dessin\, le son\, la vidéo\, etc.\n\n2. Si vous le voulez\, install + er GNU/Linux (il y a le choix entre quelques variantes\, selon les âges e + t les préférences)\n\n3. Voir comment accéder à la logithèque libre + et gratuite (plusieurs milliers de paquets logiciels)\, et installer des a + pplications en plus.\n\nCes rencontres du logiciel libre sont organisées + les 3èmes samedis du mois. Elles sont l'occasion d'échanger\, en toute s + implicité\, sur divers thèmes en rapport avec notre monde numérique\, d + ans une structure attentive à nos libertés.\n\n\n\n[1]: https://www.gimp + .org/\n +GEO:51.0425;2.38973 +LOCATION:Maison de Quartier des Glacis\, 8 rue de l'adroit\, Dunkerque\, Ha + uts-de-France\, France +ORGANIZER:mailto:georges.khaznadar@free.fr +SEQUENCE:3 +SUMMARY:Rencontres des libertés numériques +CATEGORIES:à_tes_côtés +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gimp +CATEGORIES:windows-10 +CATEGORIES:obsolescence-programmée +CATEGORIES:association_clx +X-ALT-DESC;FMTTYPE=text/html:

    La prochaine rencontre des «samedis des li + bertés numériques» est organisée à la Maison de Quartier des Glacis : + rendez-vous à l'accueil. Le thème du jour est: « Installez GNU/Linux\, + rendez rapide votre ordinateur: contre l'obsolescence programmée par Win + dows 10 ».

    \n

    En parallèle\, selon les possibilités un logiciel li + bre sera mis en vedette : Gimp\, le co + uteau suisse graphique pour vos photos\, vos dessins\, etc.

    \n

    Si vou + s apportez votre ordinateur (de bureau\, ou portable)\, nous pouvons vous + aider pas à pas\, pour:

    \n
      \n
    1. \n

      + Tester GNU/Linux\, sans rien installer sur le disque\; vous verrez si l'or + dinateur redevient maniable\, et si vos logiciels préférés sont là\, p + our la bureautique\, Internet\, le dessin\, le son\, la vidéo\, etc.

      \ + n
    2. \n
    3. \n

      Si vous le voulez\, installe + r GNU/Linux (il y a le choix entre quelques variantes\, selon les âges et + les préférences)

      \n
    4. \n
    5. \n

      Voir comment accéder à la logit + hèque libre et gratuite (plusieurs milliers de paquets logiciels)\, et in + staller des applications en plus.

      \n
    6. \n
    \n

    Ces rencontres du + logiciel libre sont organisées les 3èmes samedis du mois. Elles sont l'o + ccasion d'échanger\, en toute simplicité\, sur divers thèmes en rapport + avec notre monde numérique\, dans une structure attentive à nos libert + és.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251001T112453 +UID:33430@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T100000 +DTEND;TZID=Europe/Paris:20251116T163000 +DESCRIPTION:Cet évènement autour du **Logiciel Libre** et du **Libre** a + lieu tous les ans fin novembre à l'[INP-N7][1]\, il est **gratuit et** * + *ouvert à toutes et à tous.**\n\n**Inscription est obligatoire et vous d + evez vous ****munir d'un ticket à partir d'ici([https://tickets.capitole + dulibre.org/cdl/2025/][2])**\n\n**Le Capitole du Libre: l’événement in + contournable des logiciels libres à Toulouse**\n\n* **+ de 1500 participa + nts** chaque année\, rassemblant développeurs\, professionnels\, étudia + nts et passionnés de technologies ouvertes\n* **100+ conférences et atel + iers** sur des thématiques variées: programmation\, systèmes d’exploi + tation\, open data\, sécurité\, et bien plus.\n* **100% gratuit et acces + sible**\, avec des interventions pour tous les niveaux\, du débutant au c + onfirmé.\n* **40+ exposants**: entreprises\, projets open source\, associ + ations\, et collectivités locales\, présentent leurs solutions et innova + tions.\n* I**nstallation &\; dépannage Linux &\; OS Libres:** venez + pendant tout le week-end vous faire aider pour installer un OS libre sur + vos ordinateurs et téléphones.\n* **Toulouse\, cœur du mouvement**: un + événement au sein d’une ville dynamique\, reconnue pour son écosystè + me numérique et technologique.\n* **Plus de 10 ans d’existence**\, le C + apitole du Libre est devenu l’un des plus grands rassemblements europée + ns dédiés aux logiciels libres.\n\nL’événement permet d'échanger\, + de se former et de découvrir les dernières innovations du monde du libre + \, tout en favorisant une forte convivialité et une dimension collaborati + ve. Un rendez-vous à ne pas manquer pour plonger dans l’univers du num + érique libre et participatif !\n\nRendez-vous sur le site de l'événemen + t pour découvrir le programme complet: [https://capitoledulibre.org][3]\n + \nOrganisé par l'association [Toulibre][4]\, avec la participation active + des clubs étudiants de l'INP-N7: [TVn7][5]\, [Net7][6] [CAn7][7] et [Pho + to7][8].\n\n\n\n[1]: http://www.enseeiht.fr/fr/index.html\n[2]: https://ti + ckets.capitoledulibre.org/cdl/2025/\n[3]: https://capitoledulibre.org\n[4] + : http://toulibre.org/\n[5]: http://tvn7.fr/\n[6]: http://www.bde.enseeiht + .fr/clubs/net7/\n[7]: http://www.bde.enseeiht.fr/clubs/animation/\n[8]: ht + tp://www.bde.enseeiht.fr/clubs/photo/\n +GEO:43.6021;1.4553 +LOCATION:ENSEEIHT\, 2 rue Charles Camichel\, Toulouse\, Occitanie\, France +ORGANIZER:mailto:contact@capitoledulibre.org +SEQUENCE:4 +SUMMARY:Capitole du Libre +URL;VALUE=URI:https://capitoledulibre.org +CATEGORIES:capitole-du-libre +CATEGORIES:conférence +CATEGORIES:logiciels-libres +CATEGORIES:ateliers +CATEGORIES:toulibre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Cet évènement autour du Logiciel + Libre et du Libre a lieu tous les ans fin novem + bre à l'INP + -N7\, il est gratuit et ouvert à toutes et + à tous.

    \n

    Inscription est obligatoire et vous deve + z vous munir d'un ticket à partir d'ici(https://tickets.capitoledulibre.o + rg/cdl/2025/)

    \n

    Le Capitole du Libre : l’événement inco + ntournable des logiciels libres à Toulouse

    \n
      \n
    • + de 1500 + participants chaque année\, rassemblant développeurs\, profess + ionnels\, étudiants et passionnés de technologies ouvertes
    • \n
    • 100+ c + onférences et ateliers sur des thématiques variées : programma + tion\, systèmes d’exploitation\, open data\, sécurité\, et bien plus. +
    • \n
    • 100% gratuit et accessible\, avec des interventions pour + tous les niveaux\, du débutant au confirmé.
    • \n
    • 40+ exposants : entreprises\, projets open source\, associations\, et collectivités l + ocales\, présentent leurs solutions et innovations.
    • \n
    • Installation &\; dépannage Linux &\; OS + Libres: venez pendant tout le week-end vous faire aider pour ins + taller un OS libre sur vos ordinateurs et téléphones.
    • \n
    • Toulouse\, + cœur du mouvement : un événement au sein d’une ville dynamiq + ue\, reconnue pour son écosystème numérique et technologique.
    • \n
    • Pl + us de 10 ans d’existence\, le Capitole du Libre est devenu l’ + un des plus grands rassemblements européens dédiés aux logiciels libres + .
    • \n
    \n

    L’événement permet + d'échanger\, de se former et de découvrir les dernières innovations du + monde du libre\, tout en favorisant une forte convivialité et une dimensi + on collaborative. Un rendez-vous à ne pas manquer pour plonger dans l’u + nivers du numérique libre et participatif !

    \n

    Rendez-vous sur le site de l'événement pour découvrir le pr + ogramme complet: https://capitoledul + ibre.org

    \n

    Organisé par l'association Toulibre\, avec la participation active des clubs étudiants de + l'INP-N7: TVn7\, Net7 < + a title="CAN7" href="http://www.bde.enseeiht.fr/clubs/animation/">CAn7 + et Photo7< + /a>.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135855 +UID:33163@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T103000 +DTEND;TZID=Europe/Paris:20251115T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251005T133317 +UID:33493@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T170000 +DESCRIPTION:\n\nComme chaque mois (enfin presque)\, nous nous retrouvons av + ec le collectif Garlatek le 2ᵉ samedi du mois de 14h à 18h pour un atel + ier Informatique dans le pays d'Aubagne:\n\n* Répare café informatique: + Ne jetez pas votre PC ! on va le faire revivre.\n* Atelier logiciels libre + s: Découvrez avec d'autres les logiciels libres et gratuits pour votre or + dinateur ou téléphone pour mieux maîtriser le numérique (Ubuntu\, Gimp + \, Android\, etc...)\n\n +GEO:43.2894;5.57713 +LOCATION:Médiathèque Marcel Pagnol\, Chemin de Riquet\, Aubagne\, Provenc + e-Alpes-Côte d'Azur\, France +ORGANIZER:mailto:garlatek@ekimia.fr +SEQUENCE:4 +SUMMARY:Atelier Répare café et logiciels libres +URL;VALUE=URI:https://www.garlatek.org +CATEGORIES:ekimia +CATEGORIES:android +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:garlatek +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    +

    \n

    Comme chaque mois (enfin presque)\, nous nous retrouvons avec le + collectif Garlatek le 2ᵉ samedi du mois de 14h à 18h pour un atelier In + formatique dans le pays d'Aubagne:

    \n
      \n
    • Répare café informatiq + ue : Ne jetez pas votre PC ! on va le faire revivre.
    • \n
    • Atelier log + iciels libres : Découvrez avec d'autres les logiciels libres et gratuits + pour votre ordinateur ou téléphone pour mieux maîtriser le numérique ( + Ubuntu\, Gimp\, Android\, etc...)
    • \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250822T181238 +UID:33094@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T170000 +DESCRIPTION:\n\nDans le cadre de la fête d’anniversaire des 25 ans de la + médiathèque Jules Verne\, venez participer à l’enrichissement des pa + ges de Vandœuvre\, de l’encyclopédie libre et participative Wikipédia + \, lors d’ateliers pratiques.\n\nProgramme\n\n* Samedi 4 octobre: Décou + verte de Wikipédia\, comment y contribuer ?\n* Samedi 8 novembre: Prise d + e photos pour la banque d’images Wikimedia Commons\n* Samedi 15 novembre + : Contribution au contenu Wikipédia à propos de la médiathèque\n\nLe s + amedi 22 novembre: rendu des ateliers lors de la fête des 25 ans.\n\n**In + scription conseillée**\n\nTel: 03 83 54 85 53\, demander Axel ou Jordan\n + \nFormulaire: [fccl-vandoeuvre.fr/inscription-wikipedia][1]\n\n\n\n[1]: ht + tps://fccl-vandoeuvre.fr/inscription-wikipedia\n +GEO:48.6633;6.17287 +LOCATION:Médiathèque Jules Verne\, 2 rue de Malines\, Vandœuvre-lès-Nan + cy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:4 +SUMMARY:Atelier Wikipédia +URL;VALUE=URI:https://fccl-vandoeuvre.fr +CATEGORIES:fccl +CATEGORIES:atelier +CATEGORIES:mediatheque-jules-verne +CATEGORIES:micro-folie +CATEGORIES:wikipédia +CATEGORIES:wikimedia-commons +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Dans + le cadre de la fête d’anniversaire des 25 ans de la médiathèque Jule + s Verne\, venez participer à l’enrichissement des pages de Vandœuvre\, + de l’encyclopédie libre et participative Wikipédia\, lors d’atelier + s pratiques.

    \n

    Programme

    \n
      \n
    • Samedi 4 octobre : Découver + te de Wikipédia\, comment y contribuer ?
    • \n
    • Samedi 8 novembre : Pr + ise de photos pour la banque d’images Wikimedia Commons
    • \n
    • Samedi + 15 novembre : Contribution au contenu Wikipédia à propos de la médiath + èque
    • \n
    \n

    Le samedi 22 novembre : rendu des ateliers lors de l + a fête des 25 ans.

    \n

    Inscription conseillée

    \n +

    Tel : 03 83 54 85 53\, demander Axel ou Jordan

    \n

    Formulaire : fccl-vandoeuvre.fr + /inscription-wikipedia

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174618 +UID:32856@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@O2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@O2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162830 +UID:33444@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T180000 +DESCRIPTION:\n\n\n\nRepair café avec une section informatique dans laquell + e nous proposons l'installation de linux (plusieurs distributions selon vo + s goûts et le matériel du pc)\, mais aussi diagnostique et réparation m + atérielle ou logicielle (linux\, macos et Windows).\n\n +GEO:49.019;2.24391 +LOCATION:Salle des arts créatifs\, 52 rue du Général Leclerc\, Saint leu + la Forêt\, Île-de-France\, France +ORGANIZER:mailto:olivier@lefort.info +SEQUENCE:3 +SUMMARY:Repair café informatique +URL;VALUE=URI:https://www.facebook.com/repair.cafe.saint.leu +CATEGORIES:repair +CATEGORIES:café +CATEGORIES:ubuntu +CATEGORIES:manjaro +CATEGORIES:debian +CATEGORIES:puppy +CATEGORIES:lmde +CATEGORIES:mint +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

     

    \n

    Repair café avec une section informatique dans + laquelle nous proposons l'installation de linux (plusieurs distributions + selon vos goûts et le matériel du pc)\, mais aussi diagnostique et répa + ration matérielle ou logicielle (linux\, macos et Windows).

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104750 +UID:33550@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T190000 +DESCRIPTION:L'Association **"Les Moutons Électriques"** développe les pra + tiques numériques sur les territoires de la Bretagne Romantique et du Pay + s de Saint-Malo depuis 2021.\n\nLe **samedi 15 novembre 2025\, à Combourg + en Ille-et-Vilaine**\, elle organise un événement autour de ses activit + és et sur la fin du support de Windows 10. Elle proposera à cette occasi + on de découvrir les systèmes alternatifs libres GNU/Linux et une **insta + ll-party**.\n\nCet événement se déroulera de 14 h à 19 h **au Repaire* + *\, cave et bar à bières situé dans la Zac du Moulin Madame à Combourg + .\n\nSeront également présents des **acteurs locaux du numérique** part + enaires des Moutons Électriques\, entreprises et associations: graphistes + \, web designers\, réparateurs informatiques\, Fab-Lab\, retro gaming...\ + n\nL'entrée est gratuite et ouverte à tout public\, particuliers comme p + rofessionnels\, alors: **Save The Date !**\n\n +GEO:48.4174;-1.74892 +LOCATION:Le Repaire\, 4 rue des Coutures\, Moulin Madame\, Combourg\, Breta + gne\, France +ORGANIZER:mailto:contact@lme.bzh +SEQUENCE:3 +SUMMARY:Save The Date ! +URL;VALUE=URI:https://lme.bzh +CATEGORIES:lme +CATEGORIES:les-moutons-électriques +CATEGORIES:install-party +X-ALT-DESC;FMTTYPE=text/html:

    L'Association "Les Moutons Électriques" développe les p + ratiques numériques sur les territoires de la Bretagne Romantique et du P + ays de Saint-Malo depuis 2021.

    \n

    Le < + strong>samedi 15 novembre 2025\, à Combour + g en Ille-et-Vilaine\, elle organise un événement + autour de ses activités et sur la fin du support de Windows 10. Elle pro + posera à cette occasion de découvrir les systèmes alternatifs libres GN + U/Linux et une install-party + .

    \n

    Cet événement se déroulera de 14 h à 19 h au Repaire\, cave et bar à + bières situé dans la Zac du Moulin Madame à Combourg. 

    \n

    Seront + également présents des acteurs lo + caux du numérique partenaires des Moutons Électriques\, + entreprises et associations : graphistes\, web designers\, réparateurs in + formatiques\, Fab-Lab\, retro gaming...

    \n

    L'entrée est gratuite et + ouverte à tout public\, particuliers comme professionnels\, alors : Save The Date !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250917T122558 +UID:33336@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251115T140000 +DTEND;TZID=Europe/Paris:20251115T200000 +DESCRIPTION:💻 Le 15 novembre\, rejoignez-nous au Palais des Congrès de + Rochefort dans le cadre du festival Novembre Vert pour une journée autour + du logiciel libre.\n\n🔹 Install-party: venez avec votre ordinateur et + repartez avec un système libre et fonctionnel (Linux).\n\n🔹 Débat ouv + ert: échangez avec des experts et des acteurs locaux sur les enjeux du nu + mérique libre\, de l'hygiène numérique et de la sortie des GAFAM.\n\nUn + rendez-vous gratuit\, ouvert à toutes et tous\, pour redonner vie à vos + ordinateurs\, découvrir des alternatives éthiques et contribuer à un n + umérique plus durable.\n\n📍 Palais des Congrès\, Rochefort – Salles + Loti\, 101 et 102\n\n🕑 De 14h à 20h\n\n🔗 Plus d’infos: www.ateli + ers-partages-rochefort.fr\n\n👉 Apportez votre PC\, nous nous occupons d + u reste !\n\n +GEO:45.9349;-0.95916 +LOCATION:Palais des congrès\, 73 rue pierre Toufaire\, Rochefort\, Nouvell + e-Aquitaine\, France +ORGANIZER:mailto:contact@ateliers-partages-rochefort.fr +SEQUENCE:4 +SUMMARY:Windows 10 s’arrête. Et vous\, vous redémarrez comment ? +URL;VALUE=URI:https://www.ateliers-partages-rochefort.fr/endof10 +CATEGORIES:endof10 +CATEGORIES:logiciels-libres +CATEGORIES:numérique-éthique +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    💻 Le 15 novembre\, rejoignez-nous au Pal + ais des Congrès de Rochefort dans le cadre du festival Novembre Vert pour + une journée autour du logiciel libre.

    \n

    🔹 Install-party : venez + avec votre ordinateur et repartez avec un système libre et fonctionnel ( + Linux).

    \n

    🔹 Débat ouvert : échangez avec des experts et des act + eurs locaux sur les enjeux du numérique libre\, de l'hygiène numérique + et de la sortie des GAFAM.

    \n

    Un rendez-vous gratuit\, ouvert à tout + es et tous\, pour redonner vie à vos ordinateurs\, découvrir des alterna + tives éthiques et contribuer à un numérique plus durable.

    \n

    📍 + Palais des Congrès\, Rochefort – Salles Loti\, 101 et 102

    \n

    🕑 + De 14h à 20h

    \n

    🔗 Plus d’infos : www.ateliers-partages-rochefor + t.fr

    \n

    👉 Apportez votre PC\, nous nous occupons du reste !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32908@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251118T153000 +DTEND;TZID=Europe/Paris:20251118T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250927T163323 +UID:33409@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251118T180000 +DTEND;TZID=Europe/Paris:20251118T203000 +DESCRIPTION:\n\nChacun de nous peut prendre part aux progrès de la science + .\nQuels que soient vos diplômes\, découvrez et contribuez avec nous à + divers projets de sciences participatives\, s'inscrivant dans la culture l + ibre\, au cours des ateliers proposés par le Laboratoire Sauvage.\n\nSuje + t du jour: Comment favoriser l’utilisation du vélo par le plus grand no + mbre ? Focus sur les routes hors agglomération.\nPrésentation suivie d + ’un atelier pratique contributif.\n\nPour nous trouver\, c'est chaque 3 + ᵉ mardi du mois\, mêmes lieu et horaires.\n\n +GEO:48.6633;6.17287 +LOCATION:Espace multimédia\, médiathèque Jules Verne\, 2 rue de Malines\ + , Vandoeuvre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@laboratoire-sauvage.fr +SEQUENCE:2 +SUMMARY:Sciences participatives +URL;VALUE=URI:https://fccl-vandoeuvre.fr/sciences +CATEGORIES:laboratoire-sauvage +CATEGORIES:atelier +CATEGORIES:numérique +CATEGORIES:fccl +CATEGORIES:sciences +CATEGORIES:culture-libre +X-ALT-DESC;FMTTYPE=text/html:

    Affiche ateliers de sciences participa
+ tives

    \n

    Chacun de nous peut prendre part + aux progrès de la science.
    Quels que soient vos diplômes\, découvrez + et contribuez avec nous à divers projets de sciences participatives\, s' + inscrivant dans la culture libre\, au cours des ateliers proposés par le + Laboratoire Sauvage.

    \n

    Sujet du jour : Comment favoriser l’utilisa + tion du vélo par le plus grand nombre ? Focus sur les routes hors agglom + ération.
    Présentation suivie d’un atelier pratique contributif.

    + \n

    Pour nous trouver\, c'est chaque 3ᵉ mardi du mois\, mêmes lieu et + horaires.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250829T050613 +UID:33143@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251118T183000 +DTEND;TZID=Europe/Paris:20251118T200000 +DESCRIPTION:Discussion entre contributeurs lyonnais du projet OSM et acteur + s intéressés.\n\n\n\nToute personne intéressée par OpenStreetMap peut + s'intégrer à cette rencontre\, tout particulièrement les débutants qui + souhaiteraient des conseils pour se lancer.\n\nOrdre du jour à compléte + r: [https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-11-18][1]\n\n + **Lieu de réunion: ****Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e****.* + *\n\n\n\n[1]: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-11- + 18\n +GEO:45.7623;4.85875 +LOCATION:Tubà\, 15 boulevard Vivier-Merle\, Lyon\, Auvergne-Rhône-Alpes\, + France +SEQUENCE:2 +SUMMARY:OpenStreetMap\, rencontre mensuelle +URL;VALUE=URI:https://wiki.openstreetmap.org/wiki/FR:Lyon +CATEGORIES:osm +CATEGORIES:openstreetmap +CATEGORIES:rencontre-mensuelle +CATEGORIES:contributeurs +CATEGORIES:données-ouvertes +CATEGORIES:discussion +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Discussion entre + contributeurs lyonnais du projet OSM et acteurs intéressés.

    \n

    \n +

    Toute personne intéressée par OpenStreetMap peut s'intégrer à cette + rencontre\, tout particulièrement les débutants qui souhaiteraient des + conseils pour se lancer.

    \n

    Ordre du jour à compléter: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-1 + 1-18

    \n

    Lieu de réunion: < + /strong>Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110841 +UID:33590@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251118T183000 +DTEND;TZID=Europe/Paris:20251118T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250224T094324 +UID:32055@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251118T190000 +DTEND;TZID=Europe/Paris:20251118T210000 +DESCRIPTION:La Guilde vous propose deux ateliers en une soirée: install pa + rty **ET** rencontre Fairphone\n  à la Turbine.coop (entrée par le côt + é droit du bâtiment).\n\nVous en avez assez d’être dépendants des OS + et logiciels propriétaires (Android\, Microsoft\, etc.)?\n\nCet atelier + est pour vous! Repartez à la fin de la soirée avec votre propre machine + fonctionnant sous un nouveau système d’exploitation\, correctement inst + allé\, configuré et agrémenté de nombreux logiciels (essentiellement l + ibres!).\n\nC’est aussi l’occasion pour les utilisateurs de [FairPhone + ][1] de partager leurs expériences. Ce mois-ci\, un Fairphone 3\, un Fair + phone 4 et un Fairphone 5 avec /e/OS installé seront disponibles pour dé + monstration.\n\nMerci de sauvegarder vos données si vous apportez votre m + achine!\n\n\n\n\n\n[1]: https://www.fairphone.com\n +GEO:45.1876;5.70509 +LOCATION:La Turbine.coop\, 5 esplanade Andry Farcy\, Grenoble\, Auvergne-Rh + ône-Alpes\, France +ORGANIZER:mailto:contact@guilde.asso.fr +SEQUENCE:2 +SUMMARY:Install Party + Rencontre FairPhone +URL;VALUE=URI:https://www.guilde.asso.fr +CATEGORIES:install-party +CATEGORIES:guilde +CATEGORIES:rencontre +CATEGORIES:fairphone +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    La Guilde vous + propose deux ateliers en une soirée: install party ET r + encontre Fairphone
      à la Turbine.coop (entrée par le côté droit d + u bâtiment).

    \n

    Vous en ave + z assez d’être dépendants des OS et logiciels propriétaires (Android\ + , Microsoft\, etc.)?

    \n

    Cet + atelier est pour vous! Repartez à la fin de la soirée avec votre propre + machine fonctionnant sous un nouveau système d’exploitation\, correctem + ent installé\, configuré et agrémenté de nombreux logiciels (essentiel + lement libres!).

    \n

    C’est aussi l’occasion pour les utilisateurs + de FairPhone de partager leurs exp + ériences. Ce mois-ci\, un Fairphone 3\, un Fairphone 4 et un Fairphone 5 + avec /e/OS installé seront disponibles pour démonstration.

    \n

    Merci + de sauvegarder vos données si vous apportez votre machine!

    \n

    guil
+ de

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060653 +UID:33614@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251119T123000 +DTEND;TZID=Europe/Paris:20251119T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112800 +UID:33358@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251119T140000 +DTEND;TZID=Europe/Paris:20251119T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145420 +UID:32769@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251119T180000 +DTEND;TZID=Europe/Paris:20251119T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050449 +UID:32978@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251119T183000 +DTEND;TZID=Europe/Paris:20251119T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250205T121838 +UID:31899@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251120T093000 +DTEND;TZID=Europe/Paris:20251120T170000 +DESCRIPTION:**La gestion comptable de votre association : principes de bas + es et mises en œuvre**\n\n\n\n**Constats :** l’association a de plus e + n plus l’obligation de rendre des comptes à ses adhérents et à ses pa + rtenaires financiers. Tenir une comptabilité dans les normes prescrites e + st donc nécessaire même pour une association de petite taille.\n\n**Obje + ctifs :** maîtriser les principes de la gestion comptable et financière + d’une association pour bien la gérer - Etre en mesure de mettre en pla + ce la comptabilité d’une petite structure associative.\n\n**Contenu ind + icatif :** les principes comptables - Les pièces comptables - La techniq + ue comptable et le plan comptable des associations - L’élaboration des + documents de fin d’année (bilan\, compte de résultat) illustrée par u + n exemple concret - L’utilisation de l’outil libre [PAHEKO][1].\n\n**T + arif :** 20€/journée par participant\, salariés comme bénévoles.\n\ + nPour s'inscrire: https://acegaa.org/Mettre-en-place-la-comptabilite-d-une + -petite-association\n\n\n\n[1]: https://paheko.cloud/\n +GEO:43.8277;4.33271 +LOCATION:Maison des Initiatives Economiques Sociales et Solidaires du Gard\ + , 285 rue Gilles Roberval\, Nîmes\, Occitanie\, France +ORGANIZER:mailto:contact@acegaa.org +SEQUENCE:3 +SUMMARY:Formation Mettre en place la comptabilité d’une petite associati + on +URL;VALUE=URI:https://acegaa.org/Mettre-en-place-la-comptabilite-d-une-peti + te-association +CATEGORIES:paheko +CATEGORIES:garradin +CATEGORIES:association +CATEGORIES:formation +CATEGORIES:gestion +CATEGORIES:comptabilité +X-ALT-DESC;FMTTYPE=text/html:

    La gestion comptable de votre + association : principes de bases et mises en œuvre

    \n

    \n

    Constats : l’as + sociation a de plus en plus l’obligation de rendre des comptes à ses ad + hérents et à ses partenaires financiers. Tenir une comptabilité dans le + s normes prescrites est donc nécessaire même pour une association de pet + ite taille.

    \n

    Objectifs : maîtriser les principes + de la gestion comptable et financière d’une association pour bien la g + érer - Etre en mesure de mettre en place la comptabilité d’une petite + structure associative.

    \n

    Contenu indicatif : les p + rincipes comptables - Les pièces comptables - La technique comptable et l + e plan comptable des associations - L’élaboration des documents de fin + d’année (bilan\, compte de résultat) illustrée par un exemple concret + - L’utilisation de l’outil libre PAHEKO.

    \n

    Tarif : + 20€/journée par participant\, salariés comme bénévoles.

    \n

    Pour + s'inscrire : https://acegaa.org/Mettre-en-place-la-comptabilite-d-une-pet + ite-association

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250116T062423 +UID:31752@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251120T180000 +DTEND;TZID=Europe/Paris:20251120T193000 +DESCRIPTION:J’organise une présentation de l’Espéranto\, la langue in + ternationale très facile à apprendre\, fraternelle\, neutre et libre au + Café **Le Petit Grain**\, Place Dormoy à Bordeaux (c’est un café asso + ciatif avec des tarifs abordables dans le quartier de la gare Saint-Jean + à côté de Barbey).\n\nCe sera l’occasion de découvrir autour d’un + verre ce qu’est l’Espéranto\, pourquoi a-t-il été créé\, comment\ + , qui l’utilise…\n[Cette vidéo][1] vous permettra d’en savoir plus + et nous répondrons à toutes vos questions: [https://flim.txmn.tk/w/57p7H + NerYxBrfDnSG4RKdd][1]\n\nVous trouverez également plus d'informations sur + : [https://esperanto-gironde.fr/lesperanto/][2]\, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.\n\nCe sera + aussi l’occasion de pratiquer pour les espérantistes.\n\nLa soirée est + ouverte à tous et toutes\, espérantistes ou non.\n\nLa sortie est gratu + ite sans obligation de consommation. Votre seule participation sera votre + éventuelle consommation et l'adhésion au café associatif le Petit Grain + si vous consommez (tarif libre\, conseillé à 5€\, minimum 2€).\n\n\ + n\n[1]: https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd\n[2]: https://espera + nto-gironde.fr/lesperanto/\n +GEO:44.8268;-0.564883 +LOCATION:Le Petit Grain\, 3 place Dormoy\, Bordeaux\, Nouvelle-Aquitaine\, + France +ORGANIZER:mailto:dodolacho7@gmail.com +SEQUENCE:3 +SUMMARY:Découverte de l'Espéranto +URL;VALUE=URI:https://esperanto-gironde.fr +CATEGORIES:esperanto +CATEGORIES:neutre +CATEGORIES:fraternelle +CATEGORIES:langue-libre +CATEGORIES:decouverte +CATEGORIES:le-petit-grain +X-ALT-DESC;FMTTYPE=text/html:

    J’organise une présentation de l’Espé + ranto\, la langue internationale très facile à apprendre\, fraternelle\, + neutre et libre au Café Le Petit Grain\, Place Dormoy + à Bordeaux (c’est un café associatif avec des tarifs abordables dans l + e quartier de la gare Saint-Jean à côté de Barbey).

    Ce sera l’ + occasion de découvrir autour d’un verre ce qu’est l’Espéranto\, po + urquoi a-t-il été créé\, comment\, qui l’utilise…
    Cette vidéo vous permettra d’en savoir plu + s et nous répondrons à toutes vos questions : https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd

    \n

    Vous + trouverez également plus d'informations sur : https://esperanto-gironde.fr/lesperanto/ \, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.

    \n

    Ce + sera aussi l’occasion de pratiquer pour les espérantistes.

    \n

    La s + oirée est ouverte à tous et toutes\, espérantistes ou non.

    \n

    La s + ortie est gratuite sans obligation de consommation. Votre seule participat + ion sera votre éventuelle consommation et l'adhésion au café associatif + le Petit Grain si vous consommez (tarif libre\, conseillé à 5€\, mini + mum 2€).

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250527T004635 +UID:32623@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251120T180000 +DTEND;TZID=Europe/Paris:20251120T193000 +DESCRIPTION:Derrière nos photos sur le cloud\, nos courriels\, nos clics\, + s’échappent sans notre consentement nos données privées\, un vérita + ble « or noir du 21è siècle » alimentant une vaste sphère économique + peu visible.\n\n Connaître le comportement et les documents de millions + voire milliards de personnes sur le Web confère à des acteurs mondiaux + comme les GAFAM (Google\, Amazon\, Facebook\, Apple\, Microsoft) une influ + ence commerciale et politique toujours croissante\, comme l’a révélé + l’affaire Cambridge Analytica lors de l’élection de Donald Trump en 2 + 016.\n\nOr\, individuellement\, de nombreuses solutions sont à notre port + ée\, trop méconnues. Nous pouvons choisir des outils numériques différ + ents\, éthiques\, respectueux de notre vie privée\, n’enrichissant pas + ces grands groupes.\n\nDes choix en apparence anodins\, comme préférer + la messagerie Signal à WhatsApp\, participent à des grands changements d + e paradigme auxquels nous pouvons participer.\n\nCette conférence exposer + a donc les enjeux des données privées\, ainsi qu’un panel de solutions + accessibles pour les protéger.\n\n +GEO:44.36;2.57643 +LOCATION:Université du Temps Libre du Rouergue\, 50 avenue de Bordeaux\, R + odez\, Occitanie\, France +ORGANIZER:mailto:tfc@mailo.com +SEQUENCE:3 +SUMMARY:Protéger nos données numériques : enjeux politiques et solutions +URL;VALUE=URI:https://www.utl-rouergue.fr +CATEGORIES:vie-privée +CATEGORIES:outils +CATEGORIES:gafam +CATEGORIES:protection +CATEGORIES:logiciel-libre +CATEGORIES:politique +CATEGORIES:conférence +X-ALT-DESC;FMTTYPE=text/html:

    Derrière nos photos sur le cloud\, nos courriels\, + nos clics\, s’échappent sans notre consentement nos données privées\ + , un véritable « or noir du 21è siècle » alimentant une vaste sphère + économique peu visible.

    \n

     Connaître le comportement et les docum + ents de millions voire milliards de personnes sur le Web confère à des a + cteurs mondiaux comme les GAFAM (Google\, Amazon\, Facebook\, Apple\, Micr + osoft) une influence commerciale et politique toujours croissante\, comme + l’a révélé l’affaire Cambridge Analytica lors de l’élection de D + onald Trump en 2016.

    \n

    Or\, individuellement\, de nombreuses solutio + ns sont à notre portée\, trop méconnues. Nous pouvons choisir des outil + s numériques différents\, éthiques\, respectueux de notre vie privée\, + n’enrichissant pas ces grands groupes.

    \n

    Des choix en apparence a + nodins\, comme préférer la messagerie Signal à WhatsApp\, participent + à des grands changements de paradigme auxquels nous pouvons participer. < + /span>

    \n

    Cette conférence exposera donc les enjeux des données privées\, + ainsi qu’un panel de solutions accessibles pour les protéger. < + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104832 +UID:33556@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251121T134000 +DTEND;TZID=Europe/Paris:20251121T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T234808 +UID:33467@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251121T140000 +DTEND;TZID=Europe/Paris:20251121T160000 +DESCRIPTION:\n\nVenez assister aux ateliers dédiés à ce système d’exp + loitation et découvrir ses nombreuses possibilités.\n\nPossibilité de v + enir avec votre ordinateur personnel pour l'installation de Linux.\n\n***P + ensez à sauvegarder vos données avant.***\n\n +GEO:48.3833;-4.51737 +LOCATION:186 rue Anatole France\, Brest\, Bretagne\, France +ORGANIZER:mailto:contact@infini.fr +SEQUENCE:3 +SUMMARY:Atelier Linux avec la médiathèque +URL;VALUE=URI:https://mobilizon.infini.fr/events/9d96e300-bc85-4ba3-b1c9-b6 + 47a7e2a360 +CATEGORIES:infini +CATEGORIES:atelier +CATEGORIES:linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Venez assister aux ateliers dédi + és à ce système d’exploitation et découvrir ses nombreuses possibili + tés.

    \n

    Possibilité de venir avec votre ordinateur personnel pour l + 'installation de Linux.

    \n

    Pensez à sauvegarder vos donn + ées avant.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T235514 +UID:33468@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251121T183000 +DTEND;TZID=Europe/Paris:20251121T213000 +DESCRIPTION:Nous discuterons de la fin du support de Windows 10\, d'obsoles + cence programmée et de sobriété numérique. Mais aussi des alternatives + libres (Linux) et des initiatives d'entraide collective.\n\n**L'atelier e + st ouvert à tout le monde** et il sera suivi d'**un moment convivial auto + ur d'un apéritif partagé**\, à 19h30.\n\nVous pouvez\, si vous le souha + itez\, venir soit pour le premier temps\, soit pour le second temps ou enc + ore pour les deux.\n\nAu plaisir de vous rencontrer ou de vous retrouver.\ + n\n\n\n--\n\n*Le local est* ***accessible aux personnes à mobilité rédu + ite***\n\n*Il y a des* ***arceaux à vélo*** *à proximité*\n\n*L'arrêt + de bus le plus proche est:* ***Cosmao Prétot\, ligne 2B***\n\n*L'arrêt + de tramway le plus proche est:* ***Polygone***\n\n +GEO:48.3834;-4.51728 +LOCATION:186 rue Anatole\, Brest\, Bretagne\, France +ORGANIZER:mailto:contact@infini.fr +SEQUENCE:3 +SUMMARY:Rendez-Vous Infini - Fin de Windows 10 +URL;VALUE=URI:https://mobilizon.infini.fr/events/ea98a694-5d0a-4265-a225-d1 + 3c5ae1768f +CATEGORIES:infini +CATEGORIES:install-party +CATEGORIES:atelier +CATEGORIES:endof10 +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n
    \n

    Nous discuterons de la fin du support de Windows 10\, d'obsolescenc + e programmée et de sobriété numérique. Mais aussi des alternatives lib + res (Linux) et des initiatives d'entraide collective.

    \n

    L'at + elier est ouvert à tout le monde et il sera suivi d'un m + oment convivial autour d'un apéritif partagé\, à 19h30.

    \n< + p>Vous pouvez\, si vous le souhaitez\, venir soit pour le premier temps\, + soit pour le second temps ou encore pour les deux.

    \n

    Au plaisir de v + ous rencontrer ou de vous retrouver.

    \n

    \n

    --

    \n

    Le local e + st accessible aux personnes à mobilité réduite

    \n

    Il y a des arceaux à vélo à proximité

    \n

    L'arrêt de bus le plus proche est + : Cosmao Prétot\, ligne 2B

    \n

    L'a + rrêt de tramway le plus proche est : Polygone

    \n
    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241227T123839 +UID:31564@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251121T203000 +DTEND;TZID=Europe/Paris:20251121T233000 +DESCRIPTION:Re-Boot est une association qui s'inscrit dans le mouvement de + l'économie sociale et solidaire dans le domaine informatique\, engagée d + ans la promotion des [logiciels libres][1] et de [Linux][2]. L'association + est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes heu + reux d'accueillir toutes les personnes qui souhaitent découvrir les logic + iels libres.\n\n\n\nDécouvrez les sujets de ce mois sur notre site Intern + et à la rubrique Agenda/Thèmes à l'adresse https://rebootinformatique.o + rg/?reunions-mensuelles--les-thematiques\n\nVenez nombreuses et nombreux p + our découvrir nos activités.\n\nLe bureau.\n\n\n\n\n\n[1]: https://fr.wi + kipedia.org/wiki/Logiciel_libre\n[2]: https://fr.wikipedia.org/wiki/Linux\ + n +GEO:47.7175;1.93859 +LOCATION:MASS\, 45 rue Hippolyte Martin\, La Ferté Saint-Aubin\, Centre-Va + l de Loire\, France +ORGANIZER:mailto:contact@rebootinformatique.org +SEQUENCE:4 +SUMMARY:Réunion publique mensuelle - découverte des logiciels libres +URL;VALUE=URI:https://rebootinformatique.org +CATEGORIES:réemploi +CATEGORIES:re-boot +CATEGORIES:reboot +CATEGORIES:reboot-informatique +CATEGORIES:obsolescence-programmée +CATEGORIES:réunion-mensuelle +CATEGORIES:logiciels-libres +CATEGORIES:découverte +X-ALT-DESC;FMTTYPE=text/html:

    Re-Boot est une association qui s'inscrit d + ans le mouvement de l'économie sociale et solidaire dans le domaine infor + matique\, engagée dans la promotion des logiciels libres et de Linux. L'associati + on est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes h + eureux d'accueillir toutes les personnes qui souhaitent découvrir les log + iciels libres.

    \n

    \n

    Découvrez les sujets + de ce mois sur notre site Internet à la rubrique Agenda/Thèmes à l'adr + esse https://rebootinformatique.org/?reunions-mensuelles--les-thematiques< + /p>\n

    Venez nombreuses et nombreux pour découvrir nos activités.

    \n +

    Le bureau.

    \n

    https://rebootinformatique.org/site/f
+ ile/source/logo_web.png

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050823 +UID:32983@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T090000 +DTEND;TZID=Europe/Paris:20251122T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180616 +UID:33271@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T093000 +DTEND;TZID=Europe/Paris:20251122T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112833 +UID:33366@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T100000 +DTEND;TZID=Europe/Paris:20251122T163000 +DESCRIPTION:\n\nFaites le plein d'astuces et de logiciels présentés par l + es bénévoles de l'atelier\n\nRepas partagé à midi (chacun apporte un p + lat à partager ou son repas)\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - Atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:6 +SUMMARY:Outils Linux préférés +URL;VALUE=URI:https://reparlab.webnode.fr/numerique/ +CATEGORIES:logiciels_libres +CATEGORIES:formation +CATEGORIES:gnu/linux +CATEGORIES:reparlab +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Faites le plein d'astuces et de logiciels présentés par + les bénévoles de l'atelier

    \n

    Repas partagé à midi (chacun apport + e un plat à partager ou son repas)

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135856 +UID:33164@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T103000 +DTEND;TZID=Europe/Paris:20251122T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T102033 +UID:33472@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T140000 +DTEND;TZID=Europe/Paris:20251122T170000 +DESCRIPTION:Root66 vous propose une permanence Logiciels Libres.\n\nÀ cett + e permanence\, tu pourras bénéficier d'une aide et d'un accompagnement p + our t'aider à installer\, configurer des logiciels libres aussi bien sur + PC que sur Smartphones.\nUn vieux pc qui rame ? Besoin de faire une sauveg + arde de tes données ? Envie de tester des applications opensource sur ton + téléphone ou sur ton pc\, mais tu as peur de tout casser et de ne pas y + arriver seul.e. Pas de souci\, l'équipe de root66 est là pour t'accompa + gner\, à ton propre rythme !\n\nUn des objectifs est de t'aider à repren + dre le contrôle de tes données et d'apprendre pas à pas les bonnes prat + iques à adopter pour sécuriser et améliorer ta vie privée numérique.\ + n\nN'hésite pas à passer ! L'équipe de root66 sera ravie de t'accueilli + r ! 🤓\n\n**Programme** (non exhaustif):\n\n* Dépannage\, assistance su + r PC\, smartphones utilisant du logiciel libre\n* Découverte et apprentis + sage pour utiliser un système libre comme Linux\n* Installations et confi + gurations complémentaires d'applications\n* Mise à jour et installation + de nouveaux logiciels opensource\n* Discussions conviviales entre utilisat + eurs autour des logiciels libres\n\nEntrée libre et gratuite 😎\n\nPour + une installation Linux ou pour un dépannage particulier\, envoyez un mai + l à: contact@root66.net\n\nSur place\, l'[adhésion][1] à l’associatio + n est possible\, mais non obligatoire.\n\n**Accès:** Parking rue Raymond + Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint-Cyr.\n\n\n\n[1 + ]: https://root66.net/public/bulletin-adhesion-R66-saisieDirecte.pdf\n +GEO:48.8074;2.06269 +LOCATION:Maison des associations Simone Veil\, 14 avenue Lieutenant Tom Mor + el\, Saint-Cyr L'École\, Île-de-France\, France +ORGANIZER:mailto:contact@root66.net +SEQUENCE:2 +SUMMARY:Permanences Logiciels Libres : pc et smartphones +URL;VALUE=URI:https://root66.net +CATEGORIES:adieu-windows +CATEGORIES:root66 +CATEGORIES:linux +CATEGORIES:smartphone +CATEGORIES:android +CATEGORIES:logiciel-libre +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    Root66 vous propose une permanence Logiciel + s Libres.

    \n

    À cette permanence\, tu pourras + bénéficier d'une aide et d'un accompagnement pour t'aider à installer\ + , configurer des logiciels libres aussi bien sur PC que sur Smartphones.Un vieux pc qui rame ? Besoin de faire une sauvegarde de tes données ? + Envie de tester des applications opensource sur ton téléphone ou sur ton + pc\, mais tu as peur de tout casser et de ne pas y arriver seul.e. Pas de + souci\, l'équipe de root66 est là pour t'accompagner\, à ton propre ry + thme !

    \n

    Un des objectifs est de t'aider à reprendre le contrôle d + e tes données et d'apprendre pas à pas les bonnes pratiques à adopter p + our sécuriser et améliorer ta vie privée numérique.

    \n

    N'hésite + pas à passer ! L'équipe de root66 sera ravie de t'accueillir ! 🤓

    \ + n

    Programme (non exhaustif) :

    \n
      \n
    • Dépannage + \, assistance sur PC\, smartphones utilisant du logiciel libre
    • \n
    • D + écouverte et apprentissage pour utiliser un système libre comme Linux\n
    • Installations et configurations complémentaires d'applications\n
    • Mise à jour et installation de nouveaux logiciels opensource
    • + \n
    • Discussions conviviales entre utilisateurs autour des logiciels libr + es
    • \n
    \n

    Entrée libre et gratuite 😎

    \n

    Pour une install + ation Linux ou pour un dépannage particulier\, envoyez un mail à : conta + ct@root66.net

    \n

    Sur place\, l'adhésion à l’association est + possible\, mais non obligatoire.

    \n

    Accès : Parkin + g rue Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint- + Cyr.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250910T135607 +UID:33234@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251122T150000 +DTEND;TZID=Europe/Paris:20251122T180000 +DESCRIPTION:\n\n\n\n\n\n\n\n\n Linux Nantes tient à vous informer de ça p + rochaine permanence. Nous vous proposons:\n\n\\- de vous faire découvrir + Linux et les logiciels libres.\n\n\\- de vous aider à installer Linux sur + votre ordinateur ou votre portable.\n\n\\- de vous informer sur l'utilisa + tion de votre version de Linux et des logiciels libres.\n\n\\- de voir ave + c vous les problèmes rencontrés.\n\nPour plus d’informations sur l’a + ssociation voir notre site.\n\n +GEO:47.2219;-1.55646 +LOCATION:B17\, 17 rue Paul Bellamy\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linux-nantes.org +SEQUENCE:4 +SUMMARY:Permanence Linux-Nantes +URL;VALUE=URI:https://www.linux-nantes.org +CATEGORIES:logiciels-libres +CATEGORIES:linux-nantes +CATEGORIES:gnu +CATEGORIES:linux +CATEGORIES:permanence +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:






    +



    \n

    Linux Nantes tient à vous informer de ça prochaine permanence. Nous vo + us proposons:

    \n

    - de vous faire découvrir Linux et les logiciels libres.

    \n

    - de vous aider à installer Linux sur votre ordinateur ou + votre portable.

    \n

    - de vous informer sur l'utilisa + tion de votre version de Linux et des logiciels libres.

    \n

    - de voir avec vous les p + roblèmes rencontrés.

    \n

    Pour plus d’informations + sur l’association voir notre site.

    \n
     
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T121050 +UID:33205@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251124T180000 +DTEND;TZID=Europe/Paris:20251124T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:1 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

    Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

    \n +

    Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

    \n

    Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

    \n

    🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

    \n

    📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

    \n

    🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

    \n

    Le programme des mapathons

    \n

    18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

    \n

    18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

    20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

    \n

    Pour s'inscrire c'est par ici

    \n

    Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162622 +UID:33445@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251125T140000 +DTEND;TZID=Europe/Paris:20251125T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153907 +UID:32909@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251125T153000 +DTEND;TZID=Europe/Paris:20251125T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241130T162328 +UID:31324@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251125T180000 +DTEND;TZID=Europe/Paris:20251125T210000 +DESCRIPTION:**Rencontres Accès Libre**\n\n\n\n\n\nCertains les appellent  + «install party»\, d’autres encore «Soirées Linux»\, mais les **Renc + ontres Accès Libre** sont tout cela en même temps\, et bien plus encore + …\n\nEntre autres\, c'est l’occasion de:\n\n* discuter\, échanger\, e + xpliquer\;\n* installer des logiciels libres\;\n* et\, toute autre idée c + oopérative de solidarité à but non lucratif!\n\nC'est un évènement or + ganisé conjointement par [Linux Azur][1] et le [SHL][2].\n\n\n\n[1]: http + s://www.linux-azur.org/\n[2]: https://www.shl.contact/\n +GEO:43.5978;7.05631 +LOCATION:SHL // Sophia Hack Lab\, 2323 chemin de Saint-Bernard\, Vallauris + - Sophia Antipolis\, Provence-Alpes-Côte d'Azur\, France +ORGANIZER:mailto:crew@shl.contact +SEQUENCE:1 +SUMMARY:Rencontre Accès Libre +URL;VALUE=URI:https://www.shl.contact/ +CATEGORIES:shl +CATEGORIES:sophia-hack-lab +CATEGORIES:hackerspace +CATEGORIES:rencontre +CATEGORIES:libre +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Rencon + tres Accès Libre

    \n

    \n

     

    \n

    + Certains les appellent «install party»\, d’autres encore «Soirées Linux»\, mais les Renc + ontres Accès Libre sont tout cela en même temps\, et bien plus + encore…

    \n

    Entre autres\, c'est l’occasion de:

    \n
      \n
    • discuter\, échanger\, expliquer\;
    • \n
    • installer des logiciels libres\;
    • \n
    • et\, toute autre idée coopérative de solidarité + à but non lucratif!
    • \n
    \n

    C'est u + n évènement organisé conjointement par Linux Azur et le SHL .

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110842 +UID:33591@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251125T183000 +DTEND;TZID=Europe/Paris:20251125T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035406 +UID:33112@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251125T200000 +DTEND;TZID=Europe/Paris:20251125T220000 +DESCRIPTION:Vous avez décidé de reprendre en main votre vie numérique? V + enez nous rencontrer **le dernier mardi de chaque mois au [Café Citoyen] + [1]** à Lille !\n\nLa permanence associative autour du Libre est une man + ifestation conviviale\, ouverte à toutes et tous\, organisée le dernier + mardi (ou jeudi) de chaque mois par les collectifs de [Chtinux][2] ([Raoul + l\,][3] [Deuxfleurs][4]\, [Mycélium][5]\, [CLX][6]\, [Cliss XXI][7]\,...) + .\n\nRejoignez-nous pour y discuter joyeusement de Logiciel Libre\, de Cul + ture Libre\, de données ouvertes (*open data*)\, de bidouille sous Linux\ + , ou proposer vos idées d’évènements.\n\nC'est aussi l'occasion d'obt + enir un coup de main si vous rencontrez une difficulté sous Linux\, ou si + vous avez besoin de conseils pour migrer sur du Logiciel Libre.\n\nSi vou + s venez avec votre ordinateur pour obtenir de l'aide technique\, pour perm + ettre à l'équipe bénévole de s'organiser\, prévenez-nous via un courr + ier électronique à l'adresse: chtinux-diffusion CHEZ deuxfleurs POINT fr + .\n\nLe Café Citoyen est accessible en métro (station République - Beau + x Arts). Une connexion Internet y est disponible\, des prises électriques + \, de la place... Au bar\, vous trouverez aussi de bonnes boissons avec et + sans alcool\, ainsi que de la petite restauration (notamment fromage ou t + artines véganes).\n\nPour soutenir le Café Citoyen\, nous vous demandons + d'y acheter au minimum une consommation. Après avoir pris votre boisson + ou votre en-cas au bar\, vous pouvez nous rejoindre directement au deuxiè + me étage.\n\nAu plaisir de vous retrouver!\n\n\n\n[1]: https://cafecitoye + n.org/\n[2]: https://chtinux.org/\n[3]: https://raoull.org/\n[4]: https:// + deuxfleurs.fr\n[5]: https://mycelium-fai.org/wiki/\n[6]: http://clx.asso.f + r/\n[7]: https://www.cliss21.com/site/\n +GEO:50.6328;3.0634 +LOCATION:Café Citoyen\, 7 place du Vieux Marché aux Chevaux\, Lille\, Hau + ts-de-France\, France +ORGANIZER:mailto:chtinux-diffusion@deuxfleurs.fr +SEQUENCE:3 +SUMMARY:Permanence associative autour du Libre +URL;VALUE=URI:https://chtinux.org +CATEGORIES:café-citoyen +CATEGORIES:permanence +CATEGORIES:raoull +CATEGORIES:chtinux +CATEGORIES:clx +CATEGORIES:logiciels-libres +CATEGORIES:mycelium +CATEGORIES:cliss21 +CATEGORIES:deux-fleurs +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Vous avez décidé de reprendre en main votre vie numérique< + span class="finePre">? Venez nous rencontrer le dernier ma + rdi de chaque mois au Café Citoyen + à Lille !

    \n

    La permanence a + ssociative autour du Libre est une manifestation conviviale\, ouverte à t + outes et tous\, organisée le dernier mardi (ou jeudi) de chaque mois par + les collectifs de Chtinux (Raoull\, Deuxfleurs< + /a>\, Mycélium\, CLX\, Cliss + XXI\, ...).

    \n

    Rejoignez-nous pour y discuter joyeusement de Log + iciel Libre\, de Culture Libre\, de données ouvertes (open data) + \, de bidouille sous Linux\, ou proposer vos idées d’évènements.

    \ + n

    C'est aussi l'occasion d'obtenir un coup de main si vous rencontrez un + e difficulté sous Linux\, ou si vous avez besoin de conseils pour migrer + sur du Logiciel Libre.

    \n

    Si vous venez avec votre ordinateur pour ob + tenir de l'aide technique\, pour permettre à l'équipe bénévole de s'or + ganiser\, prévenez-nous via un courrier électronique à l'adresse: chtinux-diffusion CHEZ deuxfleurs POINT fr.

    \n< + p>Le Café Citoyen est accessible en métro (station République - Beaux A + rts). Une connexion Internet y est disponible\, des prises électriques\, + de la place... Au bar\, vous trouverez aussi de bonnes boissons avec et sa + ns alcool\, ainsi que de la petite restauration (notamment fromage ou tart + ines véganes).

    \n

    Pour soutenir + le Café Citoyen\, nous vous demandons d'y acheter au minimum une consomma + tion. Après avoir pris votre boisson ou votre en-cas au bar\, vous pouvez + nous rejoindre directement au deuxième étage.

    \n

    Au plaisir de vou + s retrouver!

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251010T060654 +UID:33615@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251126T123000 +DTEND;TZID=Europe/Paris:20251126T170000 +DESCRIPTION:Assistance technique et démonstration concernant les logiciels + libres.\n\n\n\nIl est préférable de réserver votre place à [contact ( + at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r + éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip + .php?rubrique6\n +GEO:47.9737;0.2095 +LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch + e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France +ORGANIZER:mailto:contact@linuxmaine.org +SEQUENCE:1 +SUMMARY:Permanence du mercredi +URL;VALUE=URI:https://linuxmaine.org +CATEGORIES:linuxmaine +CATEGORIES:gnu-linux +CATEGORIES:demonstration +CATEGORIES:assistance +CATEGORIES:permanence +CATEGORIES:logiciels-libres +CATEGORIES:linux +X-ALT-DESC;FMTTYPE=text/html:

    Assistance technique et démonstration conc + ernant les logiciels libres.

    \n

    \n

    Il est préf + érable de réserver votre place à co + ntact (at) linuxmaine (point) org 

    \n

    Planning des réservations + consultable ici.< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112848 +UID:33359@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251126T140000 +DTEND;TZID=Europe/Paris:20251126T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique/ +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145422 +UID:32770@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251126T180000 +DTEND;TZID=Europe/Paris:20251126T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250902T105303 +UID:33183@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251126T180000 +DTEND;TZID=Europe/Paris:20251126T200000 +DESCRIPTION:\n\nLe groupe local Nancy de l’association OpenStreetMap Fran + ce **vous propose de participer aux réunions mensuelles ouvertes à tou· + te·s** !\n\nAvec [OpenStreetMap][1]\, participez à la construction d’u + ne carte en ligne libre et gratuite\, partagée avec le monde entier!\n\n* + *Participation aux ateliers**\n\nLe lieu la Fabrique des possibles nous es + t librement accessible lors de nos réunions.\n\nSi vous souhaitez partici + per à distance\, cela est possible [depuis ce lien][2]. Toutefois merci d + e nous en avertir pour que nous nous organisions en nous équipant et inst + allant le matériel nécessaire.\n\n\n\n[1]: https://www.openstreetmap.org + \n[2]: https://fccl-vandoeuvre.fr/visio\n +GEO:48.6673;6.16751 +LOCATION:Fabrique des possibles\, 164 avenue du Général Leclerc\, Vandoeu + vre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@fccl-vandoeuvre.fr +SEQUENCE:2 +SUMMARY:Réunion OpenStreetMap +URL;VALUE=URI:https://fccl-vandoeuvre.fr/osm +CATEGORIES:osm +CATEGORIES:fccl +CATEGORIES:osm-54 +CATEGORIES:rencontre +CATEGORIES:cartographie +CATEGORIES:logiciels-libres +CATEGORIES:fabrique-des-possibles +CATEGORIES:openstreetmap +CATEGORIES:réunion +X-ALT-DESC;FMTTYPE=text/html:

    Affiche d'OSM Nancy

    \n

    Le groupe local Nancy de l’association OpenStreet + Map France vous propose de participer aux réunions mensuelles ouv + ertes à tou·te·s !

    \n

    Avec OpenStreetMap\, participez à la construc + tion d’une carte en ligne libre et gratuite\, partagée avec le monde en + tier!

    \n

    Participation aux ateliers

    \n

    Le lieu + la Fabrique des possibles nous est librement accessible lors de nos réuni + ons.

    \n

    Si vous souhaitez participer à distance\, cela est possible + depuis ce lien. Toutef + ois merci de nous en avertir pour que nous nous organisions en nous équip + ant et installant le matériel nécessaire.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050524 +UID:32979@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251126T183000 +DTEND;TZID=Europe/Paris:20251126T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T174824 +UID:33241@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251127T093000 +DTEND;TZID=Europe/Paris:20251127T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250422T172754 +UID:32476@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251127T093000 +DTEND;TZID=Europe/Paris:20251127T170000 +DESCRIPTION:Organisée par Logilab\, SemWeb.Pro est une journée de confér + ence francophone dédiée au Web Sémantique et aux graphes de connaissanc + es\, qui réunit chaque année une cinquantaine de personnes depuis sa pre + mière édition en 2011.\n\nParticiper à SemWeb.Pro\, c’est l’occasio + n d’échanger avec les membres de la communauté du Web Sémantique\, ai + nsi qu’avec des sociétés innovantes et des organisations publiques ou + privées qui mettent en œuvre les nouvelles techniques du Web des donnée + s\, utilisent et déploient des graphes de connaissances. Les sujets conne + xes sont les bienvenus\, tels que les approches centrées sur les modèles + ou les méthodes conçues pour traiter les questions d’interopérabilit + é dans les connaissances\, les données et les applications.\n\n +GEO:48.8305;2.33821 +LOCATION:FIAP Jean-Monnet\, 30 rue Cabanis\, Paris\, Île-de-France\, Franc + e +ORGANIZER:mailto:charlotte.cazals@logilab.fr +SEQUENCE:3 +SUMMARY:SemWeb.Pro 2025 +URL;VALUE=URI:https://semweb.pro +CATEGORIES:web-sem +CATEGORIES:web +CATEGORIES:rdf +CATEGORIES:owl +CATEGORIES:skos +CATEGORIES:graphes +CATEGORIES:rencontres +CATEGORIES:réseau +CATEGORIES:w3c +CATEGORIES:sensibilisation +CATEGORIES:culture +CATEGORIES:industries +CATEGORIES:logilab +CATEGORIES:journée +CATEGORIES:conférences +X-ALT-DESC;FMTTYPE=text/html:

    SemWeb.Pro logoOrg + anisée par Logilab\, SemWeb.Pro est une journée de conférence francopho + ne dédiée au Web Sémantique et aux graphes de connaissances\, qui réun + it chaque année une cinquantaine de personnes depuis sa première éditio + n en 2011.

    \n

    Participer à SemWeb.Pro\, c’est l’occasion d’éc + hanger avec les membres de la communauté du Web Sémantique\, ainsi qu’ + avec des sociétés innovantes et des organisations publiques ou privées + qui mettent en œuvre les nouvelles techniques du Web des données\, utili + sent et déploient des graphes de connaissances. Les sujets connexes sont + les bienvenus\, tels que les approches centrées sur les modèles ou les m + éthodes conçues pour traiter les questions d’interopérabilité dans l + es connaissances\, les données et les applications.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181749 +UID:33291@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251127T140000 +DTEND;TZID=Europe/Paris:20251127T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.26;-1.57639 +LOCATION:Accoord Bout des pavés\, 14 rue de la coulée\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164826 +UID:33101@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251127T200000 +DTEND;TZID=Europe/Paris:20251127T220000 +DESCRIPTION:\n\nLa Coollégiale\, c'est le moment où les bénévoles actif + s se retrouvent afin de préparer la suite de la vie de l'association\, di + scuter des projets et prendre les décisions 👍 Cet instant est ouvert + à toute personne intéressée d'en apprendre plus sur le fonctionnement d + e l'association et voulant s'investir avec nous dans sa vie quotidienne + 😄\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:🧭 La Coollégiale\, la réunion de coordination d'Alsace Réseau + Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn +CATEGORIES:arn-fai +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Coollégiale

    \n

    La Coollégiale\, c'est le moment où les bén + évoles actifs se retrouvent afin de préparer la suite de la vie de l'ass + ociation\, discuter des projets et prendre les décisions 👍 Cet instant + est ouvert à toute personne intéressée d'en apprendre plus sur le fonc + tionnement de l'association et voulant s'investir avec nous dans sa vie qu + otidienne 😄

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250822T093524 +UID:33090@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251128T090000 +DTEND;TZID=Europe/Paris:20251128T180000 +DESCRIPTION:Les Ordis du Coeur\, CLX et les associations libristes particip + ent cette année à la **Grande Récup’ Solidaire 2025** qui se tiendra + le Vendredi 28 novembre 2025 de 9h00 à 18h00 NON STOP à l’AVANT-POSTE + - 33 Bd du Général Leclerc à Roubaix\n\nNous donnons une seconde vie\, + beaucoup plus longue que la première\, aux ordinateurs qu'on propose de + mettre à la poubelle pour en faire acheter de nouveaux... pour le plus gr + and bonheur de leurs bénéficiaires !\n\nLa Grande Récup’ Solidaire es + t un évènement qui rassemble à l’Avant-Poste des associations accueil + lant les donateurs (entreprises\, écoles\, habitants\, commerces…) venu + s déposer jeux\, jouets et peluches\, des livres\, des bouchons en plasti + que ou en liège\, des capsules et muselets en métal\, des stylos usagés + \, des lunettes\, des accessoires (ceintures\, bijoux fantaisie\, sacs)\, + de la vaisselle\, des casseroles et du petit électroménager\, **du maté + riel informatique**\, de l’équipement sportif et des produits pour les + animaux de compagnie….\n\n\n\n\n\n +GEO:50.6897;3.17685 +LOCATION:L'Avant-Poste\, 33 boulevard du Général Leclerc\, Roubaix\, Haut + s-de-France\, France +ORGANIZER:mailto:mediatel@disroot.org +SEQUENCE:4 +SUMMARY:Grande Récup’ Solidaire +CATEGORIES:clx +CATEGORIES:clx-roubaix-croix +CATEGORIES:chtinux +CATEGORIES:w10 +CATEGORIES:linux +CATEGORIES:recup +CATEGORIES:les-ordis-du-coeur +CATEGORIES:atelier-slolote +CATEGORIES:recyclage +X-ALT-DESC;FMTTYPE=text/html:

    Les Ordis du Coeur\, CLX et les as + sociations libristes participent cette année à la Grande Récup + ’ Solidaire 2025 qui se tiendra le Vendredi 28 novembre 2025 de + 9h00 à 18h00 NON STOP à l’AVANT-POSTE - 33 Bd du Général Leclerc à + Roubaix

    \n

    Nous donnons une seconde vie\, beaucoup plus lon + gue que la première\, aux ordinateurs qu'on propose de mettre à la poube + lle pour en faire acheter de nouveaux ... pour le plus grand bonheur de le + urs bénéficiaires !

    \n

    La Grande Récup’ Solidaire est u + n évènement qui rassemble à l’Avant-Poste des associations accueillan + t les donateurs (entreprises\, écoles\, habitants\, commerces…) venus d + époser jeux\, jouets et peluches\, des livres\, des bouchons en plastique + ou en liège\, des capsules et muselets en métal\, des stylos usagés\, + des lunettes\, des accessoires (ceintures\, bijoux fantaisie\, sacs)\, de + la vaisselle\, des casseroles et du petit électroménager\, du ma + tériel informatique\, de l’équipement sportif et des produits + pour les animaux de compagnie….

    \n

     

    \n

      +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104833 +UID:33557@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251128T134000 +DTEND;TZID=Europe/Paris:20251128T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182307 +UID:33383@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251128T143000 +DTEND;TZID=Europe/Paris:20251128T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145503 +UID:32800@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251128T160000 +DTEND;TZID=Europe/Paris:20251128T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250829T111526 +UID:33145@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251128T180000 +DTEND;TZID=Europe/Paris:20251130T190000 +DESCRIPTION:Les enjeux environnementaux planétaires n'ont jamais autant é + té un défi à l'humanité\, les brestois·e·s se mobilisent pour le rel + ever en inventant des solutions ensemble pour un monde désirable.\n\n   + Le marathon créatif Super Brest 2025 aura lieu du vendredi 28 à 18h au d + imanche 30 novembre à 19h à l’UBO Open Factory.\n**Super Brest est un + festival d’inventivité** de deux jours pour imaginer et fabriquer ensem + ble ce qui constituera la ville de demain (sur des thèmes libres: Art\, s + ciences\, développement durable\, urbanisme\, énergie\, climat\, éducat + ion\, handicap\, emplois\, bien-être…).\nL’idée est de concevoir et + réaliser en équipe et en 48 heures un prototype\, une maquette\, un site + web\, un événement ou une application pour améliorer le quotidien et i + maginer la ville de demain.\nPour cela\, vous avez accès au matériel de + fabrication numérique de l’UBO Open Factory (découpe laser\, imprimant + e 3D\, électronique programmable\, mais aussi du matériel de bricolage c + lassique). Une équipe d’expert·e vous accompagne dans l’utilisation + de ce matériel.\nEt pour que tout se passe dans une bonne ambiance\, que + ça aille vite et bien\, une équipe de facilitatrices et de facilitateurs + accompagne chaque groupe pour les aider.\n\nL’édition 2025 aura lieu d + u vendredi 28 novembre 18h au dimanche 30 novembre 19h.\nDès le départ e + t en s’affirmant chaque année\, Super Brest est un hackathon porté par + des valeurs originales:\n\n* Il est ouvert à toute personne curieuse et + motivée\, adulte\, enfant\, habitant du pays de Brest ou de plus loin. No + us sommes vigilants aux mécanismes sociaux de discrimination et travaillo + ns à être le plus inclusif possible.\n* Il s’agit d’une coopération + ou toutes les équipes concourent à la réalisation d’une même finali + té: fabriquer la ville de demain.\n* Le projet de chaque équipe est reco + nnu et valorisé dans son originalité\, ce n’est pas un concours\, il n + ’y a pas de classement.\n* Le projet doit être documenté sur un wiki d + ans une licence qui permet le partage et le réemploi (de type Creative Co + mmons By-Sa).\n* Les moyens mobilisés pour Super Brest sont en cohérence + avec les objectifs: nous privilégions les circuits courts\, la nourritur + e bio et locale\, les licences et les logiciels libres et nous sommes vigi + lants aux conditions sociales.\n* Enfin\, nous réduisons autant que possi + ble nos émissions de CO2eq.\n\n**Vous voulez en savoir plus ?**\nLa soir + ée de lancement aura lieu à l’UBO Open Factory le mercredi 15 octobre + de 19h30 à 20h\, l’occasion de partager des premières idées.\n\n\n\nS + uper Brest est organisé par les petits débrouillards Grand-Ouest et l’ + UBO Open Factory. avec le soutien de Brest\, ville et Métropole.\n\n +GEO:48.3993;-4.4979 +LOCATION:UBO Open Factory\, 6 avenue Victor Le Gorgeu\, Brest\, Bretagne\, + France +ORGANIZER:mailto:aauffret@lespetitsdebrouillards.org +SEQUENCE:3 +SUMMARY:Super Brest +URL;VALUE=URI:https://www.superbrest.fr +CATEGORIES:sciences +CATEGORIES:hackathon +CATEGORIES:fablab +CATEGORIES:transition +X-ALT-DESC;FMTTYPE=text/html:

    Les enjeux environnementaux planétaires n' + ont jamais autant été un défi à l'humanité\, les brestois·e·s se mo + bilisent pour le relever en inventant des solutions ensemble pour un monde + désirable.

    \n
     
    \n
    \n

    Le marathon créatif Super Brest 2025 aura lieu du vendredi 28 à 1 + 8h au dimanche 30 novembre à 19h à l’UBO Open Factory.
    Supe + r Brest est un festival d’inventivité de deux jours pour imagi + ner et fabriquer ensemble ce qui constituera la ville de demain (sur des t + hèmes libres : Art\, sciences\, développement durable\, urbanisme\, éne + rgie\, climat\, éducation\, handicap\, emplois\, bien-être…).
    L’i + dée est de concevoir et réaliser en équipe et en 48 heures un prototype + \, une maquette\, un site web\, un événement ou une application pour am + éliorer le quotidien et imaginer la ville de demain.
    Pour cela\, vous + avez accès au matériel de fabrication numérique de l’UBO Open Factory + (découpe laser\, imprimante 3D\, électronique programmable\, mais aussi + du matériel de bricolage classique). Une équipe d’expert·e vous acco + mpagne dans l’utilisation de ce matériel.
    Et pour que tout se passe + dans une bonne ambiance\, que ça aille vite et bien\, une équipe de faci + litatrices et de facilitateurs accompagne chaque groupe pour les aider.

    L’édition 2025 aura lieu du vendredi 28 novembre 18h au dimanche 3 + 0 novembre 19h.
    Dès le départ et en s’affirmant chaque année\, Sup + er Brest est un hackathon porté par des valeurs originales :

    \n
      \n< + li>Il est ouvert à toute personne curieuse et motivée\, adulte\, enfant\ + , habitant du pays de Brest ou de plus loin. Nous sommes vigilants aux mé + canismes sociaux de discrimination et travaillons à être le plus inclusi + f possible.\n
    • Il s’agit d’une coopération ou toutes les équi + pes concourent à la réalisation d’une même finalité : fabriquer la v + ille de demain.
    • \n
    • Le projet de chaque équipe est reconnu et valor + isé dans son originalité\, ce n’est pas un concours\, il n’y a pas d + e classement.
    • \n
    • Le projet doit être documenté sur un wiki dans u + ne licence qui permet le partage et le réemploi (de type Creative Commons + By-Sa).
    • \n
    • Les moyens mobilisés pour Super Brest sont en cohéren + ce avec les objectifs : nous privilégions les circuits courts\, la nourri + ture bio et locale\, les licences et les logiciels libres et nous sommes v + igilants aux conditions sociales.
    • \n
    • Enfin\, nous réduisons autant + que possible nos émissions de CO2eq.
    • \n
    \n


    Vous vo + ulez en savoir plus ?
    La soirée de lancement aura lieu à l + ’UBO Open Factory le mercredi 15 octobre de 19h30 à 20h\, l’occasion + de partager des premières idées.

    \n

    Badge de Super Brest 2
+ 025

    \n


    Super Brest est organisé par l + es petits débrouillards Grand-Ouest et l’UBO Open Factory. avec le sout + ien de Brest\, ville et Métropole.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250812T150151 +UID:33068@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T090000 +DTEND;TZID=Europe/Paris:20251129T090000 +DESCRIPTION:Paheko est un logiciel libre en ligne de gestion associative.\n + \nIl vous permettra de gérer facilement et partager aisément au sein de + votre Conseil d’administration:\n\n* votre comptabilité\, selon plan co + mptable associatif et production facile d’un compte de résultats et bil + an annuels \;\n* vos membres \;\n* vos adhésions et activités \;\n* et p + lus encore…\n\nIl s’agit d’une journée de formation introductive à + ses fonctionnalités essentielles\, avec atelier de mise en pratique\, pa + r une association trégorroise qui l’utilise depuis 2021. Vous travaille + rez en binôme. Nous suggérons éventuellement de vous inscrire à deux d + ’une même association.\n\nVous pouvez télécharger le flyer joint et l + e diffuser largement aux personnes ou lieux potentiellement intéressés.\ + n\n[Pour en savoir plus sur Paheko][1]\n\n\n\n[1]: https://paheko.cloud\n +GEO:48.7734;-3.51675 +LOCATION:Salle communale Pablo Neruda\, 4 place des Droits de l'Homme\, Ple + umeur-Bodou\, Bretagne\, France +ORGANIZER:mailto:contact@tregorbicyclette.fr +SEQUENCE:3 +SUMMARY:Formation au logiciel Paheko de gestion associative +URL;VALUE=URI:https://www.formations-benevoles.bzh/formation/formation-au-l + ogiciel-paheko-de-gestion-associative-3 +CATEGORIES:paheko +CATEGORIES:logiciel +CATEGORIES:formation +CATEGORIES:association +CATEGORIES:gestion +CATEGORIES:comptabilité +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Paheko est un logiciel libre en ligne de ge + stion associative.

    \n

    Il vous permettra de gérer facilement et parta + ger aisément au sein de votre Conseil d’administration :

    \n
      \n
    • votre comptabilité\, selon plan comptable associatif et production facil + e d’un compte de résultats et bilan annuels \;
    • \n
    • vos membres \; +
    • \n
    • vos adhésions et activités \;
    • \n
    • et plus encore…
    • \n
    \n

    Il s’agit d’une journée de formation introductive à ses + fonctionnalités essentielles\, avec atelier de mise en pratique\, par un + e association trégorroise qui l’utilise depuis 2021. Vous travaillerez + en binôme. Nous suggérons éventuellement de vous inscrire à deux d’u + ne même association.

    \n

    Vous pouvez télécharger le flyer joint et + le diffuser largement aux personnes ou lieux potentiellement intéressés. +

    \n

    Pour en savoir plus sur Paheko +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050900 +UID:32984@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T090000 +DTEND;TZID=Europe/Paris:20251129T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T050934 +UID:32985@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T100000 +DTEND;TZID=Europe/Paris:20251129T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250910T070845 +UID:33229@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T100000 +DTEND;TZID=Europe/Paris:20251129T133000 +DESCRIPTION:\n\nVotre PC est lent et fatigué ?\nVotre PC fonctionne bien m + ais vous ne pouvez plus appliquer de mises à jour ?\n\nVenez le soigner g + râce à Linux !\n\nLinux est un système d'exploitation **libre\, éthiqu + e et performant**.\n\nNos sessions de découverte et d’installation de L + inux sont animées par des bénévoles de l'association Club Linux Nord-Pa + s-de-Calais\n\n +GEO:50.6905;3.17528 +LOCATION:Mediathèque de Roubaix\, 2 rue Pierre Motte\, Roubaix\, Hauts-de- + France\, France +ORGANIZER:mailto:mperard@ville-roubaix.fr +SEQUENCE:5 +SUMMARY:Install-party Linux et logiciels libres +URL;VALUE=URI:http://www.mediathequederoubaix.fr/form/sinscrire-latelier-pc + -fatigue-choisissez-linux-1110 +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:debian +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Votre PC est le + nt et fatigué ?
    Votre PC fonctionne bien mais vous ne pouvez plus appl + iquer de mises à jour ?

    \n

    Venez le soigner grâce à Linux !

    \n< + p>Linux est un système d'exploitation libre\, éthique et perform + ant.

    \n

    Nos sessions de découverte et d’installation de L + inux sont animées par des bénévoles de l'association Club Linux Nord-Pa + s-de-Calais

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250910T070924 +UID:33230@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T100000 +DTEND;TZID=Europe/Paris:20251129T133000 +DESCRIPTION:\n\nVotre PC est lent et fatigué ?\nVotre PC fonctionne bien m + ais vous ne pouvez plus appliquer de mises à jour ?\n\nVenez le soigner g + râce à Linux !\n\nLinux est un système d'exploitation libre\, éthique + et performant.\n\nNos sessions de découverte et d’installation de Linux + sont animées par des bénévoles de l'association Club Linux Nord-Pas-de + -Calais\n\n +GEO:50.6905;3.17528 +LOCATION:Mediathèque de Roubaix\, 2 rue Pierre Motte\, Roubaix\, Hauts-de- + France\, France +ORGANIZER:mailto:mperard@ville-roubaix.fr +SEQUENCE:5 +SUMMARY:Install-party Linux et logiciels libres +URL;VALUE=URI:http://www.mediathequederoubaix.fr/form/sinscrire-latelier-or + dinateur-fatigue-linux-est-2911 +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:debian +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Votre PC est le + nt et fatigué ?
    Votre PC fonctionne bien mais vous ne pouvez plus appl + iquer de mises à jour ?

    \n

    Venez le soigner grâce à Linux !

    \n< + p>Linux est un système d'exploitation libre\, éthique et performant.

    + \n

    Nos sessions de découverte et d’installation de Linux sont animée + s par des bénévoles de l'association Club Linux Nord-Pas-de-Calais

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T113319 +UID:33367@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T100000 +DTEND;TZID=Europe/Paris:20251129T163000 +DESCRIPTION:\n\n\n\nGérer ses différentes adresses mail de façon central + isée\, sans avoir à se connecter aux différentes messageries par un nav + igateur...\nLes orienter vers des sous-répertoire pour les classer et mie + ux les retrouver\,\n\nGérer son carnet d'adresse et ses agendas\, les par + tager sur son ordiphone...\n\nRepas partagé à midi (chacun apporte un pl + at à partager ou son repas)\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:5 +SUMMARY:Thunderbird : gérer ses mails\, agendas et carnets d'adresses +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:formation +CATEGORIES:gnu/linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

     

    \n

    \n

    Gérer + ses différentes adresses mail de façon centralisée\, sans avoir à se + connecter aux différentes messageries par un navigateur...
    Les oriente + r vers des sous-répertoire pour les classer et mieux les retrouver\,

    \ + n

    Gérer son carnet d'adresse et ses agendas\, les partager sur son ordi + phone...

    \n

    Repas partagé à midi (chacun apporte un plat à partage + r ou son repas)

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20250902T045740 +UID:33179@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20251129T103000 +DTEND;TZID=Europe/Zurich:20251129T123000 +DESCRIPTION:Linux ou GNU / Linux est le système d'exploitation collaborati + f et libre de l'écosystème numérique qui est moins gourmand en ressourc + es\, plus facile à gérer\, plus performant et plus sûr à utiliser.\n\n + Au contraire de ses concurrents privatifs Microsoft et Apple\, Linux est u + ne solution développé pour une communauté international où tout le mon + de peut contribuer\, l'adapter et l'améliorer constamment.\n\nInscription + obligatoire >\;>\; https://www.itopie.ch/informetic/atelier-linux/\n\ + n +GEO:46.2077;6.14417 +LOCATION:Itopie\, Itopie\, Genève\, Genève\, Suisse +ORGANIZER:mailto:richard.medina@aqpit.com +SEQUENCE:2 +SUMMARY:Atelier Linux +URL;VALUE=URI:https://www.aqpit.com +CATEGORIES:aqpit +CATEGORIES:linux +CATEGORIES:debian +CATEGORIES:ubuntu +CATEGORIES:atelier +CATEGORIES:logiciel-libre +CATEGORIES:linux-mint +X-ALT-DESC;FMTTYPE=text/html:

    Atelier LinuxLinux + ou GNU / Linux est le système d'exploitation collaboratif et libre de l' + écosystème numérique qui est moins gourmand en ressources\, plus facile + à gérer\, plus performant et plus sûr à utiliser.

    \n

    Au contrair + e de ses concurrents privatifs Microsoft et Apple\, Linux est une solution + développé pour une communauté international où tout le monde peut con + tribuer\, l'adapter et l'améliorer constamment.

    \n

    Inscription oblig + atoire >\;>\; https://www.itopie.ch/informetic/atelier-linux/

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135857 +UID:33165@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T103000 +DTEND;TZID=Europe/Paris:20251129T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20250902T045721 +UID:33178@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20251129T130000 +DTEND;TZID=Europe/Zurich:20251129T140000 +DESCRIPTION:\n\nCafé Linux est né comme une alternative pour découvrir\, + explorer et évoluer avec GNU/Linux.\n\nOn considère le système d'explo + itation GNU / Linux comme la troisième alternative dans le marché et com + me un concurrent direct aux deux systèmes d'exploitation Windows et MacOS + .\n\nL'inscription est obligatoire >\;>\; https://www.itopie.ch/inform + etic/cafe-linux/\n\n +GEO:46.2077;6.14427 +LOCATION:Itopie\, rue Lissignol 10\, Genève\, Genève\, Suisse +ORGANIZER:mailto:richard.gilbert@aqpit.com +SEQUENCE:2 +SUMMARY:Café Linux +URL;VALUE=URI:https://www.aqpit.com/fr/cafe_linux +CATEGORIES:aqpit +CATEGORIES:café-linux +CATEGORIES:debian +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:linux-mint +X-ALT-DESC;FMTTYPE=text/html:

    Café Linux

    \n

    Café Linux est né comme une alternative pour découvrir\, + explorer et évoluer avec GNU/Linux.

    \n

    On considère le système d'e + xploitation GNU / Linux comme la troisième alternative dans le marché et + comme un concurrent direct aux deux systèmes d'exploitation Windows et M + acOS.

    \n

    L'inscription est obligatoire >\;>\; https://www.itopie. + ch/informetic/cafe-linux/

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T031658 +UID:32593@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T133000 +DTEND;TZID=Europe/Paris:20251129T190000 +DESCRIPTION:Le samedi 29 novembre 2025 de 13h30 à 19h00.\n\nMJC-EVS du Che + val Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n       +             [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Cl + ub Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semai + nes (environ) et accueille toutes les personnes qui souhaitent découvrir + ou approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compéte + nce n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous a + ccueillons celles et ceux qui cherchent une réponse ou souhaitent découv + rir **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** s + ur des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui + permet de conserver l’ancien système (par exemple Windows) et d’util + iser quand même **Linux**\, en choisissant au démarrage\,\n* nous partag + eons nos recherches (nos difficultés aussi) et nos découvertes\, les nou + veautés.\n\nLe **Club Linux** est également impliqué dans une démarche + de libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de p + romotion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [ + **OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N + .S**][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n + \n\n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: htt + ps://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multi + boot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\ + n[6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: + https://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 29 novembre 2025 de 13h30 à 19h0 + 0.

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des V + osges\, Wintzenheim\, Grand Est

    \n
    \n +
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n< + /div>\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     \n
    \n
    \n
    +  
    \n
    \n
     
    \n
     
    \n\n
    \n
    \n
    \n

    Rencontre du Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes + les 3 semaines (environ) et accueille toutes les personnes qui souhaitent + découvrir ou approfondir Linux et les Logiciels Libres. Aucune + compétence n'est demandée.  

    \n

    Pendant ces rencontres\, informell + es\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\ + , la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par + exemple Windows) et d’utiliser quand même Linux\, en c + hoisissant au démarrage\,
    • \n
    • nous par + tageons nos recherches (nos difficultés aussi) et nos découvertes\, les + nouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Faceb + ook Amazon Microsoft) et de promotion de solutions libres comme\, entre au + tres\, W + ikipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et + beaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251003T102033 +UID:33471@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T140000 +DTEND;TZID=Europe/Paris:20251129T170000 +DESCRIPTION:Root66 vous propose une permanence Logiciels Libres.\n\nÀ cett + e permanence\, tu pourras bénéficier d'une aide et d'un accompagnement p + our t'aider à installer\, configurer des logiciels libres aussi bien sur + PC que sur Smartphones.\nUn vieux pc qui rame ? Besoin de faire une sauveg + arde de tes données ? Envie de tester des applications opensource sur ton + téléphone ou sur ton pc\, mais tu as peur de tout casser et de ne pas y + arriver seul.e. Pas de souci\, l'équipe de root66 est là pour t'accompa + gner\, à ton propre rythme !\n\nUn des objectifs est de t'aider à repren + dre le contrôle de tes données et d'apprendre pas à pas les bonnes prat + iques à adopter pour sécuriser et améliorer ta vie privée numérique.\ + n\nN'hésite pas à passer ! L'équipe de root66 sera ravie de t'accueilli + r ! 🤓\n\n**Programme** (non exhaustif):\n\n* Dépannage\, assistance su + r PC\, smartphones utilisant du logiciel libre\n* Découverte et apprentis + sage pour utiliser un système libre comme Linux\n* Installations et confi + gurations complémentaires d'applications\n* Mise à jour et installation + de nouveaux logiciels opensource\n* Discussions conviviales entre utilisat + eurs autour des logiciels libres\n\nEntrée libre et gratuite 😎\n\nPour + une installation Linux ou pour un dépannage particulier\, envoyez un mai + l à: contact@root66.net\n\nSur place\, l'[adhésion][1] à l’associatio + n est possible\, mais non obligatoire.\n\n**Accès:** Parking rue Raymond + Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint-Cyr.\n\n\n\n[1 + ]: https://root66.net/public/bulletin-adhesion-R66-saisieDirecte.pdf\n +GEO:48.8074;2.06269 +LOCATION:Maison des associations Simone Veil\, 14 avenue Lieutenant Tom Mor + el\, Saint-Cyr L'École\, Île-de-France\, France +ORGANIZER:mailto:contact@root66.net +SEQUENCE:2 +SUMMARY:Permanences Logiciels Libres : pc et smartphones +URL;VALUE=URI:https://root66.net +CATEGORIES:adieu-windows +CATEGORIES:root66 +CATEGORIES:linux +CATEGORIES:smartphone +CATEGORIES:android +CATEGORIES:logiciel-libre +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    Root66 vous propose une permanence Logiciel + s Libres.

    \n

    À cette permanence\, tu pourras + bénéficier d'une aide et d'un accompagnement pour t'aider à installer\ + , configurer des logiciels libres aussi bien sur PC que sur Smartphones.Un vieux pc qui rame ? Besoin de faire une sauvegarde de tes données ? + Envie de tester des applications opensource sur ton téléphone ou sur ton + pc\, mais tu as peur de tout casser et de ne pas y arriver seul.e. Pas de + souci\, l'équipe de root66 est là pour t'accompagner\, à ton propre ry + thme !

    \n

    Un des objectifs est de t'aider à reprendre le contrôle d + e tes données et d'apprendre pas à pas les bonnes pratiques à adopter p + our sécuriser et améliorer ta vie privée numérique.

    \n

    N'hésite + pas à passer ! L'équipe de root66 sera ravie de t'accueillir ! 🤓

    \ + n

    Programme (non exhaustif) :

    \n
      \n
    • Dépannage + \, assistance sur PC\, smartphones utilisant du logiciel libre
    • \n
    • D + écouverte et apprentissage pour utiliser un système libre comme Linux\n
    • Installations et configurations complémentaires d'applications\n
    • Mise à jour et installation de nouveaux logiciels opensource
    • + \n
    • Discussions conviviales entre utilisateurs autour des logiciels libr + es
    • \n
    \n

    Entrée libre et gratuite 😎

    \n

    Pour une install + ation Linux ou pour un dépannage particulier\, envoyez un mail à : conta + ct@root66.net

    \n

    Sur place\, l'adhésion à l’association est + possible\, mais non obligatoire.

    \n

    Accès : Parkin + g rue Raymond Lefebvre. RER C\, Transilien N\, Tram T13 — gare de Saint- + Cyr.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250103T085709 +UID:31610@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T140000 +DTEND;TZID=Europe/Paris:20251129T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 29 novembre 2025 de 14h00 à 18h00**\, d + ans la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille + .**\n\n\n\nVous avez envie de découvrir un système d’exploitation libr + e\, simple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle f + açon d’utiliser votre ordinateur.\n\nVous vous sentez une affection nai + ssante pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux + .**\n\nAu programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres. + **\n\n**INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meil + leur des **logiciels libres**.\n\nVenez avec votre ordinateur\, nous inst + allerons ensemble une distribution **GNU/Linux** avec un ensemble de **lo + giciels libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n + \n\n**Ouvert à tous – accessible aux débutant-e-s**\n\nUne participati + on de **2 euros** est demandée.\n\nL’adhésion à l’association est d + e **20 euros** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan + d’accès][3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foy + erdupeuple.wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975 + 597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:5 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 29 novembr + e 2025 de 14h00 à 18h00\, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

    \n

    \n

    Vous avez envie de découvrir un système d’exploitat + ion libre\, simple d’utilisation\, stable\, rapide et sécurisé. Une no + uvelle façon d’utiliser votre ordinateur.

    \n

    Vous vous sentez une + affection naissante pour le Gnou et le Manchot\, les mascottes de GNU/ Linux.

    \n

    Au program + me:

    \n

    DÉCOUVERTE de l’univer + s des logiciels libres.

    \n

    INSTALLATION d’un envir + onnement GNU/ Linux\, ainsi que le meilleur des logiciel + s libres.

    \n

    Venez avec votre ordinateur\, nous installerons + ensemble une distribution GNU/Linux avec un ensemble de + logiciels libres et gratuits pour une u + tilisation quotidienne.

    \n

    \n

     

    \n

    Ouvert à tous – accessibl + e aux débutant-e-s

    \n

    Une participation de 2 euros< + /strong> est demandée.

    \n

    L’adhésion à l’association est de 20 euros annuelle.(L’adhésion n’est pas obligatoire).< + /p>\n

    Plan d’a + ccès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174624 +UID:32857@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251129T140000 +DTEND;TZID=Europe/Paris:20251129T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@O2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@O2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182937 +UID:33307@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251202T140000 +DTEND;TZID=Europe/Paris:20251202T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32910@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251202T153000 +DTEND;TZID=Europe/Paris:20251202T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110843 +UID:33592@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251202T183000 +DTEND;TZID=Europe/Paris:20251202T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051018 +UID:32986@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251202T190000 +DTEND;TZID=Europe/Paris:20251202T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="183" height="183">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T112949 +UID:33360@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251203T140000 +DTEND;TZID=Europe/Paris:20251203T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145422 +UID:32771@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251203T180000 +DTEND;TZID=Europe/Paris:20251203T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180053 +UID:33261@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251204T140000 +DTEND;TZID=Europe/Paris:20251204T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164952 +UID:33106@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251204T200000 +DTEND;TZID=Europe/Paris:20251204T220000 +DESCRIPTION:\n\nSlash\, c'est la soirée où l'on parle technique\, réseau + et machinerie. De 20h à 22h\, nous nous répartissons pour aborder des p + oints précis de notre infrastructure réseau\, préparons et effectuons l + es mises à jour\, installons nos nouveaux services\, etc...\n\nCette soir + ée est ouverte à tous\, pour venir découvrir l'envers du décor de votr + e association.\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:Slash\, la soirée de l'infra d'Alsace Réseau Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn-fai +CATEGORIES:arn +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Slash

    \n

    Slash\, c'est la soirée où l'on parle technique\, réseau et + machinerie. De 20h à 22h\, nous nous répartissons pour aborder des point + s précis de notre infrastructure réseau\, préparons et effectuons les m + ises à jour\, installons nos nouveaux services\, etc...

    \n

    Cette soi + rée est ouverte à tous\, pour venir découvrir l'envers du décor de vot + re association.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104834 +UID:33558@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251205T134000 +DTEND;TZID=Europe/Paris:20251205T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145534 +UID:32810@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251205T170000 +DTEND;TZID=Europe/Paris:20251205T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051405 +UID:32992@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251206T090000 +DTEND;TZID=Europe/Paris:20251206T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150749 +UID:32941@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251206T093000 +DTEND;TZID=Europe/Paris:20251206T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135858 +UID:33166@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251206T103000 +DTEND;TZID=Europe/Paris:20251206T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172142 +UID:33131@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251207T100000 +DTEND;TZID=Europe/Paris:20251207T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T121112 +UID:33207@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251208T180000 +DTEND;TZID=Europe/Paris:20251208T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:1 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

    Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

    \n +

    Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

    \n

    Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

    \n

    🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

    \n

    📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

    \n

    🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

    \n

    Le programme des mapathons

    \n

    18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

    \n

    18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

    20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

    \n

    Pour s'inscrire c'est par ici

    \n

    Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32911@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251209T153000 +DTEND;TZID=Europe/Paris:20251209T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110844 +UID:33593@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251209T183000 +DTEND;TZID=Europe/Paris:20251209T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250824T164831 +UID:33102@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251209T200000 +DTEND;TZID=Europe/Paris:20251209T220000 +DESCRIPTION:\n\nLa Coollégiale\, c'est le moment où les bénévoles actif + s se retrouvent afin de préparer la suite de la vie de l'association\, di + scuter des projets et prendre les décisions 👍 Cet instant est ouvert + à toute personne intéressée d'en apprendre plus sur le fonctionnement d + e l'association et voulant s'investir avec nous dans sa vie quotidienne + 😄\n\n +GEO:48.5846;7.75071 +LOCATION:Strasbourg\, Grand Est\, France +ORGANIZER:mailto:contact@arn-fai.net +SEQUENCE:2 +SUMMARY:🧭 La Coollégiale\, la réunion de coordination d'Alsace Réseau + Neutre (en visio) +URL;VALUE=URI:https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt +CATEGORIES:arn +CATEGORIES:arn-fai +CATEGORIES:alsace-réseau-neutre +CATEGORIES:visio +X-ALT-DESC;FMTTYPE=text/html:

    Bannière de l'évènement Coollégiale

    \n

    La Coollégiale\, c'est le moment où les bénév + oles actifs se retrouvent afin de préparer la suite de la vie de l'associ + ation\, discuter des projets et prendre les décisions 👍 Cet instant es + t ouvert à toute personne intéressée d'en apprendre plus sur le fonctio + nnement de l'association et voulant s'investir avec nous dans sa vie quoti + dienne 😄

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T113044 +UID:33362@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251210T140000 +DTEND;TZID=Europe/Paris:20251210T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182512 +UID:33297@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251210T140000 +DTEND;TZID=Europe/Paris:20251210T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145423 +UID:32772@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251210T180000 +DTEND;TZID=Europe/Paris:20251210T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250110T115630 +UID:31705@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251210T190000 +DTEND;TZID=Europe/Paris:20251210T220000 +DESCRIPTION:Réunion ouverte à tous\, adhérent ou pas.\n\nLes réunions m + ensuelles Hadoly ont lieu tous les 2eme mercredi du mois\, à partir de 19 + h.\n\nSoit en présentiel dans les locaux de Altnet - 7 place Louis Chazet + te 69001 Lyon\n\nSoit en distanciel sur l'adresse [**https://jitsi.hadoly + .fr/permanence-hadoly**][1].\n\n**À propos de cet événement**\n\nLa pe + rmanence (mensuelle) d'Hadoly (**H**ébergeur **A**ssociatif **D**écen + tralisé et **O**uvert à **LY**on)\, [**chaton**][2] lyonnais\, est l + 'occasion d'échanger avec les membres de l'asso sur les services et moyen + s mis à disposition des adhérents afin de se libérer des Gafams tout en + partageant ce que chacun·e aura amené pour grignoter ou boire.\n\nNous + partageons du mail\, du cloud\, et d'autres services\, le tout basé exclu + sivement sur une infrastructure locale et des logiciels libres. Nous respe + ctons la neutralité du net et la vie privée. Plus largement nous échang + eons autour des communs numériques\, des cultures libres et de l'éducati + on populaire par exemple en réalisant ou animant des ateliers d'éducatio + n aux médias.\n\nVous serez bienvenu pour présenter votre projet\, celui + de votre organisation\, causer communs numériques\, cultures libres et + éduc pop.\n\n\n\n[1]: https://jitsi.hadoly.fr/permanence-hadoly\n[2]: htt + ps://chatons.org/\n +GEO:45.7731;4.83748 +LOCATION:Altnet\, 7 place Louis Chazette\, Lyon\, Auvergne-Rhône-Alpes\, F + rance +ORGANIZER:mailto:contact@hadoly.fr +SEQUENCE:1 +SUMMARY:Réunion mensuelle Hadoly +URL;VALUE=URI:https://hadoly.fr +CATEGORIES:hadoly +CATEGORIES:chaton +CATEGORIES:permanence +CATEGORIES:réunion +CATEGORIES:discussion +X-ALT-DESC;FMTTYPE=text/html:

    Réunion ouverte à tous\, adhérent ou pas.

    \n

    Les ré + unions mensuelles Hadoly ont lieu tous les 2eme mercredi du mois\, à part + ir de 19h.

    \n

    Soit en présentiel dans les locaux de Altnet - 7 place + Louis Chazette 69001 Lyon

    \n

    Soit en distanciel sur l'adresse https://jitsi.hadoly.fr/permanence-hadoly.

    \n

    À propos de cet événement

    \ + n

    La permanence (mensuelle) d'Hadoly (Hébergeur Associatif Décentralisé et Ouvert à LYon)\, chaton lyonnais\, est l'occasion d'échanger avec les membres de l'asso su + r les services et moyens mis à disposition des adhérents afin de se lib + érer des Gafams tout en partageant ce que chacun·e aura amené pour grig + noter ou boire.

    \n

    Nous partageons du mail\, du cloud\, et d'autres s + ervices\, le tout basé exclusivement sur une infrastructure locale et des + logiciels libres. Nous respectons la neutralité du net et la vie privée + . Plus largement nous échangeons autour des communs numériques\, des cul + tures libres et de l'éducation populaire par exemple en réalisant ou ani + mant des ateliers d'éducation aux médias.

    \n

    Vous serez bienvenu po + ur présenter votre projet\, celui de votre organisation\, causer communs + numériques\, cultures libres et éduc pop.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051058 +UID:32987@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251210T193000 +DTEND;TZID=Europe/Paris:20251210T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104836 +UID:33559@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251212T134000 +DTEND;TZID=Europe/Paris:20251212T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181236 +UID:33282@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251212T140000 +DTEND;TZID=Europe/Paris:20251212T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182405 +UID:33393@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251212T143000 +DTEND;TZID=Europe/Paris:20251212T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241227T123917 +UID:31565@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251212T203000 +DTEND;TZID=Europe/Paris:20251212T233000 +DESCRIPTION:Re-Boot est une association qui s'inscrit dans le mouvement de + l'économie sociale et solidaire dans le domaine informatique\, engagée d + ans la promotion des [logiciels libres][1] et de [Linux][2]. L'association + est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes heu + reux d'accueillir toutes les personnes qui souhaitent découvrir les logic + iels libres.\n\n\n\nDécouvrez les sujets de ce mois sur notre site Intern + et à la rubrique Agenda/Thèmes à l'adresse https://rebootinformatique.o + rg/?reunions-mensuelles--les-thematiques\n\nVenez nombreuses et nombreux p + our découvrir nos activités.\n\nLe bureau.\n\n\n\n\n\n[1]: https://fr.wi + kipedia.org/wiki/Logiciel_libre\n[2]: https://fr.wikipedia.org/wiki/Linux\ + n +GEO:47.7175;1.93859 +LOCATION:MASS\, 45 rue Hippolyte Martin\, La Ferté Saint-Aubin\, Centre-Va + l de Loire\, France +ORGANIZER:mailto:contact@rebootinformatique.org +SEQUENCE:4 +SUMMARY:Réunion publique mensuelle - découverte des logiciels libres +URL;VALUE=URI:https://rebootinformatique.org +CATEGORIES:réemploi +CATEGORIES:re-boot +CATEGORIES:reboot +CATEGORIES:reboot-informatique +CATEGORIES:obsolescence-programmée +CATEGORIES:logiciels-libres +CATEGORIES:découverte +CATEGORIES:réunion-mensuelle +X-ALT-DESC;FMTTYPE=text/html:

    Re-Boot est une association qui s'inscrit d + ans le mouvement de l'économie sociale et solidaire dans le domaine infor + matique\, engagée dans la promotion des logiciels libres et de Linux. L'associati + on est basée dans le Loiret (45) à La Ferté Saint-Aubin. Nous sommes h + eureux d'accueillir toutes les personnes qui souhaitent découvrir les log + iciels libres.

    \n

    \n

    Découvrez les sujets + de ce mois sur notre site Internet à la rubrique Agenda/Thèmes à l'adr + esse https://rebootinformatique.org/?reunions-mensuelles--les-thematiques< + /p>\n

    Venez nombreuses et nombreux pour découvrir nos activités.

    \n +

    Le bureau.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051440 +UID:32993@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T090000 +DTEND;TZID=Europe/Paris:20251213T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035227 +UID:33115@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T090000 +DTEND;TZID=Europe/Paris:20251213T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135859 +UID:33167@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T103000 +DTEND;TZID=Europe/Paris:20251213T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250103T090616 +UID:31611@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T140000 +DTEND;TZID=Europe/Paris:20251213T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 13 décembre 2025 de 14h00 à 18h00**\, + dans la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseill + e.**\n\n\n\nVous avez envie de découvrir un système d’exploitation lib + re\, simple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle + façon d’utiliser votre ordinateur.\n\nVous vous sentez une affection na + issante pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linu + x.**\n\nAu programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres + .**\n\n**INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le mei + lleur des **logiciels libres**.\n\nVenez avec votre ordinateur\, nous ins + tallerons ensemble une distribution **GNU/Linux** avec un ensemble de **l + ogiciels libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\ + n\n\n**Ouvert à tous – accessible aux débutant-e-s**\n\nUne participat + ion de **2 euros** est demandée.\n\nL’adhésion à l’association est + de **20 euros** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan + d’accès][3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://fo + yerdupeuple.wordpress.com/\n[3]: https://www.openstreetmap.org/node/262397 + 5597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:4 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 13 décemb + re 2025 de 14h00 à 18h00\, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.\n

    \n

    Vous avez envie de découvrir un système d’exploita + tion libre\, simple d’utilisation\, stable\, rapide et sécurisé. Une n + ouvelle façon d’utiliser votre ordinateur.

    \n

    Vous vous sentez une + affection naissante pour le Gnou et le Manchot< + /strong>\, les mascottes de GNU/ Linux.

    \n

    Au progra + mme:

    \n

    DÉCOUVERTE de l’unive + rs des logiciels libres.

    \n

    INSTALLATION d’un envi + ronnement GNU/ Linux\, ainsi que le meilleur des logicie + ls libres.

    \n

    Venez avec votre ordinateur\, nous installeron + s ensemble une distribution GNU/Linux avec un ensemble d + e logiciels libres et gratuits pour une + utilisation quotidienne.

    \n

    \n

     

    \n

    Ouvert à tous – accessib + le aux débutant-e-s

    \n

    Une participation de 2 euros + est demandée.

    \n

    L’adhésion à l’association est de < + strong>20 euros annuelle.(L’adhésion n’est pas obligatoire). +

    \n

    Plan d’ + accès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174640 +UID:32858@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T140000 +DTEND;TZID=Europe/Paris:20251213T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@o2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@o2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104729 +UID:33547@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251213T140000 +DTEND;TZID=Europe/Paris:20251213T180000 +DESCRIPTION:Vous ne voulez plus utiliser Microsoft Windows\, que ce soit po + ur des raisons pratiques ou éthiques ?\n\nIl est possible d’installer u + n autre système d’exploitation\, Linux\, alternative libre et gratuite. + \n\nLibérez votre ordinateur grâce à Linux Quimper et à la Maison qui + Pousse\, librairie / papeterie / maison de la presse indépendante et coop + érative !\n\n +GEO:48.196;-4.09299 +LOCATION:La Maison qui Pousse\, 1 quai Jean Moulin\, Châteaulin\, Bretagne + \, France +ORGANIZER:mailto:animations@lamaisonquipousse.fr +SEQUENCE:4 +SUMMARY:Install party +URL;VALUE=URI:https://www.facebook.com/people/La-Maison-qui-Pousse/10008301 + 6828025/ +CATEGORIES:install-party +CATEGORIES:install +CATEGORIES:installation +CATEGORIES:linux-quimper +CATEGORIES:la-maison-qui-pousse +X-ALT-DESC;FMTTYPE=text/html:

    Vous ne voulez plus util + iser Microsoft Windows\, que ce soit pour des raisons pratiques ou éthiqu + es ?

    \n

    Il est possible d’installer un autre système d’exploitat + ion\, Linux\, alternative libre et gratuite.

    \n

    Libérez votre ordina + teur grâce à Linux Quimper et à la Maison qui Pousse\, librairie / pape + terie / maison de la presse indépendante et coopérative !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32912@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251216T153000 +DTEND;TZID=Europe/Paris:20251216T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250927T163323 +UID:33410@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251216T180000 +DTEND;TZID=Europe/Paris:20251216T203000 +DESCRIPTION:\n\nChacun de nous peut prendre part aux progrès de la science + .\nQuels que soient vos diplômes\, découvrez et contribuez avec nous à + divers projets de sciences participatives\, s'inscrivant dans la culture l + ibre\, au cours des ateliers proposés par le Laboratoire Sauvage.\n\nSuje + t du jour: Comment évolue la qualité de l’eau des sources d’eau de b + oisson en accès libre ?\nPrésentation suivie d’un atelier pratique con + tributif.\n\nPour nous trouver\, c'est chaque 3ᵉ mardi du mois\, mêmes + lieu et horaires.\n\n +GEO:48.6633;6.17287 +LOCATION:Espace multimédia\, médiathèque Jules Verne\, 2 rue de Malines\ + , Vandoeuvre-lès-Nancy\, Grand Est\, France +ORGANIZER:mailto:contact@laboratoire-sauvage.fr +SEQUENCE:2 +SUMMARY:Sciences participatives +URL;VALUE=URI:https://fccl-vandoeuvre.fr/sciences +CATEGORIES:laboratoire-sauvage +CATEGORIES:atelier +CATEGORIES:numérique +CATEGORIES:fccl +CATEGORIES:sciences +CATEGORIES:culture-libre +X-ALT-DESC;FMTTYPE=text/html:

    Affiche ateliers de sciences participa
+ tives

    \n

    Chacun de nous peut prendre part + aux progrès de la science.
    Quels que soient vos diplômes\, découvrez + et contribuez avec nous à divers projets de sciences participatives\, s' + inscrivant dans la culture libre\, au cours des ateliers proposés par le + Laboratoire Sauvage.

    \n

    Sujet du jour : Comment évolue la qualité d + e l’eau des sources d’eau de boisson en accès libre ?
    Présentatio + n suivie d’un atelier pratique contributif.

    \n

    Pour nous trouver\, + c'est chaque 3ᵉ mardi du mois\, mêmes lieu et horaires.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250829T050613 +UID:33144@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251216T183000 +DTEND;TZID=Europe/Paris:20251216T200000 +DESCRIPTION:Discussion entre contributeurs lyonnais du projet OSM et acteur + s intéressés.\n\n\n\nToute personne intéressée par OpenStreetMap peut + s'intégrer à cette rencontre\, tout particulièrement les débutants qui + souhaiteraient des conseils pour se lancer.\n\nOrdre du jour à compléte + r: [https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-12-16][1]\n\n + **Lieu de réunion: ****Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e****.* + *\n\n\n\n[1]: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-12- + 16\n +GEO:45.7623;4.85875 +LOCATION:Tubà\, 15 boulevard Vivier-Merle\, Lyon\, Auvergne-Rhône-Alpes\, + France +SEQUENCE:2 +SUMMARY:OpenStreetMap\, rencontre mensuelle +URL;VALUE=URI:https://wiki.openstreetmap.org/wiki/FR:Lyon +CATEGORIES:osm +CATEGORIES:openstreetmap +CATEGORIES:rencontre-mensuelle +CATEGORIES:contributeurs +CATEGORIES:données-ouvertes +CATEGORIES:discussion +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Discussion entre + contributeurs lyonnais du projet OSM et acteurs intéressés.

    \n

    \n +

    Toute personne intéressée par OpenStreetMap peut s'intégrer à cette + rencontre\, tout particulièrement les débutants qui souhaiteraient des + conseils pour se lancer.

    \n

    Ordre du jour à compléter: https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-1 + 2-16

    \n

    Lieu de réunion: < + /strong>Tubà\, 15 boulevard Vivier-Merle\, Lyon 3e.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110845 +UID:33594@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251216T183000 +DTEND;TZID=Europe/Paris:20251216T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250224T094325 +UID:32056@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251216T190000 +DTEND;TZID=Europe/Paris:20251216T210000 +DESCRIPTION:La Guilde vous propose deux ateliers en une soirée: install pa + rty **ET** rencontre Fairphone\n  à la Turbine.coop (entrée par le côt + é droit du bâtiment).\n\nVous en avez assez d’être dépendants des OS + et logiciels propriétaires (Android\, Microsoft\, etc.)?\n\nCet atelier + est pour vous! Repartez à la fin de la soirée avec votre propre machine + fonctionnant sous un nouveau système d’exploitation\, correctement inst + allé\, configuré et agrémenté de nombreux logiciels (essentiellement l + ibres!).\n\nC’est aussi l’occasion pour les utilisateurs de [FairPhone + ][1] de partager leurs expériences. Ce mois-ci\, un Fairphone 3\, un Fair + phone 4 et un Fairphone 5 avec /e/OS installé seront disponibles pour dé + monstration.\n\nMerci de sauvegarder vos données si vous apportez votre m + achine!\n\n\n\n\n\n[1]: https://www.fairphone.com\n +GEO:45.1876;5.70509 +LOCATION:La Turbine.coop\, 5 esplanade Andry Farcy\, Grenoble\, Auvergne-Rh + ône-Alpes\, France +ORGANIZER:mailto:contact@guilde.asso.fr +SEQUENCE:2 +SUMMARY:Install Party + Rencontre FairPhone +URL;VALUE=URI:https://www.guilde.asso.fr +CATEGORIES:install-party +CATEGORIES:guilde +CATEGORIES:rencontre +CATEGORIES:fairphone +CATEGORIES:gnu-linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    La Guilde vous + propose deux ateliers en une soirée: install party ET r + encontre Fairphone
      à la Turbine.coop (entrée par le côté droit d + u bâtiment).

    \n

    Vous en ave + z assez d’être dépendants des OS et logiciels propriétaires (Android\ + , Microsoft\, etc.)?

    \n

    Cet + atelier est pour vous! Repartez à la fin de la soirée avec votre propre + machine fonctionnant sous un nouveau système d’exploitation\, correctem + ent installé\, configuré et agrémenté de nombreux logiciels (essentiel + lement libres!).

    \n

    C’est aussi l’occasion pour les utilisateurs + de FairPhone de partager leurs exp + ériences. Ce mois-ci\, un Fairphone 3\, un Fairphone 4 et un Fairphone 5 + avec /e/OS installé seront disponibles pour démonstration.

    \n

    Merci + de sauvegarder vos données si vous apportez votre machine!

    \n

    guil
+ de

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250922T113134 +UID:33363@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251217T140000 +DTEND;TZID=Europe/Paris:20251217T170000 +DESCRIPTION:\n\nDes ateliers numériques pour:\n    analyser vos ordinate + urs\n    sauvegarder vos données personnelles\n    installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)\n    installer des logiciels libres\n    apprendre + à utiliser les logiciels\n\n +GEO:46.6296;1.06278 +LOCATION:Association RéparLab - atelier Linux au Blanc\, 14 quai Aubépin\ + , Le Blanc\, Centre-Val de Loire\, France +ORGANIZER:mailto:linuxaublanc@reparlab.org +SEQUENCE:4 +SUMMARY:Atelier Libre +URL;VALUE=URI:https://reparlab.webnode.fr/numerique +CATEGORIES:gnu/linux +CATEGORIES:linux +CATEGORIES:formation +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    < + /p>\n

    Des ateliers numériques pour :
        analyser vos ordinateurs< + br>    sauvegarder vos données personnelles
        installer le nouve + au système d exploitation (vous choisissez la distribution Linux qui vous + convient le mieux)
        installer des logiciels libres
        appre + ndre à utiliser les logiciels

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145424 +UID:32773@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251217T180000 +DTEND;TZID=Europe/Paris:20251217T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051127 +UID:32988@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251217T183000 +DTEND;TZID=Europe/Paris:20251217T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T174859 +UID:33242@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251218T093000 +DTEND;TZID=Europe/Paris:20251218T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181815 +UID:33292@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251218T140000 +DTEND;TZID=Europe/Paris:20251218T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.26;-1.57639 +LOCATION:Accoord Bout des pavés\, 14 rue de la coulée\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250116T062507 +UID:31753@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251218T180000 +DTEND;TZID=Europe/Paris:20251218T193000 +DESCRIPTION:J’organise une présentation de l’Espéranto\, la langue in + ternationale très facile à apprendre\, fraternelle\, neutre et libre au + Café **Le Petit Grain**\, Place Dormoy à Bordeaux (c’est un café asso + ciatif avec des tarifs abordables dans le quartier de la gare Saint-Jean + à côté de Barbey).\n\nCe sera l’occasion de découvrir autour d’un + verre ce qu’est l’Espéranto\, pourquoi a-t-il été créé\, comment\ + , qui l’utilise…\n[Cette vidéo][1] vous permettra d’en savoir plus + et nous répondrons à toutes vos questions: [https://flim.txmn.tk/w/57p7H + NerYxBrfDnSG4RKdd][1]\n\nVous trouverez également plus d'informations sur + : [https://esperanto-gironde.fr/lesperanto/][2]\, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.\n\nCe sera + aussi l’occasion de pratiquer pour les espérantistes.\n\nLa soirée est + ouverte à tous et toutes\, espérantistes ou non.\n\nLa sortie est gratu + ite sans obligation de consommation. Votre seule participation sera votre + éventuelle consommation et l'adhésion au café associatif le Petit Grain + si vous consommez (tarif libre\, conseillé à 5€\, minimum 2€).\n\n\ + n\n[1]: https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd\n[2]: https://espera + nto-gironde.fr/lesperanto/\n +GEO:44.8268;-0.564883 +LOCATION:Le Petit Grain\, 3 place Dormoy\, Bordeaux\, Nouvelle-Aquitaine\, + France +ORGANIZER:mailto:dodolacho7@gmail.com +SEQUENCE:3 +SUMMARY:Découverte de l'Espéranto +URL;VALUE=URI:https://esperanto-gironde.fr +CATEGORIES:esperanto +CATEGORIES:neutre +CATEGORIES:fraternelle +CATEGORIES:internationale +CATEGORIES:équitable +CATEGORIES:langue-libre +CATEGORIES:decouverte +CATEGORIES:le-petit-grain +X-ALT-DESC;FMTTYPE=text/html:

    J’organise une présentation de l’Espé + ranto\, la langue internationale très facile à apprendre\, fraternelle\, + neutre et libre au Café Le Petit Grain\, Place Dormoy + à Bordeaux (c’est un café associatif avec des tarifs abordables dans l + e quartier de la gare Saint-Jean à côté de Barbey).

    Ce sera l’ + occasion de découvrir autour d’un verre ce qu’est l’Espéranto\, po + urquoi a-t-il été créé\, comment\, qui l’utilise…
    Cette vidéo vous permettra d’en savoir plu + s et nous répondrons à toutes vos questions : https://flim.txmn.tk/w/57p7HNerYxBrfDnSG4RKdd

    \n

    Vous + trouverez également plus d'informations sur : https://esperanto-gironde.fr/lesperanto/ \, il y a l'abonnement à l + a lettre d'informations mensuelle qui est proposée en fin de chaque page + afin de rester informé des activités espérantistes du coin.

    \n

    Ce + sera aussi l’occasion de pratiquer pour les espérantistes.

    \n

    La s + oirée est ouverte à tous et toutes\, espérantistes ou non.

    \n

    La s + ortie est gratuite sans obligation de consommation. Votre seule participat + ion sera votre éventuelle consommation et l'adhésion au café associatif + le Petit Grain si vous consommez (tarif libre\, conseillé à 5€\, mini + mum 2€).

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104838 +UID:33560@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251219T134000 +DTEND;TZID=Europe/Paris:20251219T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175402 +UID:33251@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251219T140000 +DTEND;TZID=Europe/Paris:20251219T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250706T040159 +UID:32742@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251219T160000 +DTEND;TZID=Europe/Paris:20251219T180000 +DESCRIPTION:La prochaine rencontre des «samedis des libertés numériques + » est organisée à la Maison de Quartier des Glacis (un vendredi !): ren + dez-vous à l'accueil. Le thème du jour est: « Installez GNU/Linux\, re + ndez rapide votre ordinateur: contre l'obsolescence programmée par Window + s 10 ».\n\nEn parallèle\, selon les possibilités un logiciel libre se + ra mis en vedette: [Scribus][1]\, la publication assistée\, pour vos menu + s\, vos recettes\, vos tracts\, votre affiche.\n\nSi vous apportez votre o + rdinateur (de bureau\, ou portable)\, nous pouvons vous aider pas à pas\, + pour:\n\n1. Tester GNU/Linux\, sans rien installer sur le disque\; vous + verrez si l'ordinateur redevient maniable\, et si vos logiciels préféré + s sont là\, pour la bureautique\, Internet\, le dessin\, le son\, la vid + éo\, etc.\n\n2. Si vous le voulez\, installer GNU/Linux (il y a le choix + entre quelques variantes\, selon les âges et les préférences)\n\n3. V + oir comment accéder à la logithèque libre et gratuite (plusieurs millie + rs de paquets logiciels)\, et installer des applications en plus.\n\nCes r + encontres du logiciel libre sont organisées les 3èmes samedis du mois. E + lles sont l'occasion d'échanger\, en toute simplicité\, sur divers thèm + es en rapport avec notre monde numérique\, dans une structure attentive + à nos libertés.\n\n\n\n[1]: https://scribus.fr/\n +GEO:51.0425;2.38973 +LOCATION:Maison de Quartier des Glacis\, 8 rue de l'adroit\, Dunkerque\, Ha + uts-de-France\, France +ORGANIZER:mailto:georges.khaznadar@free.fr +SEQUENCE:3 +SUMMARY:Rencontres des libertés numériques +CATEGORIES:association_clx +CATEGORIES:à_tes_côtés +CATEGORIES:gnu-linux linux +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:scribus +CATEGORIES:windows-10 +CATEGORIES:obsolescence-programmée +X-ALT-DESC;FMTTYPE=text/html:

    La prochaine rencontre des «samedis des li + bertés numériques» est organisée à la Maison de Quartier des Glacis ( + un vendredi !) : rendez-vous à l'accueil. Le thème du jour est: « Inst + allez GNU/Linux\, rendez rapide votre ordinateur: contre l'obsolescence pr + ogrammée par Windows 10 ».

    \n

    En parallèle\, selon les possibili + tés un logiciel libre sera mis en vedette : Scribus\, la publication assistée\, pour vos menus\, vos recettes\, + vos tracts\, votre affiche.

    \n

    Si vous apportez votre ordinateur (de + bureau\, ou portable)\, nous pouvons vous aider pas à pas\, pour:

    \n\n
  • \n

    Tester GNU/Linux\, sans rien ins + taller sur le disque\; vous verrez si l'ordinateur redevient maniable\, et + si vos logiciels préférés sont là\, pour la bureautique\, Internet\, + le dessin\, le son\, la vidéo\, etc.

    \n
  • \n
  • \n

    Si vous le voulez\, installer GNU/Linux (il y a le choix ent + re quelques variantes\, selon les âges et les préférences)

    \n
  • \n +
  • \n

    Voir comment accéder à la logithèque libre et gratuite (plusie + urs milliers de paquets logiciels)\, et installer des applications en plus + .

    \n
  • \n\n

    Ces rencontres du logiciel libre sont organisées + les 3èmes samedis du mois. Elles sont l'occasion d'échanger\, en toute s + implicité\, sur divers thèmes en rapport avec notre monde numérique\, d + ans une structure attentive à nos libertés.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051522 +UID:32994@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251220T090000 +DTEND;TZID=Europe/Paris:20251220T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250821T050707 +UID:33089@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251220T091500 +DTEND;TZID=Europe/Paris:20251220T120000 +DESCRIPTION:L'association CLX Club LinuX Nord-Pas de Calais\, organise chaq + ue 3ème samedi de chaque mois une install party.\n\n\n\n\n\n\n\nVotre ord + inateur est lent ou fatigué?\n\nIl fonctionne moins bien et vous aimeriez + retrouver un fonctionnement adapté?\n\nVous pouvez lui donner un nouveau + coup de santé!\n\nEmmenez le (prenez soin de sauvegarder vos documents p + récieux avant de sortir)\, nous faisons le reste avec vous!\n\nAu cours d + e ces séances\, nous vous proposons d’installer le système d’exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\nC'est le moment convivial ou chacun peut installer Linux\, p + asser progressivement ses logiciels privateurs vers du libre ou tout simpl + ement se faire aider à l'entretien de son ordinateur.\n\nC'est aussi l'en + droit où l'on est pas obligé d'avoir un PC à réparer pour venir discut + er!\n\n +GEO:50.0158;4.04528 +LOCATION:Tiers-Lieu le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-F + rance\, France +ORGANIZER:mailto:fourmies@clx.asso.fr +SEQUENCE:3 +SUMMARY:Donnez une seconde vie à vos ordinateurs +URL;VALUE=URI:https://clx-fourmies.fr +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:clx +CATEGORIES:recyclage +CATEGORIES:linux +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    L'association CL + X Club LinuX Nord-Pas de Calais\, organise chaque 3ème samedi de chaque m + ois une install party.

    \n

     

    \n
    \n

    \n

     

    \n

    Votre ordinateur es + t lent ou fatigué?

    \n

    Il fonctionne moi + ns bien et vous aimeriez retrouver un fonctionnement adapté?

    \n

    Vous pouvez lui donner un nouveau coup de santé< + span class="finePre">!

    \n

    Emmenez le (prenez soin de sauvegard + er vos documents précieux avant de sortir)\, nous faisons le reste avec v + ous!

    \n

    Au cours de ces séances\, nous + vous proposons d’installer le système d’exploitation libre Linux et/o + u les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    C'e + st le moment convivial ou chacun peut installer Linux\, passer progressive + ment ses logiciels privateurs vers du libre ou tout simplement se faire ai + der à l'entretien de son ordinateur.

    \n

    C'est aussi l'endroit où l' + on est pas obligé d'avoir un PC à réparer pour venir discuter!

    \n
    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051326 +UID:32991@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251220T093000 +DTEND;TZID=Europe/Paris:20251220T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T135900 +UID:33168@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251220T103000 +DTEND;TZID=Europe/Paris:20251220T183000 +DESCRIPTION:**Présentation de l'E2L**\n\n**Quel est le rôle de l'école d + u logiciel libre?**\n\nTout d'abord\, ce n'est pas une école comme les au + tres. Elle n'a pas d'établissement fixe\, pas de cours de récréation\, + pas de carte d'étudiant\, ni de diplôme de fin d'année.\n\nComme toutes + les écoles\, son rôle est d'apprendre à ses élèves les logiciels lib + res\, c'est-à-dire:\n\n* comment en trouver de bons parmi les nombreux si + tes qui en proposent\,\n* comment en prendre possession en fonction des li + cences\,\n* comment les installer en fonction de ses besoins\,\n* comment + les tester et les utiliser\,\n* comment en comprendre le fonctionnement po + ur ensuite les modifier\,\n* comment écrire ses propres logiciels libres. + \n\nEn fait\, **l'école du logiciel libre est une université populaire** + \, comme celles qui ont vu le jour en France à partir du 19ème siècle\, + et dont le but est de transmettre des connaissances théoriques ou pratiq + ues à tous ceux qui le souhaitent. Et pour atteindre ce but\, sa forme ju + ridique est de type **"association à but non lucratif"**.\n\n**Comment fo + nctionne l'école?**\n\nCette école étant une association\, elle possèd + e\, comme toutes les autres\, un bureau\, élu chaque année en assemblée + générale\, pour l'administrer. Mais elle a aussi des responsables péda + gogiques dont le rôle est essentiel car ce sont eux qui établissent les + programmes des cours en fonction des souhaits des adhérents\, valident le + s candidatures des enseignants et affectent les sessions.\n\nLes membres d + u bureau et les responsables pédagogiques forment "l'encadrement de l'éc + ole". Tous les membres "encadrants" doivent être membres de l'association + .\n\nLes locaux où se déroulent les cours seront ceux que l'on veut bien + nous prêter: une salle des fêtes\, un théâtre\, une salle de réunion + publique\, un amphi dans une école publique\, ou autre.\n\nLes thèmes d + es cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péd + agogiques de l'école en fonction des enseignants disponibles.\n\nAfin de + permettre au plus grand nombre de participer et d'assister aux cours\, les + sessions se tiennent essentiellement le samedi. Une première\, sous form + e d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de cours\ + , de 14h30 à 18h30.\n\nProgramme détaillé sur le site [http://e2li.org] + [1]\n\n\n\n[1]: http://www.e2li.org/rwd.php\n +GEO:48.8135;2.38529 +LOCATION:Salle LCR face au bâtiment D\, 79 avenue Danielle Casanova\, Ivry + sur Seine\, Île-de-France\, France +ORGANIZER:mailto:contact@e2li.org +SEQUENCE:1 +SUMMARY:Cours de l'Ecole du Logiciel Libre +URL;VALUE=URI:https://e2li.org +CATEGORIES:e2l +CATEGORIES:ecole-du-logiciel-libre +CATEGORIES:université +CATEGORIES:populaire +CATEGORIES:cours +CATEGORIES:atelier +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Présentation de l'E2L

    \n

    Quel est + le rôle de l'école du logiciel libre?

    \n

    Tout d'abord\, ce n'est p + as une école comme les autres. Elle n'a pas d'établissement fixe\, pas d + e cours de récréation\, pas de carte d'étudiant\, ni de diplôme de fin + d'année.

    \n

    Comme toutes les écoles\, son rôle est d'apprendre à + ses élèves les logiciels libres\, c'est-à-dire:

    \n
      \n
    • comment en trouver de bons parmi les nombreux sites qui en proposent\,\n
    • comment en prendre possession en fonction des licences\,
    • \ncomment les installer en fonction de ses besoins\,\n
    • comment les + tester et les utiliser\,
    • \n
    • comment en comprendre le fonctionnemen + t pour ensuite les modifier\,
    • \n
    • comment écrire ses propres logici + els libres.
    • \n
    \n

    En fait\, l'école du logiciel libre e + st une université populaire\, comme celles qui ont vu le jour en + France à partir du 19ème siècle\, et dont le but est de transmettre de + s connaissances théoriques ou pratiques à tous ceux qui le souhaitent. E + t pour atteindre ce but\, sa forme juridique est de type "associat + ion à but non lucratif".

    \n

    Comment fonctionne l'école?\n

    Cette école étant une association\, elle possède\, comme toutes + les autres\, un bureau\, élu chaque année en assemblée générale\, po + ur l'administrer. Mais elle a aussi des responsables pédagogiques dont le + rôle est essentiel car ce sont eux qui établissent les programmes des c + ours en fonction des souhaits des adhérents\, valident les candidatures d + es enseignants et affectent les sessions.

    \n

    Les membres du bureau et + les responsables pédagogiques forment "l'encadrement de l'école". Tous + les membres "encadrants" doivent être membres de l'association.

    \n

    L + es locaux où se déroulent les cours seront ceux que l'on veut bien nous + prêter: une salle des fêtes\, un théâtre\, une salle de réunion publi + que\, un amphi dans une école publique\, ou autre.

    \n

    Les thèmes de + s cours sont définis par les adhérents en fonction de leurs envies\, de + leurs besoins. Les cours sont ensuite décidés par les responsables péda + gogiques de l'école en fonction des enseignants disponibles.

    \n

    Afin + de permettre au plus grand nombre de participer et d'assister aux cours\, + les sessions se tiennent essentiellement le samedi. Une première\, sous + forme d'atelier public\, de 10h30 à 13h\, et une autre\, sous forme de co + urs\, de 14h30 à 18h30.

    \n

    Programme détaillé sur le site http://e2li.org

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T031723 +UID:32594@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251220T133000 +DTEND;TZID=Europe/Paris:20251220T190000 +DESCRIPTION:Le samedi 20 décembre 2025 de 13h30 à 19h00.\n\nMJC-EVS du Ch + eval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n       +             [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Cl + ub Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semai + nes (environ) et accueille toutes les personnes qui souhaitent découvrir + ou approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compéte + nce n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous a + ccueillons celles et ceux qui cherchent une réponse ou souhaitent découv + rir **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** s + ur des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui + permet de conserver l’ancien système (par exemple Windows) et d’util + iser quand même **Linux**\, en choisissant au démarrage\,\n* nous partag + eons nos recherches (nos difficultés aussi) et nos découvertes\, les nou + veautés.\n\nLe **Club Linux** est également impliqué dans une démarche + de libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de p + romotion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [ + **OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N + .S**][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n + \n\n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: htt + ps://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multi + boot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\ + n[6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: + https://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 20 décembre 2025 de 13h30 à 19h + 00.

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des + Vosges\, Wintzenheim\, Grand Est

    \n
    \ + n
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n +
    \n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     \n
    \n
    \n
    +  
    \n
    \n
     
    \n
     
    \n\n
    \n
    \n
    \n

    Rencontre du Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes + les 3 semaines (environ) et accueille toutes les personnes qui souhaitent + découvrir ou approfondir Linux et les Logiciels Libres. Aucune + compétence n'est demandée.  

    \n

    Pendant ces rencontres\, informell + es\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\ + , la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par + exemple Windows) et d’utiliser quand même Linux\, en c + hoisissant au démarrage\,
    • \n
    • nous par + tageons nos recherches (nos difficultés aussi) et nos découvertes\, les + nouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Faceb + ook Amazon Microsoft) et de promotion de solutions libres comme\, entre au + tres\, W + ikipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et + beaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250904T153903 +UID:33208@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251222T180000 +DTEND;TZID=Europe/Paris:20251222T200000 +DESCRIPTION:**Vous voulez vous engager pour une cause\, rencontrer de nouve + lles personnes et découvrir la cartographie participative et humanitaire? + CartONG vous invite à participer à un ou plusieurs [mapathons en ligne] + [1]!** **🗺️​💻​**\n\nVenez cartographier les régions encore ab + sentes des cartes pour soutenir les organisations humanitaires et de solid + arité internationale qui ont besoin de cartes précises et à jour pour a + gir plus efficacement en cas de crise ou initier des projets de développe + ment local.\n\nLes ateliers de cartographie sont organisés dans le cadre + du projet [Missing Maps][2]\, qui a pour objectif de cartographier de fa + çon préventive les régions vulnérables aux catastrophes naturelles\, c + rises sanitaires\, environnementales\, aux conflits et à la pauvreté. On + peut penser qu'aujourd'hui toutes les parties du monde sont cartographié + es\, mais en réalité de nombreuses régions ne possèdent encore aucune + carte!\n\n**🤔​ ****Pour qui?** Pas besoin d'être un·e expert·e\, + les ateliers sont accessibles à tout le monde!\n\n**📌​ ****Où ?*** + * **100% en ligne! Un lien de connexion vous sera envoyé après votre in + scription\n\n**🖱️​** **Comment?**** **Avec la plateforme de cartog + raphie libre et contributive [OpenStreetMap][3] (OSM\, le «Wikipédia de + s cartes») tout le monde peut participer à la cartographie de n'importe + quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d' + une connexion internet! Accessibles à tout·es\, nous serons là pour vou + s accompagner pour vos premiers pas avec OSM.\n\n**Le programme des mapath + ons**\n\n18h00: Introduction\, présentation de la cartographie collaborat + ive et solidaire et démonstration OSM pour les nouveaux·elles\n\n18h30: + On cartographie tous ensemble sur un projet\n\n20h00: Fin du mapathon\, co + nclusion sur les contributions de la soirée\n\nPour s'inscrire c'est par + [ici][1]\n\nSi vous avez besoin de plus d'info\, vous pouvez nous contacte + r directement à l'adresse suivante: [missingmaps@cartong.org](mailto:miss + ingmaps@cartong.org)\n\n\n\n[1]: https://framaforms.org/inscription-mapath + ons-en-ligne-2025-2026-1693217827\n[2]: http://www.missingmaps.org/fr\n[3] + : http://openstreetmap.org/\n +LOCATION:Internet +ORGANIZER:mailto:missingmaps@cartong.org +SEQUENCE:2 +SUMMARY:Mapathon 2025-2026 par CartONG +URL;VALUE=URI:https://www.cartong.org +CATEGORIES:cartographie +CATEGORIES:cartong +CATEGORIES:osm +CATEGORIES:humanitaire +CATEGORIES:libre +CATEGORIES:mapathon +X-ALT-DESC;FMTTYPE=text/html:

    Vous voulez vous engager pour une c + ause\, rencontrer de nouvelles personnes et découvrir la cartographie par + ticipative et humanitaire? CartONG vous invit + e à participer à un ou plusieurs mapathons en ligne! 🗺️​💻​

    \n +

    Venez cartographier les régions encore absentes des cartes pour souten + ir les organisations humanitaires et de solidarité internationale qui ont + besoin de cartes précises et à jour pour agir plus efficacement en cas + de crise ou initier des projets de développement local.

    \n

    Les ateli + ers de cartographie sont organisés dans le cadre du projet Missing Maps\, qui a pour objectif de carto + graphier de façon préventive les régions vulnérables aux catastrophes + naturelles\, crises sanitaires\, environnementales\, aux conflits et à la + pauvreté. On peut penser qu'aujourd'hui toutes les parties du monde sont + cartographiées\, mais en réalité de nombreuses régions ne possèdent + encore aucune carte!

    \n

    🤔​ +  Pour qui? Pas bes + oin d'être un·e expert·e\, les ateliers sont accessibles à tout le mon + de!

    \n

    📌​ Où ? 100% en lig + ne! Un lien de connexion vous sera envoyé ap + rès votre inscription

    \n

    🖱️​ Comment + ? Avec la platefor + me de cartographie libre et contributive OpenStreetMap (OSM\, le «Wikipédia + des cartes») tout le monde peut participer + à la cartographie de n'importe quelle zone de la planète: il suffit d'un ordinateur\, d'une souris et d'une connexion + internet! Accessibles à tout·es\, nous ser + ons là pour vous accompagner pour vos premiers pas avec OSM.

    \n

    Le programme des mapathons

    \n

    18h00: Introduction\, présentation de la cartographie collaborative + et solidaire et démonstration OSM pour les nouveaux·elles

    \n

    18h30< + span class="finePre">: On cartographie tous ensemble sur un projet< + /p>\n

    20h00: Fin du mapathon\, conclusion s + ur les contributions de la soirée

    \n

    Pour s'inscrire c'est par ici

    \n

    Si vous avez besoin de plus d'info\, vous pouvez nou + s contacter directement à l'adresse suivante: missingmaps@cartong.org  +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32913@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251223T153000 +DTEND;TZID=Europe/Paris:20251223T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T110846 +UID:33595@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251223T183000 +DTEND;TZID=Europe/Paris:20251223T203000 +DESCRIPTION:La permanence d'ADeTI est un moment d'accueil avec des bénévo + les pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linu + x Mint\, Debian\,...)  mais aussi:\n\n* réparer les problèmes de logici + els sur son ordinateur\n* prendre des conseils pour choisir des logiciels + alternatifs\n* différencier les logiciels libres utilisables pour répond + re aux besoins\n* préserver et réfléchir sur ses usages (vie privée\, + éthique\,...)\n\nMais c'est aussi un moment consacré pour:\n\n* partager + des connaissances et échanger des savoirs\n* maîtriser les formats ouve + rts et la pérennité de ses documents\n* Confidentialité\, intégrité e + t disponibilité des systèmes d'information\n* Diversité des alternative + s\n* Indépendance\n\nNous accueillons également des membres de l'associa + tion ALFA-Net et A-Hébergement qui peuvent répondre aux questions concer + nant Internet\, les réseaux et l'hébergement: connexion à Internet\, al + ternatives aux "Box" et aux opérateurs/FAI commerciaux\, Neutralité du N + et\, Vie Privée\, Blog\, Site Internet/Web\,...\n\n +GEO:47.4137;0.685716 +LOCATION:Centre Socioculturel Gentiana\, 90 avenue Maginot\, Tours\, Centre + -Val de Loire\, France +ORGANIZER:mailto:asso@adeti.org +SEQUENCE:1 +SUMMARY:Permanences Installation Linux et Usages logiciels libres +URL;VALUE=URI:https://www.adeti.org +CATEGORIES:install-party +CATEGORIES:gull +CATEGORIES:linux +CATEGORIES:internet +CATEGORIES:réseau +CATEGORIES:adieu-windows +CATEGORIES:logiciels-libres +CATEGORIES:gnu/linux +CATEGORIES:adeti-org +CATEGORIES:hébergement +CATEGORIES:permanence +X-ALT-DESC;FMTTYPE=text/html:

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles + pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu\, Linux Mi + nt\, Debian\, ...)  mais aussi:

    \n
      \n< + li>réparer les problèmes de logiciels sur son ordinateur\n
    • prend + re des conseils pour choisir des logiciels alternatifs
    • \n
    • différen + cier les logiciels libres utilisables pour répondre aux besoins
    • \n
    • préserver et réfléchir sur ses usages (vie privée\, éthique\, ...)\n
    \n

    Mais c'est aussi un moment consacré pour :

    \n
      \n
    • partager des connaissances et échanger des s + avoirs
    • \n
    • maîtriser les formats ouverts et la pérennité de ses d + ocuments
    • \n
    • Confidentialité\, intégrité et disponibilité des sy + stèmes d'information
    • \n
    • Diversité des alternatives
    • \n
    • Ind + épendance
    • \n
    \n

    Nous accueillons également des membres de l'as + sociation ALFA-Net et A-Hébergement qui peuvent répondre aux questions c + oncernant Internet\, les réseaux et l'hébergement: + connexion à Internet\, alternatives aux "Box" et aux opérateurs/ + FAI commerciaux\, Neutralité du Net\, Vie Privée\, Blog\, Site Internet/ + Web\, ...

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145425 +UID:32774@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251224T180000 +DTEND;TZID=Europe/Paris:20251224T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051202 +UID:32989@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251224T183000 +DTEND;TZID=Europe/Paris:20251224T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162622 +UID:33446@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251225T140000 +DTEND;TZID=Europe/Paris:20251225T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20241130T162329 +UID:31325@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251225T180000 +DTEND;TZID=Europe/Paris:20251225T210000 +DESCRIPTION:**Rencontres Accès Libre**\n\n\n\n\n\nCertains les appellent  + «install party»\, d’autres encore «Soirées Linux»\, mais les **Renc + ontres Accès Libre** sont tout cela en même temps\, et bien plus encore + …\n\nEntre autres\, c'est l’occasion de:\n\n* discuter\, échanger\, e + xpliquer\;\n* installer des logiciels libres\;\n* et\, toute autre idée c + oopérative de solidarité à but non lucratif!\n\nC'est un évènement or + ganisé conjointement par [Linux Azur][1] et le [SHL][2].\n\n\n\n[1]: http + s://www.linux-azur.org/\n[2]: https://www.shl.contact/\n +GEO:43.5978;7.05631 +LOCATION:SHL // Sophia Hack Lab\, 2323 chemin de Saint-Bernard\, Vallauris + - Sophia Antipolis\, Provence-Alpes-Côte d'Azur\, France +ORGANIZER:mailto:crew@shl.contact +SEQUENCE:1 +SUMMARY:Rencontre Accès Libre +URL;VALUE=URI:https://www.shl.contact/ +CATEGORIES:shl +CATEGORIES:sophia-hack-lab +CATEGORIES:hackerspace +CATEGORIES:rencontre +CATEGORIES:libre +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Rencon + tres Accès Libre

    \n

    \n

     

    \n

    + Certains les appellent «install party»\, d’autres encore «Soirées Linux»\, mais les Renc + ontres Accès Libre sont tout cela en même temps\, et bien plus + encore…

    \n

    Entre autres\, c'est l’occasion de:

    \n
      \n
    • discuter\, échanger\, expliquer\;
    • \n
    • installer des logiciels libres\;
    • \n
    • et\, toute autre idée coopérative de solidarité + à but non lucratif!
    • \n
    \n

    C'est u + n évènement organisé conjointement par Linux Azur et le SHL .

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104839 +UID:33561@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251226T134000 +DTEND;TZID=Europe/Paris:20251226T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182308 +UID:33384@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251226T143000 +DTEND;TZID=Europe/Paris:20251226T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145504 +UID:32801@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251226T160000 +DTEND;TZID=Europe/Paris:20251226T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051620 +UID:32995@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251227T090000 +DTEND;TZID=Europe/Paris:20251227T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051717 +UID:32996@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251227T100000 +DTEND;TZID=Europe/Paris:20251227T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250712T174645 +UID:32859@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251227T140000 +DTEND;TZID=Europe/Paris:20251227T180000 +DESCRIPTION:Le CULTe est le "Club des utilisateurs de logiciels libres et d + e gnu/linux de Toulouse et des environs".\n\nLe samedi après-midi tous le + s quinze jours\, le CULTe organise un atelier d'informatique "libre"\, de + 14h à 18h.\n\n\n\nLa séance est consacrée à l'information du public\, + à l'entraide entre membres et/ou visiteurs pour notamment installer et co + nfigurer des logiciels libres\, système d'exploitation ("Linux") ou "appl + ications" (programmes informatiques).\n\nL'entraide peut également concer + ner le matériel afin d'aider le membre ou le visiteur a faire évoluer so + n ordinateur (ajout de mémoire\, changement de disque dur...)\, étant pr + écisé que si des avis peuvent être bien entendu émis pour de tels acha + ts\, le CULTe quand à lui n'a aucune activité commerciale\, directe ou i + ndirecte.\n\nChacun peut amener son ordinateur pour la séance. S'il s'agi + t d'une "Unité Centrale" (Ordinateur de bureau) il est inutile d'amener + également écran clavier et souris\, qui peuvent être prêtés sur place + . Au besoin nous pourrons aussi vous prêter une machine pour la séance.\ + n\nAfin de préparer votre venue\, nous vous recommandons vivement de nous + prévenir par courrier électronique en expliquant succintement votre pro + jet ou votre besoin à l'adresse suivante:\n\n**president@o2.culte.org**\n + \nL'adhésion au CULTe n'est en aucun cas obligatoire pour participer à n + os activités.\n\n*NB: Les personnes qui souhaitent adhérer ou faire un d + on peuvent bénéficier d'un reçu fiscal en vue d'une réduction d'impôt + (66% en 2022) notre association étant reconnue "Organisme d'Intérêt G + énéral" éligible au mécénat. (Rescrit fiscal 2021/228)*\n\nPS: Notre + club met à la disposition de tous une liste de discussion dédiée à l'i + nformatique "libre": "linux-31@o2.culte.org". Vous pouvez sans attendre de + mander à y être inscrit pour\, le cas échéant\, y exposer une difficul + té et bénéficier de l'aide et de conseils d'une centaine de participant + s. Il vous suffit de vous rendre à cette adresse et d'y formuler votre de + mande d'inscription:\n\n[https://sympa.culte.org/sympa/subscribe/linux-31? + previous\\_action=info][1]\n\n\n\n[1]: https://sympa.culte.org/sympa/subsc + ribe/linux-31?previous_action=info\n +GEO:43.5519;1.4726 +LOCATION:Maison des Associations\, 14 chemin Pouciquot\, Ramonville Saint-A + gne\, Occitanie\, France +ORGANIZER:mailto:nouscontacter@culte.org +SEQUENCE:3 +SUMMARY:Les ateliers du CULTe +URL;VALUE=URI:https://culte.org +CATEGORIES:linux +CATEGORIES:gnu/linux +CATEGORIES:debian +CATEGORIES:opensuse +CATEGORIES:mint +CATEGORIES:ubuntu +CATEGORIES:logiciels-libres +CATEGORIES:culte +CATEGORIES:ateliers +CATEGORIES:maison-des-associations +X-ALT-DESC;FMTTYPE=text/html:

    Le CULTe est le "Club des utilisateurs de l + ogiciels libres et de gnu/linux de Toulouse et des environs".

    \n

    Le s + amedi après-midi tous les quinze jours\, le CULTe organise un atelier d'i + nformatique "libre"\, de 14h à 18h.

    \n

    \n

    La + séance est consacrée à l'information du public\, à l'entraide entre m + embres et/ou visiteurs pour notamment installer et configurer des logiciel + s libres\, système d'exploitation ("Linux") ou "applications" (programmes + informatiques).

    \n

    L'entraide peut également concerner le matériel + afin d'aider le membre ou le visiteur a faire évoluer son ordinateur (aj + out de mémoire\, changement de disque dur...)\, étant précisé que si d + es avis peuvent être bien entendu émis pour de tels achats\, le CULTe qu + and à lui n'a aucune activité commerciale\, directe ou indirecte.

    \n< + p>Chacun peut amener son ordinateur pour la séance. S'il s'agit d'une "Un + ité Centrale" (Ordinateur de bureau) il est inutile d'amener également + écran clavier et souris\, qui peuvent être prêtés sur place. Au besoin + nous pourrons aussi vous prêter une machine pour la séance.

    \n

    Afi + n de préparer votre venue\, nous vous recommandons vivement de nous prév + enir par courrier électronique en expliquant succintement votre projet ou + votre besoin à l'adresse suivante :

    \n

    president@o2.culte.o + rg

    \n

    L'adhésion au CULTe n'est en aucun cas obligatoire po + ur participer à nos activités.

    \n

    NB : Les personnes qui souhai + tent adhérer ou faire un don peuvent bénéficier d'un reçu fiscal en vu + e d'une réduction d'impôt (66% en 2022) notre association étant reconnu + e "Organisme d'Intérêt Général" éligible au mécénat. (Rescrit fisca + l 2021/228)

    \n

    PS : Notre club met à la disposition de tous une + liste de discussion dédiée à l'informatique "libre" : "linux-31@o2.cul + te.org". Vous pouvez sans attendre demander à y être inscrit pour\, le c + as échéant\, y exposer une difficulté et bénéficier de l'aide et de c + onseils d'une centaine de participants. Il vous suffit de vous rendre à c + ette adresse et d'y formuler votre demande d'inscription :

    \n

    h + ttps://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32914@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251230T153000 +DTEND;TZID=Europe/Paris:20251230T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145426 +UID:32775@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251231T180000 +DTEND;TZID=Europe/Paris:20251231T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051242 +UID:32990@agendadulibre.org +DTSTART;TZID=Europe/Paris:20251231T193000 +DTEND;TZID=Europe/Paris:20251231T220000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise ce mercredi une permanence *Logiciels Libres* ouverte + à tous\, membre de l'association ou non\, débutant ou expert\, curieux + ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une démar + che d’accompagnement des jeunes aux pratiques actuelles pour l’informa + tique et le numérique:\n\n* Lieu d’accès public à Internet ( 5 postes + avec Wifi libre et gratuit )\n* Web collaboratif et citoyen pour que chac + un puisse trouver sa place et passer du rôle de simple usager à celui d + ’initiateur de processus collaboratif\n* Éducation à l’information p + ar les nouveaux médias ( diffusion par le biais du numérique )\n* Logici + els libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidéo\, + musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu sur + rendez-vous\, tous les samedis matins hors vacances scolaires à la Maison + communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ\n\ + n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso.fr\ + n +GEO:50.6216;3.14488 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise ce mercredi une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Le Centre d’Infos Jeunes a mis en plac + e une démarche d’accompagnement des jeunes aux pratiques actuelles pour + l’informatique et le numérique :

    \n
      \n
    • Lieu d’accès public + à Internet ( 5 postes avec Wifi libre et gratuit )
    • \n
    • Web collabo + ratif et citoyen pour que chacun puisse trouver sa place et passer du rôl + e de simple usager à celui d’initiateur de processus collaboratif
    • \ + n
    • Éducation à l’information par les nouveaux médias ( diffusion pa + r le biais du numérique )
    • \n
    • Logiciels libres ( bureautique\, site + s\, blogs\, cloud\, infographie et vidéo\, musique\, réseaux sociaux\, c + hat\, … ).
    • \n
    \n

    Cette rencontre a lieu sur rendez-vous\, tous + les samedis matins hors vacances scolaires à la Maison communale de la f + erme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104841 +UID:33562@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260102T134000 +DTEND;TZID=Europe/Paris:20260102T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145535 +UID:32811@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260102T170000 +DTEND;TZID=Europe/Paris:20260102T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052054 +UID:33002@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260103T090000 +DTEND;TZID=Europe/Paris:20260103T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150751 +UID:32942@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260103T093000 +DTEND;TZID=Europe/Paris:20260103T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172143 +UID:33132@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260104T100000 +DTEND;TZID=Europe/Paris:20260104T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183000 +UID:33308@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260106T140000 +DTEND;TZID=Europe/Paris:20260106T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32915@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260106T153000 +DTEND;TZID=Europe/Paris:20260106T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051805 +UID:32997@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260106T190000 +DTEND;TZID=Europe/Paris:20260106T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="158" height="158">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145427 +UID:32776@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260107T180000 +DTEND;TZID=Europe/Paris:20260107T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180123 +UID:33262@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260108T140000 +DTEND;TZID=Europe/Paris:20260108T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104842 +UID:33563@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260109T134000 +DTEND;TZID=Europe/Paris:20260109T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181311 +UID:33283@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260109T140000 +DTEND;TZID=Europe/Paris:20260109T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182406 +UID:33394@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260109T143000 +DTEND;TZID=Europe/Paris:20260109T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052129 +UID:33003@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260110T090000 +DTEND;TZID=Europe/Paris:20260110T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035228 +UID:33116@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260110T090000 +DTEND;TZID=Europe/Paris:20260110T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105036 +UID:32595@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260110T133000 +DTEND;TZID=Europe/Paris:20260110T190000 +DESCRIPTION:Le samedi 10 janvier 2026 de 13h30 à 19h00.\n\nMJC-EVS du Chev + al Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n         +           [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club + Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaine + s (environ) et accueille toutes les personnes qui souhaitent découvrir ou + approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétenc + e n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous acc + ueillons celles et ceux qui cherchent une réponse ou souhaitent découvri + r **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur + des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui p + ermet de conserver l’ancien système (par exemple Windows) et d’utilis + er quand même **Linux**\, en choisissant au démarrage\,\n* nous partageo + ns nos recherches (nos difficultés aussi) et nos découvertes\, les nouve + autés.\n\nLe **Club Linux** est également impliqué dans une démarche d + e libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de pro + motion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [** + OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S + **][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n + \n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https + ://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multibo + ot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[ + 6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: ht + tps://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 10 janvier 2026 de 13h30 à 19h00 + .

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vo + sges\, Wintzenheim\, Grand Est

    \n
    \n< + div class="leaflet-pane leaflet-map-pane" style="transform: translate3d(0p + x\, 0px\, 0px)\;">\n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     
    \n
    \n
    \n
      +
    \n
    \n
     
    \n
     
    \n
    \n\n< + /div>\n
    \n
    \n
    \n

    Rencontre du + Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes le + s 3 semaines (environ) et accueille toutes les personnes qui souhaitent d + écouvrir ou approfondir Linux et les Logiciels Libres. Aucune c + ompétence n'est demandée.  

    \n

    Pendant ces rencontres\, informelle + s\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, + la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par e + xemple Windows) et d’utiliser quand même Linux\, en ch + oisissant au démarrage\,
    • \n
    • nous part + ageons nos recherches (nos difficultés aussi) et nos découvertes\, les n + ouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Facebo + ok Amazon Microsoft) et de promotion de solutions libres comme\, entre aut + res\, Wi + kipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et b + eaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32916@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260113T153000 +DTEND;TZID=Europe/Paris:20260113T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182538 +UID:33298@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260114T140000 +DTEND;TZID=Europe/Paris:20260114T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145428 +UID:32777@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260114T180000 +DTEND;TZID=Europe/Paris:20260114T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051846 +UID:32998@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260114T193000 +DTEND;TZID=Europe/Paris:20260114T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104843 +UID:33564@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260116T134000 +DTEND;TZID=Europe/Paris:20260116T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250812T150237 +UID:33069@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260117T090000 +DTEND;TZID=Europe/Paris:20260117T090000 +DESCRIPTION:Paheko est un logiciel libre en ligne de gestion associative.\n + \nIl vous permettra de gérer facilement et partager aisément au sein de + votre Conseil d’administration:\n\n* votre comptabilité\, selon plan co + mptable associatif et production facile d’un compte de résultats et bil + an annuels \;\n* vos membres \;\n* vos adhésions et activités \;\n* et p + lus encore…\n\nIl s’agit d’une journée de formation introductive à + ses fonctionnalités essentielles\, avec atelier de mise en pratique\, pa + r une association trégorroise qui l’utilise depuis 2021. Vous travaille + rez en binôme. Nous suggérons éventuellement de vous inscrire à deux d + ’une même association.\n\nVous pouvez télécharger le flyer joint et l + e diffuser largement aux personnes ou lieux potentiellement intéressés.\ + n\n[Pour en savoir plus sur Paheko][1]\n\n\n\n[1]: https://paheko.cloud\n +GEO:48.6546;-3.63172 +LOCATION:Plestin-les-Grèves\, Bretagne\, France +ORGANIZER:mailto:contact@tregorbicyclette.fr +SEQUENCE:3 +SUMMARY:Formation au logiciel Paheko de gestion associative +URL;VALUE=URI:https://www.formations-benevoles.bzh/formation/formation-au-l + ogiciel-paheko-de-gestion-associative-3 +CATEGORIES:paheko +CATEGORIES:logiciel +CATEGORIES:formation +CATEGORIES:association +CATEGORIES:gestion +CATEGORIES:comptabilité +CATEGORIES:logiciels-libres +X-ALT-DESC;FMTTYPE=text/html:

    Paheko est un logiciel libre en ligne de ge + stion associative.

    \n

    Il vous permettra de gérer facilement et parta + ger aisément au sein de votre Conseil d’administration :

    \n
      \n
    • votre comptabilité\, selon plan comptable associatif et production facil + e d’un compte de résultats et bilan annuels \;
    • \n
    • vos membres \; +
    • \n
    • vos adhésions et activités \;
    • \n
    • et plus encore…
    • \n
    \n

    Il s’agit d’une journée de formation introductive à ses + fonctionnalités essentielles\, avec atelier de mise en pratique\, par un + e association trégorroise qui l’utilise depuis 2021. Vous travaillerez + en binôme. Nous suggérons éventuellement de vous inscrire à deux d’u + ne même association.

    \n

    Vous pouvez télécharger le flyer joint et + le diffuser largement aux personnes ou lieux potentiellement intéressés. +

    \n

    Pour en savoir plus sur Paheko +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052202 +UID:33004@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260117T090000 +DTEND;TZID=Europe/Paris:20260117T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052018 +UID:33001@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260117T093000 +DTEND;TZID=Europe/Paris:20260117T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 Rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32917@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260120T153000 +DTEND;TZID=Europe/Paris:20260120T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145429 +UID:32778@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260121T180000 +DTEND;TZID=Europe/Paris:20260121T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051914 +UID:32999@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260121T183000 +DTEND;TZID=Europe/Paris:20260121T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104846 +UID:33565@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260123T134000 +DTEND;TZID=Europe/Paris:20260123T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Zurich:20250720T112041 +UID:32876@agendadulibre.org +DTSTART;TZID=Europe/Zurich:20260123T140000 +DTEND;TZID=Europe/Zurich:20260125T180000 +DESCRIPTION:Les Rencontres Hivernales du Libre\, c’est le rendez-vous inc + ontournable pour toutes celles et ceux qui vibrent pour le logiciel libre + en Suisse!\nChaque année\, nous nous retrouvons dans une ambiance convivi + ale et chaleureuse pour des moments d’échange\, de partage et d’avent + ure\, avec au programme des ateliers passionnants\, des présentations cap + tivantes et même des activités en extérieur pour profiter de l’hiver! + \n\n\n\nAu programme\, des discussions sur le logiciel libre\, des projets + collaboratifs qui déchirent\, des débats sur des questions citoyennes + épineuses et\, bien sûr\, tout ce qui touche à la liberté\, l’indép + endance\, la protection des données et l’autonomie informatique.\n\nMai + s ce n’est pas tout! Ces rencontres sont bien plus que des discussions s + érieuses. C’est une occasion en or de réunir des tribus diverses\, de + créer des ponts entre les spécialités et les compétences\, tout ça da + ns une atmosphère aussi collaborative qu’amicale.\n\n +GEO:46.4462;6.15458 +LOCATION:Centre du Vallon\, 1 chemin de la Vieille-Route\, Saint-Cergue\, V + aud\, Suisse +SEQUENCE:5 +SUMMARY:Rencontres Hivernales du Libre +URL;VALUE=URI:https://rencontreshivernalesdulibre.ch +CATEGORIES:rhl26 +CATEGORIES:conférence +CATEGORIES:rencontre +CATEGORIES:swisslinux.org +CATEGORIES:swisslinux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:\n\n

    Au programme\, des discussions sur le logiciel lib + re\, des projets collaboratifs qui déchirent\, des débats sur des questi + ons citoyennes épineuses et\, bien sûr\, tout ce qui touche à la libert + é\, l’indépendance\, la protection des données et l’autonomie infor + matique.

    \n +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182309 +UID:33385@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260123T143000 +DTEND;TZID=Europe/Paris:20260123T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145505 +UID:32802@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260123T160000 +DTEND;TZID=Europe/Paris:20260123T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052237 +UID:33005@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260124T090000 +DTEND;TZID=Europe/Paris:20260124T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180654 +UID:33272@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260124T093000 +DTEND;TZID=Europe/Paris:20260124T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162623 +UID:33447@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260125T140000 +DTEND;TZID=Europe/Paris:20260125T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32918@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260127T153000 +DTEND;TZID=Europe/Paris:20260127T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145430 +UID:32779@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260128T180000 +DTEND;TZID=Europe/Paris:20260128T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T051943 +UID:33000@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260128T183000 +DTEND;TZID=Europe/Paris:20260128T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T174931 +UID:33243@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260129T093000 +DTEND;TZID=Europe/Paris:20260129T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104847 +UID:33566@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260130T134000 +DTEND;TZID=Europe/Paris:20260130T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175441 +UID:33252@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260130T140000 +DTEND;TZID=Europe/Paris:20260130T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052315 +UID:33006@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260131T090000 +DTEND;TZID=Europe/Paris:20260131T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052344 +UID:33007@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260131T100000 +DTEND;TZID=Europe/Paris:20260131T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105106 +UID:32596@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260131T133000 +DTEND;TZID=Europe/Paris:20260131T190000 +DESCRIPTION:Le samedi 31 janvier 2026 de 13h30 à 19h00.\n\nMJC-EVS du Chev + al Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n         +           [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club + Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaine + s (environ) et accueille toutes les personnes qui souhaitent découvrir ou + approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétenc + e n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous acc + ueillons celles et ceux qui cherchent une réponse ou souhaitent découvri + r **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur + des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui p + ermet de conserver l’ancien système (par exemple Windows) et d’utilis + er quand même **Linux**\, en choisissant au démarrage\,\n* nous partageo + ns nos recherches (nos difficultés aussi) et nos découvertes\, les nouve + autés.\n\nLe **Club Linux** est également impliqué dans une démarche d + e libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de pro + motion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [** + OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S + **][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n + \n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https + ://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multibo + ot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[ + 6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: ht + tps://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 31 janvier 2026 de 13h30 à 19h00 + .

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vo + sges\, Wintzenheim\, Grand Est

    \n
    \n< + div class="leaflet-pane leaflet-map-pane" style="transform: translate3d(0p + x\, 0px\, 0px)\;">\n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     
    \n
    \n
    \n
      +
    \n
    \n
     
    \n
     
    \n
    \n\n< + /div>\n
    \n
    \n
    \n

    Rencontre du + Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes le + s 3 semaines (environ) et accueille toutes les personnes qui souhaitent d + écouvrir ou approfondir Linux et les Logiciels Libres. Aucune c + ompétence n'est demandée.  

    \n

    Pendant ces rencontres\, informelle + s\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, + la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par e + xemple Windows) et d’utiliser quand même Linux\, en ch + oisissant au démarrage\,
    • \n
    • nous part + ageons nos recherches (nos difficultés aussi) et nos découvertes\, les n + ouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Facebo + ok Amazon Microsoft) et de promotion de solutions libres comme\, entre aut + res\, Wi + kipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et b + eaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250607T062933 +UID:32666@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260131T140000 +DTEND;TZID=Europe/Paris:20260131T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 31 janvier 2026 de 14h00 à 18h00**\, da + ns la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille. + **\n\nVous avez envie de découvrir un système d’exploitation libre\, s + imple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon + d’utiliser votre ordinateur.\n\nVous vous sentez une affection naissant + e pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\n + \nAu programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n\ + n**INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur + des **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installer + ons ensemble une distribution **GNU/Linux** avec un ensemble de **logicie + ls libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ouv + ert à tous – accessible aux débutant-e-s**\n\nUne participation de **2 + euros** est demandée.\n\nL’adhésion à l’association est de **20 eu + ros** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’accè + s][3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeupl + e.wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:4 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 31 janvier + 2026 de 14h00 à 18h00\, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

    \n

    Vous av + ez envie de découvrir un système d’exploitation libre\, simple d’uti + lisation\, stable\, rapide et sécurisé. Une nouvelle façon d’utiliser + votre ordinateur.

    \n

    Vous vous sentez une affection naissante pour l + e Gnou et le Manchot\, les mascottes de + GNU/ Linux.

    \n

    Au programme :

    \n

    DÉCO + UVERTE de l’univers des logiciels libres.

    \n

    INSTA + LLATION d’un environnement GNU/ Linux\, ainsi que le meilleur d + es logiciels libres.

    \n

    Venez avec votre ordinateur + \, nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits + pour une utilisation quotidienne.

    \n

    \n

    Ouvert à tous – accessible aux déb + utant-e-s

    \n

    Une participation de 2 euros e + st demandée.

    \n

    L’adhésion à l’association est de 20 e + uros annuelle.(L’adhésion n’est pas obligatoire).

    \n

    Plan d’accès< + /p> +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172144 +UID:33133@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260201T100000 +DTEND;TZID=Europe/Paris:20260201T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183023 +UID:33309@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260203T140000 +DTEND;TZID=Europe/Paris:20260203T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32919@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260203T153000 +DTEND;TZID=Europe/Paris:20260203T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052432 +UID:33008@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260203T190000 +DTEND;TZID=Europe/Paris:20260203T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="164" height="164">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145431 +UID:32780@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260204T180000 +DTEND;TZID=Europe/Paris:20260204T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180151 +UID:33263@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260205T140000 +DTEND;TZID=Europe/Paris:20260205T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104848 +UID:33567@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260206T134000 +DTEND;TZID=Europe/Paris:20260206T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145536 +UID:32812@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260206T170000 +DTEND;TZID=Europe/Paris:20260206T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052749 +UID:33013@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260207T090000 +DTEND;TZID=Europe/Paris:20260207T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150753 +UID:32943@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260207T093000 +DTEND;TZID=Europe/Paris:20260207T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32920@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260210T153000 +DTEND;TZID=Europe/Paris:20260210T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182610 +UID:33299@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260211T140000 +DTEND;TZID=Europe/Paris:20260211T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145432 +UID:32781@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260211T180000 +DTEND;TZID=Europe/Paris:20260211T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052508 +UID:33009@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260211T193000 +DTEND;TZID=Europe/Paris:20260211T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\nLes Merc + redi Linux sont des réunions mensuelles désormais organisées le mercred + i. Ces réunions sont l’occasion de se rencontrer\, d’échanger des id + ées ou des conseils.\n\n\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    Les Mercredi Linux son + t des réunions mensuelles désormais organisées le mercredi. Ces réunio + ns sont l’occasion de se rencontrer\, d’échanger des idées ou des co + nseils.

    \n

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104849 +UID:33568@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260213T134000 +DTEND;TZID=Europe/Paris:20260213T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181344 +UID:33284@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260213T140000 +DTEND;TZID=Europe/Paris:20260213T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182407 +UID:33395@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260213T143000 +DTEND;TZID=Europe/Paris:20260213T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052826 +UID:33014@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260214T090000 +DTEND;TZID=Europe/Paris:20260214T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035229 +UID:33117@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260214T090000 +DTEND;TZID=Europe/Paris:20260214T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32921@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260217T153000 +DTEND;TZID=Europe/Paris:20260217T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145433 +UID:32782@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260218T180000 +DTEND;TZID=Europe/Paris:20260218T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052540 +UID:33010@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260218T183000 +DTEND;TZID=Europe/Paris:20260218T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104850 +UID:33569@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260220T134000 +DTEND;TZID=Europe/Paris:20260220T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052902 +UID:33015@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260221T090000 +DTEND;TZID=Europe/Paris:20260221T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052706 +UID:33012@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260221T093000 +DTEND;TZID=Europe/Paris:20260221T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105133 +UID:32597@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260221T133000 +DTEND;TZID=Europe/Paris:20260221T190000 +DESCRIPTION:Le samedi 21 février 2026 de 13h30 à 19h00.\n\nMJC-EVS du Che + val Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n       +             [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Cl + ub Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semai + nes (environ) et accueille toutes les personnes qui souhaitent découvrir + ou approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compéte + nce n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous a + ccueillons celles et ceux qui cherchent une réponse ou souhaitent découv + rir **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** s + ur des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui + permet de conserver l’ancien système (par exemple Windows) et d’util + iser quand même **Linux**\, en choisissant au démarrage\,\n* nous partag + eons nos recherches (nos difficultés aussi) et nos découvertes\, les nou + veautés.\n\nLe **Club Linux** est également impliqué dans une démarche + de libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de p + romotion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [ + **OpenStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N + .S**][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n + \n\n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: htt + ps://fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multi + boot\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\ + n[6]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: + https://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 21 février 2026 de 13h30 à 19h0 + 0.

    \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des V + osges\, Wintzenheim\, Grand Est

    \n
    \n +
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n< + /div>\n
    \n
     
    \n
    \n
     
    \n
     
    \n
    \n
     \n
    \n
    \n
    +  
    \n
    \n
     
    \n
     
    \n\n
    \n
    \n
    \n

    Rencontre du Club Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes + les 3 semaines (environ) et accueille toutes les personnes qui souhaitent + découvrir ou approfondir Linux et les Logiciels Libres. Aucune + compétence n'est demandée.  

    \n

    Pendant ces rencontres\, informell + es\,

    \n
      \n
    • nous accueillons celles et + ceux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\ + , la plupart des fois en "dual boot"(*)\, ce qui permet de conserver l’ancien système (par + exemple Windows) et d’utiliser quand même Linux\, en c + hoisissant au démarrage\,
    • \n
    • nous par + tageons nos recherches (nos difficultés aussi) et nos découvertes\, les + nouveautés.
    • \n
    \n

    Le Club Linux est également + impliqué dans une démarche de libération des GAFAM (Google Apple Faceb + ook Amazon Microsoft) et de promotion de solutions libres comme\, entre au + tres\, W + ikipedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et + beaucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32922@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260224T153000 +DTEND;TZID=Europe/Paris:20260224T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162624 +UID:33448@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260225T140000 +DTEND;TZID=Europe/Paris:20260225T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145434 +UID:32783@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260225T180000 +DTEND;TZID=Europe/Paris:20260225T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052610 +UID:33011@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260225T183000 +DTEND;TZID=Europe/Paris:20260225T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175007 +UID:33244@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260226T093000 +DTEND;TZID=Europe/Paris:20260226T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104851 +UID:33570@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260227T134000 +DTEND;TZID=Europe/Paris:20260227T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175521 +UID:33253@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260227T140000 +DTEND;TZID=Europe/Paris:20260227T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182310 +UID:33386@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260227T143000 +DTEND;TZID=Europe/Paris:20260227T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145506 +UID:32803@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260227T160000 +DTEND;TZID=Europe/Paris:20260227T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T052935 +UID:33016@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260228T090000 +DTEND;TZID=Europe/Paris:20260228T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180733 +UID:33273@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260228T093000 +DTEND;TZID=Europe/Paris:20260228T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053003 +UID:33017@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260228T100000 +DTEND;TZID=Europe/Paris:20260228T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250607T063443 +UID:32667@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260228T140000 +DTEND;TZID=Europe/Paris:20260228T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 28 février 2026 de 14h00 à 18h00**\, d + ans la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille + .**\n\nVous avez envie de découvrir un système d’exploitation libre\, + simple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle faço + n d’utiliser votre ordinateur.\n\nVous vous sentez une affection naissan + te pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\ + n\nAu programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n + \n**INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur + des **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installe + rons ensemble une distribution **GNU/Linux** avec un ensemble de **logici + els libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ou + vert à tous – accessible aux débutant-e-s**\n\nUne participation de ** + 2 euros** est demandée.\n\nL’adhésion à l’association est de **20 e + uros** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’acc + ès][3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeu + ple.wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:3 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 28 févrie + r 2026 de 14h00 à 18h00\, dans la salle du Foyer du< + /a> Peuple 50 rue Brandis 13005 Marseille.

    \n

    Vous a + vez envie de découvrir un système d’exploitation libre\, simple d’ut + ilisation\, stable\, rapide et sécurisé. Une nouvelle façon d’utilise + r votre ordinateur.

    \n

    Vous vous sentez une affection naissante pour + le Gnou et le Manchot\, les mascottes d + e GNU/ Linux.

    \n

    Au programme :

    \n

    DÉC + OUVERTE de l’univers des logiciels libres.

    \n

    INST + ALLATION d’un environnement GNU/ Linux\, ainsi que le meilleur + des logiciels libres.

    \n

    Venez avec votre ordinateu + r\, nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuit + s pour une utilisation quotidienne.

    \n

    \n

    Ouvert à tous – accessible aux d + ébutant-e-s

    \n

    Une participation de 2 euros est demandée.

    \n

    L’adhésion à l’association est de 2 + 0 euros annuelle.(L’adhésion n’est pas obligatoire).

    \n

    Plan d’accès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172145 +UID:33134@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260301T100000 +DTEND;TZID=Europe/Paris:20260301T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32923@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260303T153000 +DTEND;TZID=Europe/Paris:20260303T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053048 +UID:33018@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260303T190000 +DTEND;TZID=Europe/Paris:20260303T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les petites Cantines\, 3 Place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="157" height="157">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145435 +UID:32784@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260304T180000 +DTEND;TZID=Europe/Paris:20260304T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180225 +UID:33264@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260305T140000 +DTEND;TZID=Europe/Paris:20260305T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104852 +UID:33571@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260306T134000 +DTEND;TZID=Europe/Paris:20260306T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145537 +UID:32813@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260306T170000 +DTEND;TZID=Europe/Paris:20260306T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053405 +UID:33023@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260307T090000 +DTEND;TZID=Europe/Paris:20260307T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150755 +UID:32944@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260307T093000 +DTEND;TZID=Europe/Paris:20260307T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32924@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260310T153000 +DTEND;TZID=Europe/Paris:20260310T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182634 +UID:33300@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260311T140000 +DTEND;TZID=Europe/Paris:20260311T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145436 +UID:32785@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260311T180000 +DTEND;TZID=Europe/Paris:20260311T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053134 +UID:33019@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260311T193000 +DTEND;TZID=Europe/Paris:20260311T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104853 +UID:33572@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260313T134000 +DTEND;TZID=Europe/Paris:20260313T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181423 +UID:33285@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260313T140000 +DTEND;TZID=Europe/Paris:20260313T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182408 +UID:33396@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260313T143000 +DTEND;TZID=Europe/Paris:20260313T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053439 +UID:33024@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260314T090000 +DTEND;TZID=Europe/Paris:20260314T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035230 +UID:33118@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260314T090000 +DTEND;TZID=Europe/Paris:20260314T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105158 +UID:32598@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260314T133000 +DTEND;TZID=Europe/Paris:20260314T190000 +DESCRIPTION:Le samedi 14 mars 2026 de 13h30 à 19h00.\n\nMJC-EVS du Cheval + Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n           +         [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club Li + nux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaines ( + environ) et accueille toutes les personnes qui souhaitent découvrir ou ap + profondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétence n + 'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous accuei + llons celles et ceux qui cherchent une réponse ou souhaitent découvrir * + *Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur de + s ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui perm + et de conserver l’ancien système (par exemple Windows) et d’utiliser + quand même **Linux**\, en choisissant au démarrage\,\n* nous partageons + nos recherches (nos difficultés aussi) et nos découvertes\, les nouveaut + és.\n\nLe **Club Linux** est également impliqué dans une démarche de l + ibération des GAFAM (Google Apple Facebook Amazon Microsoft) et de promot + ion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [**Ope + nStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S**] + [8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n\n\ + n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https:// + fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multiboot\ + n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[6]: + https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: https + ://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 14 mars 2026 de 13h30 à 19h00.\n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vosge + s\, Wintzenheim\, Grand Est

    \n
    \n
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n
    \n
    \n
     
    \n
    \n
     
    \n
      +
    \n
    \n
     
    \n +
    \n
    \n
     \n
    \n
     
    \n
     
    \n\n
    \n
    \n

    Rencontre du Clu + b Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes les 3 + semaines (environ) et accueille toutes les personnes qui souhaitent déco + uvrir ou approfondir Linux et les Logiciels Libres. Aucune comp + étence n'est demandée.  

    \n

    Pendant ces rencontres\, informelles\, + < + /p>\n

      \n
    • nous accueillons celles et ceu + x qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, la + plupart des fois en "du + al boot"(*)\, ce qui permet de conserver l’ancien système (par exem + ple Windows) et d’utiliser quand même Linux\, en chois + issant au démarrage\,
    • \n
    • nous partage + ons nos recherches (nos difficultés aussi) et nos découvertes\, les nouv + eautés.
    • \n
    \n

    Le Club Linux est également imp + liqué dans une démarche de libération des GAFAM (Google Apple Facebook + Amazon Microsoft) et de promotion de solutions libres comme\, entre autres + \, Wikip + edia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et beau + coup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32925@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260317T153000 +DTEND;TZID=Europe/Paris:20260317T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145437 +UID:32786@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260318T180000 +DTEND;TZID=Europe/Paris:20260318T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053202 +UID:33020@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260318T183000 +DTEND;TZID=Europe/Paris:20260318T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104854 +UID:33573@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260320T134000 +DTEND;TZID=Europe/Paris:20260320T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053517 +UID:33025@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260321T090000 +DTEND;TZID=Europe/Paris:20260321T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053321 +UID:33022@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260321T093000 +DTEND;TZID=Europe/Paris:20260321T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32926@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260324T153000 +DTEND;TZID=Europe/Paris:20260324T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162625 +UID:33449@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260325T140000 +DTEND;TZID=Europe/Paris:20260325T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145438 +UID:32787@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260325T180000 +DTEND;TZID=Europe/Paris:20260325T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053234 +UID:33021@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260325T183000 +DTEND;TZID=Europe/Paris:20260325T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175036 +UID:33245@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260326T093000 +DTEND;TZID=Europe/Paris:20260326T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104855 +UID:33574@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260327T134000 +DTEND;TZID=Europe/Paris:20260327T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175637 +UID:33254@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260327T140000 +DTEND;TZID=Europe/Paris:20260327T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182311 +UID:33387@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260327T143000 +DTEND;TZID=Europe/Paris:20260327T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145507 +UID:32804@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260327T160000 +DTEND;TZID=Europe/Paris:20260327T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053554 +UID:33026@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260328T090000 +DTEND;TZID=Europe/Paris:20260328T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180805 +UID:33274@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260328T093000 +DTEND;TZID=Europe/Paris:20260328T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053623 +UID:33027@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260328T100000 +DTEND;TZID=Europe/Paris:20260328T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250607T063854 +UID:32668@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260328T140000 +DTEND;TZID=Europe/Paris:20260328T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 28 mars 2026 de 14h00 à 18h00**\, dans + la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille.**\ + n\nVous avez envie de découvrir un système d’exploitation libre\, simp + le d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon d + ’utiliser votre ordinateur.\n\nVous vous sentez une affection naissante + pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\n\n + Au programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n\n* + *INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur de + s **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installeron + s ensemble une distribution **GNU/Linux** avec un ensemble de **logiciels + libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ouver + t à tous – accessible aux débutant-e-s**\n\nUne participation de **2 e + uros** est demandée.\n\nL’adhésion à l’association est de **20 euro + s** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’accès] + [3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeuple. + wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:3 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 28 mars 20 + 26 de 14h00 à 18h00\, dans la salle du Foyer du + Peuple 50 rue Brandis 13005 Marseille.

    \n

    Vous avez + envie de découvrir un système d’exploitation libre\, simple d’utilis + ation\, stable\, rapide et sécurisé. Une nouvelle façon d’utiliser vo + tre ordinateur.

    \n

    Vous vous sentez une affection naissante pour le  + Gnou et le Manchot\, les mascottes de GNU/ Linux.

    \n

    Au programme :

    \n

    DÉCOUVE + RTE de l’univers des logiciels libres.

    \n

    INSTALLA + TION d’un environnement GNU/ Linux\, ainsi que le meilleur des +  logiciels libres.

    \n

    Venez avec votre ordinateur\, + nous installerons ensemble une distribution GNU/Linux a + vec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

    \n

    \n

    + Ouvert à tous – accessible aux débutant-e-s

    \n

    Une parti + cipation de 2 euros est demandée.

    \n

    L’adhésion + à l’association est de 20 euros annuelle.(L’adhésio + n n’est pas obligatoire).

    \n

    Plan d’accès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32927@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260331T153000 +DTEND;TZID=Europe/Paris:20260331T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145439 +UID:32788@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260401T180000 +DTEND;TZID=Europe/Paris:20260401T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180256 +UID:33265@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260402T140000 +DTEND;TZID=Europe/Paris:20260402T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104856 +UID:33575@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260403T134000 +DTEND;TZID=Europe/Paris:20260403T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145538 +UID:32814@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260403T170000 +DTEND;TZID=Europe/Paris:20260403T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054042 +UID:33034@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260404T090000 +DTEND;TZID=Europe/Paris:20260404T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150757 +UID:32945@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260404T093000 +DTEND;TZID=Europe/Paris:20260404T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172146 +UID:33135@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260405T100000 +DTEND;TZID=Europe/Paris:20260405T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183047 +UID:33310@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260407T140000 +DTEND;TZID=Europe/Paris:20260407T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32928@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260407T153000 +DTEND;TZID=Europe/Paris:20260407T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053707 +UID:33028@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260407T190000 +DTEND;TZID=Europe/Paris:20260407T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="162" height="162">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145440 +UID:32789@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260408T180000 +DTEND;TZID=Europe/Paris:20260408T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053742 +UID:33029@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260408T193000 +DTEND;TZID=Europe/Paris:20260408T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104857 +UID:33576@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260410T134000 +DTEND;TZID=Europe/Paris:20260410T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181456 +UID:33286@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260410T140000 +DTEND;TZID=Europe/Paris:20260410T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182409 +UID:33397@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260410T143000 +DTEND;TZID=Europe/Paris:20260410T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054120 +UID:33035@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260411T090000 +DTEND;TZID=Europe/Paris:20260411T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035231 +UID:33119@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260411T090000 +DTEND;TZID=Europe/Paris:20260411T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105225 +UID:32599@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260411T133000 +DTEND;TZID=Europe/Paris:20260411T190000 +DESCRIPTION:Le samedi 11 avril 2026 de 13h30 à 19h00.\n\nMJC-EVS du Cheval + Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n         +           [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club + Linux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaines + (environ) et accueille toutes les personnes qui souhaitent découvrir ou + approfondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétence + n'est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous accu + eillons celles et ceux qui cherchent une réponse ou souhaitent découvrir + **Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur + des ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui pe + rmet de conserver l’ancien système (par exemple Windows) et d’utilise + r quand même **Linux**\, en choisissant au démarrage\,\n* nous partageon + s nos recherches (nos difficultés aussi) et nos découvertes\, les nouvea + utés.\n\nLe **Club Linux** est également impliqué dans une démarche de + libération des GAFAM (Google Apple Facebook Amazon Microsoft) et de prom + otion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [**O + penStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S* + *][8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n\ + n\n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https: + //fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multiboo + t\n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[6 + ]: https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: htt + ps://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 11 avril 2026 de 13h30 à 19h00.< + /p>\n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vosg + es\, Wintzenheim\, Grand Est

    \n
    \n\n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n\n
    \n
     
    \n
    \n
     
    \n
    +  
    \n
    \n
     
    + \n
    \n
    \n
     < + /div>\n
    \n
     
    \n
     
    \n\n
    \n
    \n

    Rencontre du C + lub Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes les + 3 semaines (environ) et accueille toutes les personnes qui souhaitent dé + couvrir ou approfondir Linux et les Logiciels Libres. Aucune com + pétence n'est demandée.  

    \n

    Pendant ces rencontres\, informelles\ + , +

    \n
      \n
    • nous accueillons celles et ce + ux qui cherchent une réponse ou souhaitent découvrir Linux et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, l + a plupart des fois en "d + ual boot"(*)\, ce qui permet de conserver l’ancien système (par exe + mple Windows) et d’utiliser quand même Linux\, en choi + sissant au démarrage\,
    • \n
    • nous partag + eons nos recherches (nos difficultés aussi) et nos découvertes\, les nou + veautés.
    • \n
    \n

    Le Club Linux est également im + pliqué dans une démarche de libération des GAFAM (Google Apple Facebook + Amazon Microsoft) et de promotion de solutions libres comme\, entre autre + s\, Wiki + pedia\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et bea + ucoup d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32929@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260414T153000 +DTEND;TZID=Europe/Paris:20260414T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182700 +UID:33301@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260415T140000 +DTEND;TZID=Europe/Paris:20260415T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145441 +UID:32790@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260415T180000 +DTEND;TZID=Europe/Paris:20260415T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053813 +UID:33030@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260415T183000 +DTEND;TZID=Europe/Paris:20260415T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104858 +UID:33577@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260417T134000 +DTEND;TZID=Europe/Paris:20260417T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054157 +UID:33036@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260418T090000 +DTEND;TZID=Europe/Paris:20260418T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054005 +UID:33033@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260418T093000 +DTEND;TZID=Europe/Paris:20260418T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32930@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260421T153000 +DTEND;TZID=Europe/Paris:20260421T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145442 +UID:32791@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260422T180000 +DTEND;TZID=Europe/Paris:20260422T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053841 +UID:33031@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260422T183000 +DTEND;TZID=Europe/Paris:20260422T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175106 +UID:33246@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260423T093000 +DTEND;TZID=Europe/Paris:20260423T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104901 +UID:33578@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260424T134000 +DTEND;TZID=Europe/Paris:20260424T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175707 +UID:33255@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260424T140000 +DTEND;TZID=Europe/Paris:20260424T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182312 +UID:33388@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260424T143000 +DTEND;TZID=Europe/Paris:20260424T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145508 +UID:32805@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260424T160000 +DTEND;TZID=Europe/Paris:20260424T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054237 +UID:33037@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260425T090000 +DTEND;TZID=Europe/Paris:20260425T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180837 +UID:33275@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260425T093000 +DTEND;TZID=Europe/Paris:20260425T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2583;-1.52021 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054306 +UID:33038@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260425T100000 +DTEND;TZID=Europe/Paris:20260425T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250607T064228 +UID:32669@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260425T140000 +DTEND;TZID=Europe/Paris:20260425T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 25 avril 2026 de 14h00 à 18h00**\, dans + la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille.** + \n\nVous avez envie de découvrir un système d’exploitation libre\, sim + ple d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon d + ’utiliser votre ordinateur.\n\nVous vous sentez une affection naissante + pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\n\n + Au programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n\n* + *INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur de + s **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installeron + s ensemble une distribution **GNU/Linux** avec un ensemble de **logiciels + libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ouver + t à tous – accessible aux débutant-e-s**\n\nUne participation de **2 e + uros** est demandée.\n\nL’adhésion à l’association est de **20 euro + s** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’accès] + [3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeuple. + wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:3 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 25 avril 2 + 026 de 14h00 à 18h00\, dans la salle du Foyer du + Peuple 50 rue Brandis 13005 Marseille.

    \n

    Vous avez + envie de découvrir un système d’exploitation libre\, simple d’utili + sation\, stable\, rapide et sécurisé. Une nouvelle façon d’utiliser v + otre ordinateur.

    \n

    Vous vous sentez une affection naissante pour le +  Gnou et le Manchot\, les mascottes de< + strong> GNU/ Linux.

    \n

    Au programme :

    \n

    DÉCOU + VERTE de l’univers des logiciels libres.

    \n

    INSTAL + LATION d’un environnement GNU/ Linux\, ainsi que le meilleur de + s logiciels libres.

    \n

    Venez avec votre ordinateur\ + , nous installerons ensemble une distribution GNU/Linux + avec un ensemble de logiciels libres et gratuits< + /strong> pour une utilisation quotidienne.

    \n

    \n

    Ouvert à tous – accessible + aux débutant-e-s

    \n

    Une participation de 2 euros est demandée.

    \n

    L’adhésion à l’association est de 20 euros annuelle.(L’adhésion n’est pas obligatoire).\n

    Plan d’ac + cès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162626 +UID:33450@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260425T140000 +DTEND;TZID=Europe/Paris:20260425T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32931@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260428T153000 +DTEND;TZID=Europe/Paris:20260428T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145443 +UID:32792@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260429T180000 +DTEND;TZID=Europe/Paris:20260429T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T053921 +UID:33032@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260429T193000 +DTEND;TZID=Europe/Paris:20260429T220000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise ce mercredi une permanence *Logiciels Libres* ouverte + à tous\, membre de l'association ou non\, débutant ou expert\, curieux + ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une démar + che d’accompagnement des jeunes aux pratiques actuelles pour l’informa + tique et le numérique:\n\n* Lieu d’accès public à Internet ( 5 postes + avec Wifi libre et gratuit )\n* Web collaboratif et citoyen pour que chac + un puisse trouver sa place et passer du rôle de simple usager à celui d + ’initiateur de processus collaboratif\n* Éducation à l’information p + ar les nouveaux médias ( diffusion par le biais du numérique )\n* Logici + els libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidéo\, + musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu sur + rendez-vous\, tous les samedis matins hors vacances scolaires à la Maison + communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ\n\ + n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso.fr\ + n +GEO:50.6216;3.14488 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise ce mercredi une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Le Centre d’Infos Jeunes a mis en plac + e une démarche d’accompagnement des jeunes aux pratiques actuelles pour + l’informatique et le numérique :

    \n
      \n
    • Lieu d’accès public + à Internet ( 5 postes avec Wifi libre et gratuit )
    • \n
    • Web collabo + ratif et citoyen pour que chacun puisse trouver sa place et passer du rôl + e de simple usager à celui d’initiateur de processus collaboratif
    • \ + n
    • Éducation à l’information par les nouveaux médias ( diffusion pa + r le biais du numérique )
    • \n
    • Logiciels libres ( bureautique\, site + s\, blogs\, cloud\, infographie et vidéo\, musique\, réseaux sociaux\, c + hat\, … ).
    • \n
    \n

    Cette rencontre a lieu sur rendez-vous\, tous + les samedis matins hors vacances scolaires à la Maison communale de la f + erme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104901 +UID:33579@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260501T134000 +DTEND;TZID=Europe/Paris:20260501T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145539 +UID:32815@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260501T170000 +DTEND;TZID=Europe/Paris:20260501T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054707 +UID:33044@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260502T090000 +DTEND;TZID=Europe/Paris:20260502T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150759 +UID:32946@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260502T093000 +DTEND;TZID=Europe/Paris:20260502T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250520T105251 +UID:32600@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260502T133000 +DTEND;TZID=Europe/Paris:20260502T190000 +DESCRIPTION:Le samedi 2 mai 2026 de 13h30 à 19h00.\n\nMJC-EVS du Cheval Bl + anc\, 1 faubourg des Vosges\, Wintzenheim\, Grand Est\n\n           +         [Leaflet][1] \\| © [OpenStreetMap][2] Rencontre du **Club Lin + ux de la MJC-EVS du Cheval Blanc** qui se réunit toutes les 3 semaines (e + nviron) et accueille toutes les personnes qui souhaitent découvrir ou app + rofondir [**Linux**][3] et les **Logiciels Libres**. Aucune compétence n' + est demandée.\n\nPendant ces rencontres\, informelles\,\n\n* nous accueil + lons celles et ceux qui cherchent une réponse ou souhaitent découvrir ** + Linux** et les **Logiciels Libres**\,\n* nous installons **Linux** sur des + ordinateurs\, la plupart des fois en "[dual boot][4]"(\\*)\, ce qui perme + t de conserver l’ancien système (par exemple Windows) et d’utiliser q + uand même **Linux**\, en choisissant au démarrage\,\n* nous partageons n + os recherches (nos difficultés aussi) et nos découvertes\, les nouveaut + és.\n\nLe **Club Linux** est également impliqué dans une démarche de l + ibération des GAFAM (Google Apple Facebook Amazon Microsoft) et de promot + ion de solutions libres comme\, entre autres\, [**Wikipedia**][5]\, [**Ope + nStreetMap**][6]\, les [**Framatrucs**][7] (\\*)\, les [**C.H.A.T.O.N.S**] + [8] (\\*) et beaucoup d’autres.\n\n(\\*): mais on vous expliquera\n\n\n\ + n[1]: https://leafletjs.com\n[2]: https://osm.org/copyright\n[3]: https:// + fr.wikipedia.org/wiki/Linux\n[4]: https://fr.wikipedia.org/wiki/Multiboot\ + n[5]: https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal\n[6]: + https://www.openstreetmap.fr/\n[7]: https://framasoft.org/fr/\n[8]: https + ://chatons.org/\n +GEO:48.0708;7.29853 +LOCATION:MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\, Wintzenheim\, Gr + and Est\, France +ORGANIZER:mailto:linux@mjc-chevalblanc.fr +SEQUENCE:5 +SUMMARY:Réunion du Club Linux +URL;VALUE=URI:https://mjc-chevalblanc.fr/club-linux +CATEGORIES:club-linux +CATEGORIES:logiciels-libres +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:réunion +CATEGORIES:mjc-du-cheval-blanc +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le samedi 2 mai 2026 de 13h30 à 19h00.

    + \n

    MJC-EVS du Cheval Blanc\, 1 faubourg des Vosges\ + , Wintzenheim\, Grand Est

    \n
    \n
    \n
    \n
    \n
     
    \n
     
    \n
    \n
    \n
    \n
    \ + n
    \n
     
    \n
    \n
     
    \n
     \n
    \n
     
    \n\n
    \n
     
    \n
    \n
     
    \n
     
    \n + \n
    \n
    \n
    \n

    Rencontre du Club + Linux de la MJC-EVS du Cheval Blanc qui se réunit toutes les 3 s + emaines (environ) et accueille toutes les personnes qui souhaitent découv + rir ou approfondir L + inux et les Logiciels Libres. Aucune compét + ence n'est demandée.  

    \n

    Pendant ces rencontres\, informelles\,

    + \n
      \n
    • nous accueillons celles et ceux q + ui cherchent une réponse ou souhaitent découvrir Linux + et les Logiciels Libres\,
    • \n
    • nous installons Linux sur des ordinateurs\, la pl + upart des fois en "dual + boot"(*)\, ce qui permet de conserver l’ancien système (par exemple + Windows) et d’utiliser quand même Linux\, en choisiss + ant au démarrage\,
    • \n
    • nous partageons + nos recherches (nos difficultés aussi) et nos découvertes\, les nouveau + tés.
    • \n
    \n

    Le Club Linux est également impliq + ué dans une démarche de libération des GAFAM (Google Apple Facebook Ama + zon Microsoft) et de promotion de solutions libres comme\, entre autres\, + Wikipedi + a\, OpenStreetMap\, les Framatrucs (*)\, les C.H.A.T.O.N.S (*) et beaucou + p d’autres.

    \n

    (*) : mais on vous expliquera

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172147 +UID:33136@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260503T100000 +DTEND;TZID=Europe/Paris:20260503T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183116 +UID:33311@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260505T140000 +DTEND;TZID=Europe/Paris:20260505T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32932@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260505T153000 +DTEND;TZID=Europe/Paris:20260505T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054403 +UID:33039@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260505T190000 +DTEND;TZID=Europe/Paris:20260505T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="166" height="166">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145444 +UID:32793@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260506T180000 +DTEND;TZID=Europe/Paris:20260506T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180327 +UID:33266@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260507T140000 +DTEND;TZID=Europe/Paris:20260507T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104902 +UID:33580@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260508T134000 +DTEND;TZID=Europe/Paris:20260508T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182410 +UID:33398@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260508T143000 +DTEND;TZID=Europe/Paris:20260508T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054743 +UID:33045@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260509T090000 +DTEND;TZID=Europe/Paris:20260509T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035232 +UID:33120@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260509T090000 +DTEND;TZID=Europe/Paris:20260509T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181529 +UID:33287@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260512T140000 +DTEND;TZID=Europe/Paris:20260512T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32933@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260512T153000 +DTEND;TZID=Europe/Paris:20260512T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182728 +UID:33302@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260513T140000 +DTEND;TZID=Europe/Paris:20260513T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145445 +UID:32794@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260513T180000 +DTEND;TZID=Europe/Paris:20260513T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054442 +UID:33040@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260513T193000 +DTEND;TZID=Europe/Paris:20260513T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104903 +UID:33581@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260515T134000 +DTEND;TZID=Europe/Paris:20260515T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054818 +UID:33046@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260516T090000 +DTEND;TZID=Europe/Paris:20260516T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054629 +UID:33043@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260516T093000 +DTEND;TZID=Europe/Paris:20260516T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32934@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260519T153000 +DTEND;TZID=Europe/Paris:20260519T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145446 +UID:32795@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260520T180000 +DTEND;TZID=Europe/Paris:20260520T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054516 +UID:33041@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260520T183000 +DTEND;TZID=Europe/Paris:20260520T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175142 +UID:33247@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260521T093000 +DTEND;TZID=Europe/Paris:20260521T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104904 +UID:33582@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260522T134000 +DTEND;TZID=Europe/Paris:20260522T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182313 +UID:33389@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260522T143000 +DTEND;TZID=Europe/Paris:20260522T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145509 +UID:32806@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260522T160000 +DTEND;TZID=Europe/Paris:20260522T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054855 +UID:33047@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260523T090000 +DTEND;TZID=Europe/Paris:20260523T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180909 +UID:33276@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260523T093000 +DTEND;TZID=Europe/Paris:20260523T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2582;-1.52031 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162627 +UID:33451@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260525T140000 +DTEND;TZID=Europe/Paris:20260525T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32935@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260526T153000 +DTEND;TZID=Europe/Paris:20260526T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145447 +UID:32796@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260527T180000 +DTEND;TZID=Europe/Paris:20260527T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054546 +UID:33042@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260527T183000 +DTEND;TZID=Europe/Paris:20260527T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104905 +UID:33583@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260529T134000 +DTEND;TZID=Europe/Paris:20260529T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175739 +UID:33256@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260529T140000 +DTEND;TZID=Europe/Paris:20260529T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T054939 +UID:33048@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260530T090000 +DTEND;TZID=Europe/Paris:20260530T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055006 +UID:33049@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260530T100000 +DTEND;TZID=Europe/Paris:20260530T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250607T064630 +UID:32670@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260530T140000 +DTEND;TZID=Europe/Paris:20260530T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 30 mai 2026 de 14h00 à 18h00**\, dans l + a salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille.**\n + \nVous avez envie de découvrir un système d’exploitation libre\, simpl + e d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon d + ’utiliser votre ordinateur.\n\nVous vous sentez une affection naissante + pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\n\n + Au programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n\n* + *INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur de + s **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installeron + s ensemble une distribution **GNU/Linux** avec un ensemble de **logiciels + libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ouver + t à tous – accessible aux débutant-e-s**\n\nUne participation de **2 e + uros** est demandée.\n\nL’adhésion à l’association est de **20 euro + s** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’accès] + [3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeuple. + wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:3 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-partie +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 30 mai 202 + 6 de 14h00 à 18h00\, dans la salle du Foyer du < + a href="https://foyerdupeuple.wordpress.com/" target="_blank" rel="noopene + r">Peuple 50 rue Brandis 13005 Marseille.

    \n

    Vous avez e + nvie de découvrir un système d’exploitation libre\, simple d’utilisa + tion\, stable\, rapide et sécurisé. Une nouvelle façon d’utiliser vot + re ordinateur.

    \n

    Vous vous sentez une affection naissante pour le < + strong>Gnou et le Manchot\, les mascottes de GNU/ Linux.

    \n

    Au programme :

    \n

    DÉCOUVER + TE de l’univers des logiciels libres.

    \n

    INSTALLAT + ION d’un environnement GNU/ Linux\, ainsi que le meilleur des  + logiciels libres.

    \n

    Venez avec votre ordinateur\, n + ous installerons ensemble une distribution GNU/Linux ave + c un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

    \n

    \n

    Ouvert à tous – accessible aux débutant-e-s

    \n

    Une par + ticipation de 2 euros est demandée.

    \n

    L’adhésio + n à l’association est de 20 euros annuelle.(L’adhés + ion n’est pas obligatoire).

    \n

    Plan d’accès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183140 +UID:33312@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260602T140000 +DTEND;TZID=Europe/Paris:20260602T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32936@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260602T153000 +DTEND;TZID=Europe/Paris:20260602T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055046 +UID:33050@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260602T190000 +DTEND;TZID=Europe/Paris:20260602T220000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] est présent t + ous les premiers mardis du mois aux Petites Cantines\, à Croix.\n\nAu cou + rs de ces séances\, nous vous proposons d'installer le système d'exploit + ation libre Linux et/ou les logiciels libres que vous utilisez sur votre o + rdinateur.\n\n\n\nSi votre ordinateur est récent et que vous vous voulez + vous donner les moyens de maîtriser les informations qui y entrent et en + sortent\, ou si votre ordinateur devient poussif...\n\nPensez à nous rend + re visite\, c'est gratuit et on vous donnera toutes les clés pour que vou + s puissiez faire le choix qui vous convient 😁\n\nCette manifestation a + lieu aux [Petites Cantines de Croix][2]. au 3 Place des Martyrs de la rés + istance\, Croix.\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://lille.lespe + titescantines.org\n +GEO:50.675;3.14552 +LOCATION:Les Petites Cantines\, 3 place des Martyrs\, Croix\, Hauts-de-Fran + ce\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier Local-Low-Tech +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais est présent tous les premiers mardis d + u mois aux Petites Cantines\, à Croix.

    \n

    Au cours de ces séances\, + nous vous proposons d'installer le système d'exploitation libre Linux et + /ou les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    < + img style="display: block\; margin-left: auto\; margin-right: auto\;" src= + "https://clx.asso.fr/spip/local/cache-vignettes/L110xH110/rubon58-06d6b.pn + g?1742668254" alt="" width="183" height="183">

    \n

    Si votre ordinateur + est récent et que vous vous voulez vous donner les moyens de maîtriser + les informations qui y entrent et en sortent\, ou si votre ordinateur devi + ent poussif ...

    \n

    Pensez à nous rendre visite\, c'est gratuit et on + vous donnera toutes les clés pour que vous puissiez faire le choix qui v + ous convient 😁

    \n

    Cette manifestation a lieu aux Petites Cantines de Croix. au 3 Place de + s Martyrs de la résistance\, Croix.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145448 +UID:32797@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260603T180000 +DTEND;TZID=Europe/Paris:20260603T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180357 +UID:33267@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260604T140000 +DTEND;TZID=Europe/Paris:20260604T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251007T104906 +UID:33584@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260605T134000 +DTEND;TZID=Europe/Paris:20260605T161500 +DESCRIPTION:\n\nTous les vendredis après-midi\, venez nous rencontrer lor + s de nos cafés-conseils et repairs-cafés!\n\nNous faisons découvrir les + logiciels et systèmes libres (et gratuits !)\n\nPlus de Télémétrie\, + de PC ralentis\, une meilleure stabilité et sécurité\,\n\nMoins de viru + s et finie l'obsolescence programmée !\n\n +GEO:48.6422;-3.71692 +LOCATION:Salle Steredenn\, 9 rue du 19 Mars 1962\, Lanmeur\, Bretagne\, Fra + nce +ORGANIZER:mailto:ulamir.association.lanmeur@wanadoo.fr +SEQUENCE:1 +SUMMARY:Adieu Windows\, bonjour le libre ! +URL;VALUE=URI:https://ulamir-cpie.bzh +CATEGORIES:ulamir +CATEGORIES:cpie +CATEGORIES:repair-café +CATEGORIES:cyber-sécurité +CATEGORIES:windows10 +CATEGORIES:libre +CATEGORIES:linux +CATEGORIES:adieu-windows +CATEGORIES:bonnes-pratiques +CATEGORIES:open-source +CATEGORIES:conseils-numeriques +CATEGORIES:ulamir-cpie +X-ALT-DESC;FMTTYPE=text/html:

    \n

    + Tous les vendredis après-midi\, venez nous rencontrer lors de nos cafés + -conseils et repairs-cafés!
     
    Nous faisons découvrir les logiciel + s et systèmes libres (et gratuits !)
     
    Plus de Télémétrie\, de + PC ralentis\, une meilleure stabilité et sécurité\,
     
    Moins de v + irus et finie l'obsolescence programmée !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145540 +UID:32816@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260605T170000 +DTEND;TZID=Europe/Paris:20260605T190000 +DESCRIPTION:Le premier vendredi de chaque mois\, l'association OISUX propos + e une rencontre pour partager des connaissances\, des savoir-faire\, des q + uestions autour de l'utilisation des logiciels libres\, que ce soit à pro + pos du système d'exploitation Linux\, des applications libres ou des serv + ices en ligne libres\n\nC'est l'occasion aussi de mettre en avant l'action + des associations fédératrices telles que l'April ou Framasoft\, dont no + us sommes adhérents et dont nous soutenons les initiatives avec grande re + connaissance.\n\nL'atelier aura lieu dans les locaux de la mairie.\n\n\n\n +GEO:49.5016;1.99752 +LOCATION:Mairie\, rue de Dieppe\, Milly-sur-Thérain\, Hauts-de-France\, Fr + ance +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:2 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:rencontre +CATEGORIES:atelier +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxLe premier vendredi de ch + aque mois\, l'association OISUX propose une rencontre pour partager des co + nnaissances\, des savoir-faire\, des questions autour de l'utilisation des + logiciels libres\, que ce soit à propos du système d'exploitation Linux + \, des applications libres ou des services en ligne libres

    \n

    C'est l + 'occasion aussi de mettre en avant l'action des associations fédératrice + s telles que l'April ou Framasoft\, dont nous sommes adhérents et dont no + us soutenons les initiatives avec grande reconnaissance.

    \n

    L'atelier + aura lieu dans les locaux de la mairie.

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055406 +UID:33055@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260606T090000 +DTEND;TZID=Europe/Paris:20260606T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150801 +UID:32947@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260606T093000 +DTEND;TZID=Europe/Paris:20260606T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172148 +UID:33137@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260607T100000 +DTEND;TZID=Europe/Paris:20260607T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250718T010218 +UID:32870@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260609T090000 +DTEND;TZID=Europe/Paris:20260610T170000 +DESCRIPTION:OW2con est la conférence open source européenne organisée pa + r OW2. Rencontre internationale de contributeurs\, éditeurs\, ESN\, acad + émiques\, et organisations à but non lucratif\, OW2con rassemble l'ensem + ble de la communauté open source.\n\nLes membres de la communauté OW2 et + participants extérieurs sont les bienvenus pour se retrouver lors de ces + deux journées offrant des présentations variées\, allant des sujets te + ch aux enjeux business et éthiques de l'open source\, ainsi qu'un focus s + ur le thème de l'année (thème 2026 à préciser ultérieurement. C'est + également une occasion unique de nouer des contacts avec ses pairs au tra + vers de moments conviviaux de networking.\n\nLa conférence est ouverte à + tous\, l’évènement est gratuit et les conférences ont lieu en anglai + s.\n\n +GEO:48.8257;2.32324 +LOCATION:Orange Gardens\, Paris Châtillon\, Île-de-France\, France +ORGANIZER:mailto:event-team@ow2.org +SEQUENCE:3 +SUMMARY:OW2con'26 +URL;VALUE=URI:https://www.ow2con.org +CATEGORIES:ow2 +CATEGORIES:communauté +CATEGORIES:europe +CATEGORIES:souveraineté +X-ALT-DESC;FMTTYPE=text/html:

    OW2con est la conférence open source europ + éenne organisée par OW2. Rencontre internationale de contributeurs\, éd + iteurs\, ESN\, académiques\, et organisations à but non lucratif\, OW2co + n rassemble l'ensemble de la communauté open source.

    \n

    Les membres + de la communauté OW2 et participants extérieurs sont les bienvenus pour + se retrouver lors de ces deux journées offrant des présentations variée + s\, allant des sujets tech aux enjeux business et éthiques de l'open sour + ce\, ainsi qu'un focus sur le thème de l'année (thème 2026 à préciser + ultérieurement. C'est également une occasion unique de nouer des contac + ts avec ses pairs au travers de moments conviviaux de networking.

    \n

    + La conférence est ouverte à tous\, l’évènement est gratuit et les co + nférences ont lieu en anglais.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32937@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260609T153000 +DTEND;TZID=Europe/Paris:20260609T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145449 +UID:32798@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260610T180000 +DTEND;TZID=Europe/Paris:20260610T200000 +DESCRIPTION:Chaque mercredi soir\, l'association propose une rencontre pour + partager des connaissances\, des savoir-faire\, des questions autour de l + 'utilisation des logiciels libres\, que ce soit à propos du système d'ex + ploitation Linux\, des applications libres ou des services en ligne libres + .\n\nC'est l'occasion aussi de mettre en avant l'action des associations f + édératrices telles que l'April ou Framasoft\, dont nous sommes adhérent + s et dont nous soutenons les initiatives avec grande reconnaissance.\n\n +GEO:49.4565;2.06237 +LOCATION:Ecospace\, 136 rue de la Mie au Roy\, Beauvais\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:rencontre +CATEGORIES:sensibilisation +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    OisuxChaque mercredi soir\, l' + association propose une rencontre pour partager des connaissances\, des sa + voir-faire\, des questions autour de l'utilisation des logiciels libres\, + que ce soit à propos du système d'exploitation Linux\, des applications + libres ou des services en ligne libres.

    \n

    C'est l'occasion aussi de + mettre en avant l'action des associations fédératrices telles que l'Apri + l ou Framasoft\, dont nous sommes adhérents et dont nous soutenons les in + itiatives avec grande reconnaissance.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055125 +UID:33051@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260610T193000 +DTEND;TZID=Europe/Paris:20260610T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nLes + Mercredi Linux sont des réunions mensuelles désormais organisées le mer + credi. Ces réunions sont l’occasion de se rencontrer\, d’échanger de + s idées ou des conseils.\n\nRégulièrement\, des présentations thémati + ques sont réalisées lors de ces réunions\, bien sûr\, toujours autour + des logiciels libres.\n\nDurant cette permanence\, vous pourrez trouver de + s réponses aux questions que vous vous posez au sujet du Logiciel Libre\, + ainsi que de l'aide pour résoudre vos problèmes d'installation\, de con + figuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporte + r votre ordinateur\, afin que les autres participants puissent vous aider. + \n\nCette permanence a lieu à la [Médiathèque Cultiv'Art](/\\%22https:/ + mediatheques.pevelecarembault.fr/mediatheque-cappelle-en-pevele/#149485304 + 8594-67fa4d77-24830a45-654bc562-0ee4\\%22)\, 16 rue de la Ladrerie\, Cappe + lle en Pévèle\n\n\n\n[1]: http://clx.asso.fr\n +GEO:50.5069;3.17192 +LOCATION:Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappelle en Pé + vèle\, Hauts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:http://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Les Mercredi Linux sont des réunions me + nsuelles désormais organisées le mercredi. Ces réunions sont l’occasi + on de se rencontrer\, d’échanger des idées ou des conseils.

    \n

    R + égulièrement\, des présentations thématiques sont réalisées lors de + ces réunions\, bien sûr\, toujours autour des logiciels libres.

    \n

    + Durant cette permanence\, vous pourrez trouver des réponses aux questions + que vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour + résoudre vos problèmes d'installation\, de configuration et d'utilisati + on de Logiciels Libres. N'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.

    \n

    Cette permanence + a lieu à la Médiathèque Cultiv'Art\, 16 rue de la Ladrerie\, Cappel + le en Pévèle

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182411 +UID:33399@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260612T143000 +DTEND;TZID=Europe/Paris:20260612T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055443 +UID:33056@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260613T090000 +DTEND;TZID=Europe/Paris:20260613T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035233 +UID:33121@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260613T090000 +DTEND;TZID=Europe/Paris:20260613T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250806T153908 +UID:32938@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260616T153000 +DTEND;TZID=Europe/Paris:20260616T170000 +DESCRIPTION:L'émission *Libre à vous!* de l'April est diffusée chaque ma + rdi de 15 h 30 à 17 h sur radio *Cause Commune* sur la bande FM en régio + n parisienne (93.1) et sur le [site web de la radio][1].\n\nLe podcast de + l'émission\, les podcasts par sujets traités et les références citées + sont disponibles dès que possible sur le [site consacré à l'émission] + [2]\, quelques jours après l'émission en général.\n\n**Les ambitions d + e l'émission *Libre à vous!***\n\nDécouvrez les enjeux et l’actualit + é du logiciel libre\, des musiques sous licences libres\, et prenez le co + ntrôle de vos libertés informatiques.\n\nDonner à chacun et chacune\, d + e manière simple et accessible\, les clefs pour comprendre les enjeux mai + s aussi proposer des moyens d'action\, tels sont les objectifs de cette é + mission hebdomadaire.\n\nL'émission dispose:\n\n* d'un [flux RSS compatib + le avec la baladodiffusion][3]\n* d'une [lettre d'information à laquelle + vous pouvez vous inscrire][4] (pour recevoir les annonces des podcasts\, d + es émissions à venir et toute autre actualité en lien avec l'émission) + \n* d'un [salon dédié sur le webchat de la radio][5]\n\n\n\n\n\n[1]: htt + ps://cause-commune.fm\n[2]: https://www.libreavous.org\n[3]: https://libre + avous.org/rss\n[4]: https://www.libreavous.org/listes-de-diffusion\n[5]: h + ttps://chat.libratoi.org/channel/libreavous\n +LOCATION:Radio Cause Commune\, Internet +ORGANIZER:mailto:bonjour@libreavous.org +SEQUENCE:1 +SUMMARY:Émission «Libre à vous!» +URL;VALUE=URI:https://www.libreavous.org +CATEGORIES:april +CATEGORIES:radio +CATEGORIES:cause-commune +CATEGORIES:libre-à-vous +X-ALT-DESC;FMTTYPE=text/html:

    
+ Accueil L'émission Libre à vous! de l'April est diffusée cha + que mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande + FM en région parisienne (93.1) et sur le site web de la radio.

    \n

    Le podcast de l'émission\, les podc + asts par sujets traités et les références citées sont disponibles dès + que possible sur le site consacré + à l'émission\, quelques jours après l'émission en général.

    \n +

    Les ambitions de l'émission Libre à vous!

    \n

    Découvr + ez les enjeux et l’actualité du logiciel libre\, des musiques sous lice + nces libres\, et prenez le contrôle de vos libertés informatiques.

    \n +

    Donner à chacun et chacune\, de manière simple et accessible\, les cl + efs pour comprendre les enjeux mais aussi proposer des moyens d'action\, t + els sont les objectifs de cette émission hebdomadaire.

    \n

    L'émissio + n dispose:

    \n\n

    Photo d'illustration de l'émission

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182755 +UID:33303@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260617T140000 +DTEND;TZID=Europe/Paris:20260617T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055157 +UID:33052@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260617T183000 +DTEND;TZID=Europe/Paris:20260617T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** tout cela au + tour d'un moment convivial.\n\nCette permanence a lieu au préfabriqué à + côté de l'école au 20 rue de Bouvincourt\, Moncheaux\n\n\n\n[1]: http: + //clx.asso.fr\n +GEO:50.4542;3.08393 +LOCATION:Ecole de Moncheaux\, 20 rue de Bouvincourt\, Moncheaux\, Hauts-de- + France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre tout cela autour d'un momen + t convivial.

    \n

    Cette permanence a lieu au préfabriqué à côté de + l'école au 20 rue de Bouvincourt\, Moncheaux

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055523 +UID:33057@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260620T090000 +DTEND;TZID=Europe/Paris:20260620T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055326 +UID:33054@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260620T093000 +DTEND;TZID=Europe/Paris:20260620T120000 +DESCRIPTION:Dans le cadre de la stratégie Rev3 de la ville de Fourmies est + né le Central\, Carrefour de la Résilience.\n\nA ce titre\, [l'Associat + ion Club Linux Nord Pas de Calais][1] organise un atelier de réemploi d'o + rdinateurs.\n\n\n\nDe 9h30 à 12h00\, venez découvrir les logiciels libre + s et installer Linux Mint ou Mageia pour donner un coup de jeune à votre + ordinateur.\n\nMais ce sera aussi si besoin l'iccasion d'effectuer des tra + vaux de maintenance\, de sauvegarde ou de réparation.\n\nCette manifestat + ion a lieu au [Tiers-Lieu Le Central][2] à Fourmies\n\n\n\n[1]: https://c + lx.asso.fr\n[2]: https://lecentral.fourmies.fr/atelier-donnez-une-seconde- + vie-a-vos-pc/\n +GEO:50.0158;4.04528 +LOCATION:Le Central\, 42 rue Saint-Louis\, Fourmies\, Hauts-de-France\, Fra + nce +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Atelier « Donnez une seconde vie à vos ordinateurs» +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linuxmint +CATEGORIES:mageia +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Dans le cadre de la stratégie Rev3 de la v + ille de Fourmies est né le Central\, Carrefour de la Résilience.

    \n

    A ce titre\, l'Association Club Linux Nord + Pas de Calais organise un atelier de réemploi d'ordinateurs.

    \n

    +

    \n

    De 9h30 à 12h00\, + venez découvrir les logiciels libres et installer Linux Mint ou Mageia p + our donner un coup de jeune à votre ordinateur.

    \n

    Mais ce sera auss + i si besoin l'iccasion d'effectuer des travaux de maintenance\, de sauvega + rde ou de réparation.

    \n

    Cette manifestation a lieu au Tiers- + Lieu Le Central à Fourmies

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055235 +UID:33053@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260624T183000 +DTEND;TZID=Europe/Paris:20260624T233000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] organise chaqu + e mois une permanence *Logiciels Libres* ouverte à tous\, membre de l'ass + ociation ou non\, débutant ou expert\, curieux ou passionné.\n\n\n\nDura + nt cette permanence\, vous pourrez trouver des réponses aux questions que + vous vous posez au sujet du Logiciel Libre\, ainsi que de l'aide pour ré + soudre vos problèmes d'installation\, de configuration et d'utilisation d + e Logiciels Libres.\n\nN'hésitez pas à apporter votre ordinateur\, afin + que les autres participants puissent vous aider.\n\nDans une salle équip + ée d'un tableau blanc et d'un vidéoprojecteur\, se dérouleront fréquem + ment des ateliers\, des initiations\, des discussions\, des tests\, des d + émonstrations\, de l'entraide abordant le **logiciel libre** et de la dé + gustation de bières.\n\nCette permanence a lieu à [l'EPN (Espace Public + Numérique)][2]\, 311 rue Salvador Allende à Cysoing.\n\n\n\n[1]: http:// + clx.asso.fr\n[2]: https://epn.pevelecarembault.fr/epn-de-cysoing/#15415844 + 07821-aea5a232-d5cf17d7-34ef7c86-0724/\n +GEO:50.5709;3.2155 +LOCATION:Espace Public Numérique\, 311 rue Salvador Allende\, Cysoing\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Mercredis Linux +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais organise chaque mois une permanence + Logiciels Libres ouverte à tous\, membre de l'association ou non\, d + ébutant ou expert\, curieux ou passionné.

    \n

    \n

    Durant cette permanence\, vous pourrez t + rouver des réponses aux questions que vous vous posez au sujet du Logicie + l Libre\, ainsi que de l'aide pour résoudre vos problèmes d'installation + \, de configuration et d'utilisation de Logiciels Libres.

    \n

    N'hésit + ez pas à apporter votre ordinateur\, afin que les autres participants pui + ssent vous aider.

    \n

    Dans une salle équipée d'un tableau blanc et d + 'un vidéoprojecteur\, se dérouleront fréquemment des ateliers\, des ini + tiations\, des discussions\, des tests\, des démonstrations\, de l'entrai + de abordant le logiciel libre et de la dégustation de bi + ères.

    \n

    Cette permanence a lieu à l + 'EPN (Espace Public Numérique)\, 311 rue Salvador Allende à Cysoing. +

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175208 +UID:33248@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260625T093000 +DTEND;TZID=Europe/Paris:20260625T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162628 +UID:33452@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260625T140000 +DTEND;TZID=Europe/Paris:20260625T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175821 +UID:33257@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260626T140000 +DTEND;TZID=Europe/Paris:20260626T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182314 +UID:33390@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260626T143000 +DTEND;TZID=Europe/Paris:20260626T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250707T145510 +UID:32807@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260626T160000 +DTEND;TZID=Europe/Paris:20260626T180000 +DESCRIPTION:Tous les 4èmes vendredis après-midi du mois\, l'association p + ropose une rencontre pour partager des connaissances\, des savoir-faire\, + des questions autour de l'utilisation des logiciels libres\, que ce soit + à propos du système d'exploitation Linux\, des applications libres ou de + s services en ligne libres.\n\nC'est l'occasion aussi de mettre en avant l + 'action des associations fédératrices telles que l'April ou Framasoft\, + dont nous sommes adhérents et dont nous soutenons les initiatives avec gr + ande reconnaissance.\n\n +GEO:49.3149;2.33867 +LOCATION:Médiathèque Municipale de Bury\, 110 rue Pillon Crouzet\, Bury\, + Hauts-de-France\, France +ORGANIZER:mailto:contact@oisux.org +SEQUENCE:1 +SUMMARY:Sensibilisation et partage autour du Libre +URL;VALUE=URI:https://www.oisux.org +CATEGORIES:oisux +CATEGORIES:sensibilisation +CATEGORIES:rencontre +CATEGORIES:logiciels-libres +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Oisux
+ Tous les 4èmes vendredis après-midi du mois\, l'association propose un + e rencontre pour partager des connaissances\, des savoir-faire\, des quest + ions autour de l'utilisation des logiciels libres\, que ce soit à propos + du système d'exploitation Linux\, des applications libres ou des services + en ligne libres.

    \n

    C'est l'occasion aussi de mettre en avant l'act + ion des associations fédératrices telles que l'April ou Framasoft\, dont + nous sommes adhérents et dont nous soutenons les initiatives avec grande + reconnaissance.

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055600 +UID:33058@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260627T090000 +DTEND;TZID=Europe/Paris:20260627T120000 +DESCRIPTION:L'[OMJC][1] organise avec [l'Association Club Linux Nord Pas de + Calais][2] organise chaque samedi une permanence *Logiciels Libres* ouver + te à tous\, membre de l'association ou non\, débutant ou expert\, curieu + x ou passionné.\n\n\n\nLe Centre d’Infos Jeunes a mis en place une dém + arche d’accompagnement des jeunes aux pratiques actuelles pour l’infor + matique et le numérique: \\* Lieu d’accès public à Internet ( 5 poste + s avec Wifi libre et gratuit ) \\* Web collaboratif et citoyen pour que ch + acun puisse trouver sa place et passer du rôle de simple usager à celui + d’initiateur de processus collaboratif \\* Éducation à l’information + par les nouveaux médias ( diffusion par le biais du numérique ) \\* Log + iciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et vidé + o\, musique\, réseaux sociaux\, chat\, … ).\n\nCette rencontre a lieu s + ur rendez-vous\, tous les samedis matins hors vacances scolaires à la Mai + son communale de la ferme Dupire\, rue Yves Decugis à VILLENEUVE D’ASCQ + \n\n\n\n[1]: https://www.omjc-info.fr/atelier-prtic\n[2]: http://clx.asso. + fr\n +GEO:50.6185;3.14108 +LOCATION:OMJC\, rue Yves Decugis\, Villeneuve d’Ascq\, Hauts-de-France\, + France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:3 +SUMMARY:Ateliers "Libre à vous" +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:omjc +CATEGORIES:clx +CATEGORIES:permanence +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:atelier +X-ALT-DESC;FMTTYPE=text/html:

    L'OMJC organise avec l'Association + Club Linux Nord Pas de Calais organise chaque samedi une permanence Logiciels Libres ouverte à tous\, membre de l'association ou non\, + débutant ou expert\, curieux ou passionné.

    \n

    
+

    \n

    Le Centre d’Infos Jeunes a mis en pl + ace une démarche d’accompagnement des jeunes aux pratiques actuelles po + ur l’informatique et le numérique : * Lieu d’accès public à Interne + t ( 5 postes avec Wifi libre et gratuit ) * Web collaboratif et citoyen po + ur que chacun puisse trouver sa place et passer du rôle de simple usager + à celui d’initiateur de processus collaboratif * Éducation à l’info + rmation par les nouveaux médias ( diffusion par le biais du numérique ) + * Logiciels libres ( bureautique\, sites\, blogs\, cloud\, infographie et + vidéo\, musique\, réseaux sociaux\, chat\, … ).

    \n

    Cette rencontr + e a lieu sur rendez-vous\, tous les samedis matins hors vacances scolaires + à la Maison communale de la ferme Dupire\, rue Yves Decugis à VILLENEUV + E D’ASCQ

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180943 +UID:33277@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260627T093000 +DTEND;TZID=Europe/Paris:20260627T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2582;-1.52031 +LOCATION:Maison de quartier la Locomotive\, 109 avenue de la gare de Saint- + Joseph\, Nantes\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250810T055633 +UID:33059@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260627T100000 +DTEND;TZID=Europe/Paris:20260627T120000 +DESCRIPTION:[L'Association Club Linux Nord Pas de Calais][1] co-organise l' + atelier numérique citoyen tous les derniers samedis du mois\, à Wimille. + \n\n\n\nLes petits déjeuners du libre consistent à un temps d’échange + convivial autour du numérique\, de l’informatique\, dit libre et éthi + que.\n\nAu cours de ces séances\, nous vous proposons d'installer le syst + ème d'exploitation libre Linux et/ou les logiciels libres que vous utilis + ez sur votre ordinateur.\n\nSi votre ordinateur est récent et que vous vo + us voulez vous donner les moyens de maîtriser les informations qui y entr + ent et en sortent\, ou si votre ordinateur devient poussif...\n\nPensez à + nous rendre visite\, c'est gratuit et on vous donnera toutes les clés po + ur que vous puissiez faire le choix qui vous convient 😁\n\nCette manife + station a lieu à [l'atelier numérique citoyen][2]\, 1bis rue de Lozembru + ne\n\n\n\n[1]: https://clx.asso.fr\n[2]: https://mediathequewimille.opac-x + .com/\n +GEO:50.764;1.63043 +LOCATION:Atelier numérique citoyen\, 1bis rue de Lozembrune\, Wimille\, Ha + uts-de-France\, France +ORGANIZER:mailto:contact@clx.asso.fr +SEQUENCE:4 +SUMMARY:Retrouvez votre liberté numérique +URL;VALUE=URI:https://clx.asso.fr +CATEGORIES:clx +CATEGORIES:linux +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:petits-dejeuners +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L'Association + Club Linux Nord Pas de Calais co-organise l'atelier numérique citoye + n tous les derniers samedis du mois\, à Wimille.

    \n

    \n

    Les petits déjeuners du libre con + sistent à un temps d’échange convivial autour du numérique\, de l’i + nformatique\, dit libre et éthique.

    \n

    Au cours de ces séances\, no + us vous proposons d'installer le système d'exploitation libre Linux et/ou + les logiciels libres que vous utilisez sur votre ordinateur.

    \n

    Si v + otre ordinateur est récent et que vous vous voulez vous donner les moyens + de maîtriser les informations qui y entrent et en sortent\, ou si votre + ordinateur devient poussif ...

    \n

    Pensez à nous rendre visite\, c'es + t gratuit et on vous donnera toutes les clés pour que vous puissiez faire + le choix qui vous convient 😁

    \n

    Cette manifestation a lieu à l'atelier numérique citoyen + \, 1bis rue de Lozembrune

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250831T064858 +UID:33150@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260627T140000 +DTEND;TZID=Europe/Paris:20260627T180000 +DESCRIPTION:L’association **[CercLL][1]** (**CercLL d’Entraide et Rése + au Coopératif autour des Logiciels Libres)** vous invite à une install + party **GNU/Linux**\, le **samedi 27 juin 2026 de 14h00 à 18h00**\, dans + la salle du **[Foyer du][2] [Peuple][2] 50 rue Brandis 13005 Marseille.**\ + n\nVous avez envie de découvrir un système d’exploitation libre\, simp + le d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon d + ’utiliser votre ordinateur.\n\nVous vous sentez une affection naissante + pour le **Gnou** et le **Manchot**\, les mascottes de **GNU/ Linux.**\n\n + Au programme:\n\n**DÉCOUVERTE de l’univers des logiciels libres.**\n\n* + *INSTALLATION d’un environnement GNU/ Linux**\, ainsi que le meilleur de + s **logiciels libres**.\n\nVenez avec votre ordinateur\, nous installeron + s ensemble une distribution **GNU/Linux** avec un ensemble de **logiciels + libres** et **gratuits** pour une utilisation quotidienne.\n\n\n\n**Ouver + t à tous – accessible aux débutant-e-s**\n\nUne participation de **2 e + uros** est demandée.\n\nL’adhésion à l’association est de **20 euro + s** annuelle.(L’adhésion n’est pas obligatoire).\n\n[Plan d’accès] + [3]\n\n\n\n[1]: https://cercll.wordpress.com/\n[2]: https://foyerdupeuple. + wordpress.com/\n[3]: https://www.openstreetmap.org/node/2623975597\n +GEO:43.2852;5.39491 +LOCATION:Foyer du peuple\, 50 rue Brandis\, Marseille\, Provence-Alpes-Côt + e d'Azur\, France +ORGANIZER:mailto:cercll@tutamail.com +SEQUENCE:3 +SUMMARY:Install Party GNU/Linux +URL;VALUE=URI:https://cercll.wordpress.com +CATEGORIES:cercll +CATEGORIES:foyer-du-peuple +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:ubuntu +CATEGORIES:xubuntu +CATEGORIES:linux-mint +CATEGORIES:debian +CATEGORIES:mageia +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    L’association CercLL (CercLL d’Entraide et R + éseau Coopératif autour des Logiciels Libres) vous invite à un + e install party GNU/Linux\, le samedi 27 juin 20 + 26 de 14h00 à 18h00\, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

    \n< + p>Vous avez envie de découvrir un système d’exploitation libre\, simpl + e d’utilisation\, stable\, rapide et sécurisé. Une nouvelle façon d + ’utiliser votre ordinateur.

    \n

    Vous vous sentez une affection naiss + ante pour le Gnou et le Manchot\, les m + ascottes de GNU/ Linux.

    \n

    Au programme:

    \n

    DÉCOUVERTE de l’univers des logiciels + libres.

    \n

    INSTALLATION d’un environnement GNU/ L + inux\, ainsi que le meilleur des logiciels libres.

    \n

    Venez avec votre ordinateur\, nous installerons ensemble une d + istribution GNU/Linux avec un ensemble de logici + els libres et gratuits pour une utilisation quot + idienne.

    \n

    \n

    Ouvert à tous – accessible aux débutant + -e-s

    \n

    Une participation de 2 euros est de + mandée.

    \n

    L’adhésion à l’association est de 20 euros< + /strong> annuelle.(L’adhésion n’est pas obligatoire).

    \n

    Plan d’accès

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T180425 +UID:33268@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260702T140000 +DTEND;TZID=Europe/Paris:20260702T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250929T214021 +UID:33423@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260702T140000 +DTEND;TZID=Europe/Paris:20260702T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2126;-1.60902 +LOCATION:Carré des services\, 15 rue d’Arras\, Saint-Herblain\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:2 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250807T150803 +UID:32948@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260704T093000 +DTEND;TZID=Europe/Paris:20260704T180000 +DESCRIPTION:**Le premier samedi de chaque mois** (sauf août et septembre)\ + , de 9h30 à 18h\, nous organisons une journée porte ouverte pour présen + ter notre association et son but.**\n\n\n\n**Lors de cette journée vous + êtes invités à venir nous rencontrer pour découvrir les possibilités + des logiciels libres.**\n\nVenez aider ou vous faire aider à installer et + paramétrer des **logiciels** **libres** ou une distribution **GNU/Linux. + **\n\n**Venez avec vos questions\, vos sou**haits\, vos matériels + (et accessoires)**\, nous verrons ensemble comment y répondre.* + *\n\n**Nous acceptons le don de M**atériels** informatique (surtout porta + ble)\,** **Tablette ****et Smartphone\, de préférence avec leur alimen + tation / chargeur / câbles / accessoires...**\n\n**Le **Wiki** pour *** + *vous ****aider à passer au Libre: [https://wiki.llv.asso.fr/doku.php][1 + ]**\n\nSur les Arnaques\, les Menaces et la Sécurité: [https://wiki.llv. + asso.fr/doku.php?id=wiki:securite:menaces][2]\n\n\n\n**Pour le déjeuner\, + une participation vous sera demandé.**\n\n\n\n**IMPORTANT**: Lisez la "* + *Préparation pour l'installation**": ****[https://wiki.llv.asso.fr/doku. + php?id=wiki:installer:preparation\\_installation][3] **\n\nLocalisation p + récise: [https://www.openstreetmap.org/note/4365747][4]\n\nÀ 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.\n\n\n\n[1 + ]: https://wiki.llv.asso.fr/doku.php\n[2]: https://wiki.llv.asso.fr/doku.p + hp?id=wiki:securite:menaces\n[3]: https://wiki.llv.asso.fr/doku.php?id=wik + i:installer:preparation_installation\n[4]: https://www.openstreetmap.org/n + ote/4365747\n +GEO:48.8249;2.29661 +LOCATION:Espace Danton\, 18 rue Jean Jaurès\, Vanves\, Île-de-France\, Fr + ance +ORGANIZER:mailto:contact@llv.asso.fr +SEQUENCE:2 +SUMMARY:Portes ouvertes - Installations - Dépannages +URL;VALUE=URI:https://llv.asso.fr +CATEGORIES:linux +CATEGORIES:installation +CATEGORIES:dépannage +CATEGORIES:don-de-matériels +CATEGORIES:install-party +CATEGORIES:gnu-linux +CATEGORIES:logiciels-libres +CATEGORIES:impression3d +CATEGORIES:llv +CATEGORIES:le-libre-vanvéen +CATEGORIES:arnaques +CATEGORIES:menaces +CATEGORIES:sécurité +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:

    Le premier samedi de chaque mois (sauf août et septembr + e)\, de 9h30 à 18h\, nous organisons une journée porte ouverte pour pré + senter notre association et son but.

    \n

    \n

    Lors de c + ette journée vous êtes invités à venir nous rencontrer pour découvrir + les possibilités des logiciels libres.

    \n

    Venez aid + er ou vous faire aider à installer et paramétrer des logiciels libres ou une distribution GNU/Linux.

    \n

    Venez avec vos q + uestions\, vos souhaits\, vos matériels (et accessoires)\, nous verrons en + semble comment y répondre.

    \n

    Nous acceptons le don de Matériels informatique (surtout p + ortable)\, Tab + lette et Smartphone\, de préférence avec + leur alimentation / chargeur / câbles / accessoires...

    \n

    Le Wiki pour vous aider à passer au Libre : https://wiki.llv.asso.fr/doku.php +

    \n

    Sur les Arnaques\, les Menaces et la Sécurité : < + a href="https://wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces">https: + //wiki.llv.asso.fr/doku.php?id=wiki:securite:menaces 

    \n

     

    \ + n

    Pour le déjeuner\, une pa + rticipation vous sera demandé.

    \n

     

    \n

    IMPORTANT : Lisez la "Préparation pour l'installation" : https://wiki.llv.asso.fr/doku.php?id=wiki:installer:preparation_ + installation 

    \n

    Localisation précise : https://www.openstreetmap.org/note/4365747

    \n

    À 3 minutes d + u Métro (13) Malakoff Plateau de Vanves\, passez par le tunnel.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172149 +UID:33138@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260705T100000 +DTEND;TZID=Europe/Paris:20260705T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T183204 +UID:33313@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260707T140000 +DTEND;TZID=Europe/Paris:20260707T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2437;-1.60758 +LOCATION:Centre socioculturel du sillon de Bretagne\, 12 bis avenue des Th + ébaudières\, Saint-Herblain\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T182818 +UID:33304@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260708T140000 +DTEND;TZID=Europe/Paris:20260708T180000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2406;-1.54226 +LOCATION:Centre socioculturel Port-Boyer\, 4 rue de Pornichet\, Nantes\, Pa + ys de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T181603 +UID:33288@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260710T140000 +DTEND;TZID=Europe/Paris:20260710T170000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2143;-1.53038 +LOCATION:Maison de quartier des Haubans\, 1 bis boulevard de Berlin\, Nante + s\, Pays de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182412 +UID:33400@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260710T143000 +DTEND;TZID=Europe/Paris:20260710T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035234 +UID:33122@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260711T090000 +DTEND;TZID=Europe/Paris:20260711T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175238 +UID:33249@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260723T093000 +DTEND;TZID=Europe/Paris:20260723T123000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2076;-1.60514 +LOCATION:Centre socioculturel de Bellevue\, 25 rue du Jamet\, Nantes\, Pays + de la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250912T175858 +UID:33258@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260724T140000 +DTEND;TZID=Europe/Paris:20260724T173000 +DESCRIPTION:Un ordinateur qui rame\, qui refuse de démarrer ou qui est cas + sé\, venez le réparer en notre compagnie.\n\nMarre de Windows et envie d + 'un peu de liberté\, venez le libérer!\n\n +GEO:47.2298;-1.58658 +LOCATION:Centre socioculturel du Breil\, 52 rue du Breil\, Nantes\, Pays de + la Loire\, France +ORGANIZER:mailto:contact@alamaisondulibre.org +SEQUENCE:4 +SUMMARY:Repair Café numérique + Install Party +URL;VALUE=URI:https://www.alamaisondulibre.org +CATEGORIES:recyclage +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:install-party +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:windows10 +CATEGORIES:a-la-maison-du-libre +CATEGORIES:adieu-windows +X-ALT-DESC;FMTTYPE=text/html:
    \n

    Un ordinateur qu + i rame\, qui refuse de démarrer ou qui est cassé\, venez le réparer en + notre compagnie. 

    \n

    Marre de Windows et envie d'un peu de liberté\ + , venez le libérer!

    \n
    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182316 +UID:33391@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260724T143000 +DTEND;TZID=Europe/Paris:20260724T163000 +DESCRIPTION:\n\n\n\nTous les 2ème et 4ème vendredis de chaque moi(sauf in + disponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous + propose de venir au Café de la Gare à Nogent (52800) pour échanger auto + ur de la découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander + conseil pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes c + ontacts sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel l + ibre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, Li + breOffice\, etc...).\n* Installer et configurer une imprimante/scanner.\n* + Essayer une distribution Linux.\n\nRépondez à cette question: Mon ordin + ateur ne pourra pas bénéficier de Windows 11\, qu'est-ce que je peux fai + re pour continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est p + ossible?\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciels Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

     

    \n

    Tous les 2ème et 4ème vendredis de ch + aque moi(sauf indisponibilité des membres) de 14h30 à 16h30 l'associatio + n Ailes-52 vous propose de venir au Café de la Gare à Nogent (52800) pou + r échanger autour de la découverte des Logiciels Libres.

    \n

    Vous pourrez:

    \n
      \n
    • Demander conseil pour l'acquisition d'un ordinateur reconditio + nné.
    • \n
    • Gérer mes contacts sur mon ord + iphone et mon PC.
    • \n
    • Installer/configure + r un logiciel libre sous Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner + .
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windo + ws 11\, qu'est-ce que je peux faire pour continuer à l'utiliser\, install + er GNU/Linux sur mon ordi c'est possible?

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162629 +UID:33453@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260725T140000 +DTEND;TZID=Europe/Paris:20260725T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T172150 +UID:33139@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260802T100000 +DTEND;TZID=Europe/Paris:20260802T140000 +DESCRIPTION:Repair-café\, atelier informatique\, etc.\n\n* Ouvert à toute + s et tous\n* Petit déjeuner partagé.\n* Lieu où l'on répare ensemble:\ + n * vêtements\n * appareils électriques et électroniques\n * vélos\ + n * jouets\n * etc.\n* Lieu ou l'on découvre et pratique l'informatique + :\n * les logiciels libres\n * la protection numérique\n * l'imprimant + e 3D\n * et bien d'autres choses…\n\nTous les premiers dimanches du moi + s de 10h à 14h (ou plus)\n\nAu centre social "Mosaïque" (à proximité d + e la gare routière)\n\nUne équipe de bénévoles vous accueillera et ten + tera\, avec vous\, de diagnostiquer la panne et de réparer vos objets.\nD + ans une démarche économique\, écologique et sociale.\n\n +GEO:43.9046;1.89585 +LOCATION:Mosaïque\, 7 rue Marcellin Berthelot\, Gaillac\, Occitanie\, Fran + ce +ORGANIZER:mailto:repair.gaillac@mailo.com +SEQUENCE:1 +SUMMARY:Repair café +CATEGORIES:repair-café +CATEGORIES:atelier +CATEGORIES:informatique +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Repair-café\, atelier informatique\, etc.< + /p>\n

      \n
    • Ouvert à toutes et tous 
    • \n
    • Petit déjeuner parta + gé.
    • \n
    • Lieu où l'on répare ensemble: + \n
        \n
      • vêtements
      • \n
      • appare + ils électriques et électroniques
      • \n
      • vélos
      • \n
      • jouets
      • \n
      • etc.
      • \n
      \n
    • \n
    • Lieu ou l'on découvre et prat + ique l'informatique:\n
        \n
      • les logiciels libres< + /span>
      • \n
      • la protection numérique
      • \n
      • < + span style="font-size: small\; font-family: Franklin Gothic Medium\; color + : #000000\;">l'imprimante 3D
      • \n
      • et bien d'autres choses…\n
      \n
    • \n
    \n

    Tous les premiers dimanches du mois de 10h à + 14h (ou plus)

    \n

    Au centre social "Mosaïque" (à proximité de la g + are routière)

    \n

    Une équipe de bénévoles vous accueillera et tent + era\, avec vous\, de diagnostiquer la panne et de réparer vos objets.
    + Dans une démarche économique\, écologique et sociale.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250828T035235 +UID:33123@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260808T090000 +DTEND;TZID=Europe/Paris:20260808T120000 +DESCRIPTION:**Rencontre mensuelle autour des logiciels libres**\, en toute + simplicité.\n\nCes matinées seront ce que nous en ferons ensemble\, selo + n vos attentes:\n\n* **Découverte** des logiciels libres dont Linux et de + leur intérêt. **Utilisation sur place**.\n* **Installations**\, sur vot + re machine (pensez à sauvegarder vos données avant de venir avec) ou sur + des PC fournis pour apprendre ensemble sans risque. Parfois\, on vous pro + pose un ordinateur auquel Linux a redonné une seconde vie\, avec lequel v + ous pouvez repartir...\n* **Préparation d'une clé USB** pour tester Linu + x chez vous\, l'installer ou alors pour utiliser des logiciels libres sans + installation sous Windows.\n* **Entraide**\, suivi de votre expérience a + vec les logiciels libres.\n* Nous pourrons aussi nous intéresser aux **ou + tils en ligne**\, aux **smartphones**\, ou nous amuser à redonner vie à + de vieux PC un peu obsolètes\, à reconditionner des ordinateurs pour des + associations ou personnes avec peu de ressources\, etc.\n\nPour tout proj + et qui risque de prendre un peu de temps\, il est préférable de nous con + tacter avant.\n\n*Les débutant·e·s sont les bienvenu·e·s! Les autres + aussi\, bien évidemment !*\n\n +GEO:46.0749;6.32843 +LOCATION:Maison pour tous\, 35 route d'Arenthon\, Amancy\, Auvergne-Rhône- + Alpes\, France +ORGANIZER:mailto:jm.gervais@etik.com +SEQUENCE:1 +SUMMARY:Rencontre « Logiciels Libres » +URL;VALUE=URI:https://librealabase.gitlab.io +CATEGORIES:libre +CATEGORIES:logiciel-libre +CATEGORIES:linux +CATEGORIES:/e/os +CATEGORIES:gnu-linux +X-ALT-DESC;FMTTYPE=text/html:

    Rencontre mensuelle autour des logi + ciels libres\, en toute simplicité.

    \n

    Ces matinées seront + ce que nous en ferons ensemble\, selon vos attentes:

    \n
      \n
    • Découverte des logiciels libres dont Linux et de leur intér + êt. Utilisation sur place.
    • \n
    • Installatio + ns\, sur votre machine (pensez à sauvegarder vos données avant + de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque. + Parfois\, on vous propose un ordinateur auquel Linux a redonné une second + e vie\, avec lequel vous pouvez repartir... 
    • \n
    • Préparati + on d'une clé USB pour tester Linux chez vous\, l'installer ou al + ors pour utiliser des logiciels libres sans installation sous Windows.
    • \n
    • Entraide\, suivi de votre expérience avec les log + iciels libres.
    • \n
    • Nous pourrons aussi nous intéresser aux + outils en ligne\, aux smartphones\, ou nous amus + er à redonner vie à de vieux PC un peu obsolètes\, à reconditionner de + s ordinateurs pour des associations ou personnes avec peu de ressources\, + etc.
    • \n
    \n

    Pour tout projet qui risque de prendre un peu de temp + s\, il est préférable de nous contacter avant.

    \n

    Les débutant + ·e·s sont les bienvenu·e·s! Les autres aussi\, bien évidemment !

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20250924T182413 +UID:33401@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260814T143000 +DTEND;TZID=Europe/Paris:20260814T163000 +DESCRIPTION:\n\nTous les 2èmes et 4èmes vendredis du mois (sauf indisponi + bilité des membres) de 14h30 à 16h30 l'association Ailes-52 vous propose + de venir au Café de la Gare à Nogent (52800) pour échanger autour de l + a découverte des Logiciels Libres.\n\nVous pourrez:\n\n* Demander conseil + pour l'acquisition d'un ordinateur reconditionné.\n* Gérer mes contacts + sur mon ordiphone et mon PC.\n* Installer/configurer un logiciel libre so + us Windows\, Mac OS ou Linux. (Ex: VLC\, Firefox\, Thunderbird\, LibreOffi + ce\, etc...).\n* Installer et configurer une imprimante/scanner.\n* Essaye + r une distribution Linux.\n\nRépondez à cette question: Mon ordinateur n + e pourra pas bénéficier de Windows 11\, qu'est-ce que je peux faire pour + continuer à l'utiliser\, installer GNU/Linux sur mon ordi c'est possible + ?\n\n\n\n\n\n\n\n +GEO:48.0321;5.34527 +LOCATION:Café de la Gare\, 192 rue du Maréchal de Lattre de Tassigny\, No + gent\, Grand Est\, France +ORGANIZER:mailto:contact@ailes-52.org +SEQUENCE:1 +SUMMARY:Les cafés du Logiciel Libre +URL;VALUE=URI:https://ailes-52.org +CATEGORIES:linux +CATEGORIES:logiciels-libres +CATEGORIES:gnu-linux +CATEGORIES:découverte +CATEGORIES:café +CATEGORIES:apprentissage +CATEGORIES:permanence +CATEGORIES:bureautique +CATEGORIES:obsolescence +CATEGORIES:informatique-libre +CATEGORIES:ailes-52 +X-ALT-DESC;FMTTYPE=text/html:

    Café de la Gare

    \n

    Tous les 2èmes et 4èmes vendredis du mois (sauf + indisponibilité des membres) de 14h30 à 16h30 l'association Ailes-52 vou + s propose de venir au Café de la Gare à Nogent (52800) pour échanger au + tour de la découverte des Logiciels Libres.

    \n

    Vous pourrez< + span class="finePre">:

    \n
      \n
    • De + mander conseil pour l'acquisition d'un ordinateur reconditionné.
    • \nGérer mes contacts sur mon ordiphone et mon + PC.\n
    • Installer/configurer un logiciel + libre sous Windows\, Mac OS ou Linux. (Ex: VL + C\, Firefox\, Thunderbird\, LibreOffice\, etc...).
    • \n
    • Installer et configurer une imprimante/scanner.
    • \n
    • Essayer une distribution Linux.
    • \n
    \n

    Répondez à cette question: Mon ordinateur ne pourra pas bénéficier de Windows 11\, qu'est + -ce que je peux faire pour continuer à l'utiliser\, installer GNU/Linux s + ur mon ordi c'est possible?

    \n

     

    \n< + p> 

    \n

     

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162630 +UID:33454@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260825T140000 +DTEND;TZID=Europe/Paris:20260825T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162631 +UID:33455@agendadulibre.org +DTSTART;TZID=Europe/Paris:20260925T140000 +DTEND;TZID=Europe/Paris:20260925T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +BEGIN:VEVENT +DTSTAMP;TZID=Europe/Paris:20251002T162632 +UID:33456@agendadulibre.org +DTSTART;TZID=Europe/Paris:20261025T140000 +DTEND;TZID=Europe/Paris:20261025T180000 +DESCRIPTION:Nous (Lab Place\, Hélios\, la Ressourcerie) organisons un repa + ir’café le dernier samedi du mois au Lab Place\, à Oust.\n\nUne équip + e de bénévole est présente pour aider à réparer des objets cassés\, + installer Linux ou former à l’utilisation des logiciels libres/trouver + des alternatives.\n\n\n\nLors des réparations\, nous aidons au diagnostic + \, guidons pour réparer et servont de troisième main. La liste des objet + s pouvant être réparés dépend des bénévoles présents ce jour-là.\n + \nIdées de choses réparables:\n\n* Outils éléctroportatifs\n* Cafetiè + res\n* Grilles pains\n* Ordinateurs (hardware)\n* Jouets\n* Mobiliers\n* E + tc\n\nSi la réparation n’est pas possible\, nous aidons à trouver des + solutions: changements de pièces(récup’ à la ressourcerie\, occasions + \, neufs)\, ou bidouillage pour faire fonctionner autrement.\n\nCôté inf + ormatique\, nous prenons aussi le temps d’accompagner à l’utilisation + de logiciels libres et de faire des installations de Linux (install party + ).\n\nCet événement est ouvert à tous\, que ce soit pour réparer un ob + jet\, pour du logiciel libre ou simplement boire un café\, le tout à pri + x libre.\n\n +GEO:42.8704;1.22362 +LOCATION:Association Lab Place\, route d'Aulus\, Oust\, Occitanie\, France +SEQUENCE:1 +SUMMARY:Repair’café du Haut-Salat +URL;VALUE=URI:https://www.repaircafe.org/fr/cafe/repair-cafe-du-haut-salat +CATEGORIES:adieu-windows +CATEGORIES:repair-café +CATEGORIES:linux-party +CATEGORIES:réparation +X-ALT-DESC;FMTTYPE=text/html:

    Nous (Lab Place\, Hélios\, la Ressourcerie + ) organisons un repair’café le dernier samedi du mois au Lab Place\, à + Oust.

    \n

    Une équipe de bénévole est présente pour aider à répa + rer des objets cassés\, installer Linux ou former à l’utilisation des + logiciels libres/trouver des alternatives.

    \n

    \n

    Lors des ré + parations\, nous aidons au diagnostic\, guidons pour réparer et servont d + e troisième main. La liste des objets pouvant être réparés dépend des + bénévoles présents ce jour-là.

    \n

    Idées de choses réparables:< + /p>\n

      \n
    • Outils éléctroportatifs
    • \n
    • Cafetières
    • \n
    • G + rilles pains
    • \n
    • Ordinateurs (hardware)
    • \n
    • Jouets
    • \n
    • M + obiliers
    • \n
    • Etc
    • \n
    \n

    Si la réparation n’est pas possi + ble\, nous aidons à trouver des solutions: changements de pièces(récup + ’ à la ressourcerie\, occasions\, neufs)\, ou bidouillage pour faire fo + nctionner autrement.

    \n

    Côté informatique\, nous prenons aussi le t + emps d’accompagner à l’utilisation de logiciels libres et de faire de + s installations de Linux (install party).

    \n

    Cet événement est ouve + rt à tous\, que ce soit pour réparer un objet\, pour du logiciel libre o + u simplement boire un café\, le tout à prix libre.

    +END:VEVENT +END:VCALENDAR + diff --git a/extractors/ccpl_agenda.py b/extractors/ccpl_agenda.py new file mode 100644 index 0000000..2bba12a --- /dev/null +++ b/extractors/ccpl_agenda.py @@ -0,0 +1,977 @@ +#!/usr/bin/env python3 +""" +Script de scraping pour l'agenda de la CCPL (Communauté de Communes du Pays de Limours) +https://www.cc-paysdelimours.fr/agenda +Utilise le scraping HTML pour récupérer les événements et les envoyer à l'API OEDB +""" + +import requests +import json +import os +import sys +import argparse +import re +import time +from concurrent.futures import ThreadPoolExecutor, as_completed +from datetime import datetime, timedelta +from typing import Dict, List, Optional, Tuple +import logging +from bs4 import BeautifulSoup +import hashlib + +# Configuration par défaut +api_oedb = "https://api.openeventdatabase.org" + +# Configuration du logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + handlers=[ + logging.FileHandler('ccpl_agenda_scraper.log'), + logging.StreamHandler() + ] +) +logger = logging.getLogger(__name__) + +class CCPLAgendaScraper: + def __init__(self, api_base_url: str = api_oedb, batch_size: int = 1, max_events: int = None, dry_run: bool = True, + parallel: bool = False, max_workers: int = 4): + self.api_base_url = api_base_url + self.batch_size = batch_size + self.max_events = max_events + self.dry_run = dry_run + self.parallel = parallel + self.max_workers = max_workers + self.data_file = "ccpl_agenda_events.json" + self.cache_file = "ccpl_agenda_cache.json" + self.agenda_url = "https://www.cc-paysdelimours.fr/agenda" + self.cache_duration_hours = 1 # Durée de cache en heures + + # Charger les données existantes + self.events_data = self.load_events_data() + self.cache_data = self.load_cache_data() + + def load_events_data(self) -> Dict: + """Charge les données des événements depuis le fichier JSON""" + if os.path.exists(self.data_file): + try: + with open(self.data_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + logger.warning(f"Erreur lors du chargement des données: {e}") + + return { + "events": {}, + "last_update": None + } + + def save_events_data(self): + """Sauvegarde les données des événements dans le fichier JSON""" + try: + with open(self.data_file, 'w', encoding='utf-8') as f: + json.dump(self.events_data, f, ensure_ascii=False, indent=2) + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde des données: {e}") + + def load_cache_data(self) -> Dict: + """Charge les données du cache depuis le fichier JSON""" + if os.path.exists(self.cache_file): + try: + with open(self.cache_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + logger.warning(f"Erreur lors du chargement du cache: {e}") + + return { + "processed_events": {}, + "last_fetch": None, + "content_hash": None + } + + def save_cache_data(self): + """Sauvegarde les données du cache dans le fichier JSON""" + try: + with open(self.cache_file, 'w', encoding='utf-8') as f: + json.dump(self.cache_data, f, ensure_ascii=False, indent=2) + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde du cache: {e}") + + def get_content_hash(self, content: str) -> str: + """Génère un hash du contenu pour détecter les changements""" + import hashlib + return hashlib.md5(content.encode('utf-8')).hexdigest() + + def is_content_changed(self, new_hash: str) -> bool: + """Vérifie si le contenu a changé depuis la dernière récupération""" + cached_hash = self.cache_data.get("content_hash") + return cached_hash != new_hash + + def fetch_agenda_data(self, force_refresh: bool = False) -> Optional[str]: + """Récupère les données de l'agenda CCPL""" + try: + logger.info(f"🌐 Récupération de l'agenda CCPL: {self.agenda_url}") + + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + } + + response = requests.get(self.agenda_url, headers=headers, timeout=30) + response.raise_for_status() + + content = response.text + content_hash = self.get_content_hash(content) + + # Vérifier si le contenu a changé ou si on force le rafraîchissement + if self.is_content_changed(content_hash) or force_refresh: + if force_refresh: + logger.info("🔄 Rafraîchissement forcé, mise à jour du cache") + else: + logger.info("🔄 Nouveau contenu détecté, mise à jour du cache") + self.cache_data["content_hash"] = content_hash + self.cache_data["last_fetch"] = datetime.now().isoformat() + self.save_cache_data() + return content + else: + logger.info("ℹ️ Contenu identique au précédent, utilisation du cache") + return None + + except requests.RequestException as e: + logger.error(f"❌ Erreur lors de la récupération de l'agenda: {e}") + return None + except Exception as e: + logger.error(f"❌ Erreur inattendue: {e}") + return None + + def parse_agenda_html(self, html_content: str) -> List[Dict]: + """Parse le HTML de l'agenda pour extraire les événements""" + try: + soup = BeautifulSoup(html_content, 'html.parser') + events = [] + + # D'après l'analyse HTML, les événements sont dans des liens avec des classes spécifiques + # Chercher les liens d'événements + event_links = soup.find_all('a', class_=re.compile(r'col-lg-3|col-sm-6|mb-3')) + + logger.info(f"🔗 {len(event_links)} liens d'événements trouvés") + + for i, link in enumerate(event_links): + if self.max_events and len(events) >= self.max_events: + break + + try: + event_data = self.extract_event_data_from_link(link, i) + if event_data: + events.append(event_data) + + except Exception as e: + logger.warning(f"Erreur lors du parsing de l'événement {i}: {e}") + continue + + # Si pas d'événements trouvés avec les liens, essayer une approche alternative + if not events: + logger.info("🔍 Tentative d'extraction alternative...") + # Chercher par pattern de date dans les spans + date_spans = soup.find_all('span', class_='small') + for i, span in enumerate(date_spans): + if self.max_events and len(events) >= self.max_events: + break + + # Trouver l'élément parent qui contient l'événement + parent = span.parent + while parent and parent.name != 'a': + parent = parent.parent + + if parent and parent.name == 'a': + try: + event_data = self.extract_event_data_from_link(parent, i) + if event_data: + events.append(event_data) + except Exception as e: + logger.warning(f"Erreur lors du parsing alternatif de l'événement {i}: {e}") + continue + + logger.info(f"📅 {len(events)} événements extraits au total") + return events + + except Exception as e: + logger.error(f"❌ Erreur lors du parsing HTML: {e}") + return [] + + def extract_event_data_from_link(self, link_element, index: int) -> Optional[Dict]: + """Extrait les données d'un événement depuis un lien d'événement""" + try: + # Extraire l'URL + url = link_element.get('href', '') + if url.startswith('/'): + url = f"https://www.cc-paysdelimours.fr{url}" + + # Extraire le titre + title_elem = link_element.find('p', class_='agenda-title') + title = title_elem.get_text(strip=True) if title_elem else f"Événement {index + 1}" + + # Extraire la date + date_text = "" + date_wrapper = link_element.find('div', class_='date-wrapper') + if date_wrapper: + # Extraire le jour + day_elem = date_wrapper.find('span', class_='number') + day = day_elem.get_text(strip=True) if day_elem else "" + + # Extraire le mois + month_elem = date_wrapper.find('span', class_='small') + month = month_elem.get_text(strip=True) if month_elem else "" + + if day and month: + date_text = f"{day} {month}" + + # Extraire l'image si disponible + image_elem = link_element.find('img') + image_url = "" + if image_elem: + src = image_elem.get('src', '') + if src.startswith('/'): + image_url = f"https://www.cc-paysdelimours.fr{src}" + elif src.startswith('http'): + image_url = src + + # Extraire le lieu (par défaut) + location = "Pays de Limours, France" + + # Récupérer les détails supplémentaires depuis la page de l'événement + details = {} + if url: + details = self.fetch_event_details(url) + + # Utiliser les coordonnées de la carte si disponibles + coordinates = self.get_coordinates_for_location(location) + if details.get("coordinates"): + coordinates = details["coordinates"] + logger.info(f"📍 Coordonnées précises utilisées: {coordinates}") + + # Utiliser l'adresse détaillée si disponible + if details.get("address"): + location = details["address"] + logger.info(f"📍 Adresse détaillée: {location}") + + # Générer un ID unique + event_id = self.generate_event_id(title, date_text, location) + + # Construire les propriétés de contact (seulement si non vides) + contact_properties = {} + if details.get("contact_phone") and details["contact_phone"].strip(): + contact_properties["contact:phone"] = details["contact_phone"] + if details.get("contact_email") and details["contact_email"].strip(): + contact_properties["contact:email"] = details["contact_email"] + if details.get("website") and details["website"].strip(): + contact_properties["contact:website"] = details["website"] + + # Construire la description enrichie + description = f"Événement organisé par la CCPL - {title}" + if details.get("description"): + description = details["description"] + + # Ajouter les informations d'ouverture et de tarifs + additional_info = [] + if details.get("opening_hours"): + additional_info.append(f"Ouverture: {details['opening_hours']}") + if details.get("pricing"): + additional_info.append(f"Tarifs: {details['pricing']}") + + if additional_info: + description += "\n\n" + "\n".join(additional_info) + + # Créer l'événement au format OEDB + properties = { + "label": title, + "description": description, + "type": "scheduled", + "what": "culture.community.ccpl", + "where": location, + "start": self.parse_date(date_text), + "stop": self.parse_date(date_text, end=True), + "source:name": "CCPL Agenda", + "source:url": self.agenda_url, + "last_modified_by": "ccpl_agenda_scraper", + "tags": ["ccpl", "pays-de-limours", "événement-communal"] + } + + # Ajouter les propriétés optionnelles seulement si elles ne sont pas nulles + if url and url.strip(): + properties["url"] = url + if image_url and image_url.strip(): + properties["image"] = image_url + + # Ajouter les propriétés de contact + properties.update(contact_properties) + + oedb_event = { + "properties": properties, + "geometry": { + "type": "Point", + "coordinates": coordinates + } + } + + return { + "id": event_id, + "event": oedb_event, + "raw_html": { + "title": title, + "date": date_text, + "location": location, + "url": url, + "image": image_url + } + } + + except Exception as e: + logger.error(f"Erreur lors de l'extraction de l'événement depuis le lien: {e}") + return None + + def fetch_event_details(self, event_url: str) -> Dict: + """Récupère les détails supplémentaires depuis la page de l'événement""" + try: + logger.info(f"🔍 Récupération des détails: {event_url}") + + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + } + + response = requests.get(event_url, headers=headers, timeout=30) + response.raise_for_status() + + soup = BeautifulSoup(response.text, 'html.parser') + details = { + "description": "", + "contact_phone": "", + "contact_email": "", + "website": "", + "coordinates": None, + "address": "", + "opening_hours": "", + "pricing": "" + } + + # Extraire la description principale + description_elem = soup.find('div', class_=re.compile(r'content|description|text', re.I)) + if description_elem: + # Nettoyer le texte de la description + description_text = description_elem.get_text(strip=True) + # Enlever les "Offres liées" et autres sections non pertinentes + lines = description_text.split('\n') + cleaned_lines = [] + skip_section = False + + for line in lines: + line = line.strip() + if not line: + continue + if 'Offres liées' in line or 'TOUT L\'AGENDA' in line: + skip_section = True + break + if 'Partager sur' in line: + break + cleaned_lines.append(line) + + details["description"] = ' '.join(cleaned_lines) + + # Extraire les informations de contact depuis toute la page + page_text = soup.get_text() + + # Téléphone (format français) + phone_match = re.search(r'(\d{2}\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2})', page_text) + if phone_match: + details["contact_phone"] = phone_match.group(1).replace(' ', '') + + # Email + email_match = re.search(r'([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})', page_text) + if email_match: + email = email_match.group(1).strip() + # Nettoyer l'email (enlever les caractères parasites à la fin, notamment le T majuscule) + email = re.sub(r'[^a-zA-Z0-9._%+-@]+$', '', email) + # Enlever spécifiquement le T majuscule à la fin + if email.endswith('T'): + email = email[:-1] + details["contact_email"] = email + + # Site web (éviter les liens de partage social) + website_links = soup.find_all('a', href=True) + for link in website_links: + href = link['href'] + if (href.startswith('http') and + 'facebook.com' not in href and + 'twitter.com' not in href and + 'linkedin.com' not in href and + 'viadeo.com' not in href and + 'x.com' not in href and + 'instagram.com' not in href and + 'tiktok.com' not in href and + 'youtube.com' not in href and + 'vimeo.com' not in href and + 'soundcloud.com' not in href and + 'spotify.com' not in href and + 'deezer.com' not in href and + 'apple.com' not in href and + 'google.com' not in href and + 'microsoft.com' not in href and + 'amazon.com' not in href and + 'sharer' not in href): + details["website"] = href + break + + # Extraire l'adresse + address_elem = soup.find(text=re.compile(r'Place|Rue|Avenue|Boulevard', re.I)) + if address_elem: + # Trouver l'élément parent qui contient l'adresse complète + parent = address_elem.parent + while parent and len(parent.get_text(strip=True)) < 20: + parent = parent.parent + if parent: + details["address"] = parent.get_text(strip=True) + + # Extraire les coordonnées depuis la carte Leaflet + # Chercher les scripts qui contiennent les coordonnées de la carte + scripts = soup.find_all('script') + for script in scripts: + if script.string: + # Chercher les coordonnées dans les scripts Leaflet avec différents patterns + patterns = [ + r'lat["\']?\s*:\s*([0-9.-]+).*?lng["\']?\s*:\s*([0-9.-]+)', + r'latitude["\']?\s*:\s*([0-9.-]+).*?longitude["\']?\s*:\s*([0-9.-]+)', + r'center["\']?\s*:\s*\[([0-9.-]+),\s*([0-9.-]+)\]', + r'lat["\']?\s*:\s*([0-9.-]+).*?lon["\']?\s*:\s*([0-9.-]+)', + r'([0-9]{1,2}\.[0-9]+),\s*([0-9]{1,2}\.[0-9]+)' + ] + + for pattern in patterns: + coord_match = re.search(pattern, script.string) + if coord_match: + try: + lat = float(coord_match.group(1)) + lng = float(coord_match.group(2)) + # Vérifier que les coordonnées sont dans une plage valide pour la France + if 41 <= lat <= 52 and -6 <= lng <= 10: + details["coordinates"] = [lng, lat] # Format GeoJSON [longitude, latitude] + logger.info(f"📍 Coordonnées trouvées: {lat}, {lng}") + break + except ValueError: + continue + if details["coordinates"]: + break + + # Extraire les horaires d'ouverture + opening_elem = soup.find(text=re.compile(r'Du.*au.*tous les jours|Ouverture|Horaires', re.I)) + if opening_elem: + parent = opening_elem.parent + if parent: + details["opening_hours"] = parent.get_text(strip=True) + + # Extraire les tarifs + pricing_elem = soup.find(text=re.compile(r'Gratuit|Tarifs|Prix', re.I)) + if pricing_elem: + parent = pricing_elem.parent + if parent: + details["pricing"] = parent.get_text(strip=True) + + logger.info(f"📋 Détails extraits: {len(details['description'])} caractères, tel: {details['contact_phone']}, email: {details['contact_email']}") + return details + + except Exception as e: + logger.warning(f"Erreur lors de la récupération des détails de {event_url}: {e}") + return { + "description": "", + "contact_phone": "", + "contact_email": "", + "website": "", + "coordinates": None, + "address": "", + "opening_hours": "", + "pricing": "" + } + + def extract_event_data(self, element, index: int) -> Optional[Dict]: + """Extrait les données d'un événement depuis un élément HTML""" + try: + # Obtenir tout le texte de l'élément + full_text = element.get_text(strip=True) + + # Extraire la date + date_text = "" + date_match = re.search(r'\b(\d{1,2})\s+(jan|fév|mar|avr|mai|jun|jul|aoû|sep|oct|nov|déc)\b', full_text, re.I) + if date_match: + date_text = f"{date_match.group(1)} {date_match.group(2)}" + + # Extraire le titre (première ligne significative après la date) + lines = [line.strip() for line in full_text.split('\n') if line.strip()] + title = f"Événement {index + 1}" + + # Chercher le titre dans les lignes + for line in lines: + if line and not re.match(r'^\d{1,2}\s+(jan|fév|mar|avr|mai|jun|jul|aoû|sep|oct|nov|déc)', line, re.I): + title = line[:100] # Limiter la longueur + break + + # Extraire le lieu + location = "Pays de Limours, France" # Lieu par défaut + communes = ['Angervilliers', 'Fontenay-lès-Briis', 'Forges-les-Bains', 'Gometz-la-Ville', + 'Les Molières', 'Limours', 'Saint-Maurice-Montcouronne', 'Vaugrigneuse'] + + for commune in communes: + if commune.lower() in full_text.lower(): + location = f"{commune}, Pays de Limours, France" + break + + # Extraire la description (texte complet sans la date) + description = full_text + if date_text: + description = description.replace(date_text, '').strip() + + # Nettoyer la description + description = re.sub(r'\s+', ' ', description).strip() + if len(description) > 200: + description = description[:200] + "..." + + # Extraire l'URL si disponible + url = "" + link_elem = element.find('a', href=True) + if link_elem: + href = link_elem['href'] + if href.startswith('/'): + url = f"https://www.cc-paysdelimours.fr{href}" + elif href.startswith('http'): + url = href + + # Générer un ID unique + event_id = self.generate_event_id(title, date_text, location) + + # Créer l'événement au format OEDB + oedb_event = { + "properties": { + "label": title, + "description": description, + "type": "scheduled", + "what": "culture.community", # Type pour événements communautaires + "where": location, + "start": self.parse_date(date_text), + "stop": self.parse_date(date_text, end=True), + "url": url if url else None, + "source:name": "CCPL Agenda", + "source:url": self.agenda_url, + "last_modified_by": "ccpl_agenda_scraper", + "tags": ["ccpl", "pays-de-limours", "événement-communal"] + }, + "geometry": { + "type": "Point", + "coordinates": self.get_coordinates_for_location(location) + } + } + + return { + "id": event_id, + "event": oedb_event, + "raw_html": { + "title": title, + "date": date_text, + "location": location, + "description": description, + "url": url + } + } + + except Exception as e: + logger.error(f"Erreur lors de l'extraction de l'événement: {e}") + return None + + def parse_date(self, date_text: str, end: bool = False) -> str: + """Parse une date française et la convertit en format ISO""" + try: + if not date_text: + # Date par défaut si pas de date trouvée + now = datetime.now() + if end: + return (now + timedelta(hours=2)).isoformat() + return now.isoformat() + + # Mapping des mois français + months = { + 'jan': '01', 'fév': '02', 'mar': '03', 'avr': '04', 'mai': '05', 'jun': '06', + 'jul': '07', 'aoû': '08', 'sep': '09', 'oct': '10', 'nov': '11', 'déc': '12' + } + + # Extraire jour et mois + match = re.search(r'(\d{1,2})\s+(\w{3})', date_text.lower()) + if match: + day = match.group(1).zfill(2) + month_abbr = match.group(2) + month = months.get(month_abbr, '01') + + # Utiliser l'année courante + year = datetime.now().year + + # Créer la date + date_obj = datetime.strptime(f"{year}-{month}-{day}", "%Y-%m-%d") + + if end: + # Date de fin: ajouter 2 heures + date_obj += timedelta(hours=2) + + return date_obj.isoformat() + + # Fallback: date actuelle + now = datetime.now() + if end: + return (now + timedelta(hours=2)).isoformat() + return now.isoformat() + + except Exception as e: + logger.warning(f"Erreur lors du parsing de la date '{date_text}': {e}") + now = datetime.now() + if end: + return (now + timedelta(hours=2)).isoformat() + return now.isoformat() + + def get_coordinates_for_location(self, location: str) -> List[float]: + """Obtient les coordonnées pour un lieu du Pays de Limours""" + # Coordonnées approximatives pour les communes du Pays de Limours + coordinates = { + "Angervilliers": [2.0644, 48.5917], + "Fontenay-lès-Briis": [2.0644, 48.5917], + "Forges-les-Bains": [2.0644, 48.5917], + "Gometz-la-Ville": [2.0644, 48.5917], + "Les Molières": [2.0644, 48.5917], + "Limours": [2.0644, 48.5917], + "Saint-Maurice-Montcouronne": [2.0644, 48.5917], + "Vaugrigneuse": [2.0644, 48.5917] + } + + for commune, coords in coordinates.items(): + if commune.lower() in location.lower(): + return coords + + # Coordonnées par défaut pour Limours (centre du Pays de Limours) + return [2.0644, 48.5917] + + def generate_event_id(self, title: str, date: str, location: str) -> str: + """Génère un ID unique pour l'événement""" + import hashlib + content = f"{title}_{date}_{location}" + return hashlib.md5(content.encode('utf-8')).hexdigest() + + def log_event_details(self, event_data: Dict): + """Affiche les détails de l'événement dans les logs""" + props = event_data["event"]["properties"] + geom = event_data["event"]["geometry"] + + logger.info("📝 Détails de l'événement à insérer:") + logger.info(json.dumps(event_data, ensure_ascii=False, indent=2)) + + # logger.info(f" ID: {event_data['id']}") + # logger.info(f" Titre: {props.get('label', 'N/A')}") + # logger.info(f" Description: {props.get('description', 'N/A')[:100]}{'...' if len(props.get('description', '')) > 100 else ''}") + # logger.info(f" Type: {props.get('type', 'N/A')}") + # logger.info(f" Catégorie: {props.get('what', 'N/A')}") + # logger.info(f" Lieu: {props.get('where', 'N/A')}") + # logger.info(f" Début: {props.get('start', 'N/A')}") + # logger.info(f" Fin: {props.get('stop', 'N/A')}") + # logger.info(f" URL: {props.get('url', 'N/A')}") + # logger.info(f" Source: {props.get('source:name', 'N/A')}") + # logger.info(f" Coordonnées: {geom.get('coordinates', 'N/A')}") + # logger.info(f" Tags: {', '.join(props.get('tags', [])) if props.get('tags') else 'N/A'}") + # logger.info(f" Modifié par: {props.get('last_modified_by', 'N/A')}") + + # Afficher les nouvelles propriétés de contact (seulement si présentes) + if props.get('contact:phone'): + logger.info(f" 📞 Téléphone: {props.get('contact:phone')}") + if props.get('contact:email'): + logger.info(f" 📧 Email: {props.get('contact:email')}") + if props.get('contact:website'): + logger.info(f" 🌐 Site web: {props.get('contact:website')}") + if props.get('image'): + logger.info(f" 🖼️ Image: {props.get('image')}") + if props.get('url'): + logger.info(f" 🔗 URL: {props.get('url')}") + + def send_event_to_api(self, event_data: Dict) -> Tuple[bool, str]: + """Envoie un événement à l'API OEDB (ou simule en mode dry-run)""" + # Log détaillé de l'événement + self.log_event_details(event_data) + + if self.dry_run: + logger.info(f"[DRY-RUN] Simulation d'envoi de l'événement: {event_data['event']['properties']['label']}") + return True, "Simulé (dry-run)" + + try: + url = f"{self.api_base_url}/event" + headers = {"Content-Type": "application/json"} + + # Formater l'événement au format GeoJSON attendu par l'API + geojson_event = { + "type": "Feature", + "geometry": event_data["event"]["geometry"], + "properties": event_data["event"]["properties"] + } + + logger.info(f"🌐 Envoi à l'API: {url}") + response = requests.post(url, json=geojson_event, headers=headers, timeout=30) + + if response.status_code == 201: + logger.info("✅ Événement créé avec succès dans l'API") + return True, "Créé avec succès" + elif response.status_code == 409: + logger.warning("⚠️ Événement déjà existant dans l'API") + return False, "Événement déjà existant" + else: + logger.error(f"❌ Erreur API: {response.status_code} - {response.text}") + return False, f"Erreur API: {response.status_code} - {response.text}" + + except requests.RequestException as e: + logger.error(f"❌ Erreur de connexion: {e}") + return False, f"Erreur de connexion: {e}" + except Exception as e: + logger.error(f"❌ Erreur inattendue: {e}") + return False, f"Erreur inattendue: {e}" + + def process_single_event(self, event_data: Dict) -> Tuple[str, bool, str]: + """Traite un événement individuellement (thread-safe)""" + event_id = event_data["id"] + event_label = event_data["event"]["properties"]["label"] + + try: + # Vérifier si l'événement a déjà été traité avec succès + if event_id in self.events_data["events"]: + event_status = self.events_data["events"][event_id].get("status", "unknown") + if event_status in ["saved", "already_exists"]: + logger.info(f"ℹ️ Événement déjà traité: {event_label}") + return event_id, True, "Déjà traité" + + # Envoyer à l'API + success, message = self.send_event_to_api(event_data) + + return event_id, success, message + + except Exception as e: + logger.error(f"❌ Erreur lors du traitement de {event_label}: {e}") + return event_id, False, f"Erreur: {e}" + + def process_events(self, events: List[Dict]) -> Dict: + """Traite tous les événements""" + stats = { + "total_events": len(events), + "new_events": 0, + "already_saved": 0, + "api_errors": 0, + "parse_errors": 0, + "sent_this_run": 0, + "skipped_due_to_limit": 0 + } + + if not events: + logger.info("ℹ️ Aucun événement à traiter") + return stats + + # Appliquer la limite d'événements + if self.max_events: + events = events[:self.max_events] + if len(events) < stats["total_events"]: + stats["skipped_due_to_limit"] = stats["total_events"] - len(events) + + # Traiter les événements + if self.parallel and len(events) > 10: + logger.info(f"🚀 Traitement parallèle de {len(events)} événements avec {self.max_workers} workers") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + if self.dry_run: + logger.info("Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API") + + # Traitement parallèle + with ThreadPoolExecutor(max_workers=self.max_workers) as executor: + # Soumettre tous les événements + future_to_event = { + executor.submit(self.process_single_event, event_data): event_data + for event_data in events + } + + # Traiter les résultats au fur et à mesure + for future in as_completed(future_to_event): + event_data = future_to_event[future] + event_id, success, message = future.result() + event_label = event_data["event"]["properties"]["label"] + + # Mettre à jour les statistiques et les données locales + if success: + if "déjà traité" in message.lower(): + stats["already_saved"] += 1 + else: + stats["new_events"] += 1 + stats["sent_this_run"] += 1 + + self.events_data["events"][event_id] = { + "status": "saved" if "déjà traité" not in message.lower() else "already_exists", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache des événements traités + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "saved" if "déjà traité" not in message.lower() else "already_exists", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + stats["api_errors"] += 1 + self.events_data["events"][event_id] = { + "status": "api_error", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + logger.error(f"❌ {event_label} - {message}") + + # Sauvegarder les données après chaque événement + self.save_events_data() + self.save_cache_data() + else: + # Traitement séquentiel (mode original) + logger.info(f"Traitement séquentiel de {len(events)} événements") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + if self.dry_run: + logger.info("Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API") + + for event_data in events: + event_id, success, message = self.process_single_event(event_data) + event_label = event_data["event"]["properties"]["label"] + + # Mettre à jour les statistiques et les données locales + if success: + if "déjà traité" in message.lower(): + stats["already_saved"] += 1 + else: + stats["new_events"] += 1 + stats["sent_this_run"] += 1 + + self.events_data["events"][event_id] = { + "status": "saved" if "déjà traité" not in message.lower() else "already_exists", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + # Ajouter au cache des événements traités + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "saved" if "déjà traité" not in message.lower() else "already_exists", + "event_label": event_label + } + logger.info(f"✅ {event_label} - {message}") + else: + stats["api_errors"] += 1 + self.events_data["events"][event_id] = { + "status": "api_error", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": event_data["event"] + } + logger.error(f"❌ {event_label} - {message}") + + # Sauvegarder les données après chaque événement + self.save_events_data() + self.save_cache_data() + + # Mettre à jour la date de dernière mise à jour + self.events_data["last_update"] = datetime.now().isoformat() + + # Sauvegarder le cache + self.save_cache_data() + + return stats + + def run(self, force_refresh: bool = False): + """Exécute le scraping complet""" + logger.info("🚀 Démarrage du scraping de l'agenda CCPL") + logger.info(f"Configuration: batch_size={self.batch_size}, api_url={self.api_base_url}") + logger.info(f"Mode dry-run: {'OUI' if self.dry_run else 'NON'}") + if self.max_events: + logger.info(f"Limite d'événements: {self.max_events}") + logger.info("=" * 60) + + try: + # Récupérer les données de l'agenda + html_content = self.fetch_agenda_data(force_refresh) + + if html_content is None and not force_refresh: + logger.info("ℹ️ Utilisation du cache (pas de nouveau contenu)") + return + + # Parser les événements + events = self.parse_agenda_html(html_content) if html_content else [] + + if not events: + logger.warning("⚠️ Aucun événement trouvé dans l'agenda") + return + + logger.info(f"Traitement de {len(events)} événements") + + # Traiter les événements + stats = self.process_events(events) + + # Afficher les statistiques finales + logger.info("📊 Statistiques finales:") + for key, value in stats.items(): + logger.info(f" {key}: {value}") + + logger.info("✅ Scraping terminé avec succès") + + except Exception as e: + logger.error(f"❌ Erreur lors du scraping: {e}") + raise + +def main(): + parser = argparse.ArgumentParser(description="Scraper pour l'agenda CCPL") + parser.add_argument("--api-url", default=api_oedb, + help=f"URL de base de l'API OEDB (défaut: {api_oedb})") + parser.add_argument("--batch-size", type=int, default=1, + help="Nombre d'événements à envoyer par batch (défaut: 1)") + parser.add_argument("--max-events", type=int, default=1, + help="Limiter le nombre d'événements à traiter (défaut: 1)") + parser.add_argument("--dry-run", action="store_true", default=True, + help="Mode dry-run par défaut (simulation sans envoi à l'API)") + parser.add_argument("--no-dry-run", action="store_true", + help="Désactiver le mode dry-run (envoi réel à l'API)") + parser.add_argument("--verbose", "-v", action="store_true", + help="Mode verbeux") + parser.add_argument("--force-refresh", "-f", action="store_true", + help="Forcer le rechargement de l'agenda (ignorer le cache)") + parser.add_argument("--cache-duration", type=int, default=1, + help="Durée de validité du cache en heures (défaut: 1)") + parser.add_argument("--parallel", action="store_true", + help="Activer le traitement parallèle pour plus de 10 événements") + parser.add_argument("--max-workers", type=int, default=4, + help="Nombre maximum de workers pour le traitement parallèle (défaut: 4)") + + args = parser.parse_args() + + if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + + # Déterminer le mode dry-run + dry_run = args.dry_run and not args.no_dry_run + + # Créer et exécuter le scraper + scraper = CCPLAgendaScraper( + api_base_url=args.api_url, + batch_size=args.batch_size, + max_events=args.max_events, + dry_run=dry_run, + parallel=args.parallel, + max_workers=args.max_workers + ) + + # Modifier la durée de cache si spécifiée + scraper.cache_duration_hours = args.cache_duration + + # Exécuter avec ou sans rechargement forcé + scraper.run(force_refresh=args.force_refresh) + +if __name__ == "__main__": + main() diff --git a/extractors/debug_ccpl_html.py b/extractors/debug_ccpl_html.py new file mode 100644 index 0000000..f711d42 --- /dev/null +++ b/extractors/debug_ccpl_html.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +""" +Script de debug pour analyser la structure HTML de l'agenda CCPL +""" + +import requests +from bs4 import BeautifulSoup +import re + +def debug_html_structure(): + """Analyse la structure HTML de l'agenda CCPL""" + url = "https://www.cc-paysdelimours.fr/agenda" + + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + } + + try: + print(f"🌐 Récupération de: {url}") + response = requests.get(url, headers=headers, timeout=30) + response.raise_for_status() + + soup = BeautifulSoup(response.text, 'html.parser') + + print(f"📄 Taille du HTML: {len(response.text)} caractères") + + # Chercher tous les éléments qui contiennent des dates + date_pattern = re.compile(r'\b\d{1,2}\s+(jan|fév|mar|avr|mai|jun|jul|aoû|sep|oct|nov|déc)\b', re.I) + date_elements = soup.find_all(string=date_pattern) + + print(f"📅 Éléments avec dates trouvés: {len(date_elements)}") + + # Afficher les premiers éléments avec dates + for i, elem in enumerate(date_elements[:5]): + print(f" {i+1}. {elem.strip()}") + print(f" Parent: {elem.parent.name if elem.parent else 'None'}") + print(f" Classes: {elem.parent.get('class', []) if elem.parent else 'None'}") + print() + + # Chercher des patterns spécifiques + print("🔍 Recherche de patterns spécifiques:") + + # Chercher des éléments avec des classes communes + common_classes = ['event', 'agenda', 'manifestation', 'item', 'card', 'content'] + for class_name in common_classes: + elements = soup.find_all(class_=re.compile(class_name, re.I)) + print(f" Classe '{class_name}': {len(elements)} éléments") + + # Chercher des éléments avec du texte contenant des dates + all_elements = soup.find_all(['div', 'article', 'li', 'p', 'span']) + elements_with_dates = [] + + for elem in all_elements: + text = elem.get_text() + if date_pattern.search(text) and len(text) > 10: + elements_with_dates.append((elem, text[:100])) + + print(f"📋 Éléments avec dates et texte significatif: {len(elements_with_dates)}") + + # Afficher les premiers éléments + for i, (elem, text) in enumerate(elements_with_dates[:3]): + print(f" {i+1}. Tag: {elem.name}, Classes: {elem.get('class', [])}") + print(f" Texte: {text}...") + print() + + # Chercher des liens + links = soup.find_all('a', href=True) + print(f"🔗 Liens trouvés: {len(links)}") + + # Afficher quelques liens + for i, link in enumerate(links[:5]): + print(f" {i+1}. {link.get('href')} - {link.get_text()[:50]}...") + + # Sauvegarder le HTML pour inspection + with open('ccpl_debug.html', 'w', encoding='utf-8') as f: + f.write(response.text) + print("💾 HTML sauvegardé dans ccpl_debug.html") + + except Exception as e: + print(f"❌ Erreur: {e}") + +if __name__ == "__main__": + debug_html_structure() diff --git a/extractors/debug_viparis_html.py b/extractors/debug_viparis_html.py new file mode 100644 index 0000000..4acd0ec --- /dev/null +++ b/extractors/debug_viparis_html.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +""" +Script de debug pour analyser la structure HTML de la page Viparis +""" + +import requests +from bs4 import BeautifulSoup +import re + +def analyze_viparis_structure(): + """Analyse la structure HTML de la page Viparis""" + url = "https://www.viparis.com/actualites-evenements/evenements" + + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + } + + try: + print(f"🔍 Analyse de la structure HTML de: {url}") + response = requests.get(url, headers=headers, timeout=30) + response.raise_for_status() + + soup = BeautifulSoup(response.text, 'html.parser') + + # Chercher les éléments contenant des événements + print("\n📋 Recherche d'éléments d'événements...") + + # Chercher des patterns communs pour les événements + event_patterns = [ + 'event', 'evenement', 'agenda', 'salon', 'exposition', 'congres' + ] + + for pattern in event_patterns: + elements = soup.find_all(string=re.compile(pattern, re.I)) + if elements: + print(f"✅ Trouvé '{pattern}': {len(elements)} éléments") + for i, elem in enumerate(elements[:3]): # Afficher les 3 premiers + print(f" {i+1}: {elem.strip()[:100]}...") + + # Chercher des divs avec des classes qui pourraient contenir des événements + print("\n🔍 Recherche de divs avec classes d'événements...") + div_classes = soup.find_all('div', class_=re.compile(r'event|evenement|agenda|salon|expo', re.I)) + print(f"Divs avec classes d'événements: {len(div_classes)}") + + # Chercher des liens qui pourraient être des événements + print("\n🔗 Recherche de liens d'événements...") + event_links = soup.find_all('a', href=re.compile(r'event|evenement|salon|expo', re.I)) + print(f"Liens d'événements: {len(event_links)}") + + # Chercher des images d'événements + print("\n🖼️ Recherche d'images d'événements...") + event_images = soup.find_all('img', src=re.compile(r'event|evenement|salon|expo', re.I)) + print(f"Images d'événements: {len(event_images)}") + + # Chercher des éléments avec des dates + print("\n📅 Recherche d'éléments avec des dates...") + date_elements = soup.find_all(string=re.compile(r'\d{1,2}/\d{1,2}/\d{4}|\d{1,2}\s+\w+\s+\d{4}', re.I)) + print(f"Éléments avec dates: {len(date_elements)}") + for i, elem in enumerate(date_elements[:5]): + print(f" {i+1}: {elem.strip()}") + + # Chercher des éléments avec des titres d'événements + print("\n📝 Recherche de titres d'événements...") + title_elements = soup.find_all(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], string=re.compile(r'BattleKart|Virtual Room|PRODURABLE|RÉÉDUCA|SALON', re.I)) + print(f"Titres d'événements: {len(title_elements)}") + for i, elem in enumerate(title_elements[:5]): + print(f" {i+1}: {elem.get_text().strip()}") + + # Sauvegarder le HTML pour analyse + with open('viparis_debug.html', 'w', encoding='utf-8') as f: + f.write(response.text) + print(f"\n💾 HTML sauvegardé dans viparis_debug.html") + + except Exception as e: + print(f"❌ Erreur: {e}") + +if __name__ == "__main__": + analyze_viparis_structure() + diff --git a/extractors/demo_agendadulibre.py b/extractors/demo_agendadulibre.py new file mode 100644 index 0000000..3a5a76c --- /dev/null +++ b/extractors/demo_agendadulibre.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python3 +""" +Script de démonstration pour le scraper de l'agenda du libre +Mode dry-run pour tester sans envoyer de données à l'API +""" + +import sys +import os +sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +from agendadulibre import AgendaDuLibreScraper, api_oedb +import logging + +class DemoAgendaDuLibreScraper(AgendaDuLibreScraper): + """Version démo du scraper qui n'envoie pas de données à l'API""" + + def send_event_to_api(self, event_data): + """Version démo qui simule l'envoi à l'API""" + event_label = event_data["event"]["properties"]["label"] + print(f"🔍 [DEMO] Simulation d'envoi: {event_label}") + + # Simuler différents types de réponses + import random + responses = [ + (True, "Créé avec succès"), + (False, "Événement déjà existant"), + (True, "Créé avec succès"), + (False, "Erreur API: 500 - Internal Server Error") + ] + + success, message = random.choice(responses) + + if success: + print(f"✅ [DEMO] {event_label} - {message}") + else: + print(f"❌ [DEMO] {event_label} - {message}") + + return success, message + +def main(): + """Exécute la démonstration""" + print("🎭 Démonstration du scraper agenda du libre (mode dry-run)") + print("=" * 60) + + # Configuration du logging + logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + + # Créer le scraper en mode démo + scraper = DemoAgendaDuLibreScraper( + api_base_url=api_oedb, # Utiliser l'URL par défaut + batch_size=2 # Traiter 2 événements par batch pour la démo + ) + + print(f"📋 Configuration:") + print(f" - URL iCal: {scraper.ical_url}") + print(f" - Taille des batches: {scraper.batch_size}") + print(f" - Fichier de données: {scraper.data_file}") + print(f" - Fichier cache iCal: {scraper.ical_file}") + print(f" - Durée de cache: {scraper.cache_duration_hours}h") + print() + + # Récupérer le fichier iCal + print("📥 Récupération du fichier iCal...") + calendar = scraper.fetch_ical_data() + + if not calendar: + print("❌ Impossible de récupérer le fichier iCal") + return False + + # Compter les événements + event_count = 0 + for component in calendar.walk(): + if component.name == "VEVENT": + event_count += 1 + + print(f"📅 {event_count} événements trouvés dans le fichier iCal") + + # Test du cache + print("\n🔄 Test du cache iCal...") + print(" Premier appel (téléchargement)...") + calendar2 = scraper.fetch_ical_data() + print(" Deuxième appel (depuis le cache)...") + calendar3 = scraper.fetch_ical_data() + print(" ✅ Cache fonctionne correctement") + print() + + # Traiter seulement les 5 premiers événements pour la démo + print("🔄 Traitement des 5 premiers événements (démo)...") + print("-" * 40) + + processed = 0 + for component in calendar.walk(): + if component.name == "VEVENT" and processed < 5: + parsed_event = scraper.parse_event(component) + if parsed_event: + event_label = parsed_event["event"]["properties"]["label"] + start_date = parsed_event["event"]["properties"]["start"] + location = parsed_event["event"]["properties"]["where"] + + print(f"📝 Événement {processed + 1}:") + print(f" Titre: {event_label}") + print(f" Date: {start_date}") + print(f" Lieu: {location}") + print() + + # Simuler l'envoi + success, message = scraper.send_event_to_api(parsed_event) + + # Mettre à jour les données locales (simulation) + event_id = parsed_event["id"] + scraper.events_data["events"][event_id] = { + "status": "saved" if success else "error", + "message": message, + "last_attempt": "2024-01-01T00:00:00", + "event": parsed_event["event"] + } + + processed += 1 + + print("-" * 40) + print(f"✅ Démonstration terminée - {processed} événements traités") + print() + print("💡 Pour exécuter le vrai scraper:") + print(" python agendadulibre.py --batch-size 5 --api-url http://localhost:5000") + print() + print("🧪 Pour exécuter les tests:") + print(" python test_agendadulibre.py") + + return True + +if __name__ == "__main__": + success = main() + sys.exit(0 if success else 1) diff --git a/extractors/demo_agendadulibre_improvements.py b/extractors/demo_agendadulibre_improvements.py new file mode 100644 index 0000000..dcddff6 --- /dev/null +++ b/extractors/demo_agendadulibre_improvements.py @@ -0,0 +1,601 @@ +#!/usr/bin/env python3 +""" +Démonstration des améliorations du scraper agenda du libre +Simule les fonctionnalités sans dépendances externes +""" + +import json +import os +import sys +import re +import time +from datetime import datetime +import hashlib + +class DemoAgendaDuLibreScraper: + def __init__(self, max_events=None, dry_run=True, parallel=False, max_workers=4): + self.max_events = max_events + self.dry_run = dry_run + self.parallel = parallel + self.max_workers = max_workers + self.cache_file = "demo_agendadulibre_cache.json" + self.events_file = "demo_agendadulibre_events.json" + + # Charger les données existantes + self.cache_data = self.load_cache_data() + self.events_data = self.load_events_data() + + def load_cache_data(self): + """Charge les données de cache""" + if os.path.exists(self.cache_file): + try: + with open(self.cache_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + print(f"Erreur lors du chargement du cache: {e}") + return {"processed_events": {}, "last_fetch": None, "content_hash": None} + + def load_events_data(self): + """Charge les données d'événements""" + if os.path.exists(self.events_file): + try: + with open(self.events_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + print(f"Erreur lors du chargement des événements: {e}") + return {"events": {}, "last_update": None} + + def save_cache_data(self): + """Sauvegarde le cache""" + try: + with open(self.cache_file, 'w', encoding='utf-8') as f: + json.dump(self.cache_data, f, ensure_ascii=False, indent=2) + except Exception as e: + print(f"Erreur lors de la sauvegarde du cache: {e}") + + def save_events_data(self): + """Sauvegarde les événements""" + try: + with open(self.events_file, 'w', encoding='utf-8') as f: + json.dump(self.events_data, f, ensure_ascii=False, indent=2) + except Exception as e: + print(f"Erreur lors de la sauvegarde des événements: {e}") + + def get_content_hash(self, content): + """Calcule le hash du contenu""" + return hashlib.md5(content.encode('utf-8')).hexdigest() + + def simulate_ical_fetch(self): + """Simule la récupération d'un fichier iCal""" + # Simuler du contenu iCal + ical_content = f""" +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Demo//Agenda du Libre//EN +BEGIN:VEVENT +UID:event1@demo.com +DTSTART:20241201T100000Z +DTEND:20241201T120000Z +SUMMARY:Conférence Python +DESCRIPTION:Présentation sur Python +LOCATION:Paris, France +URL:https://example.com/event1 +END:VEVENT +BEGIN:VEVENT +UID:event2@demo.com +DTSTART:20241202T140000Z +DTEND:20241202T160000Z +SUMMARY:Atelier Linux +DESCRIPTION:Apprendre Linux +LOCATION:Lyon, France +URL:https://example.com/event2 +END:VEVENT +BEGIN:VEVENT +UID:event3@demo.com +DTSTART:20241203T090000Z +DTEND:20241203T110000Z +SUMMARY:Formation Git +DESCRIPTION:Maîtriser Git +LOCATION:Marseille, France +URL:https://example.com/event3 +END:VEVENT +BEGIN:VEVENT +UID:event4@demo.com +DTSTART:20241204T130000Z +DTEND:20241204T150000Z +SUMMARY:Meetup DevOps +DESCRIPTION:Discussion DevOps +LOCATION:Toulouse, France +URL:https://example.com/event4 +END:VEVENT +BEGIN:VEVENT +UID:event5@demo.com +DTSTART:20241205T100000Z +DTEND:20241205T120000Z +SUMMARY:Workshop Docker +DESCRIPTION:Conteneurisation +LOCATION:Nice, France +URL:https://example.com/event5 +END:VEVENT +END:VCALENDAR +""" + return ical_content + + def extract_geo_coordinates(self, event_data): + """Simule l'extraction des coordonnées GEO""" + # Simuler des coordonnées GEO pour certains événements + geo_simulation = { + "Centre de conférences, 15 rue de la Paix, Paris, France": [2.3522, 48.8566], + "Espace formation, 42 avenue du Général de Gaulle, Marseille, France": [5.3698, 43.2965] + } + + location = event_data["location"] + if location in geo_simulation: + coords = geo_simulation[location] + print(f"📍 Coordonnées GEO trouvées: {coords[1]}, {coords[0]}") + return coords + else: + print("Aucun champ GEO trouvé") + return None + + def extract_categories(self, event_data): + """Simule l'extraction des catégories""" + # Simuler des catégories pour certains événements + categories_simulation = { + "Centre de conférences, 15 rue de la Paix, Paris, France": ["python", "programmation", "conférence"], + "Espace formation, 42 avenue du Général de Gaulle, Marseille, France": ["git", "formation", "développement"], + "Lyon, France": ["linux", "atelier", "entraide"], + "Toulouse, France": ["devops", "meetup", "discussion"], + "Nice, France": ["docker", "workshop", "conteneurisation"] + } + + location = event_data["location"] + if location in categories_simulation: + categories = categories_simulation[location] + print(f"🏷️ Catégories trouvées: {', '.join(categories)}") + return categories + else: + print("Aucune catégorie trouvée") + return [] + + def extract_organizer(self, event_data): + """Simule l'extraction de l'organisateur""" + organizers_simulation = { + "Centre de conférences, 15 rue de la Paix, Paris, France": "mailto:contact@python.org", + "Espace formation, 42 avenue du Général de Gaulle, Marseille, France": "mailto:formation@git.org", + "Lyon, France": "mailto:contact@aldil.org", + "Toulouse, France": "mailto:devops@toulouse.org", + "Nice, France": "mailto:docker@nice.org" + } + + location = event_data["location"] + if location in organizers_simulation: + organizer = organizers_simulation[location] + print(f"👤 Organisateur trouvé: {organizer}") + return organizer + else: + print("Aucun organisateur trouvé") + return None + + def extract_alt_description(self, event_data): + """Simule l'extraction de la description alternative HTML""" + # Simuler une description HTML pour certains événements + if "Centre de conférences" in event_data["location"]: + alt_desc = "

    Conférence sur Python avec présentation des nouveautés

    " + print(f"📄 Description alternative HTML trouvée: {len(alt_desc)} caractères") + return alt_desc + return None + + def extract_short_description(self, event_data): + """Simule l'extraction de la description courte""" + summary = event_data["summary"] + print(f"📝 Description courte trouvée: {summary}") + return summary + + def extract_sequence(self, event_data): + """Simule l'extraction de la séquence""" + # Simuler des numéros de séquence + sequences = [1, 2, 3, 4, 5] + seq_num = sequences[len(event_data["summary"]) % len(sequences)] + print(f"🔢 Séquence trouvée: {seq_num}") + return seq_num + + def extract_repeat_rules(self, event_data): + """Simule l'extraction des règles de répétition""" + # Simuler des règles de répétition pour certains événements + if "Atelier" in event_data["summary"]: + rrule = "FREQ=WEEKLY;BYDAY=TU" + print(f"🔄 Règles de répétition trouvées: {rrule}") + return rrule + elif "Workshop" in event_data["summary"]: + rrule = "FREQ=MONTHLY;BYDAY=1SA" + print(f"🔄 Règles de répétition trouvées: {rrule}") + return rrule + return None + + def parse_event(self, event_data): + """Parse un événement simulé""" + # Extraire les coordonnées GEO si disponibles + geo_coords = self.extract_geo_coordinates(event_data) + + # Extraire les catégories si disponibles + categories = self.extract_categories(event_data) + + # Extraire les propriétés supplémentaires + organizer = self.extract_organizer(event_data) + alt_description = self.extract_alt_description(event_data) + short_description = self.extract_short_description(event_data) + sequence = self.extract_sequence(event_data) + repeat_rules = self.extract_repeat_rules(event_data) + + return { + "id": hashlib.md5(event_data["summary"].encode('utf-8')).hexdigest(), + "event": { + "properties": { + "label": event_data["summary"], + "description": event_data["description"], + "type": "scheduled", + "what": "culture.floss", + "where": event_data["location"], + "start": event_data["start"], + "stop": event_data["end"], + "url": event_data["url"], + "source:name": "Agenda du Libre (Demo)", + "source:url": "https://www.agendadulibre.org/", + "last_modified_by": "demo_scraper", + "tags": categories if categories else [], + "organizer": organizer, + "alt_description": alt_description, + "short_description": short_description, + "sequence": sequence, + "repeat_rules": repeat_rules + }, + "geometry": { + "type": "Point", + "coordinates": geo_coords if geo_coords else [0, 0] + } + }, + "raw_ical": { + "geo": geo_coords, + "categories": categories, + "organizer": organizer, + "alt_description": alt_description, + "short_description": short_description, + "sequence": sequence, + "repeat_rules": repeat_rules + } + } + + def clean_location_for_geocoding(self, location): + """Nettoie le lieu pour le géocodage en extrayant l'adresse après la première virgule""" + if not location or location.strip() == "": + return None + + # Diviser par la première virgule + parts = location.split(',', 1) + if len(parts) > 1: + # Prendre la partie après la première virgule + address_part = parts[1].strip() + + # Vérifier si on a un numéro et une adresse + # Pattern pour détecter un numéro suivi d'une adresse + address_pattern = r'^\s*\d+.*' + if re.match(address_pattern, address_part): + print(f"📍 Adresse potentielle trouvée: {address_part}") + return address_part + + # Si pas de virgule ou pas d'adresse valide, essayer le lieu complet + print(f"📍 Tentative de géocodage avec le lieu complet: {location}") + return location.strip() + + def simulate_geocoding(self, location): + """Simule le géocodage avec des coordonnées fictives""" + if not location: + return None + + # Simulation de coordonnées basées sur le lieu + fake_coords = { + "Paris": [2.3522, 48.8566], + "Lyon": [4.8357, 45.7640], + "Marseille": [5.3698, 43.2965], + "Toulouse": [1.4442, 43.6047], + "Nice": [7.2619, 43.7102], + "Nantes": [-1.5536, 47.2184], + "Strasbourg": [7.7521, 48.5734], + "Montpellier": [3.8767, 43.6110], + "Bordeaux": [-0.5792, 44.8378], + "Lille": [3.0573, 50.6292] + } + + # Chercher une correspondance dans les villes connues + for city, coords in fake_coords.items(): + if city.lower() in location.lower(): + print(f"🌍 Géocodage simulé: {location} -> {coords}") + return coords + + # Coordonnées par défaut si pas de correspondance + default_coords = [2.3522, 48.8566] # Paris par défaut + print(f"🌍 Géocodage simulé (défaut): {location} -> {default_coords}") + return default_coords + + def improve_event_coordinates(self, event_data): + """Améliore les coordonnées de l'événement si nécessaire""" + coords = event_data["event"]["geometry"]["coordinates"] + + # Vérifier si les coordonnées sont par défaut (0, 0) + if coords == [0, 0]: + location = event_data["event"]["properties"].get("where", "") + + if location: + # Nettoyer le lieu pour le géocodage + clean_location = self.clean_location_for_geocoding(location) + + if clean_location: + # Tenter le géocodage simulé + new_coords = self.simulate_geocoding(clean_location) + + if new_coords: + # Mettre à jour les coordonnées + event_data["event"]["geometry"]["coordinates"] = new_coords + print(f"🎯 Coordonnées mises à jour par géocodage: {coords} -> {new_coords}") + else: + print(f"⚠️ Impossible de géocoder: {clean_location}") + else: + print(f"ℹ️ Lieu non géocodable: {location}") + else: + print("ℹ️ Aucun lieu spécifié pour le géocodage") + else: + # Vérifier si les coordonnées viennent du champ GEO + geo_coords = event_data.get("raw_ical", {}).get("geo") + if geo_coords: + print(f"✅ Coordonnées utilisées depuis le champ GEO: {coords}") + else: + print(f"ℹ️ Coordonnées déjà définies: {coords}") + + return event_data + + def log_event_details(self, event_data): + """Log détaillé de l'événement avant envoi""" + props = event_data["event"]["properties"] + geom = event_data["event"]["geometry"] + + print("📝 Détails de l'événement à insérer:") + print(f" ID: {event_data['id']}") + print(f" Titre: {props.get('label', 'N/A')}") + print(f" Description: {props.get('description', 'N/A')[:100]}{'...' if len(props.get('description', '')) > 100 else ''}") + print(f" Type: {props.get('type', 'N/A')}") + print(f" Catégorie: {props.get('what', 'N/A')}") + print(f" Lieu: {props.get('where', 'N/A')}") + print(f" Début: {props.get('start', 'N/A')}") + print(f" Fin: {props.get('stop', 'N/A')}") + print(f" URL: {props.get('url', 'N/A')}") + print(f" Source: {props.get('source:name', 'N/A')}") + print(f" Coordonnées: {geom.get('coordinates', 'N/A')}") + print(f" Tags: {', '.join(props.get('tags', [])) if props.get('tags') else 'N/A'}") + print(f" Organisateur: {props.get('organizer', 'N/A')}") + print(f" Description courte: {props.get('short_description', 'N/A')}") + print(f" Séquence: {props.get('sequence', 'N/A')}") + print(f" Règles de répétition: {props.get('repeat_rules', 'N/A')}") + print(f" Description HTML: {'Oui' if props.get('alt_description') else 'N/A'}") + print(f" Modifié par: {props.get('last_modified_by', 'N/A')}") + + def send_event_to_api(self, event_data, skip_geocoding=False): + """Simule l'envoi à l'API""" + # Améliorer les coordonnées si nécessaire (sauf si déjà traité) + if not skip_geocoding: + event_data = self.improve_event_coordinates(event_data) + else: + print("ℹ️ Géocodage ignoré - événement déjà traité") + + # Log détaillé de l'événement + self.log_event_details(event_data) + + if self.dry_run: + print(f"[DRY-RUN] Simulation d'envoi: {event_data['event']['properties']['label']}") + return True, "Simulé (dry-run)" + else: + print(f"[API] Envoi réel: {event_data['event']['properties']['label']}") + return True, "Envoyé avec succès" + + def process_events(self): + """Traite les événements""" + # Simuler des événements avec des lieux variés pour tester le géocodage + events = [ + { + "summary": "Conférence Python", + "description": "Présentation sur Python", + "location": "Centre de conférences, 15 rue de la Paix, Paris, France", + "start": "2024-12-01T10:00:00", + "end": "2024-12-01T12:00:00", + "url": "https://example.com/event1" + }, + { + "summary": "Atelier Linux", + "description": "Apprendre Linux", + "location": "Lyon, France", + "start": "2024-12-02T14:00:00", + "end": "2024-12-02T16:00:00", + "url": "https://example.com/event2" + }, + { + "summary": "Formation Git", + "description": "Maîtriser Git", + "location": "Espace formation, 42 avenue du Général de Gaulle, Marseille, France", + "start": "2024-12-03T09:00:00", + "end": "2024-12-03T11:00:00", + "url": "https://example.com/event3" + }, + { + "summary": "Meetup DevOps", + "description": "Discussion DevOps", + "location": "Toulouse, France", + "start": "2024-12-04T13:00:00", + "end": "2024-12-04T15:00:00", + "url": "https://example.com/event4" + }, + { + "summary": "Workshop Docker", + "description": "Conteneurisation", + "location": "Nice, France", + "start": "2024-12-05T10:00:00", + "end": "2024-12-05T12:00:00", + "url": "https://example.com/event5" + } + ] + + stats = { + "total_events": len(events), + "new_events": 0, + "already_saved": 0, + "api_errors": 0, + "parse_errors": 0, + "sent_this_run": 0, + "skipped_due_to_limit": 0 + } + + processed_count = 0 + + print(f"Traitement de {len(events)} événements") + if self.max_events: + print(f"Limite d'événements: {self.max_events}") + if self.dry_run: + print("Mode DRY-RUN activé - aucun événement ne sera envoyé à l'API") + + for event_data in events: + # Vérifier la limite + if self.max_events and processed_count >= self.max_events: + stats["skipped_due_to_limit"] += 1 + continue + + # Parser l'événement + parsed_event = self.parse_event(event_data) + event_id = parsed_event["id"] + + # Vérifier si déjà traité + if event_id in self.cache_data["processed_events"]: + stats["already_saved"] += 1 + print(f"Événement déjà traité: {parsed_event['event']['properties']['label']}") + continue + + # Vérifier si l'événement a déjà été traité avec succès + skip_geocoding = False + if event_id in self.events_data["events"]: + event_status = self.events_data["events"][event_id].get("status", "unknown") + if event_status in ["saved", "already_exists"]: + skip_geocoding = True + print(f"ℹ️ Géocodage ignoré pour {parsed_event['event']['properties']['label']} - déjà traité") + + # Envoyer à l'API + success, message = self.send_event_to_api(parsed_event, skip_geocoding=skip_geocoding) + + if success: + stats["new_events"] += 1 + stats["sent_this_run"] += 1 + + # Mettre à jour les données + self.events_data["events"][event_id] = { + "status": "saved", + "message": message, + "last_attempt": datetime.now().isoformat(), + "event": parsed_event["event"] + } + + self.cache_data["processed_events"][event_id] = { + "processed_at": datetime.now().isoformat(), + "status": "saved", + "event_label": parsed_event["event"]["properties"]["label"] + } + + print(f"✅ {parsed_event['event']['properties']['label']} - {message}") + else: + stats["api_errors"] += 1 + print(f"❌ {parsed_event['event']['properties']['label']} - Erreur") + + processed_count += 1 + + # Mettre à jour les timestamps + self.events_data["last_update"] = datetime.now().isoformat() + self.cache_data["last_fetch"] = datetime.now().isoformat() + + # Sauvegarder + self.save_events_data() + self.save_cache_data() + + return stats + + def run(self): + """Exécute la démonstration""" + print("🚀 Démonstration du scraper agenda du libre amélioré") + print(f"Configuration: max_events={self.max_events}, dry_run={self.dry_run}") + print("=" * 60) + + # Simuler la récupération iCal + ical_content = self.simulate_ical_fetch() + content_hash = self.get_content_hash(ical_content) + + # Vérifier si le contenu a changé + if self.cache_data["content_hash"] == content_hash: + print("Contenu iCal identique au précédent, utilisation du cache") + else: + print("Nouveau contenu iCal détecté, mise à jour du cache") + self.cache_data["content_hash"] = content_hash + + # Traiter les événements + stats = self.process_events() + + # Afficher les statistiques + print("\n📊 Statistiques finales:") + print(f" Total d'événements trouvés: {stats['total_events']}") + print(f" Nouveaux événements envoyés: {stats['new_events']}") + print(f" Événements déjà existants: {stats['already_saved']}") + print(f" Erreurs d'API: {stats['api_errors']}") + print(f" Erreurs de parsing: {stats['parse_errors']}") + print(f" Événements envoyés cette fois: {stats['sent_this_run']}") + if stats['skipped_due_to_limit'] > 0: + print(f" Événements ignorés (limite atteinte): {stats['skipped_due_to_limit']}") + + print("\n✅ Démonstration terminée avec succès") + + # Afficher les fichiers générés + print(f"\n📁 Fichiers générés:") + if os.path.exists(self.cache_file): + print(f" Cache: {self.cache_file}") + if os.path.exists(self.events_file): + print(f" Événements: {self.events_file}") + +def main(): + """Fonction principale de démonstration""" + print("🧪 Démonstration des améliorations du scraper agenda du libre") + print("=" * 60) + + # Test 1: Mode dry-run avec limite + print("\n1️⃣ Test 1: Mode dry-run avec limite de 3 événements") + scraper1 = DemoAgendaDuLibreScraper(max_events=3, dry_run=True) + scraper1.run() + + # Test 2: Mode dry-run sans limite + print("\n2️⃣ Test 2: Mode dry-run sans limite") + scraper2 = DemoAgendaDuLibreScraper(max_events=None, dry_run=True) + scraper2.run() + + # Test 3: Mode réel avec limite + print("\n3️⃣ Test 3: Mode réel avec limite de 2 événements") + scraper3 = DemoAgendaDuLibreScraper(max_events=2, dry_run=False) + scraper3.run() + + # Test 4: Mode parallèle + print("\n4️⃣ Test 4: Mode parallèle avec 15 événements") + scraper4 = DemoAgendaDuLibreScraper(max_events=15, dry_run=True, parallel=True, max_workers=3) + scraper4.run() + + print("\n🎉 Toutes les démonstrations sont terminées !") + print("\nFonctionnalités démontrées:") + print("✅ Cache JSON intelligent") + print("✅ Limitation du nombre d'événements") + print("✅ Mode dry-run par défaut") + print("✅ Détection de changements de contenu") + print("✅ Suivi des événements traités") + print("✅ Traitement parallèle") + +if __name__ == "__main__": + main() diff --git a/extractors/demo_ccpl_agenda.py b/extractors/demo_ccpl_agenda.py new file mode 100644 index 0000000..0dd0091 --- /dev/null +++ b/extractors/demo_ccpl_agenda.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +""" +Script de démonstration pour le scraper CCPL Agenda +""" + +import sys +import os +sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +from ccpl_agenda import CCPLAgendaScraper + +def main(): + print("🧪 Démonstration du scraper CCPL Agenda") + print("=" * 50) + + # Test 1: Mode dry-run avec limite de 1 événement + print("\n1️⃣ Test 1: Mode dry-run avec limite de 1 événement") + scraper1 = CCPLAgendaScraper(max_events=1, dry_run=True) + scraper1.run() + + print("\n2️⃣ Test 2: Mode dry-run avec limite de 3 événements") + scraper2 = CCPLAgendaScraper(max_events=3, dry_run=True) + scraper2.run() + + print("\n3️⃣ Test 3: Mode parallèle avec 5 événements") + scraper3 = CCPLAgendaScraper(max_events=5, dry_run=True, parallel=True, max_workers=2) + scraper3.run() + + print("\n🎉 Toutes les démonstrations sont terminées !") + print("\nFonctionnalités démontrées:") + print("✅ Scraping HTML de l'agenda CCPL") + print("✅ Cache JSON intelligent") + print("✅ Limitation du nombre d'événements") + print("✅ Mode dry-run par défaut") + print("✅ Détection de changements de contenu") + print("✅ Suivi des événements traités") + print("✅ Traitement parallèle") + print("✅ Extraction des métadonnées (titre, date, URL, image)") + +if __name__ == "__main__": + main() diff --git a/extractors/extract_coordinates_from_ics.py b/extractors/extract_coordinates_from_ics.py new file mode 100644 index 0000000..3c21536 --- /dev/null +++ b/extractors/extract_coordinates_from_ics.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +""" +Script pour extraire les coordonnées géographiques du fichier ICS de l'agenda du libre. +Le fichier ICS contient des coordonnées dans les propriétés X-ALT-DESC;FMTTYPE=text/html +sous forme d'attributs data-latitude et data-longitude. +""" + +import re +import json +from typing import List, Dict, Tuple + +def extract_coordinates_from_ics(ics_file_path: str) -> List[Dict]: + """ + Extrait les coordonnées géographiques du fichier ICS. + + Args: + ics_file_path: Chemin vers le fichier ICS + + Returns: + Liste de dictionnaires contenant les coordonnées et informations associées + """ + coordinates = [] + + with open(ics_file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Recherche des patterns data-latitude et data-longitude + # Pattern pour capturer les coordonnées dans le HTML + pattern = r'data-latitude="([^"]+)"[^>]*data-longitude="([^"]+)"' + + matches = re.findall(pattern, content) + + for i, (lat, lon) in enumerate(matches): + try: + lat_float = float(lat) + lon_float = float(lon) + + # Vérifier que les coordonnées sont valides + if -90 <= lat_float <= 90 and -180 <= lon_float <= 180: + coordinates.append({ + 'id': i + 1, + 'latitude': lat_float, + 'longitude': lon_float, + 'source': 'agendadulibre_ics' + }) + except ValueError: + # Ignorer les coordonnées invalides + continue + + return coordinates + +def find_events_with_coordinates(ics_file_path: str) -> List[Dict]: + """ + Trouve les événements qui ont des coordonnées dans le fichier ICS. + + Args: + ics_file_path: Chemin vers le fichier ICS + + Returns: + Liste des événements avec leurs coordonnées + """ + events = [] + + with open(ics_file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Diviser le contenu en événements individuels + event_blocks = content.split('BEGIN:VEVENT') + + for i, block in enumerate(event_blocks[1:], 1): # Ignorer le premier bloc (en-tête) + # Rechercher les coordonnées dans ce bloc d'événement + lat_match = re.search(r'data-latitude="([^"]+)"', block) + lon_match = re.search(r'data-longitude="([^"]+)"', block) + + if lat_match and lon_match: + try: + lat = float(lat_match.group(1)) + lon = float(lon_match.group(1)) + + # Vérifier que les coordonnées sont valides + if -90 <= lat <= 90 and -180 <= lon <= 180: + # Extraire d'autres informations de l'événement + summary_match = re.search(r'SUMMARY:(.+)', block) + location_match = re.search(r'LOCATION:(.+)', block) + description_match = re.search(r'DESCRIPTION:(.+)', block) + + event = { + 'event_id': i, + 'latitude': lat, + 'longitude': lon, + 'summary': summary_match.group(1).strip() if summary_match else '', + 'location': location_match.group(1).strip() if location_match else '', + 'description': description_match.group(1).strip() if description_match else '', + 'source': 'agendadulibre_ics' + } + + events.append(event) + except ValueError: + continue + + return events + +def main(): + """Fonction principale pour extraire et afficher les coordonnées.""" + ics_file = 'agendadulibre_events.ics' + + print("🔍 Extraction des coordonnées du fichier ICS...") + + # Extraire toutes les coordonnées + all_coordinates = extract_coordinates_from_ics(ics_file) + print(f"📍 {len(all_coordinates)} coordonnées trouvées") + + # Extraire les événements avec coordonnées + events_with_coords = find_events_with_coordinates(ics_file) + print(f"🎯 {len(events_with_coords)} événements avec coordonnées trouvés") + + # Afficher quelques exemples + print("\n📋 Exemples d'événements avec coordonnées :") + for event in events_with_coords[:5]: + print(f" • {event['summary']}") + print(f" 📍 {event['latitude']}, {event['longitude']}") + print(f" 📍 Lieu: {event['location']}") + print() + + # Sauvegarder les résultats + with open('extracted_coordinates.json', 'w', encoding='utf-8') as f: + json.dump(events_with_coords, f, indent=2, ensure_ascii=False) + + print(f"💾 Résultats sauvegardés dans 'extracted_coordinates.json'") + + # Statistiques + unique_coords = set((event['latitude'], event['longitude']) for event in events_with_coords) + print(f"📊 {len(unique_coords)} coordonnées uniques") + +if __name__ == "__main__": + main() diff --git a/extractors/fr_holidays_extractor.py b/extractors/fr_holidays_extractor.py new file mode 100644 index 0000000..0debb6d --- /dev/null +++ b/extractors/fr_holidays_extractor.py @@ -0,0 +1,266 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Extracteur des vacances scolaires en France (par zones A/B/C et Corse) + jours fériés. +Sources: +- Vacances scolaires (ICS): https://www.data.gouv.fr/api/1/datasets/r/e5f40fbc-7a84-4c4a-94e4-55ac4299b222 +- Jours fériés: https://calendrier.api.gouv.fr/jours-feries.json + +Fonctionnalités: +- Cache JSON pour limiter les requêtes +- Paramètres CLI (période, zone optionnelle, dry-run, base_url OEDB, ttl cache) +- Conversion vers format Feature OEDB (un évènement par zone et par période de vacances) +- Pas de coordonnées GPS (point [0,0]) +- Rapport succès/échecs à l'issue de l'envoi +""" + +import argparse +import datetime as dt +import sys +from typing import Any, Dict, List, Tuple + +from utils_extractor_common import ( + CacheConfig, + load_cache, + save_cache, + oedb_feature, + post_oedb_features, + http_get_json, +) + + +DEFAULT_CACHE = "extractors_cache/fr_holidays_cache.json" +OEDB_DEFAULT = "https://api.openeventdatabase.org" +ICS_URL = "https://www.data.gouv.fr/api/1/datasets/r/e5f40fbc-7a84-4c4a-94e4-55ac4299b222" + + +def build_args() -> argparse.Namespace: + p = argparse.ArgumentParser(description="Extracteur vacances scolaires FR -> OEDB") + p.add_argument("--start", help="Date de début YYYY-MM-DD", default=None) + p.add_argument("--end", help="Date de fin YYYY-MM-DD", default=None) + p.add_argument("--academie", help="Filtrer par académie (optionnel)", default=None) + p.add_argument("--base-url", help="Base URL OEDB", default=OEDB_DEFAULT) + p.add_argument("--cache", help="Fichier de cache JSON", default=DEFAULT_CACHE) + p.add_argument("--cache-ttl", help="Durée de vie du cache (sec)", type=int, default=24*3600) + p.add_argument("--limit", help="Limiter le nombre d'événements à traiter", type=int, default=None) + p.add_argument("--dry-run", help="N'envoie pas à l'API OEDB", action="store_true") + return p.parse_args() + + +def date_in_range(d: str, start: str, end: str) -> bool: + if not start and not end: + return True + dd = dt.date.fromisoformat(d) + if start: + if dd < dt.date.fromisoformat(start): + return False + if end: + if dd > dt.date.fromisoformat(end): + return False + return True + + +def _zones_from_text(summary: str, location: str) -> List[str]: + s = f"{summary} {location}".lower() + zones: List[str] = [] + if "corse" in s: + zones.append("Corse") + # Chercher motifs Zones A/B/C, B/C, A/B, Zone A, etc. + # Simpliste mais robuste pour notre source + if "zones a/b/c" in s or "zones a / b / c" in s: + zones.extend(["A", "B", "C"]) + else: + if "zones a/b" in s or "zones a / b" in s: + zones.extend(["A", "B"]) + if "zones b/c" in s or "zones b / c" in s: + zones.extend(["B", "C"]) + if "zones a/c" in s or "zones a / c" in s: + zones.extend(["A", "C"]) + if "zone a" in s: + zones.append("A") + if "zone b" in s: + zones.append("B") + if "zone c" in s: + zones.append("C") + # Dédupliquer en conservant l'ordre + seen = set() + out: List[str] = [] + for z in zones: + if z not in seen: + seen.add(z) + out.append(z) + return out or ["A", "B", "C"] # fallback si non indiqué + + +def _parse_ics_events(ics_text: str) -> List[Dict[str, Any]]: + events: List[Dict[str, Any]] = [] + current: Dict[str, str] = {} + in_event = False + for raw in ics_text.splitlines(): + line = raw.strip() + if line == "BEGIN:VEVENT": + in_event = True + current = {} + continue + if line == "END:VEVENT": + if current: + events.append(current) + in_event = False + current = {} + continue + if not in_event: + continue + if line.startswith("DTSTART"): + # DTSTART;VALUE=DATE:YYYYMMDD + val = line.split(":", 1)[-1] + current["DTSTART"] = val + elif line.startswith("DTEND"): + val = line.split(":", 1)[-1] + current["DTEND"] = val + elif line.startswith("SUMMARY:"): + current["SUMMARY"] = line[len("SUMMARY:"):].strip() + elif line.startswith("LOCATION:"): + current["LOCATION"] = line[len("LOCATION:"):].strip() + return events + + +def _yymmdd_to_iso(d: str) -> str: + # d: YYYYMMDD + return f"{d[0:4]}-{d[4:6]}-{d[6:8]}" + + +def fetch_sources(cache_cfg: CacheConfig) -> Dict[str, Any]: + cache = load_cache(cache_cfg) + if cache: + return cache + + out: Dict[str, Any] = {} + # Jours fériés France métropolitaine (année courante) + year = dt.date.today().year + holidays_url = f"https://calendrier.api.gouv.fr/jours-feries/metropole/{year}.json" + out["jours_feries"] = http_get_json(holidays_url) + + # Vacances scolaires via ICS data.gouv + import requests + r = requests.get(ICS_URL, timeout=30) + r.raise_for_status() + ics_text = r.text + vevents = _parse_ics_events(ics_text) + vacances: List[Dict[str, Any]] = [] + for ev in vevents: + dtstart = ev.get("DTSTART") + dtend = ev.get("DTEND") + summary = ev.get("SUMMARY", "") + location = ev.get("LOCATION", "") + if not (dtstart and dtend and summary): + continue + start_iso = _yymmdd_to_iso(dtstart) + end_excl_iso = _yymmdd_to_iso(dtend) + # DTEND valeur-date dans ICS est exclusive -> stop inclusif = end_excl - 1 jour + end_excl = dt.date.fromisoformat(end_excl_iso) + stop_incl = (end_excl - dt.timedelta(days=1)).isoformat() + zones = _zones_from_text(summary, location) + vacances.append({ + "label": summary, + "start": start_iso, + "stop": stop_incl, + "zones": zones, + }) + out["vacances_scolaires_ics"] = vacances + + save_cache(cache_cfg, out) + return out + + +def convert_to_oedb(data: Dict[str, Any], start: str | None, end: str | None, academie: str | None, limit: int | None = None) -> List[Dict[str, Any]]: + features: List[Dict[str, Any]] = [] + + # Jours fériés + jf: Dict[str, str] = data.get("jours_feries", {}) or {} + for date_iso, label in jf.items(): + if not date_in_range(date_iso, start, end): + continue + # Améliorer le nom avec la date + try: + date_obj = dt.date.fromisoformat(date_iso) + day_name = date_obj.strftime("%A %d %B %Y") + full_label = f"{label} ({day_name})" + except: + full_label = label + + feature = oedb_feature( + label=full_label, + what="time.daylight.holiday", + start=f"{date_iso}T00:00:00Z", + stop=f"{date_iso}T23:59:59Z", + description="Jour férié national", + where="France", + ) + # Ajouter la propriété type requise par l'API OEDB + feature["properties"]["type"] = "scheduled" + features.append(feature) + # Appliquer la limite si définie + if limit and len(features) >= limit: + return features[:limit] + + # Vacances scolaires via ICS – un évènement par zone listée + vs_ics: List[Dict[str, Any]] = data.get("vacances_scolaires_ics", []) or [] + for item in vs_ics: + s = item.get("start") + e = item.get("stop") + label = item.get("label") or "Vacances scolaires" + zones: List[str] = item.get("zones") or [] + if not (s and e and zones): + continue + if not (date_in_range(s, start, end) or date_in_range(e, start, end)): + continue + for z in zones: + if academie and z != academie: + continue + # Améliorer le nom avec la période et la zone + try: + start_date = dt.date.fromisoformat(s) + end_date = dt.date.fromisoformat(e) + period_duration = (end_date - start_date).days + 1 + full_label = f"{label} - Zone {z} ({period_duration} jours)" + except: + full_label = f"{label} - Zone {z}" + feature = oedb_feature( + label=full_label, + what="time.holidays", + start=f"{s}T00:00:00Z", + stop=f"{e}T23:59:59Z", + description=f"Vacances scolaires zone {z}", + where=f"Zone {z}", + ) + # Ajouter la propriété type requise par l'API OEDB + feature["properties"]["type"] = "event" + features.append(feature) + + return features + + +def main() -> int: + args = build_args() + cache_cfg = CacheConfig(path=args.cache, ttl_seconds=args.cache_ttl) + + src = fetch_sources(cache_cfg) + feats = convert_to_oedb(src, args.start, args.end, args.academie, args.limit) + + # Utiliser un cache pour éviter de renvoyer les événements déjà traités + sent_cache_path = "extractors_cache/fr_holidays_sent.json" + ok, failed, neterr = post_oedb_features(args.base_url, feats, dry_run=args.dry_run, sent_cache_path=sent_cache_path) + print(json_report(ok, failed, neterr)) + return 0 + + +def json_report(ok: int, failed: int, neterr: int) -> str: + import json + return json.dumps({"success": ok, "failed": failed, "networkErrors": neterr}, indent=2) + + +if __name__ == "__main__": + sys.exit(main()) + + diff --git a/extractors/mobilizon.py b/extractors/mobilizon.py new file mode 100644 index 0000000..0a481ba --- /dev/null +++ b/extractors/mobilizon.py @@ -0,0 +1,582 @@ +#!/usr/bin/env python3 +""" +Import d'événements depuis l'API GraphQL de Mobilizon vers OEDB + +Usage: + python3 mobilizon.py --limit 25 --page-size 10 --instance-url https://mobilizon.fr \ + --api-url https://api.openeventdatabase.org --dry-run --verbose + +Notes: + - S'inspire de extractors/agenda_geek.py pour la structure générale (CLI, dry-run, + session HTTP, envoi vers /event) et évite de scraper les pages web en + utilisant l'API GraphQL officielle. + - Ajoute un paramètre --limit pour borner le nombre d'événements à insérer. +""" + +import argparse +import json +import logging +import time +import os +import math +import os +from dataclasses import dataclass +from datetime import datetime, timezone +from typing import Dict, Iterable, List, Optional, Tuple + +import requests + + +# Configuration logging (alignée avec agenda_geek.py) +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + handlers=[ + logging.StreamHandler(), + ] +) +logger = logging.getLogger(__name__) + + +@dataclass +class MobilizonEvent: + uuid: Optional[str] + url: Optional[str] + title: Optional[str] + description: Optional[str] + begins_on: Optional[str] + ends_on: Optional[str] + status: Optional[str] + latitude: Optional[float] + longitude: Optional[float] + address_text: Optional[str] + tags: Optional[List[str]] + organizer_name: Optional[str] + organizer_url: Optional[str] + category: Optional[str] + website: Optional[str] + + +class MobilizonClient: + def __init__(self, instance_url: str = "https://mobilizon.fr") -> None: + self.base = instance_url.rstrip('/') + # L'endpoint GraphQL public d'une instance Mobilizon est typiquement /api + self.endpoint = f"{self.base}/api" + self.session = requests.Session() + self.session.headers.update({ + 'User-Agent': 'OEDB-Mobilizon-Importer/1.0 (+https://github.com/cquest/oedb)', + 'Content-Type': 'application/json' + }) + + def fetch_events_page(self, page: int, page_size: int) -> Tuple[List[MobilizonEvent], int]: + """Récupère une page d'événements publics via GraphQL. + + Retourne (events, total) où total est le total connu côté API (si exposé), sinon 0. + """ + # Plusieurs schémas existent selon versions; on tente un query générique. + # Le champ events retourne elements[] + total dans de nombreuses versions. + query = """ + query Events($page: Int!, $limit: Int!) { + events(page: $page, limit: $limit) { + total + elements { + uuid + url + title + description + beginsOn + endsOn + status + physicalAddress { + description + locality + geom + street + postalCode + region + country + } + onlineAddress + tags { title slug } + organizerActor { name url } + category + } + } + } + """ + variables = {"page": page, "limit": page_size} + + try: + logger.info(f"Fetching events page {page} with size {page_size}") + logger.info(f"Query: {query}") + logger.info(f"Variables: {variables}") + logger.info(f"Endpoint: {self.endpoint}") + resp = self.session.post(self.endpoint, json={"query": query, "variables": variables}, timeout=30) + resp.raise_for_status() + data = resp.json() + except requests.RequestException as e: + logger.error(f"Erreur HTTP GraphQL: {e}") + return ([], 0) + except ValueError: + logger.error("Réponse GraphQL non JSON") + return ([], 0) + + if 'errors' in data: + logger.error(f"Erreurs GraphQL: {data['errors']}") + return ([], 0) + + events_raw = (((data.get('data') or {}).get('events')) or {}).get('elements') or [] + + total = (((data.get('data') or {}).get('events')) or {}).get('total') or 0 + + parsed: List[MobilizonEvent] = [] + for ev in events_raw: + # Adresse/coords + addr = ev.get('physicalAddress') or {} + address_text = None + if addr: + parts = [ + addr.get('description'), + addr.get('street'), + addr.get('postalCode'), + addr.get('locality'), + addr.get('region'), + addr.get('country'), + ] + address_text = ", ".join([p for p in parts if p]) or None + + lat = None + lon = None + geom = addr.get('geom') if isinstance(addr, dict) else None + # geom peut être un scalaire JSON (string) ou déjà un objet (selon versions) + if geom: + parsed_ok = False + # 1) Essayer JSON + if isinstance(geom, (dict, list)): + try: + g = geom + if isinstance(g, dict) and isinstance(g.get('coordinates'), (list, tuple)): + coords = g.get('coordinates') + if isinstance(coords, list) and len(coords) >= 2: + lon = float(coords[0]) + lat = float(coords[1]) + parsed_ok = True + except Exception: + pass + else: + # string -> tenter json, sinon WKT POINT(lon lat) + try: + g = json.loads(geom) + if isinstance(g, dict) and isinstance(g.get('coordinates'), (list, tuple)): + coords = g.get('coordinates') + if isinstance(coords, list) and len(coords) >= 2: + lon = float(coords[0]) + lat = float(coords[1]) + parsed_ok = True + except Exception: + # WKT + import re + m = re.search(r"POINT\s*\(\s*([+-]?[0-9]*\.?[0-9]+)\s+([+-]?[0-9]*\.?[0-9]+)\s*\)", str(geom)) + if m: + try: + lon = float(m.group(1)) + lat = float(m.group(2)) + parsed_ok = True + except Exception: + pass + + # tags + tags_field = ev.get('tags') + tags_list: Optional[List[str]] = None + if isinstance(tags_field, list): + tags_list = [] + for t in tags_field: + if isinstance(t, dict): + val = t.get('title') or t.get('slug') or t.get('name') + if val: + tags_list.append(val) + elif isinstance(t, str): + tags_list.append(t) + if not tags_list: + tags_list = None + + # organizer + organizer = ev.get('organizerActor') or {} + organizer_name = organizer.get('name') if isinstance(organizer, dict) else None + organizer_url = organizer.get('url') if isinstance(organizer, dict) else None + + # category & website + category = ev.get('category') + website = ev.get('onlineAddress') or ev.get('url') + + parsed.append(MobilizonEvent( + uuid=ev.get('uuid') or ev.get('id'), + url=ev.get('url') or ev.get('onlineAddress'), + title=ev.get('title'), + description=ev.get('description'), + begins_on=ev.get('beginsOn'), + ends_on=ev.get('endsOn'), + status=ev.get('status'), + latitude=lat, + longitude=lon, + address_text=address_text, + tags=tags_list, + organizer_name=organizer_name, + organizer_url=organizer_url, + category=category, + website=website, + )) + + return (parsed, total) + + +class MobilizonImporter: + def __init__(self, api_url: str, instance_url: str, dry_run: bool = False, geocode_missing: bool = False, cache_file: Optional[str] = None) -> None: + self.api_url = api_url.rstrip('/') + self.client = MobilizonClient(instance_url) + self.dry_run = dry_run + self.geocode_missing = geocode_missing + self.cache_file = cache_file + self.cache = {"fetched": {}, "sent": {}, "events": {}} # uid -> ts, uid -> event dict + if self.cache_file: + self._load_cache() + self.session = requests.Session() + self.session.headers.update({ + 'User-Agent': 'OEDB-Mobilizon-Importer/1.0 (+https://github.com/cquest/oedb)' + }) + + def _load_cache(self) -> None: + try: + if self.cache_file and os.path.exists(self.cache_file): + with open(self.cache_file, 'r', encoding='utf-8') as f: + data = json.load(f) + if isinstance(data, dict): + self.cache["fetched"] = data.get("fetched", {}) + self.cache["sent"] = data.get("sent", {}) + self.cache["events"] = data.get("events", {}) + logger.info(f"Cache chargé: fetched={len(self.cache['fetched'])}, sent={len(self.cache['sent'])}, events={len(self.cache['events'])}") + except Exception as e: + logger.warning(f"Chargement du cache échoué: {e}") + + def _save_cache(self) -> None: + if not self.cache_file: + return + try: + tmp = self.cache_file + ".tmp" + with open(tmp, 'w', encoding='utf-8') as f: + json.dump(self.cache, f, ensure_ascii=False, indent=2) + os.replace(tmp, self.cache_file) + except Exception as e: + logger.warning(f"Écriture du cache échouée: {e}") + + def geocode_address(self, address: str) -> Optional[Tuple[float, float]]: + if not address or address.strip() == '': + return None + try: + geocode_url = "https://nominatim.openstreetmap.org/search" + params = { + 'q': address, + 'format': 'json', + 'limit': 1, + 'addressdetails': 0, + } + # Utiliser une session distincte pour respecter headers/politiques + s = requests.Session() + s.headers.update({'User-Agent': 'OEDB-Mobilizon-Importer/1.0 (+https://github.com/cquest/oedb)'}) + r = s.get(geocode_url, params=params, timeout=15) + r.raise_for_status() + results = r.json() + if isinstance(results, list) and results: + lat = float(results[0]['lat']) + lon = float(results[0]['lon']) + return (lat, lon) + except Exception as e: + logger.warning(f"Géocodage échoué pour '{address}': {e}") + return None + + @staticmethod + def _iso_or_none(dt_str: Optional[str]) -> Optional[str]: + if not dt_str: + return None + try: + # Mobilizon renvoie souvent des ISO 8601 déjà valides. + dt = datetime.fromisoformat(dt_str.replace('Z', '+00:00')) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=timezone.utc) + return dt.isoformat() + except Exception: + return None + + @staticmethod + def _parse_dt(dt_str: Optional[str]) -> Optional[datetime]: + if not dt_str: + return None + try: + dt = datetime.fromisoformat(dt_str.replace('Z', '+00:00')) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=timezone.utc) + return dt + except Exception: + return None + + @staticmethod + def _oedb_feature(ev: MobilizonEvent) -> Optional[Dict]: + # Nécessite des coords; si absentes on ignore (évite un géocodage agressif). + if ev.latitude is None or ev.longitude is None: + return None + + start_iso = MobilizonImporter._iso_or_none(ev.begins_on) + end_iso = MobilizonImporter._iso_or_none(ev.ends_on) + + properties = { + "label": ev.title or "Événement Mobilizon", + "type": "scheduled", + "what": "culture.meetup", + "start": start_iso, + "stop": end_iso, + "where": ev.address_text or "", + "description": ev.description or "", + "source:name": "Mobilizon", + "source:url": ev.url or "", + "source:uid": ev.uuid or "", + "url": ev.url or "", + } + if ev.tags: + properties["tags"] = ev.tags + if ev.organizer_name: + properties["organizer:name"] = ev.organizer_name + if ev.organizer_url: + properties["organizer:url"] = ev.organizer_url + if ev.category: + properties["category"] = ev.category + if ev.website: + properties["website"] = ev.website + + feature = { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ev.longitude, ev.latitude], + }, + "properties": properties, + } + logger.info(json.dumps(feature, indent=2, ensure_ascii=False)) + + return feature + + def send_to_oedb(self, feature: Dict) -> bool: + # Toujours logguer le JSON envoyé (ou qui serait envoyé) + if self.dry_run: + logger.info("DRY RUN - Événement qui serait envoyé:") + else: + logger.info("Envoi de l'événement vers OEDB:") + logger.info(json.dumps(feature, indent=2, ensure_ascii=False)) + if self.dry_run: + return True + try: + r = self.session.post(f"{self.api_url}/event", json=feature, timeout=30) + if r.status_code == 201: + logger.info("Événement créé avec succès") + try: + uid = feature.get('properties', {}).get('source:uid') + if uid: + self.cache['sent'][uid] = int(time.time()) + self._save_cache() + except Exception: + pass + return True + if r.status_code == 409: + logger.info("Événement déjà existant (409)") + try: + uid = feature.get('properties', {}).get('source:uid') + if uid: + self.cache['sent'][uid] = int(time.time()) + self._save_cache() + except Exception: + pass + return True + logger.error(f"Erreur API OEDB {r.status_code}: {r.text}") + return False + except requests.RequestException as e: + logger.error(f"Erreur d'appel OEDB: {e}") + return False + + def import_events(self, limit: int, page_size: int, start_page: int = 1, sleep_s: float = 0.5) -> None: + inserted = 0 + fetched = 0 # nombre brut d'événements récupérés depuis l'API + page = start_page + pages_fetched = 0 + + # Parcourir les pages jusqu'à atteindre la limite demandée + while inserted < limit: + # Ne pas parcourir plus de pages que nécessaire (ex: limit=1, page-size=10 => 1 page max) + max_pages = max(1, math.ceil(limit / page_size)) + if pages_fetched >= max_pages: + logger.info("Limite de pages atteinte selon --limit et --page-size, arrêt de la pagination") + break + remaining_fetch = max(1, min(page_size, max(1, limit - inserted))) + events, total = self.client.fetch_events_page(page=page, page_size=remaining_fetch) + if not events: + logger.info("Aucun événement supplémentaire retourné par l'API") + # Traiter des événements non envoyés depuis le cache si disponible + if self.cache.get('events'): + logger.info("Utilisation du cache pour traiter les événements non envoyés") + for uid, ev_data in list(self.cache['events'].items()): + if inserted >= limit: + break + if uid in self.cache['sent']: + continue + ev = MobilizonEvent( + uuid=uid, + url=ev_data.get('url'), + title=ev_data.get('title'), + description=ev_data.get('description'), + begins_on=ev_data.get('begins_on'), + ends_on=ev_data.get('ends_on'), + status=ev_data.get('status'), + latitude=ev_data.get('latitude'), + longitude=ev_data.get('longitude'), + address_text=ev_data.get('address_text'), + tags=ev_data.get('tags'), + organizer_name=ev_data.get('organizer_name'), + organizer_url=ev_data.get('organizer_url'), + category=ev_data.get('category'), + website=ev_data.get('website'), + ) + # Filtrer les événements de plus d'une semaine + start_dt = self._parse_dt(ev.begins_on) + end_dt = self._parse_dt(ev.ends_on) + if start_dt and end_dt: + duration = end_dt - start_dt + if duration.total_seconds() > 7 * 24 * 3600: + continue + feature = self._oedb_feature(ev) + if feature is None and self.geocode_missing and ev.address_text: + coords = self.geocode_address(ev.address_text) + if coords: + ev.latitude, ev.longitude = coords + # mettre à jour le cache + ev_data['latitude'], ev_data['longitude'] = coords + self.cache['events'][uid] = ev_data + self._save_cache() + feature = self._oedb_feature(ev) + if feature is None: + continue + ok = self.send_to_oedb(feature) + if ok: + inserted += 1 + break + break + + # marquer fetched et filtrer déjà envoyés/déjà vus + new_in_page = 0 + filtered: List[MobilizonEvent] = [] + for ev in events: + uid = ev.uuid or ev.url + if uid: + if uid in self.cache['sent']: + logger.info("Ignoré (déjà envoyé) uid=%s" % uid) + continue + if uid not in self.cache['fetched']: + new_in_page += 1 + self.cache['fetched'][uid] = int(time.time()) + # Sauvegarder l'événement (cache pour dry-run / re-run sans refetch) + self.cache['events'][uid] = { + 'url': ev.url, + 'title': ev.title, + 'description': ev.description, + 'begins_on': ev.begins_on, + 'ends_on': ev.ends_on, + 'status': ev.status, + 'latitude': ev.latitude, + 'longitude': ev.longitude, + 'address_text': ev.address_text, + 'tags': ev.tags, + 'organizer_name': ev.organizer_name, + 'organizer_url': ev.organizer_url, + 'category': ev.category, + 'website': ev.website, + } + filtered.append(ev) + self._save_cache() + + fetched += len(events) + pages_fetched += 1 + + for ev in filtered: + if inserted >= limit: + break + # Filtrer les événements de plus d'une semaine + start_dt = self._parse_dt(ev.begins_on) + end_dt = self._parse_dt(ev.ends_on) + if start_dt and end_dt: + duration = end_dt - start_dt + if duration.total_seconds() > 7 * 24 * 3600: + logger.info("Ignoré (durée > 7 jours)") + continue + feature = self._oedb_feature(ev) + if feature is None: + # Pas de géométrie -> on saute (évite un géocodage agressif pour rester léger) + # Mais on loggue tout de même les propriétés pour visibilité + properties = { + "label": ev.title or "Événement Mobilizon", + "type": "scheduled", + "what": "culture.meetup", + "start": MobilizonImporter._iso_or_none(ev.begins_on), + "stop": MobilizonImporter._iso_or_none(ev.ends_on), + "where": ev.address_text or "", + "description": ev.description or "", + "source:name": "Mobilizon", + "source:url": ev.url or "", + "source:uid": ev.uuid or "", + "url": ev.url or "", + } + pseudo_feature = {"type": "Feature", "geometry": None, "properties": properties} + logger.info("Ignoré (pas de géométrie) - Événement qui aurait été envoyé:") + logger.info(ev) + logger.info(json.dumps(pseudo_feature, indent=2, ensure_ascii=False)) + # Si demandé, essayer un géocodage sur l'adresse + if self.geocode_missing and ev.address_text: + logger.info("Tentative de géocodage pour compléter les coordonnées...") + coords = self.geocode_address(ev.address_text) + if coords: + ev.latitude, ev.longitude = coords + feature = self._oedb_feature(ev) + if feature is None: + continue + else: + continue + ok = self.send_to_oedb(feature) + if ok: + inserted += 1 + time.sleep(sleep_s) + + page += 1 + + logger.info(f"Terminé: {inserted} événement(s) traité(s) (limite demandée: {limit})") + + +def main() -> None: + parser = argparse.ArgumentParser(description='Import Mobilizon -> OEDB (via GraphQL)') + parser.add_argument('--limit', type=int, default=20, help="Nombre maximal d'événements à insérer") + parser.add_argument('--page-size', type=int, default=10, help='Taille des pages GraphQL') + parser.add_argument('--start-page', type=int, default=1, help='Page de départ (1-indexée)') + parser.add_argument('--instance-url', default='https://mobilizon.fr', help="URL de l'instance Mobilizon (ex: https://mobilizon.fr)") + parser.add_argument('--api-url', default='https://api.openeventdatabase.org', help="URL de l'API OEDB") + parser.add_argument('--dry-run', action='store_true', help='Mode test sans envoi vers OEDB') + parser.add_argument('--geocode-missing', action='store_true', help="Tenter un géocodage si pas de géométrie fournie", default=True) + parser.add_argument('--cache-file', default='mobilizon_cache.json', help='Fichier JSON de cache pour éviter les doublons') + parser.add_argument('--verbose', action='store_true', help='Mode verbeux') + + args = parser.parse_args() + if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + + importer = MobilizonImporter(api_url=args.api_url, instance_url=args.instance_url, dry_run=args.dry_run, geocode_missing=args.geocode_missing, cache_file=args.cache_file) + importer.import_events(limit=args.limit, page_size=args.page_size, start_page=args.start_page) + + +if __name__ == '__main__': + main() + +# extractors/mobilizon.py \ No newline at end of file diff --git a/extractors/monitor_agendadulibre.py b/extractors/monitor_agendadulibre.py new file mode 100755 index 0000000..fd88583 --- /dev/null +++ b/extractors/monitor_agendadulibre.py @@ -0,0 +1,211 @@ +#!/usr/bin/env python3 +""" +Script de monitoring pour le scraper agenda du libre +Affiche les statistiques et l'état du scraper +""" + +import json +import os +import sys +from datetime import datetime, timedelta +from typing import Dict, Any + +class AgendaDuLibreMonitor: + def __init__(self, data_file: str = "agendadulibre_events.json"): + self.data_file = data_file + self.events_data = self.load_events_data() + + def load_events_data(self) -> Dict[str, Any]: + """Charge les données d'événements""" + if os.path.exists(self.data_file): + try: + with open(self.data_file, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + print(f"❌ Erreur lors du chargement de {self.data_file}: {e}") + return {"events": {}, "last_update": None} + return {"events": {}, "last_update": None} + + def get_statistics(self) -> Dict[str, Any]: + """Calcule les statistiques des événements""" + events = self.events_data.get("events", {}) + + stats = { + "total_events": len(events), + "saved": 0, + "already_exists": 0, + "error": 0, + "unknown": 0, + "recent_errors": 0, + "last_update": self.events_data.get("last_update"), + "events_by_status": {}, + "recent_events": [] + } + + # Analyser les statuts + for event_id, event_data in events.items(): + status = event_data.get("status", "unknown") + stats["events_by_status"][status] = stats["events_by_status"].get(status, 0) + 1 + + if status == "saved": + stats["saved"] += 1 + elif status == "already_exists": + stats["already_exists"] += 1 + elif status == "error": + stats["error"] += 1 + else: + stats["unknown"] += 1 + + # Vérifier les erreurs récentes (dernières 24h) + last_attempt = event_data.get("last_attempt") + if last_attempt and status == "error": + try: + attempt_time = datetime.fromisoformat(last_attempt.replace('Z', '+00:00')) + if datetime.now() - attempt_time.replace(tzinfo=None) < timedelta(hours=24): + stats["recent_errors"] += 1 + except: + pass + + # Collecter les événements récents (derniers 10) + if len(stats["recent_events"]) < 10: + event_info = { + "id": event_id, + "label": event_data.get("event", {}).get("properties", {}).get("label", "Sans titre"), + "status": status, + "last_attempt": last_attempt, + "message": event_data.get("message", "") + } + stats["recent_events"].append(event_info) + + return stats + + def display_statistics(self): + """Affiche les statistiques de manière formatée""" + stats = self.get_statistics() + + print("📊 Statistiques du scraper agenda du libre") + print("=" * 50) + + # Informations générales + print(f"📁 Fichier de données: {self.data_file}") + print(f"📅 Dernière mise à jour: {stats['last_update'] or 'Jamais'}") + print(f"📈 Total d'événements traités: {stats['total_events']}") + print() + + # Répartition par statut + print("📋 Répartition par statut:") + for status, count in stats["events_by_status"].items(): + emoji = { + "saved": "✅", + "already_exists": "⚠️", + "error": "❌", + "unknown": "❓" + }.get(status, "❓") + print(f" {emoji} {status}: {count}") + print() + + # Erreurs récentes + if stats["recent_errors"] > 0: + print(f"🚨 Erreurs récentes (24h): {stats['recent_errors']}") + print() + + # Événements récents + if stats["recent_events"]: + print("🕒 Événements récents:") + for event in stats["recent_events"][:5]: + emoji = { + "saved": "✅", + "already_exists": "⚠️", + "error": "❌", + "unknown": "❓" + }.get(event["status"], "❓") + + print(f" {emoji} {event['label'][:50]}{'...' if len(event['label']) > 50 else ''}") + if event["status"] == "error": + print(f" 💬 {event['message']}") + print() + + # Recommandations + self.display_recommendations(stats) + + def display_recommendations(self, stats: Dict[str, Any]): + """Affiche des recommandations basées sur les statistiques""" + print("💡 Recommandations:") + + if stats["total_events"] == 0: + print(" - Aucun événement traité. Exécutez le scraper pour commencer.") + elif stats["error"] > stats["saved"]: + print(" - Beaucoup d'erreurs détectées. Vérifiez la connectivité API.") + elif stats["recent_errors"] > 5: + print(" - Erreurs récentes nombreuses. Vérifiez les logs.") + elif stats["saved"] > 0: + print(" - Scraper fonctionne correctement.") + + if stats["already_exists"] > stats["saved"]: + print(" - Beaucoup d'événements déjà existants. Le système de déduplication fonctionne.") + + print() + + def check_file_status(self): + """Vérifie l'état du fichier de données""" + if not os.path.exists(self.data_file): + print(f"❌ Fichier de données non trouvé: {self.data_file}") + return False + + try: + stat = os.stat(self.data_file) + size = stat.st_size + mtime = datetime.fromtimestamp(stat.st_mtime) + + print(f"📁 État du fichier de données:") + print(f" - Taille: {size:,} octets") + print(f" - Dernière modification: {mtime}") + print(f" - Lisible: {'✅' if os.access(self.data_file, os.R_OK) else '❌'}") + print(f" - Écriture: {'✅' if os.access(self.data_file, os.W_OK) else '❌'}") + print() + + return True + except Exception as e: + print(f"❌ Erreur lors de la vérification du fichier: {e}") + return False + + def show_help(self): + """Affiche l'aide""" + print("🔍 Monitor agenda du libre - Aide") + print("=" * 40) + print("Usage: python3 monitor_agendadulibre.py [options]") + print() + print("Options:") + print(" --stats, -s Afficher les statistiques (défaut)") + print(" --file, -f Vérifier l'état du fichier") + print(" --help, -h Afficher cette aide") + print() + print("Exemples:") + print(" python3 monitor_agendadulibre.py") + print(" python3 monitor_agendadulibre.py --file") + print(" python3 monitor_agendadulibre.py --stats") + +def main(): + """Fonction principale""" + import argparse + + parser = argparse.ArgumentParser(description="Monitor pour le scraper agenda du libre") + parser.add_argument("--stats", "-s", action="store_true", default=True, + help="Afficher les statistiques") + parser.add_argument("--file", "-f", action="store_true", + help="Vérifier l'état du fichier de données") + parser.add_argument("--data-file", default="agendadulibre_events.json", + help="Fichier de données à analyser") + + args = parser.parse_args() + + monitor = AgendaDuLibreMonitor(args.data_file) + + if args.file: + monitor.check_file_status() + + if args.stats: + monitor.display_statistics() + +if __name__ == "__main__": + main() diff --git a/extractors/osm_cal.py b/extractors/osm_cal.py index 2bd0d3a..5d066ea 100755 --- a/extractors/osm_cal.py +++ b/extractors/osm_cal.py @@ -3,18 +3,35 @@ OSM Calendar Extractor for the OpenEventDatabase. This script fetches events from the OpenStreetMap Calendar RSS feed -and adds them to the OpenEventDatabase if they don't already exist. +and adds them to the OpenEventDatabase via the API. + +For events that don't have geographic coordinates in the RSS feed but have a link +to an OSM Calendar event (https://osmcal.org/event/...), the script will fetch +the iCal version of the event and extract the coordinates and location from there. RSS Feed URL: https://osmcal.org/events.rss +API Endpoint: https://api.openeventdatabase.org/event + +Usage: + python osm_cal.py [--max-events MAX_EVENTS] [--offset OFFSET] + +Arguments: + --max-events MAX_EVENTS Maximum number of events to insert (default: 1) + --offset OFFSET Number of events to skip from the beginning of the RSS feed (default: 0) + +Examples: + # Insert the first event from the RSS feed + python osm_cal.py + + # Insert up to 5 events from the RSS feed + python osm_cal.py --max-events 5 + + # Skip the first 3 events and insert the next 2 + python osm_cal.py --offset 3 --max-events 2 Environment Variables: - DB_NAME: The name of the database (default: "oedb") - DB_HOST: The hostname of the database server (default: "localhost") - DB_USER: The username to connect to the database (default: "") - POSTGRES_PASSWORD: The password to connect to the database (default: None) - -These environment variables can be set in the system environment or in a .env file -in the project root directory. + These environment variables can be set in the system environment or in a .env file + in the project root directory. """ import json @@ -25,6 +42,8 @@ import xml.etree.ElementTree as ET import re import html from datetime import datetime, timedelta +from bs4 import BeautifulSoup +import unicodedata # Add the parent directory to the path so we can import from oedb sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) @@ -34,6 +53,180 @@ from oedb.utils.logging import logger # RSS Feed URL for OSM Calendar RSS_URL = "https://osmcal.org/events.rss" +# Base URL for OSM Calendar events +OSMCAL_EVENT_BASE_URL = "https://osmcal.org/event/" +# Main OSM Calendar page +OSMCAL_MAIN_URL = "https://osmcal.org" +# Cache file for processed events +CACHE_FILE = os.path.join(os.path.dirname(__file__), 'osm_cal_cache.json') + +def fix_encoding(text): + """ + Corrige les problèmes d'encodage UTF-8 courants. + + Args: + text (str): Texte potentiellement mal encodé + + Returns: + str: Texte avec l'encodage corrigé + """ + if not text: + return text + + try: + # Essayer de détecter et corriger l'encodage double UTF-8 + # (UTF-8 interprété comme Latin-1 puis réencodé en UTF-8) + if 'Ã' in text: + # Encoder en latin-1 puis décoder en UTF-8 + corrected = text.encode('latin-1').decode('utf-8') + logger.info(f"Encodage corrigé : '{text}' -> '{corrected}'") + return corrected + except (UnicodeEncodeError, UnicodeDecodeError): + # Si la correction échoue, essayer d'autres méthodes + try: + # Normaliser les caractères Unicode + normalized = unicodedata.normalize('NFKD', text) + return normalized + except: + pass + + # Si aucune correction ne fonctionne, retourner le texte original + return text + +def load_event_cache(): + """ + Charge le cache des événements traités depuis le fichier JSON. + + Returns: + dict: Dictionnaire des événements avec leur statut de traitement + """ + if os.path.exists(CACHE_FILE): + try: + with open(CACHE_FILE, 'r', encoding='utf-8') as f: + cache = json.load(f) + logger.info(f"Cache chargé : {len(cache)} événements en cache") + return cache + except Exception as e: + logger.error(f"Erreur lors du chargement du cache : {e}") + return {} + else: + logger.info("Aucun cache trouvé, création d'un nouveau cache") + return {} + +def save_event_cache(cache): + """ + Sauvegarde le cache des événements dans le fichier JSON. + + Args: + cache (dict): Dictionnaire des événements avec leur statut + """ + try: + with open(CACHE_FILE, 'w', encoding='utf-8') as f: + json.dump(cache, f, indent=2, ensure_ascii=False) + logger.info(f"Cache sauvegardé : {len(cache)} événements") + except Exception as e: + logger.error(f"Erreur lors de la sauvegarde du cache : {e}") + +def scrape_osmcal_event_links(): + """ + Scrape la page principale d'osmcal.org pour extraire tous les liens d'événements. + + Returns: + list: Liste des URLs d'événements trouvés + """ + logger.info(f"Scraping de la page principale : {OSMCAL_MAIN_URL}") + + try: + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + } + response = requests.get(OSMCAL_MAIN_URL, headers=headers) + response.raise_for_status() + + soup = BeautifulSoup(response.content, 'html.parser') + + # Debugging : sauvegarder le HTML pour inspection + debug_file = os.path.join(os.path.dirname(__file__), 'osmcal_debug.html') + with open(debug_file, 'w', encoding='utf-8') as f: + f.write(response.text) + logger.info(f"HTML de débogage sauvegardé dans : {debug_file}") + + event_links = [] + + # Essayer différents sélecteurs basés sur la structure HTML fournie + selectors_to_try = [ + 'a.event-list-entry-box', # Sélecteur principal basé sur l'exemple HTML + 'li.event-list-entry a', # Sélecteur alternatif basé sur la structure + '.event-list-entry a', # Variation sans spécifier le tag li + 'a[href*="/event/"]', # Tous les liens contenant "/event/" + '.event-list-entry-box' # Au cas où ce serait juste la classe + ] + + for selector in selectors_to_try: + logger.info(f"Essai du sélecteur : {selector}") + elements = soup.select(selector) + logger.info(f"Trouvé {len(elements)} éléments avec le sélecteur {selector}") + + if elements: + for element in elements: + href = None + + # Si l'élément est déjà un lien + if element.name == 'a' and element.get('href'): + href = element.get('href') + # Si l'élément contient un lien + elif element.name != 'a': + link_element = element.find('a') + if link_element and link_element.get('href'): + href = link_element.get('href') + + if href: + # Construire l'URL complète si c'est un lien relatif + if href.startswith('/'): + # Enlever les paramètres de requête de l'URL de base + base_url = OSMCAL_MAIN_URL.split('?')[0] + if base_url.endswith('/'): + base_url = base_url[:-1] + full_url = base_url + href + else: + full_url = href + + # Vérifier que c'est bien un lien vers un événement + if '/event/' in href and full_url not in event_links: + event_links.append(full_url) + logger.info(f"Lien d'événement trouvé : {full_url}") + + # Si on a trouvé des liens avec ce sélecteur, on s'arrête + if event_links: + break + + # Si aucun lien trouvé, essayer de lister tous les liens pour débugger + if not event_links: + logger.warning("Aucun lien d'événement trouvé. Listing de tous les liens pour débogage :") + all_links = soup.find_all('a', href=True) + logger.info(f"Total de liens trouvés sur la page : {len(all_links)}") + + # Afficher les 10 premiers liens pour débogage + for i, link in enumerate(all_links[:10]): + logger.info(f"Lien {i+1}: {link.get('href')} (classes: {link.get('class', [])})") + + # Chercher spécifiquement les liens contenant "event" + event_related_links = [link for link in all_links if 'event' in link.get('href', '').lower()] + logger.info(f"Liens contenant 'event' : {len(event_related_links)}") + for link in event_related_links[:5]: + logger.info(f"Lien event: {link.get('href')}") + + logger.success(f"Trouvé {len(event_links)} liens d'événements uniques sur la page principale") + return event_links + + except requests.exceptions.RequestException as e: + logger.error(f"Erreur lors du scraping de osmcal.org : {e}") + return [] + except Exception as e: + logger.error(f"Erreur inattendue lors du scraping : {e}") + import traceback + logger.error(f"Traceback: {traceback.format_exc()}") + return [] def fetch_osm_calendar_data(): """ @@ -179,6 +372,76 @@ def parse_event_dates(description): now = datetime.now() return (now.isoformat(), (now + timedelta(days=1)).isoformat()) +def fetch_ical_data(event_url): + """ + Fetch and parse iCal data for an OSM Calendar event. + + Args: + event_url (str): The URL of the OSM Calendar event. + + Returns: + tuple: A tuple containing (location_name, coordinates). + """ + try: + # Check if the URL is an OSM Calendar event URL + if not event_url.startswith(OSMCAL_EVENT_BASE_URL): + logger.warning(f"Not an OSM Calendar event URL: {event_url}") + return ("Unknown Location", [0, 0]) + + # Extract the event ID from the URL + event_id_match = re.search(r'event/(\d+)', event_url) + if not event_id_match: + logger.warning(f"Could not extract event ID from URL: {event_url}") + return ("Unknown Location", [0, 0]) + + event_id = event_id_match.group(1) + + # Construct the iCal URL + ical_url = f"{OSMCAL_EVENT_BASE_URL}{event_id}.ics" + + # Fetch the iCal content + logger.info(f"Fetching iCal data from: {ical_url}") + response = requests.get(ical_url) + + if not response.ok: + logger.warning(f"Failed to fetch iCal data: {response.status_code}") + return ("Unknown Location", [0, 0]) + + # Parse the iCal content avec l'encodage correct + response.encoding = response.apparent_encoding or 'utf-8' + ical_content = response.text + + # Extract GEO information + geo_match = re.search(r'GEO:([-+]?\d+\.\d+);([-+]?\d+\.\d+)', ical_content) + if geo_match: + # GEO format is latitude;longitude + latitude = float(geo_match.group(2)) + longitude = float(geo_match.group(1)) + coordinates = [longitude, latitude] # GeoJSON uses [longitude, latitude] + logger.info(f"Extracted coordinates from iCal: {coordinates}") + else: + logger.warning(f"No GEO information found in iCal data for event: {event_id}") + coordinates = [0, 0] + + # Extract LOCATION information + location_match = re.search(r'LOCATION:(.+?)(?:\r\n|\n|\r)', ical_content) + if location_match: + location_name = location_match.group(1).strip() + # Unescape backslash-escaped characters (e.g., \, becomes ,) + location_name = re.sub(r'\\(.)', r'\1', location_name) + # Corriger l'encodage + location_name = fix_encoding(location_name) + logger.info(f"Extracted location from iCal: {location_name}") + else: + logger.warning(f"No LOCATION information found in iCal data for event: {event_id}") + location_name = "Unknown Location" + + return (location_name, coordinates) + + except Exception as e: + logger.error(f"Error fetching or parsing iCal data: {e}") + return ("Unknown Location", [0, 0]) + def extract_location(description): """ Extract location information from the event description. @@ -202,7 +465,7 @@ def extract_location(description): # The second paragraph often contains the location location_candidate = location_matches[1].strip() if location_candidate and "," in location_candidate and not location_candidate.startswith('<'): - location_name = location_candidate + location_name = fix_encoding(location_candidate) # For now, we don't have exact coordinates, so we'll use a placeholder # In a real implementation, you might want to geocode the location @@ -236,12 +499,32 @@ def create_event(item): clean_description = html.unescape(clean_description) clean_description = re.sub(r'\s+', ' ', clean_description).strip() + # Corriger l'encodage du titre et de la description + title = fix_encoding(title) + clean_description = fix_encoding(clean_description) + # Parse dates from the description start_date, end_date = parse_event_dates(description) - # Extract location information + # Extract location information from the description location_name, coordinates = extract_location(description) + # If we don't have coordinates and the link is to an OSM Calendar event, + # try to get coordinates and location from the iCal file + if coordinates == [0, 0] and link and link.startswith(OSMCAL_EVENT_BASE_URL): + logger.info(f"No coordinates found in description, trying to get from iCal: {link}") + ical_location_name, ical_coordinates = fetch_ical_data(link) + + # Use iCal coordinates if available + if ical_coordinates != [0, 0]: + coordinates = ical_coordinates + logger.info(f"Using coordinates from iCal: {coordinates}") + + # Use iCal location name if available and better than what we have + if ical_location_name != "Unknown Location": + location_name = ical_location_name + logger.info(f"Using location name from iCal: {location_name}") + # Create a descriptive label label = title @@ -325,138 +608,75 @@ def event_exists(db, properties): def submit_event(event): """ - Submit an event to the OpenEventDatabase. + Submit an event to the OpenEventDatabase using the API. Args: event: A GeoJSON Feature representing the event. Returns: - bool: True if the event was successfully submitted, False otherwise. + tuple: A tuple containing (success: bool, event_id: str or None). + success is True if the event was successfully submitted, False otherwise. + event_id is the OEDB event ID if available, None otherwise. """ try: - # Connect to the database - db = db_connect() - - # Extract event properties + # Extract event properties for logging properties = event['properties'] - # Check if the event already exists - if event_exists(db, properties): - logger.info(f"Skipping event '{properties.get('label')}' as it already exists") - db.close() - return False + # API endpoint for OpenEventDatabase + api_url = "https://api.openeventdatabase.org/event" - cur = db.cursor() - geometry = json.dumps(event['geometry']) + # Make the API request + logger.info(f"Submitting event '{properties.get('label')}' to API") + response = requests.post( + api_url, + headers={"Content-Type": "application/json"}, + data=json.dumps(event) + ) - print('event: ', event) - # Insert the geometry into the geo table - cur.execute(""" - INSERT INTO geo - SELECT geom, md5(st_astext(geom)) as hash, st_centroid(geom) as geom_center FROM - (SELECT st_setsrid(st_geomfromgeojson(%s),4326) as geom) as g - WHERE ST_IsValid(geom) - ON CONFLICT DO NOTHING RETURNING hash; - """, (geometry,)) + # Check if the request was successful + if response.status_code == 200 or response.status_code == 201: + # Parse the response to get the event ID + response_data = response.json() + event_id = response_data.get('id') - # Get the geometry hash - hash_result = cur.fetchone() - - if hash_result is None: - # If the hash is None, check if the geometry already exists in the database - cur.execute(""" - SELECT hash FROM geo - WHERE hash = md5(st_astext(st_setsrid(st_geomfromgeojson(%s),4326))); - """, (geometry,)) - existing_hash = cur.fetchone() - - if existing_hash: - # Geometry already exists in the database, use its hash - geo_hash = existing_hash[0] - logger.info(f"Using existing geometry with hash: {geo_hash}") + if event_id: + logger.success(f"Event created with ID: {event_id}") + logger.info(f" https://api.openeventdatabase.org/event/{event_id}") + return (True, event_id) else: - # Geometry doesn't exist, try to insert it directly - cur.execute(""" - SELECT md5(st_astext(geom)) as hash, - ST_IsValid(geom), - ST_IsValidReason(geom) from (SELECT st_setsrid(st_geomfromgeojson(%s),4326) as geom) as g; - """, (geometry,)) - hash_result = cur.fetchone() - - if hash_result is None or not hash_result[1]: - logger.error(f"Invalid geometry for event: {properties.get('label')}") - if hash_result and len(hash_result) > 2: - logger.error(f"Reason: {hash_result[2]}") - db.close() - return False - - geo_hash = hash_result[0] - - # Now insert the geometry explicitly - cur.execute(""" - INSERT INTO geo (geom, hash, geom_center) - VALUES ( - st_setsrid(st_geomfromgeojson(%s),4326), - %s, - st_centroid(st_setsrid(st_geomfromgeojson(%s),4326)) - ) - ON CONFLICT (hash) DO NOTHING; - """, (geometry, geo_hash, geometry)) - - # Verify the geometry was inserted - cur.execute("SELECT 1 FROM geo WHERE hash = %s", (geo_hash,)) - if cur.fetchone() is None: - logger.error(f"Failed to insert geometry with hash: {geo_hash}") - db.close() - return False - - logger.info(f"Inserted new geometry with hash: {geo_hash}") + logger.warning(f"Event created but no ID returned in response") + return (True, None) + elif response.status_code == 409: + # 409 Conflict - L'événement existe déjà, considéré comme un succès + logger.success(f"Event already exists in database: {properties.get('label')} (HTTP 409)") + # Essayer d'extraire l'ID de l'événement existant depuis la réponse + try: + response_data = response.json() + existing_event_id = response_data.get('id') + return (True, existing_event_id) + except: + return (True, None) else: - geo_hash = hash_result[0] - - # Determine the bounds for the time range - bounds = '[]' if properties['start'] == properties['stop'] else '[)' - - # Insert the event into the database - cur.execute(""" - INSERT INTO events (events_type, events_what, events_when, events_tags, events_geo) - VALUES (%s, %s, tstzrange(%s, %s, %s), %s, %s) - ON CONFLICT DO NOTHING RETURNING events_id; - """, ( - properties['type'], - properties['what'], - properties['start'], - properties['stop'], - bounds, - json.dumps(properties), - geo_hash - )) - - # Get the event ID - event_id = cur.fetchone() - - if event_id: - logger.success(f"Event created with ID: {event_id[0]}") - db.commit() - db.close() - return True - else: - logger.warning(f"Failed to create event: {properties.get('label')}") - db.close() - return False + logger.warning(f"Failed to create event: {properties.get('label')}. Status code: {response.status_code}") + logger.warning(f"Response: {response.text}") + return (False, None) except Exception as e: logger.error(f"Error submitting event: {e}") - return False + return (False, None) -def main(): +def main(max_events=1, offset=0): """ - Main function to fetch OSM Calendar events and add them to the database. + Main function to fetch OSM Calendar events and add them to the OpenEventDatabase API. + + Args: + max_events (int): Maximum number of events to insert (default: 1) + offset (int): Number of events to skip from the beginning of the RSS feed (default: 0) The function will exit if the .env file doesn't exist, as it's required - for database connection parameters. + for environment variables. """ - logger.info("Starting OSM Calendar extractor") + logger.info(f"Starting OSM Calendar extractor (max_events={max_events}, offset={offset})") # Load environment variables from .env file and check if it exists if not load_env_from_file(): @@ -465,27 +685,223 @@ def main(): logger.info("Environment variables loaded successfully from .env file") - # Fetch events from the OSM Calendar RSS feed - items = fetch_osm_calendar_data() + # Charger le cache des événements traités + event_cache = load_event_cache() - if not items: - logger.warning("No events found, exiting") + # Scraper la page principale pour obtenir tous les liens d'événements + event_links = scrape_osmcal_event_links() + + if not event_links: + logger.warning("Aucun lien d'événement trouvé sur la page principale") return - # Process each item + # Identifier les nouveaux événements (non présents dans le cache ou non traités avec succès) + new_events = [] + success_events = [] + + for link in event_links: + # Vérifier si l'événement existe dans le cache et a le statut 'success' + if link in event_cache and event_cache[link].get('status') == 'success': + success_events.append(link) + oedb_id = event_cache[link].get('oedb_event_id', 'ID non disponible') + logger.info(f"Événement déjà traité avec succès (ID OEDB: {oedb_id}), ignoré : {link}") + else: + new_events.append(link) + # Initialiser l'événement dans le cache s'il n'existe pas + if link not in event_cache: + event_cache[link] = { + 'discovered_at': datetime.now().isoformat(), + 'status': 'pending', + 'attempts': 0 + } + else: + # Log du statut actuel pour les événements déjà en cache + current_status = event_cache[link].get('status', 'unknown') + attempts = event_cache[link].get('attempts', 0) + oedb_id = event_cache[link].get('oedb_event_id', 'non disponible') + logger.info(f"Événement à retraiter (statut: {current_status}, tentatives: {attempts}, ID OEDB: {oedb_id}) : {link}") + + logger.info(f"Liens d'événements trouvés : {len(event_links)}") + logger.info(f"Événements déjà traités avec succès : {len(success_events)}") + logger.info(f"Nouveaux événements à traiter : {len(new_events)}") + + if len(new_events) == 0: + logger.success("Aucun nouvel événement à traiter. Tous les événements ont déjà été insérés avec succès.") + return + + # Appliquer l'offset et la limite aux nouveaux événements + if offset >= len(new_events): + logger.warning(f"Offset {offset} est supérieur ou égal au nombre de nouveaux événements {len(new_events)}") + return + + events_to_process = new_events[offset:offset + max_events] + logger.info(f"Traitement de {len(events_to_process)} nouveaux événements") + + # Fetch events from the OSM Calendar RSS feed pour obtenir les détails + rss_items = fetch_osm_calendar_data() + + if not rss_items: + logger.warning("Aucun événement trouvé dans le flux RSS, mais continuons avec les liens scrapés") + + # Créer un mapping des liens RSS vers les items pour un accès rapide + rss_link_to_item = {} + for item in rss_items: + link_element = item.find('link') + if link_element is not None: + rss_link_to_item[link_element.text] = item + + # Process each new event success_count = 0 - for item in items: - # Create an event from the item - event = create_event(item) + for event_link in events_to_process: + try: + # Vérifier si l'événement est déjà en succès (sécurité supplémentaire) + if event_cache.get(event_link, {}).get('status') == 'success': + logger.info(f"Événement déjà en succès, passage au suivant : {event_link}") + success_count += 1 # Compter comme succès puisqu'il est déjà traité + continue - if not event: - continue + event_cache[event_link]['attempts'] += 1 + event_cache[event_link]['last_attempt'] = datetime.now().isoformat() - # Submit the event to the database - if submit_event(event): - success_count += 1 + # Chercher l'item correspondant dans le flux RSS + rss_item = rss_link_to_item.get(event_link) - logger.success(f"Successfully added {success_count} out of {len(items)} events to the database") + if rss_item is not None: + # Créer l'événement depuis l'item RSS + event = create_event(rss_item) + else: + # Si pas trouvé dans le flux RSS, essayer de créer un événement minimal depuis le lien + logger.warning(f"Événement {event_link} non trouvé dans le flux RSS, tentative de création depuis le lien") + event = create_event_from_link(event_link) + + if event: + # Tenter de soumettre l'événement à l'API + submit_success, oedb_event_id = submit_event(event) + if submit_success: + success_count += 1 + event_cache[event_link]['status'] = 'success' + event_cache[event_link]['inserted_at'] = datetime.now().isoformat() + # Sauvegarder l'ID de l'événement OEDB dans le cache + if oedb_event_id: + event_cache[event_link]['oedb_event_id'] = oedb_event_id + logger.success(f"Événement inséré avec succès (ID OEDB: {oedb_event_id}) : {event_link}") + else: + logger.success(f"Événement inséré avec succès (ID OEDB non disponible) : {event_link}") + else: + event_cache[event_link]['status'] = 'failed' + logger.warning(f"Échec de l'insertion de l'événement : {event_link}") + else: + event_cache[event_link]['status'] = 'failed' + logger.error(f"Impossible de créer l'événement depuis : {event_link}") + + except Exception as e: + logger.error(f"Erreur lors du traitement de l'événement {event_link} : {e}") + event_cache[event_link]['status'] = 'error' + event_cache[event_link]['error'] = str(e) + + # Sauvegarder le cache mis à jour + save_event_cache(event_cache) + + # Calculer les statistiques finales du cache + cache_stats = { + 'success': 0, + 'pending': 0, + 'failed': 0, + 'error': 0, + 'total': len(event_cache) + } + + for link, data in event_cache.items(): + status = data.get('status', 'pending') + if status in cache_stats: + cache_stats[status] += 1 + + # Événements en attente d'insertion (tous sauf success) + events_awaiting_insertion = cache_stats['pending'] + cache_stats['failed'] + cache_stats['error'] + + logger.success(f"Traitement terminé : {success_count} événements insérés avec succès sur {len(events_to_process)} traités") + logger.info("=== STATISTIQUES GLOBALES DU CACHE ===") + logger.info(f"Total d'événements dans le cache : {cache_stats['total']}") + logger.info(f"Événements traités avec succès : {cache_stats['success']}") + logger.info(f"Événements en attente d'insertion : {events_awaiting_insertion}") + logger.info(f" - Statut 'pending' : {cache_stats['pending']}") + logger.info(f" - Statut 'failed' : {cache_stats['failed']}") + logger.info(f" - Statut 'error' : {cache_stats['error']}") + + if events_awaiting_insertion > 0: + logger.info(f"🔄 Il reste {events_awaiting_insertion} événements à traiter lors de la prochaine exécution") + else: + logger.success("✅ Tous les événements découverts ont été traités avec succès") + +def create_event_from_link(event_link): + """ + Créer un événement minimal depuis un lien osmcal.org quand il n'est pas disponible dans le flux RSS. + + Args: + event_link (str): URL de l'événement osmcal.org + + Returns: + dict: Un objet GeoJSON Feature représentant l'événement, ou None en cas d'échec + """ + try: + logger.info(f"Tentative de création d'événement depuis le lien : {event_link}") + + # Si c'est un lien vers un événement OSM Calendar, essayer d'obtenir les données iCal + if event_link.startswith(OSMCAL_EVENT_BASE_URL): + location_name, coordinates = fetch_ical_data(event_link) + + # Extraire l'ID de l'événement pour créer un GUID + event_id_match = re.search(r'event/(\d+)', event_link) + if event_id_match: + event_id = event_id_match.group(1) + external_id = f"osmcal_{event_id}" + else: + external_id = event_link + + # Créer un événement avec les informations minimales disponibles + now = datetime.now() + event = { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": coordinates + }, + "properties": { + "type": "scheduled", + "what": "community.osm.event", + "what:series": "OpenStreetMap Calendar", + "where": location_name, + "label": f"Événement OSM Calendar {event_id if 'event_id' in locals() else 'inconnu'}", + "description": f"Événement trouvé sur osmcal.org : {event_link}", + "start": now.isoformat(), + "stop": (now + timedelta(days=1)).isoformat(), + "url": event_link, + "external_id": external_id, + "source": "OSM Calendar (scraped)" + } + } + + return event + else: + logger.warning(f"Lien non reconnu comme un événement OSM Calendar : {event_link}") + return None + + except Exception as e: + logger.error(f"Erreur lors de la création d'événement depuis le lien {event_link} : {e}") + return None if __name__ == "__main__": - main() \ No newline at end of file + import argparse + + # Set up command line argument parsing + parser = argparse.ArgumentParser(description='OSM Calendar Extractor for the OpenEventDatabase') + parser.add_argument('--max-events', type=int, default=1, + help='Maximum number of events to insert (default: 1)') + parser.add_argument('--offset', type=int, default=0, + help='Number of events to skip from the beginning of the RSS feed (default: 0)') + + # Parse arguments + args = parser.parse_args() + + # Run the main function with the provided arguments + main(max_events=args.max_events, offset=args.offset) \ No newline at end of file diff --git a/extractors/osmcal_debug.html b/extractors/osmcal_debug.html new file mode 100644 index 0000000..c5ff750 --- /dev/null +++ b/extractors/osmcal_debug.html @@ -0,0 +1,1989 @@ + + + + + + OpenStreetMap Calendar + + + + + + + + + + + + + + + + + +
    + + + OpenStreetMap Calendar + Calendar + + + + +
    + + +
    +
    + +
    + +
    + +
    +
    + + + + + + + + + OSMCAL on Mastodon + +
    + + + diff --git a/extractors/programmedesexpos_paris.py b/extractors/programmedesexpos_paris.py new file mode 100644 index 0000000..61fb8ab --- /dev/null +++ b/extractors/programmedesexpos_paris.py @@ -0,0 +1,395 @@ +#!/usr/bin/env python3 +""" +Import d'expositions depuis https://programmedesexpos.paris/ vers l'API OpenEventDatabase. + +Principe: +- Récupère les balises + + + +`; + + + } + + copyToClipboard() { + const code = this.generatedCode(); + navigator.clipboard.writeText(code).then(() => { + // Optionnel : afficher une notification de succès + console.log('Code copié dans le presse-papiers'); + }); + } + + preview() { + // Ouvrir une nouvelle fenêtre avec un aperçu + const previewWindow = window.open('', '_blank', 'width=800,height=600'); + if (previewWindow) { + const config = this.config(); + const code = this.generateEmbedCode(config); + previewWindow.document.write(` + + + + Aperçu OEDB Embed + + + +

    Aperçu de l'intégration

    +
    + ${code} +
    + + + `); + } + } +} diff --git a/frontend/src/app/pages/events-docs/events-docs.html b/frontend/src/app/pages/events-docs/events-docs.html new file mode 100644 index 0000000..3bc0278 --- /dev/null +++ b/frontend/src/app/pages/events-docs/events-docs.html @@ -0,0 +1,75 @@ +
    + +
    + +
    +
    + +@if (selectedWhatType && selectedTypeDetails) { +
    +
    +
    +

    + @if (getEmojiForWhat(selectedWhatType)) { + {{ getEmojiForWhat(selectedWhatType) }} + } + @if (getImageForWhat(selectedWhatType)) { + + } + {{ selectedTypeDetails.label || selectedWhatType }} +

    + +
    + +
    +

    {{ selectedTypeDetails.description || 'Aucune description disponible' }}

    + + @if (selectedTypeDetails.category) { +
    + Catégorie: {{ selectedTypeDetails.category }} +
    + } + + @if (selectedTypeDetails.label && selectedTypeDetails.label !== selectedWhatType) { +
    + Nom court: {{ selectedTypeDetails.label }} +
    + } + + @if (selectedTypeDetails.durationHours) { +
    + Durée par défaut: {{ selectedTypeDetails.durationHours }} heures +
    + } + + @if (getPropertiesForWhat(selectedWhatType)) { +
    + Propriétés disponibles: +
      + @for (prop of getObjectKeys(getPropertiesForWhat(selectedWhatType)); track prop) { +
    • + {{ prop }}: + {{ getPropertiesForWhat(selectedWhatType)[prop].label || prop }} + @if (getPropertiesForWhat(selectedWhatType)[prop].description) { + ({{ getPropertiesForWhat(selectedWhatType)[prop].description }}) + } +
    • + } +
    +
    + } +
    +
    +
    +} + + diff --git a/frontend/src/app/pages/events-docs/events-docs.scss b/frontend/src/app/pages/events-docs/events-docs.scss new file mode 100644 index 0000000..859d677 --- /dev/null +++ b/frontend/src/app/pages/events-docs/events-docs.scss @@ -0,0 +1,123 @@ +.docs { + display: grid; + grid-template-columns: 350px 1fr; + gap: 12px; +} +.sidebar { + max-height: calc(100vh - 160px); + overflow: auto; + + padding: 1rem; +} +.badge { + background: #1976d2; + color: #fff; + border-radius: 10px; + padding: 0 8px; + margin-left: 6px; + float:right; +} +.map-panel { + min-height: 60vh; +} + +.type-details-panel { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background: #fff; + border-top: 2px solid #1976d2; + box-shadow: 0 -4px 12px rgba(0,0,0,0.15); + z-index: 1000; + max-height: 50vh; + overflow: hidden; +} + +.panel-content { + padding: 16px; + max-height: 50vh; + overflow-y: auto; +} + +.panel-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 12px; + padding-bottom: 8px; + border-bottom: 1px solid #e0e0e0; +} + +.panel-header h3 { + margin: 0; + display: flex; + align-items: center; + gap: 8px; +} + +.emoji { + font-size: 1.2em; +} + +.type-image { + width: 24px; + height: 24px; + object-fit: contain; +} + +.close-btn { + background: #f5f5f5; + border: 1px solid #ddd; + border-radius: 4px; + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + font-size: 18px; + line-height: 1; +} + +.close-btn:hover { + background: #e0e0e0; +} + +.panel-body { + .description { + margin: 0 0 12px 0; + color: #555; + line-height: 1.4; + } +} + +.detail-item { + margin-bottom: 8px; + + strong { + color: #1976d2; + } +} + +.properties-list { + margin: 8px 0 0 16px; + padding: 0; + + li { + margin-bottom: 4px; + list-style: none; + + .prop-desc { + color: #666; + font-style: italic; + } + } +} + +button.selected { + background: #e3f2fd; + border-color: #1976d2; +} + + diff --git a/frontend/src/app/pages/events-docs/events-docs.ts b/frontend/src/app/pages/events-docs/events-docs.ts new file mode 100644 index 0000000..dc21319 --- /dev/null +++ b/frontend/src/app/pages/events-docs/events-docs.ts @@ -0,0 +1,77 @@ +import { Component, inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { OedbApi } from '../../services/oedb-api'; +import { AllEvents } from '../../maps/all-events/all-events'; +import oedb from '../../../oedb-types'; + +@Component({ + selector: 'app-events-docs', + imports: [CommonModule, AllEvents], + templateUrl: './events-docs.html', + styleUrl: './events-docs.scss' +}) +export class EventsDocs { + private api = inject(OedbApi); + + features: Array = []; + counts: Array<{ what: string, count: number }> = []; + filtered: Array = []; + selected: any | null = null; + selectedWhatType: string | null = null; + selectedTypeDetails: any = null; + + ngOnInit() { + // Charger 1000 events récents + this.api.getEvents({ when: 'NEXT30DAYS', limit: 1000 }).subscribe((events: any) => { + this.features = Array.isArray(events?.features) ? events.features : []; + this.buildCounts(); + this.filtered = this.features; + }); + } + + buildCounts() { + const map = new Map(); + for (const f of this.features) { + const w = (f?.properties?.what || '').trim(); + if (!w) continue; + map.set(w, (map.get(w) || 0) + 1); + } + this.counts = Array.from(map.entries()).sort((a,b) => b[1]-a[1]).map(([what, count]) => ({ what, count })); + } + + filterByWhat(what: string) { + this.filtered = this.features.filter(f => String(f?.properties?.what || '').startsWith(what)); + this.selectedWhatType = what; + this.loadTypeDetails(what); + } + + loadTypeDetails(what: string) { + const presets = oedb.presets.what as any; + this.selectedTypeDetails = presets[what] || null; + } + + getEmojiForWhat(what: string): string | null { + const details = this.selectedTypeDetails; + return details?.emoji || null; + } + + getImageForWhat(what: string): string | null { + const details = this.selectedTypeDetails; + if (details?.image) { + const img: string = details.image; + return img.startsWith('/') ? img : `/${img}`; + } + return null; + } + + getPropertiesForWhat(what: string): any { + const details = this.selectedTypeDetails; + return details?.properties || null; + } + + getObjectKeys(obj: any): string[] { + return Object.keys(obj || {}); + } +} + + diff --git a/frontend/src/app/pages/home/home.html b/frontend/src/app/pages/home/home.html new file mode 100644 index 0000000..0c12ff8 --- /dev/null +++ b/frontend/src/app/pages/home/home.html @@ -0,0 +1,428 @@ +
    + +
    +
    + @if (isLoading) { + + } +
    + @if(showOptions){ + +
    + + + + +
    + + + +
    + + +
    + +
    + @if (showFilters) { + {{filteredFeatures.length}} évènements chargés +
    +
    +
    + + +
    + +
    + +
    + +
    + +
    +
    + + + +
    + +
    + + +
    +
    +
    + +
    + +
    + +
    + + + + +
    + } +
    +
    + + + + @if(showEditForm){ +
    +

    Guide

    +
      +
    • Créer un évènement: Cliquez sur le bouton "+" pour créer un nouvel évènement. Sélectionnez un preset, + remplissez les informations, cliquez quelque part sur la carte pour définir un emplacement. Puis appuyez sur + créer.
    • +
    • Mettre à jour un évènement: Sélectionnez un évènement sur la carte ou dans la liste pour le modifier. +
    • +
    +
    + @if(!pleinAirMode){ + + } + } + +
    + + +
    + + +
    +
    + + + @if (selectedIds.length) { + {{selectedIds.length}} sélectionné(s) + } +
    +
    + + + @if(selected !== null){ +
    +

    sélectionné: {{selected.properties.name}} {{selected.properties.title}} {{selected.properties.label}}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    label{{selected.properties.label}}
    name{{selected.properties.name}}
    title{{selected.properties.title}}
    description{{selected.properties.description}}
    what{{selected.properties.what}}
    where{{selected.properties.where}}
    lat{{selected.properties.lat}}
    lon{{selected.properties.lon}}
    wikidata{{selected.properties.wikidata}}
    featureType{{selected.properties.featureType}}
    type{{selected.properties.type}}
    start{{selected.properties.start}}
    stop{{selected.properties.stop}}
    source{{selected.properties.source}}
    createdate{{selected.properties.createdate}}
    lastupdate{{selected.properties.lastupdate}}
    type{{selected.properties.type}}
    + +
    + } +
    + + + @if (selectedIds.length) { +
    +
    +
    + + +
    + @if (batchAction==='changeWhat') { +
    + + +
    + } + @if (batchAction==='setField') { +
    + + +
    +
    + + +
    + } +
    + + +
    + @if (batchSummary) { +
    + Succès: {{batchSummary.success}} + Échecs: {{batchSummary.failed}} + Erreurs réseau: {{batchSummary.networkErrors}} +
    + } +
    +
    + } + + + + } +
    + +
    + + @if(!showUnlocatedList){ + + @if (pleinAirMode) { + @if (showQuickActions) { + +
    + + + +
    + } + } + @if (civilianMode) { + @if (showQuickActions) { + +
    + +
    + } + } + @if (showGuidePresetPlace) { +

    + Sélectionnez l'endroit sur la carte +

    + } + @if (showGuidePresetMoreInfo) { +

    + Vous pouvez donner plus de détails + + + + +

    + } + } + + + @if (toasts.length) { +
    + @for (t of toasts; track t.id) { +
    + {{t.message}} +
    + } +
    + } + @if (theme()) { +
    +
    Thème: {{ theme() }} — Cliquez sur la carte pour définir des coordonnées puis créez un + évènement du sous-thème choisi.
    +
    + @for (t of subthemes; track t.key) { + + } +
    +
    + } + @if (!showTable && !showUnlocatedList) { +
    + +
    + } @else if (showUnlocatedList) { +
    +
    + +
    + @if (selected && showEditForm) { +
    +
    +

    Détails

    + +
    +
    + + +
    +
    + } @else { +
    Sélectionnez un évènement à gauche pour voir les détails.
    + } +
    +
    +
    + } @else { +
    + + + + + + + + + + + @for (f of filteredFeatures; track f.id) { + + + + + + + } + +
    TypeLabelStartStop
    {{f?.properties?.what}}{{f?.properties?.label || f?.properties?.name}} + {{f?.properties?.start || f?.properties?.when}} + {{f?.properties?.stop}}
    +
    + } +
    + + +
    + + @if(!showUnlocatedList){ + + + } +
    diff --git a/frontend/src/app/pages/home/home.scss b/frontend/src/app/pages/home/home.scss new file mode 100644 index 0000000..0acb839 --- /dev/null +++ b/frontend/src/app/pages/home/home.scss @@ -0,0 +1,473 @@ +:host { + display: block; + + button { + background: white; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 10px; + padding: 10px; + cursor: pointer; + + &:hover { + background-color: #f0f0f0; + } + + + button { + margin-left: 10px; + margin-bottom: 10px; + + } + } +} + +.layout { + display: grid; + grid-template-columns: 400px 1fr; + grid-template-rows: 100vh; + gap: 0; + + &.is-small { + grid-template-columns: 100px 1fr; + } + + /* Quand la zone principale est en plein écran */ + &:has(.main.is-full) { + grid-template-columns: 1fr; + } +} + +.aside { + background: #ffffff; + border-right: 1px solid rgba(0, 0, 0, 0.06); + box-shadow: 2px 0 12px rgba(0, 0, 0, 0.03); + padding: 16px; + padding-bottom: 150px; + overflow: auto; + /* Masquer l'aside en mode plein écran */ + .layout:has(.main.is-full) & { + display: none; + } +} + +.main { + display: flex; + flex-direction: column; + height: 100vh; + overflow: hidden; + + &.is-full { + flex-grow: 1; + } +} + +.toolbar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 12px; + + .loading { + color: #007bff; + font-size: 12px; + } +} + +.controls { + margin: 15px 0; + padding: 15px; + background: #f8f9fa; + border-radius: 6px; + border: 1px solid #e9ecef; + + .control-group { + margin-bottom: 12px; + + &:last-child { + margin-bottom: 0; + } + + label { + display: block; + font-size: 12px; + font-weight: 600; + color: #495057; + margin-bottom: 4px; + + input[type="checkbox"] { + margin-right: 6px; + } + } + + input[type="number"] { + width: 100%; + padding: 6px 8px; + border: 1px solid #ced4da; + border-radius: 4px; + font-size: 14px; + + &:focus { + outline: none; + border-color: #007bff; + box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); + } + } + + .btn { + width: 100%; + padding: 8px 12px; + background: #6c757d; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 12px; + transition: background-color 0.2s; + + &:hover { + background: #5a6268; + } + } + } +} + +.map { + flex: 1 1 auto; + min-height: 0; +} + +.unlocated-layout { + display: grid; + grid-template-columns: 360px 1fr; + height: 100%; +} + +.agenda-sidebar { + overflow: auto; + border-right: 1px solid #eee; + padding: 10px; +} + +.event-list { + list-style: none; + padding: 0; + margin: 0; +} + +.event-item { + display: flex; + gap: 8px; + padding: 8px; + cursor: pointer; +} + +.event-item.active { + background: #f0f9ff; +} + +.event-title { + font-weight: 600; +} + +.event-when { + font-size: 12px; + color: #64748b; +} + +.agenda-main { + padding: 10px; +} + +.event-edit-panel { + border: 1px solid #e2e8f0; + border-radius: 8px; + background: #fff; +} + +.panel-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 12px; + border-bottom: 1px solid #e2e8f0; +} + +.panel-content { + padding: 8px; +} + +.btn-close { + background: #f5f5f5; + border: 1px solid #ddd; + border-radius: 4px; + width: 32px; + height: 32px; + cursor: pointer; +} + +.hint { + color: #64748b; + padding: 20px; +} + +.floating-actions { + position: fixed; + right: 1rem; + bottom: 16px; + display: flex; + flex-direction: column; + gap: 10px; + z-index: 2000; + + .fab { + width: 48px; + height: 48px; + border-radius: 50%; + border: none; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-weight: bold; + font-size: 16px; + background: #1976d2; + color: #fff; + } + + .fab.counter { + background: #0d9488; + margin-left: 0.5rem; + } + + .fab.plus { + background: #1976d2; + } +} + +.filters { + label { + padding: 1rem; + display: block; + cursor: pointer; + + &:hover { + background: lemonchiffon; + } + } +} + +.presets { + position: fixed; + top: 63px; + margin-left: 397px; + width: 50vw; + max-height: 80vh; + display: block; + + /* En plein écran, plus d'offset gauche */ + .layout:has(.main.is-full) & { + margin-left: 0; + } +} + +.agenda-main { + app-edit-form { + right: 2rem; + top: 3.5rem; + + .actions { + right: 1rem !important; + } + } +} + +app-edit-form { + position: fixed; + top: 135px; + margin-left: 397px; + width: 40vw; + max-width: 350px; + max-height: 77.7vh; + display: block; + overflow: auto; + background: rgba(228, 235, 255, 0.85); + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 10px; + padding: 10px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + z-index: 1000; + padding-bottom: 150px; + /* En plein écran, plus d'offset gauche */ + .layout:has(.main.is-full) & { + margin-left: 0; + } +} + +.subtheme-bar { + display: flex; + flex-direction: column; + gap: 8px; + padding: 8px 12px; + + .help { + font-size: 12px; + color: #64748b; + } + + .chips { + display: flex; + gap: 6px; + flex-wrap: wrap; + } + + .chip { + border: 1px solid #e2e8f0; + border-radius: 999px; + padding: 6px 10px; + background: #fff; + cursor: pointer; + } + + .chip.active { + background: #e3f2fd; + border-color: #90caf9; + } + + .emoji { + margin-right: 6px; + } +} + +.toggle-options { + position: fixed; + bottom: 1rem; + left: 1rem; + z-index: 100; + background: white; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 10px; + padding: 2rem 1rem; + cursor: pointer; + + &:hover { + background-color: #f0f0f0; + } + + &:active { + background-color: #e0e0e0; + } + + &:focus { + outline: none; + } + +} + +// presets de boutons +.quick-actions { + margin-top: 8px; + display: inline-block; + gap: 6px; + flex-wrap: wrap; + position: fixed; + right: 5rem; + bottom: 1.1rem; + z-index: 100; + + .btn { + + padding: 1rem 1.25rem; + cursor: pointer; + height: 3.5rem; + } +} + +.guide-preset { + background: #4caf50; + color: #222; + padding: 1rem; + border-radius: 0.5rem; + margin: 1rem; + position: fixed; + z-index: 100; + bottom: 2rem; + right: 3.5rem; +} + +.guide-preset-more { + background: white; + padding: 1rem; + position: fixed; + z-index: 100; + bottom: 1rem; + margin: 1rem; + width: 70%; + + input, textarea { + width: 90%; + + } + + button { + margin: 1rem; + display: block; + background: #4caf50; + color: white; + padding: 2rem 1rem; + border-radius: 0.5rem; + } +} + +table { + width: 100%; + border-collapse: collapse; + border: 1px solid #eee; + border-radius: 10px; + overflow: hidden; + + td:nth-of-type(1) { + font-weight: bold; + width: 100px; + } + + th, td { + padding: 10px; + } + + tr:nth-child(even) { + background: #f0f0f0; + } + + tr:nth-child(odd) { + background: #fff; + } + + tr:hover { + background: #f0f0f0; + } + + th { + background: #f0f0f0; + } +} + +.toaster { + position: fixed; + right: 16px; + top: 16px; + display: flex; + flex-direction: column; + gap: 8px; + z-index: 1000; + + &.success { + background: greenyellow; + } + + &.info { + background: cornflowerblue; + } +} + + + diff --git a/frontend/src/app/pages/home/home.spec.ts b/frontend/src/app/pages/home/home.spec.ts new file mode 100644 index 0000000..e2d9468 --- /dev/null +++ b/frontend/src/app/pages/home/home.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Home } from './home'; + +describe('Home', () => { + let component: Home; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [Home] + }) + .compileComponents(); + + fixture = TestBed.createComponent(Home); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/pages/home/home.ts b/frontend/src/app/pages/home/home.ts new file mode 100644 index 0000000..35a4cf9 --- /dev/null +++ b/frontend/src/app/pages/home/home.ts @@ -0,0 +1,721 @@ +import {Component, inject, signal, OnDestroy, OnInit} from '@angular/core'; +import {Router} from '@angular/router'; +import {FormsModule} from '@angular/forms'; +import {Menu} from './menu/menu'; +import {AllEvents} from '../../maps/all-events/all-events'; +import {EditForm} from '../../forms/edit-form/edit-form'; +import {OedbApi} from '../../services/oedb-api'; +import {ActivatedRoute} from '@angular/router'; +import oedb from '../../../oedb-types'; + +import {UnlocatedEvents} from '../../shared/unlocated-events/unlocated-events'; +import {OsmAuth} from '../../services/osm-auth'; +import {Osm} from '../../forms/osm/osm'; +import {WhatFilterComponent} from '../../shared/what-filter/what-filter'; +import {NgClass} from '@angular/common'; + +@Component({ + selector: 'app-home', + standalone: true, + imports: [ + Menu, + AllEvents, + UnlocatedEvents, + EditForm, + Osm, + FormsModule, + WhatFilterComponent, + NgClass + ], + templateUrl: './home.html', + styleUrl: './home.scss' +}) +export class Home implements OnInit, OnDestroy { + + OedbApi = inject(OedbApi); + route = inject(ActivatedRoute); + private router = inject(Router); + private osmAuth = inject(OsmAuth); + + features: Array = []; + filteredFeatures: Array = []; + selected: any | null = null; + showTable = false; + showFilters = false; + showEditForm = false; + showOptions = false; + pleinAirMode = false; + civilianMode = false; + toasts: Array<{ id: number, type: 'success' | 'error' | 'info', message: string }> = []; + + selectionMode: 'none' | 'rectangle' | 'polygon' = 'none'; + selectedIds: Array = []; + batchAction: 'none' | 'changeWhat' | 'setField' | 'delete' = 'none'; + batchWhat = ''; + batchFieldKey = ''; + batchFieldValue: any = ''; + batchSummary: { success: number; failed: number; networkErrors: number } | null = null; + + // Nouvelles propriétés pour le rechargement automatique et la sélection de jours + autoReloadEnabled = true; + autoReloadInterval: any = null; + daysAhead = 7; // Nombre de jours dans le futur par défaut + isLoading = false; + // Formulaire de recherche + startDateStr: string | null = null; + endDateStr: string | null = null; + + // Propriétés pour les filtres + searchText = ''; + selectedWhatFilter = ''; + availableWhatTypes: string[] = []; + theme = signal(null); + subthemes: Array<{ key: string, label: string, emoji: string }> = []; + activeSubtheme = signal(null); + // Option bbox + useBboxFilter = true; + currentBbox: { minLng: number, minLat: number, maxLng: number, maxLat: number } | null = null; + + // Bbox par défaut pour l'Île-de-France + private readonly IDF_BBOX = { + minLng: 1.4, + minLat: 48.1, + maxLng: 3.6, + maxLat: 49.2 + }; + // Debounce pour la recherche + protected searchDebounceTimer: any = null; + // Non localisés / en ligne + unlocatedOrOnline: Array = []; + showUnlocatedList = false; + protected showQuickActions: boolean = true; + firstToastDone = false; + + ngOnInit() { + // Écouteur global pour toasts + try { + (window as any).addEventListener('toast', (e: any) => { + const d = e?.detail || {}; + this.pushToast(d.type || 'info', d.message || ''); + }); + } catch { + } + + // Initialiser la bbox par défaut pour l'Île-de-France + this.currentBbox = {...this.IDF_BBOX}; + + this.route.queryParamMap.subscribe(map => { + const id = (map.get('id') || '').trim(); + const what = (map.get('what') || 'culture').trim(); + const pleinAir = (map.get('pleinair') || '').trim().toLowerCase(); + const preset = (map.get('preset') || '').trim().toLowerCase(); + const limitParam = map.get('limit'); + const limit = limitParam ? Number(limitParam) : null; + // Charger selon les query params + if (id) { + this.loadSingleEvent(id); + } else { + this.loadEvents({what: what || undefined, limit: limit || undefined}); + } + // Appliquer filtre par what côté client si fourni + if (what) { + this.selectedWhatFilter = what; + } + // Activer mode plein air via query param + // if (pleinAir === '1' || pleinAir === 'true' || pleinAir === 'yes') { + // this.enablePleinAirMode(); + // } + // Support: preset=plein_air + if (preset === 'plein_air') { + if (!this.firstToastDone) { + this.selectedWhatFilter = "traffic" + this.pushToast('info', "mode plein air activé") + this.useBboxFilter = true; + this.loadEvents({ what: 'traffic' }); + } + this.firstToastDone = true + this.enablePleinAirMode(); + } + }); + this.startAutoReload(); + + this.loadEvents({what: "culture", limit: 100}); + } + + ngOnDestroy() { + this.stopAutoReload(); + // Nettoyer le timer de debounce + if (this.searchDebounceTimer) { + clearTimeout(this.searchDebounceTimer); + } + } + + createEvent() { + this.selected = null; + //this.showTable = false; + //this.showFilters = true; + this.showEditForm = true; + + } + + loadEvents(overrides: { what?: string; limit?: number; start?: string; end?: string; daysAhead?: number } = {}) { + this.isLoading = true; + const today = new Date(); + const startIso = overrides.start || this.startDateStr || today.toISOString().split('T')[0]; + let endIso = overrides.end || this.endDateStr || ''; + if (!endIso) { + const d = new Date(today); + const span = overrides.daysAhead ?? this.daysAhead; + d.setDate(today.getDate() + span); + endIso = d.toISOString().split('T')[0]; + } + + const params: any = { + start: startIso, + end: endIso, + limit: overrides.limit ?? 10000 + }; + if (overrides.what) { + params.what = overrides.what; + } else if (this.selectedWhatFilter && this.selectedWhatFilter !== '') { + params.what = this.selectedWhatFilter; + } + + // Ajouter bbox si activé et disponible + if (this.useBboxFilter && this.currentBbox) { + params.bbox = `${this.currentBbox.minLng},${this.currentBbox.minLat},${this.currentBbox.maxLng},${this.currentBbox.maxLat}`; + } + + this.OedbApi.getEvents(params).subscribe((events: any) => { + this.features = Array.isArray(events?.features) ? events.features : []; + this.computeUnlocatedOrOnline(); + this.updateAvailableWhatTypes(); + this.applyFilters(); + this.isLoading = false; + }); + } + + loadSingleEvent(id: string | number) { + this.isLoading = true; + this.OedbApi.getEventById(id).subscribe({ + next: (feature: any) => { + const f = (feature && (feature as any).type === 'Feature') ? feature : (feature?.feature || null); + this.features = f ? [f] : []; + this.filteredFeatures = this.features; + this.updateAvailableWhatTypes(); + this.isLoading = false; + }, + error: () => { + this.features = []; + this.filteredFeatures = []; + this.isLoading = false; + } + }); + } + + startAutoReload() { + if (this.autoReloadEnabled && !this.autoReloadInterval) { + this.autoReloadInterval = setInterval(() => { + this.loadEvents(); + }, 60000); // 1 minute + } + } + + stopAutoReload() { + if (this.autoReloadInterval) { + clearInterval(this.autoReloadInterval); + this.autoReloadInterval = null; + } + } + + toggleAutoReload() { + this.autoReloadEnabled = !this.autoReloadEnabled; + if (this.autoReloadEnabled) { + this.startAutoReload(); + } else { + this.stopAutoReload(); + } + } + + onDaysAheadChange() { + this.loadEvents({daysAhead: this.daysAhead, what: this.selectedWhatFilter || undefined}); + } + + updateAvailableWhatTypes() { + const whatTypes = new Set(); + this.features.forEach(feature => { + if (feature?.properties?.what) { + whatTypes.add(feature.properties.what); + } + }); + + this.route.queryParams.subscribe(p => { + const t = (p?.['theme'] || '').trim(); + this.theme.set(t || null); + this.buildSubthemes(); + }); + + // Ajouter les catégories principales + whatTypes.add('culture'); + whatTypes.add('traffic'); + + this.availableWhatTypes = Array.from(whatTypes).sort(); + } + + onSearchChange() { + // Annuler le timer précédent s'il existe + if (this.searchDebounceTimer) { + clearTimeout(this.searchDebounceTimer); + } + + // Créer un nouveau timer de 500ms + this.searchDebounceTimer = setTimeout(() => { + this.applyFilters(); + }, 500); + } + + onWhatFilterChange() { + this.applyFilters(); + } + + applyFilters() { + let filtered = [...this.features]; + + // Filtre par texte de recherche + if (this.searchText.trim()) { + const searchLower = this.searchText.toLowerCase(); + filtered = filtered.filter(feature => { + const label = feature?.properties?.label || feature?.properties?.name || ''; + const description = feature?.properties?.description || ''; + const what = feature?.properties?.what || ''; + return label.toLowerCase().includes(searchLower) || + description.toLowerCase().includes(searchLower) || + what.toLowerCase().includes(searchLower); + }); + } + + // Filtre par type d'événement + if (this.selectedWhatFilter) { + filtered = filtered.filter(feature => { + const what = feature?.properties?.what || ''; + // Si c'est une catégorie (culture, traffic), filtrer par préfixe + if (this.selectedWhatFilter === 'culture' || this.selectedWhatFilter === 'traffic') { + return what.startsWith(this.selectedWhatFilter + '.'); + } + // Sinon, correspondance exacte + return what === this.selectedWhatFilter; + }); + } + + // Mode plein air: ne garder que certains types + if (this.pleinAirMode) { + const allowed = new Set([ + 'traffic.contestation', + 'traffic.interruption', + 'traffic.wrong_way' + ]); + filtered = filtered.filter(f => allowed.has(f?.properties?.what || '')); + } + + this.filteredFeatures = filtered; + } + + togglePleinAir() { + this.pleinAirMode = !this.pleinAirMode; + this.applyFilters(); + } + + enablePleinAirMode() { + + if (!this.pleinAirMode) { + this.pleinAirMode = true; + this.applyFilters(); + } + } + + // Actions rapides plein air + quickCreate(what: string) { + const osmUsername = this.osmAuth.getUsername(); + this.selectedPreset = what; + this.showGuidePresetPlace = true; + this.selected = { + id: null, + properties: { + label: '', + description: '', + what, + where: '', + ...(osmUsername && {last_modified_by: osmUsername}) + }, + geometry: {type: 'Point', coordinates: [0, 0]} + }; + // Ensuite, l'utilisateur clique sur la carte: voir onPickCoords() + // this.showEditForm = true; + } + cancelSubmitPreset(){ + this.selected = null; + this.presetMoreDetails = '' + this.showGuidePresetMoreInfo = false + this.showGuidePresetPlace = false; + this.showQuickActions = true; + } + submitPreset() { + const now = new Date(); + const w = this.selected.properties.what; + // fin du signalement par défaut dans 20 jours + const stop = new Date(now.getTime() + 20 * 24 * 3600 * 1000); + const feature = { + type: 'Feature', + properties: { + type: 'unscheduled', + label: this.selected.properties.label || (oedb.presets.what as any)[w]?.label || 'Évènement', + description: this.selected.properties.description || (oedb.presets.what as any)[w]?.description || '', + what: w, + reporter: this.guidePresetMoreInfoPseudo, + 'reporter:description': this.presetMoreDetails, + where: this.selected.properties.where || '', + start: now.toISOString(), + stop: stop.toISOString() + }, + geometry: {type: 'Point', coordinates: [this.selected.lon, this.selected.lat]} + } as any; + this.OedbApi.createEvent(feature).subscribe({ + next: () => { + this.pushToast('success', 'Évènement créé'); + this.selected = null; + this.presetMoreDetails = '' + this.showGuidePresetMoreInfo = false + this.showGuidePresetPlace = false; + // Après création rapide en plein air: recharger uniquement ce type pour feedback instantané + this.selectedWhatFilter = w; + this.loadEvents({what: 'traffic'}); + }, + error: () => { + this.pushToast('error', 'Échec de création'); + } + }); + } + + goToNewCategories() { + this.router.navigate(['/nouvelles-categories']); + } + + onSelect(feature: any) { + this.selected = feature; + } + + onSelectFromCalendarView(feature: any) { + this.selected = feature; + this.showEditForm = false; + } + + onPickCoords(coords: [number, number]) { + const [lon, lat] = coords; + if (this.selected && this.selected.properties) { + this.selected = { + ...this.selected, + geometry: {type: 'Point', coordinates: [lon, lat]} + }; + // this.showOptions = true; + // En mode plein air, si c'est une création rapide, proposer l'envoi direct + if (this.pleinAirMode && (this.selected.id == null)) { + const w = this.selected.properties.what; + const allowed = new Set(['traffic.contestation', 'traffic.interruption', 'traffic.wrong_way']); + if (allowed.has(w)) { + + this.showGuidePresetPlace = true; + this.showGuidePresetMoreInfo = true; + this.showQuickActions = false; + const self: this = this; + const ok = typeof window !== 'undefined' ? window.confirm('Envoyer cet évènement maintenant ?') : true; + if (ok) { + self.submitPreset() + } + } + } + } else { + const osmUsername = this.osmAuth.getUsername(); + const whatKey = this.activeSubtheme(); + let label = ''; + let description = ''; + if (whatKey) { + const preset = (oedb.presets.what as any)[whatKey]; + if (preset) { + label = preset.label || ''; + description = preset.description || ''; + } + } + this.selected = { + id: null, + properties: { + label: '', + description: '', + what: whatKey || '', + where: '', + ...(osmUsername && {last_modified_by: osmUsername}) + }, + geometry: {type: 'Point', coordinates: [lon, lat]} + }; + } + } + + private pushToast(type: 'success' | 'error' | 'info', message: string) { + if (!message) return; + const id = Date.now() + Math.random(); + this.toasts.push({id, type, message}); + setTimeout(() => { + this.toasts = this.toasts.filter(t => t.id !== id); + }, 6000); + } + + onSaved(_res: any) { + // refresh list after update + this.loadEvents(); + } + + onCreated(_res: any) { + this.selected = null; + this.loadEvents(); + } + + onDeleted(_res: any) { + this.selected = null; + this.loadEvents(); + } + + // Selection from map + onSelection(ids: Array) { + this.selectedIds = ids; + } + + startRectSelection() { + this.selectionMode = this.selectionMode === 'rectangle' ? 'none' : 'rectangle'; + } + + startPolySelection() { + this.selectionMode = this.selectionMode === 'polygon' ? 'none' : 'polygon'; + } + + clearSelection() { + this.selectionMode = 'none'; + this.selectedIds = []; + this.batchAction = 'none'; + this.batchWhat = ''; + this.batchFieldKey = ''; + this.batchFieldValue = ''; + this.batchSummary = null; + } + + async applyBatch() { + if (!this.selectedIds.length || this.batchAction === 'none') return; + let success = 0; + let failed = 0; + let networkErrors = 0; + + const doUpdate = async (id: string | number, updater: (f: any) => any) => { + const feature = this.features.find(f => (f?.properties?.id ?? f?.id) === id); + if (!feature) { + failed++; + return; + } + const updated = updater(feature); + await new Promise((resolve) => { + this.OedbApi.updateEvent(id, updated).subscribe({ + next: () => { + success++; + resolve(); + }, + error: (err) => { + (err?.status === 0 ? networkErrors++ : failed++); + resolve(); + } + }); + }); + }; + + if (this.batchAction === 'delete') { + for (const id of this.selectedIds) { + await new Promise((resolve) => { + this.OedbApi.deleteEvent(id).subscribe({ + next: () => { + success++; + resolve(); + }, error: (err) => { + (err?.status === 0 ? networkErrors++ : failed++); + resolve(); + } + }); + }); + } + } else if (this.batchAction === 'changeWhat') { + const what = this.batchWhat.trim(); + if (!what) return; + for (const id of this.selectedIds) { + await doUpdate(id, (feature: any) => ({...feature, properties: {...feature.properties, what}})); + } + } else if (this.batchAction === 'setField') { + const key = this.batchFieldKey.trim(); + if (!key) return; + for (const id of this.selectedIds) { + await doUpdate(id, (feature: any) => ({ + ...feature, + properties: {...feature.properties, [key]: this.batchFieldValue} + })); + } + } + + this.batchSummary = {success, failed, networkErrors}; + this.loadEvents(); + } + + onCanceled() { + this.showEditForm = false; + } + + ngAfterViewInit() { + // reserved + } + + toggleView() { + this.showTable = !this.showTable; + } + + private isNonLocated(feature: any): boolean { + const geom = feature?.geometry; + if (!geom || geom.type !== 'Point') return true; + const coords = geom.coordinates; + if (!Array.isArray(coords) || coords.length !== 2) return true; + const [lon, lat] = coords; + if (lon == null || lat == null) return true; + if (lon === 0 && lat === 0) return true; + return false; + } + + private isOnline(feature: any): boolean { + const v = feature?.properties?.online; + return v === 'yes' || v === true; + } + + private computeUnlocatedOrOnline() { + this.unlocatedOrOnline = (this.features || []).filter(f => this.isNonLocated(f) || this.isOnline(f)); + } + + toggleUnlocatedPanel() { + this.showUnlocatedList = !this.showUnlocatedList; + } + + createMammoth() { + const osmUsername = this.osmAuth.getUsername(); + this.selected = { + id: null, + properties: { + label: '', + description: '', + what: 'traffic.mammoth', + where: '', + ...(osmUsername && {last_modified_by: osmUsername}) + }, + geometry: {type: 'Point', coordinates: [0, 0]} + }; + this.showEditForm = true; + } + + private buildSubthemes() { + const t = this.theme(); + if (!t) { + this.subthemes = []; + this.activeSubtheme.set(null); + return; + } + const what = oedb.presets.what as Record; + const list: Array<{ key: string, label: string, emoji: string }> = []; + Object.keys(what).forEach(k => { + if (k === t || k.startsWith(`${t}.`)) { + list.push({key: k, label: what[k].label || k, emoji: what[k].emoji || ''}); + } + }); + this.subthemes = list.sort((a, b) => a.key.localeCompare(b.key)); + const exact = this.subthemes.find(s => s.key === t); + this.activeSubtheme.set(exact ? exact.key : (this.subthemes[0]?.key || null)); + } + + downloadGeoJSON() { + const blob = new Blob([JSON.stringify({ + type: 'FeatureCollection', + features: this.filteredFeatures + }, null, 2)], {type: 'application/geo+json'}); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'events.geojson'; + document.body.appendChild(a); + a.click(); + URL.revokeObjectURL(url); + a.remove(); + } + + downloadCSV() { + const header = ['id', 'what', 'label', 'start', 'stop', 'lon', 'lat']; + const rows = this.filteredFeatures.map((f: any) => [ + JSON.stringify(f?.properties?.id ?? f?.id ?? ''), + JSON.stringify(f?.properties?.what ?? ''), + JSON.stringify(f?.properties?.label ?? f?.properties?.name ?? ''), + JSON.stringify(f?.properties?.start ?? f?.properties?.when ?? ''), + JSON.stringify(f?.properties?.stop ?? ''), + JSON.stringify(f?.geometry?.coordinates?.[0] ?? ''), + JSON.stringify(f?.geometry?.coordinates?.[1] ?? '') + ].join(',')); + const csv = [header.join(','), ...rows].join('\n'); + const blob = new Blob([csv], {type: 'text/csv'}); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'events.csv'; + document.body.appendChild(a); + a.click(); + URL.revokeObjectURL(url); + a.remove(); + } + + onQuickSearchSubmit() { + const start = (this.startDateStr || '').trim() || undefined; + const end = (this.endDateStr || '').trim() || undefined; + const days = this.daysAhead; + const what = (this.selectedWhatFilter || '').trim() || undefined; + this.loadEvents({start, end, daysAhead: days, what}); + } + + onBboxFilterToggle() { + this.useBboxFilter = !this.useBboxFilter; + if (this.useBboxFilter) { + // Demander la bbox actuelle à la carte + this.requestCurrentBbox(); + } + this.loadEvents(); + } + + requestCurrentBbox() { + // Cette méthode sera appelée par le composant de carte + // pour obtenir la bbox actuelle + console.log('Demande de bbox actuelle...'); + } + + setCurrentBbox(bbox: { minLng: number, minLat: number, maxLng: number, maxLat: number }) { + this.currentBbox = bbox; + if (this.useBboxFilter) { + this.loadEvents(); + } + } + + // Méthode pour recharger les événements quand la carte bouge + showGuidePresetPlace: boolean = false; + showGuidePresetMoreInfo: boolean = false; + + guidePresetMoreInfoPseudo: string = ''; + presetMoreDetails: string = ''; + selectedPreset: string = ''; + + onMapMove(bbox: { minLng: number, minLat: number, maxLng: number, maxLat: number }) { + this.setCurrentBbox(bbox); + } +} diff --git a/frontend/src/app/pages/home/menu/menu.html b/frontend/src/app/pages/home/menu/menu.html new file mode 100644 index 0000000..b4e0fde --- /dev/null +++ b/frontend/src/app/pages/home/menu/menu.html @@ -0,0 +1,128 @@ + + + + + + (editor) + + + + + + diff --git a/frontend/src/app/pages/home/menu/menu.scss b/frontend/src/app/pages/home/menu/menu.scss new file mode 100644 index 0000000..252b38d --- /dev/null +++ b/frontend/src/app/pages/home/menu/menu.scss @@ -0,0 +1,132 @@ +:host { + display: block; + background: #f8f9fa; + border-right: 1px solid #e9ecef; + min-height: 100vh; + padding: 1rem; +} + +.menu-header { + margin-bottom: 2rem; + padding-bottom: 1rem; + border-bottom: 2px solid #3498db; + + h1 { + color: #2c3e50; + margin: 0; + font-size: 1.5rem; + font-weight: 700; + } +} + +.nav { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.nav-section { + h3 { + color: #6c757d; + font-size: 0.9rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 0.75rem; + padding-left: 0.5rem; + border-left: 3px solid #3498db; + } + + &.quick-tools { + background: linear-gradient(135deg, #3498db, #2980b9); + border-radius: 8px; + padding: 1rem; + margin-bottom: 1rem; + + h3 { + color: white; + border-left: 3px solid white; + margin-bottom: 1rem; + } + + .link.highlight { + background: rgba(255, 255, 255, 0.1); + color: white; + font-weight: 600; + border: 1px solid rgba(255, 255, 255, 0.2); + margin-bottom: 0.5rem; + + &:hover { + background: rgba(255, 255, 255, 0.2); + transform: translateX(4px); + border-color: rgba(255, 255, 255, 0.4); + } + + &.router-link-active { + background: rgba(255, 255, 255, 0.3); + border-color: rgba(255, 255, 255, 0.5); + } + } + } +} + +.link, .link-button { + display: block; + padding: 0.75rem 1rem; + color: #2c3e50; + text-decoration: none; + border-radius: 6px; + transition: all 0.3s ease; + margin-bottom: 0.25rem; + font-weight: 500; + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + font-size: 0.95rem; + + &:hover { + background: #3498db; + color: white; + transform: translateX(4px); + } + + &.router-link-active { + background: #2980b9; + color: white; + font-weight: 600; + } +} + +.link-button { + &:hover { + background: #e74c3c; + color: white; + } +} + +#what_categories { + display: grid; + grid-template-columns: 1fr; + gap: 8px; +} + +.category { + background: #ffffff; + border-radius: 10px; + padding: 10px; + border: 1px solid rgba(0,0,0,0.08); + display: grid; + grid-template-columns: 28px 1fr; + gap: 10px; + align-items: center; +} + +.emoji { + font-size: 20px; +} + +.label { + font-weight: 600; +} diff --git a/frontend/src/app/pages/home/menu/menu.spec.ts b/frontend/src/app/pages/home/menu/menu.spec.ts new file mode 100644 index 0000000..eafdb54 --- /dev/null +++ b/frontend/src/app/pages/home/menu/menu.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Menu } from './menu'; + +describe('Menu', () => { + let component: Menu; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [Menu] + }) + .compileComponents(); + + fixture = TestBed.createComponent(Menu); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/pages/home/menu/menu.ts b/frontend/src/app/pages/home/menu/menu.ts new file mode 100644 index 0000000..948607f --- /dev/null +++ b/frontend/src/app/pages/home/menu/menu.ts @@ -0,0 +1,39 @@ +import { Component, inject } from '@angular/core'; +import oedb_what_categories from '../../../../oedb-types'; +import { RouterLink, Router } from "@angular/router"; + +@Component({ + selector: 'app-menu', + standalone: true, + imports: [RouterLink], + templateUrl: './menu.html', + styleUrl: './menu.scss' +}) +export class Menu { + private router = inject(Router); + + public oedb_what_categories: Array = []; + public onToggleView?: () => void; + public onDownloadGeoJSON?: () => void; + public onDownloadCSV?: () => void; + protected whats: any = []; + + constructor() { + let keys = Object.keys(oedb_what_categories.presets.what); + + this.oedb_what_categories = []; + this.whats = []; + + keys.forEach((key) => { + this.oedb_what_categories.push( + oedb_what_categories.presets.what[key as keyof typeof oedb_what_categories.presets.what] + ); + this.whats.push(key) + }) + + } + + toggleView() { this.onToggleView && this.onToggleView(); } + downloadGeoJSON() { this.onDownloadGeoJSON && this.onDownloadGeoJSON(); } + downloadCSV() { this.onDownloadCSV && this.onDownloadCSV(); } +} diff --git a/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.html b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.html new file mode 100644 index 0000000..9ff5f88 --- /dev/null +++ b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.html @@ -0,0 +1,68 @@ +
    +
    +

    📋 Nouvelles catégories d'événements

    +

    Découvrez les nouveaux types d'événements qui ne sont pas encore dans la configuration OEDB

    + +
    + +
    +
    + + @if (isLoading) { +
    +

    Analyse des événements des 30 prochains jours...

    +
    + } @else if (eventTypes.length === 0) { +
    +

    🎉 Aucune nouvelle catégorie trouvée ! Tous les types d'événements sont déjà dans la configuration.

    +
    + } @else { +
    +

    {{ eventTypes.length }} nouvelle(s) catégorie(s) trouvée(s)

    + + @for (eventType of eventTypes; track eventType.what) { +
    +
    +

    {{ eventType.what }}

    + {{ eventType.count }} événement(s) +
    + +
    +

    Exemples :

    +
      + @for (example of eventType.examples; track example.id) { +
    • + {{ example.properties?.label || example.properties?.name || 'Sans titre' }} + @if (example.properties?.start || example.properties?.when) { + - {{ example.properties?.start || example.properties?.when }} + } +
    • + } +
    +
    + +
    +

    Code à ajouter dans oedb-types.ts :

    +
    +
    {{ generateJsonCode(eventType) }}
    + +
    +
    +
    + } +
    + } +
    \ No newline at end of file diff --git a/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.scss b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.scss new file mode 100644 index 0000000..3556311 --- /dev/null +++ b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.scss @@ -0,0 +1,168 @@ +.nouvelles-categories-container { + padding: 20px; + max-width: 1200px; + margin: 0 auto; +} + +.header { + margin-bottom: 30px; + text-align: center; + + h1 { + color: #333; + margin-bottom: 10px; + } + + p { + color: #666; + margin-bottom: 20px; + } + + .controls { + margin-top: 20px; + } +} + +.loading, .no-data { + text-align: center; + padding: 40px; + color: #666; + + p { + font-size: 18px; + } +} + +.categories-list { + h2 { + color: #333; + margin-bottom: 20px; + border-bottom: 2px solid #007bff; + padding-bottom: 10px; + } +} + +.category-card { + background: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 8px; + padding: 20px; + margin-bottom: 20px; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); + + .category-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; + + h3 { + color: #007bff; + margin: 0; + font-family: 'Courier New', monospace; + } + + .count { + background: #007bff; + color: white; + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: bold; + } + } + + .examples { + margin-bottom: 20px; + + h4 { + color: #495057; + margin-bottom: 10px; + font-size: 14px; + } + + ul { + margin: 0; + padding-left: 20px; + + li { + margin-bottom: 5px; + color: #6c757d; + } + } + } + + .code-generation { + h4 { + color: #495057; + margin-bottom: 10px; + font-size: 14px; + } + + .code-block { + position: relative; + background: #2d3748; + border-radius: 6px; + padding: 15px; + + pre { + margin: 0; + color: #e2e8f0; + font-family: 'Courier New', monospace; + font-size: 12px; + line-height: 1.4; + overflow-x: auto; + + code { + color: inherit; + } + } + + .copy-btn { + position: absolute; + top: 10px; + right: 10px; + background: #4a5568; + color: white; + border: none; + padding: 5px 10px; + border-radius: 4px; + font-size: 11px; + cursor: pointer; + transition: background-color 0.2s; + + &:hover { + background: #2d3748; + } + } + } + } +} + +.btn { + padding: 8px 16px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 14px; + transition: all 0.2s; + + &.btn-primary { + background: #007bff; + color: white; + + &:hover:not(:disabled) { + background: #0056b3; + } + + &:disabled { + background: #6c757d; + cursor: not-allowed; + } + } + + &.btn-sm { + padding: 4px 8px; + font-size: 12px; + } +} diff --git a/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.spec.ts b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.spec.ts new file mode 100644 index 0000000..7c85d26 --- /dev/null +++ b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NouvellesCategories } from './nouvelles-categories'; + +describe('NouvellesCategories', () => { + let component: NouvellesCategories; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [NouvellesCategories] + }) + .compileComponents(); + + fixture = TestBed.createComponent(NouvellesCategories); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.ts b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.ts new file mode 100644 index 0000000..611db09 --- /dev/null +++ b/frontend/src/app/pages/nouvelles-categories/nouvelles-categories.ts @@ -0,0 +1,190 @@ +import { Component, inject, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { OedbApi } from '../../services/oedb-api'; +import oedb from '../../../oedb-types'; + +interface EventType { + what: string; + count: number; + examples: any[]; +} + +@Component({ + selector: 'app-nouvelles-categories', + standalone: true, + imports: [CommonModule], + templateUrl: './nouvelles-categories.html', + styleUrl: './nouvelles-categories.scss' +}) +export class NouvellesCategories implements OnInit { + private oedbApi = inject(OedbApi); + + eventTypes: EventType[] = []; + isLoading = false; + oedbPresets = oedb.presets.what; + + ngOnInit() { + this.loadNewCategories(); + } + + loadNewCategories() { + this.isLoading = true; + const today = new Date(); + const endDate = new Date(today); + endDate.setDate(today.getDate() + 30); // 30 prochains jours + + const params = { + start: today.toISOString().split('T')[0], + end: endDate.toISOString().split('T')[0], + limit: 1000 + }; + + this.oedbApi.getEvents(params).subscribe((response: any) => { + const events = Array.isArray(response?.features) ? response.features : []; + this.analyzeEventTypes(events); + this.isLoading = false; + }); + } + + private analyzeEventTypes(events: any[]) { + const typeMap = new Map(); + + events.forEach(event => { + const what = event.properties?.what; + if (what && !this.isKnownType(what)) { + if (!typeMap.has(what)) { + typeMap.set(what, { count: 0, examples: [] }); + } + const typeData = typeMap.get(what)!; + typeData.count++; + if (typeData.examples.length < 3) { + typeData.examples.push(event); + } + } + }); + + this.eventTypes = Array.from(typeMap.entries()) + .map(([what, data]) => ({ + what, + count: data.count, + examples: data.examples + })) + .sort((a, b) => b.count - a.count); + } + + private isKnownType(what: string): boolean { + return !!(this.oedbPresets as any)[what]; + } + + generateJsonCode(eventType: EventType): string { + const what = eventType.what; + const example = eventType.examples[0]; + const properties = example?.properties || {}; + + // Générer un emoji basé sur le type + const emoji = this.suggestEmoji(what); + + // Générer une catégorie basée sur le premier mot + const category = this.suggestCategory(what); + + // Générer des propriétés basées sur l'exemple + const suggestedProperties = this.suggestProperties(properties); + + return `'${what}': { + emoji: '${emoji}', + label: '${this.suggestLabel(what)}', + category: '${category}', + description: '${this.suggestDescription(what)}', + durationHours: 24${suggestedProperties ? ',\n properties: {\n' + suggestedProperties + '\n }' : ''} +}`; + } + + private suggestEmoji(what: string): string { + const emojiMap: { [key: string]: string } = { + 'music': '🎵', + 'sport': '⚽', + 'food': '🍽️', + 'art': '🎨', + 'tech': '💻', + 'health': '🏥', + 'education': '📚', + 'business': '💼', + 'travel': '✈️', + 'nature': '🌿', + 'social': '👥', + 'festival': '🎪', + 'conference': '🎤', + 'workshop': '🔧', + 'exhibition': '🖼️', + 'sale': '🛒', + 'meeting': '🤝', + 'party': '🎉', + 'concert': '🎸', + 'theater': '🎭' + }; + + const firstWord = what.split('.')[0].toLowerCase(); + return emojiMap[firstWord] || '📅'; + } + + private suggestCategory(what: string): string { + const categoryMap: { [key: string]: string } = { + 'music': 'Musique', + 'sport': 'Sport', + 'food': 'Gastronomie', + 'art': 'Culture', + 'tech': 'Technologie', + 'health': 'Santé', + 'education': 'Éducation', + 'business': 'Commerce', + 'travel': 'Tourisme', + 'nature': 'Nature', + 'social': 'Communauté', + 'festival': 'Culture', + 'conference': 'Professionnel', + 'workshop': 'Formation', + 'exhibition': 'Culture', + 'sale': 'Commerce', + 'meeting': 'Professionnel', + 'party': 'Social', + 'concert': 'Musique', + 'theater': 'Culture' + }; + + const firstWord = what.split('.')[0].toLowerCase(); + return categoryMap[firstWord] || 'Autre'; + } + + private suggestLabel(what: string): string { + return what.split('.').map(word => + word.charAt(0).toUpperCase() + word.slice(1) + ).join(' '); + } + + private suggestDescription(what: string): string { + return `Événement de type ${this.suggestLabel(what)}`; + } + + private suggestProperties(properties: any): string { + const suggestedProps: string[] = []; + + // Analyser les propriétés communes pour suggérer des champs + Object.keys(properties).forEach(key => { + if (key !== 'what' && key !== 'label' && key !== 'name' && key !== 'id' && key !== 'uuid') { + const value = properties[key]; + if (typeof value === 'string' && value.length > 0) { + suggestedProps.push(` ${key}: { label: '${this.suggestLabel(key)}', writable: true }`); + } + } + }); + + return suggestedProps.join(',\n'); + } + + copyToClipboard(text: string) { + navigator.clipboard.writeText(text).then(() => { + // Optionnel: afficher une notification de succès + console.log('Code copié dans le presse-papiers'); + }); + } +} \ No newline at end of file diff --git a/frontend/src/app/pages/research/research.html b/frontend/src/app/pages/research/research.html new file mode 100644 index 0000000..be2c55d --- /dev/null +++ b/frontend/src/app/pages/research/research.html @@ -0,0 +1,146 @@ +
    +
    + + +
    +
    +

    Critères de recherche

    + +
    + + +
    + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + + +
    +
    + +
    + + @if (hasSearched()) { + + } +
    +
    +
    + + @if (hasSearched()) { +
    +
    +

    Résultats de recherche

    + @if (searchResults()) { +
    + + {{searchResults()!.total}} événement(s) trouvé(s) + + @if (searchResults()!.query) { + + pour "{{searchResults()!.query}}" + + } +
    + } +
    + + @if (searchResults() && searchResults()!.features.length > 0) { +
    +
    + + +
    + +
    +

    Liste des événements

    +
    + @for (event of searchResults()!.features; track event.id) { +
    +
    +

    {{getEventTitle(event)}}

    + {{getEventType(event)}} +
    +
    + @if (getEventDate(event)) { +
    + 📅 {{formatDate(getEventDate(event))}} +
    + } + @if (getEventLocation(event)) { +
    + 📍 {{getEventLocation(event)}} +
    + } +
    +
    + } +
    +
    +
    + } @else if (searchResults() && searchResults()!.features.length === 0) { +
    +

    Aucun événement trouvé

    +

    Essayez de modifier vos critères de recherche

    +
    + } +
    + } +
    +
    diff --git a/frontend/src/app/pages/research/research.scss b/frontend/src/app/pages/research/research.scss new file mode 100644 index 0000000..7294503 --- /dev/null +++ b/frontend/src/app/pages/research/research.scss @@ -0,0 +1,279 @@ +.research-page { + // min-height: 100vh; + background: #f8f9fa; + + .container { + max-width: 1400px; + margin: 0 auto; + padding: 2rem 1rem; + } + + .page-header { + text-align: center; + margin-bottom: 3rem; + + h1 { + color: #2c3e50; + margin-bottom: 0.5rem; + } + + p { + color: #6c757d; + font-size: 1.1rem; + } + } + + .search-section { + margin-bottom: 3rem; + + .search-form { + background: white; + padding: 2rem; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + + h2 { + color: #2c3e50; + margin-bottom: 1.5rem; + border-bottom: 2px solid #3498db; + padding-bottom: 0.5rem; + } + + .form-group { + margin-bottom: 1.5rem; + + label { + display: block; + margin-bottom: 0.5rem; + font-weight: 600; + color: #2c3e50; + } + + input, select { + width: 100%; + padding: 0.75rem; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 1rem; + transition: border-color 0.3s; + + &:focus { + outline: none; + border-color: #3498db; + box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2); + } + } + + .search-input { + font-size: 1.1rem; + padding: 1rem; + } + } + + .form-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; + + @media (max-width: 768px) { + grid-template-columns: 1fr; + } + } + + .form-actions { + display: flex; + gap: 1rem; + margin-top: 2rem; + padding-top: 1rem; + border-top: 1px solid #ecf0f1; + } + } + } + + .results-section { + .results-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 2rem; + padding: 1rem 0; + border-bottom: 2px solid #3498db; + + h2 { + color: #2c3e50; + margin: 0; + } + + .results-info { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 0.25rem; + + .results-count { + font-weight: 600; + color: #27ae60; + } + + .search-query { + font-size: 0.9rem; + color: #6c757d; + font-style: italic; + } + } + } + + .results-content { + display: grid; + grid-template-columns: 1fr 400px; + gap: 2rem; + + @media (max-width: 1024px) { + grid-template-columns: 1fr; + } + + .map-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + overflow: hidden; + min-height: 500px; + + app-all-events { + display: block; + height: 100%; + min-height: 500px; + } + } + + .events-list { + background: white; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + padding: 1.5rem; + max-height: 600px; + overflow-y: auto; + + h3 { + color: #2c3e50; + margin-bottom: 1rem; + padding-bottom: 0.5rem; + border-bottom: 1px solid #ecf0f1; + } + + .events-grid { + display: flex; + flex-direction: column; + gap: 1rem; + + .event-card { + padding: 1rem; + border: 1px solid #ecf0f1; + border-radius: 6px; + cursor: pointer; + transition: all 0.3s; + + &:hover { + border-color: #3498db; + box-shadow: 0 2px 8px rgba(52, 152, 219, 0.2); + transform: translateY(-2px); + } + + .event-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 0.75rem; + + .event-title { + color: #2c3e50; + margin: 0; + font-size: 1rem; + font-weight: 600; + flex: 1; + margin-right: 1rem; + } + + .event-type { + background: #3498db; + color: white; + padding: 0.25rem 0.5rem; + border-radius: 4px; + font-size: 0.8rem; + font-weight: 500; + white-space: nowrap; + } + } + + .event-details { + display: flex; + flex-direction: column; + gap: 0.5rem; + + .event-date, .event-location { + font-size: 0.9rem; + color: #6c757d; + display: flex; + align-items: center; + gap: 0.5rem; + } + } + } + } + } + } + + .no-results { + text-align: center; + padding: 3rem; + background: white; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + + h3 { + color: #6c757d; + margin-bottom: 1rem; + } + + p { + color: #95a5a6; + } + } + } + + .btn { + padding: 0.75rem 1.5rem; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 1rem; + font-weight: 600; + transition: all 0.3s; + display: inline-flex; + align-items: center; + gap: 0.5rem; + + &:disabled { + opacity: 0.6; + cursor: not-allowed; + } + + &.btn-primary { + background: #3498db; + color: white; + + &:hover:not(:disabled) { + background: #2980b9; + } + } + + &.btn-secondary { + background: #95a5a6; + color: white; + + &:hover:not(:disabled) { + background: #7f8c8d; + } + } + } +} diff --git a/frontend/src/app/pages/research/research.spec.ts b/frontend/src/app/pages/research/research.spec.ts new file mode 100644 index 0000000..5b8a5d2 --- /dev/null +++ b/frontend/src/app/pages/research/research.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Research } from './research'; + +describe('Research', () => { + let component: Research; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [Research] + }) + .compileComponents(); + + fixture = TestBed.createComponent(Research); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/pages/research/research.ts b/frontend/src/app/pages/research/research.ts new file mode 100644 index 0000000..86e0a83 --- /dev/null +++ b/frontend/src/app/pages/research/research.ts @@ -0,0 +1,157 @@ +import { Component, inject, signal } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { OedbApi } from '../../services/oedb-api'; +import { AllEvents } from '../../maps/all-events/all-events'; + +interface SearchParams { + query: string; + what: string; + start: string; + end: string; + limit: number; +} + +interface SearchResult { + features: any[]; + total: number; + query: string; +} + +@Component({ + selector: 'app-research', + standalone: true, + imports: [CommonModule, FormsModule, AllEvents], + templateUrl: './research.html', + styleUrl: './research.scss' +}) +export class Research { + private oedbApi = inject(OedbApi); + + searchParams = signal({ + query: '', + what: '', + start: '', + end: '', + limit: 100 + }); + + searchResults = signal(null); + isLoading = signal(false); + hasSearched = signal(false); + + availableWhatTypes = signal([]); + + constructor() { + this.loadAvailableWhatTypes(); + } + + private loadAvailableWhatTypes() { + // Charger les types d'événements disponibles + this.oedbApi.getEvents({ limit: 1 }).subscribe((response: any) => { + const whatTypes = new Set(); + if (response?.features) { + response.features.forEach((feature: any) => { + if (feature?.properties?.what) { + whatTypes.add(feature.properties.what); + } + }); + } + this.availableWhatTypes.set(Array.from(whatTypes).sort()); + }); + } + + onSearch() { + const params = this.searchParams(); + if (!params.query.trim()) { + return; + } + + this.isLoading.set(true); + this.hasSearched.set(true); + + const apiParams: any = { + q: params.query, + limit: params.limit + }; + + if (params.what) { + apiParams.what = params.what; + } + if (params.start) { + apiParams.start = params.start; + } + if (params.end) { + apiParams.end = params.end; + } + + this.oedbApi.getEvents(apiParams).subscribe({ + next: (response: any) => { + const features = Array.isArray(response?.features) ? response.features : []; + this.searchResults.set({ + features, + total: features.length, + query: params.query + }); + this.isLoading.set(false); + }, + error: (error) => { + console.error('Erreur lors de la recherche:', error); + this.searchResults.set({ + features: [], + total: 0, + query: params.query + }); + this.isLoading.set(false); + } + }); + } + + onClearSearch() { + this.searchParams.set({ + query: '', + what: '', + start: '', + end: '', + limit: 100 + }); + this.searchResults.set(null); + this.hasSearched.set(false); + } + + onEventSelect(event: any) { + console.log('Événement sélectionné:', event); + } + + getEventTitle(event: any): string { + return event?.properties?.label || event?.properties?.name || 'Événement sans nom'; + } + + getEventDate(event: any): string { + return event?.properties?.start || event?.properties?.when || ''; + } + + getEventLocation(event: any): string { + return event?.properties?.where || ''; + } + + getEventType(event: any): string { + return event?.properties?.what || ''; + } + + formatDate(dateString: string): string { + if (!dateString) return ''; + try { + const date = new Date(dateString); + return date.toLocaleDateString('fr-FR', { + year: 'numeric', + month: 'long', + day: 'numeric', + hour: '2-digit', + minute: '2-digit' + }); + } catch { + return dateString; + } + } +} diff --git a/frontend/src/app/pages/unlocated-events/unlocated-events.html b/frontend/src/app/pages/unlocated-events/unlocated-events.html new file mode 100644 index 0000000..e634522 --- /dev/null +++ b/frontend/src/app/pages/unlocated-events/unlocated-events.html @@ -0,0 +1,286 @@ +
    +
    +

    Événements non localisés

    +

    {{unlocatedEvents.length}} événement(s) nécessitant une géolocalisation

    + @if (isLoading) { +
    ⏳ Chargement...
    + } +
    + +
    +
    +

    Liste des événements

    + @if (unlocatedEvents.length === 0) { +
    +

    Aucun événement non localisé trouvé.

    +
    + } @else { +
    + @for (event of unlocatedEvents; track event.id || event.properties?.id) { +
    +
    +

    {{getEventTitle(event)}}

    + {{event?.properties?.what || 'Non défini'}} +
    +
    +

    {{getEventDescription(event)}}

    +
    + @if (event?.properties?.start || event?.properties?.when) { + 📅 {{event?.properties?.start || event?.properties?.when}} + } + @if (event?.properties?.where) { + 📍 {{event?.properties?.where}} + } +
    +
    +
    + } +
    + } +
    + + @if (selectedEvent) { +
    +
    +

    Modifier l'événement

    +
    + @if (!isEditing) { + + } @else { + + + } +
    +
    + + @if (isEditing) { +
    + +
    +

    📍 Géolocalisation

    +
    +
    + + + @if (nominatimResults.length > 0 || searchQuery.trim()) { + + } +
    + @if (isSearchingLocation) { +
    Recherche en cours...
    + } +
    + + @if (nominatimResults.length > 0) { +
    +

    Résultats de recherche ({{nominatimResults.length}} trouvé(s)) :

    + @for (result of nominatimResults; track result.place_id) { +
    +
    +
    {{result.display_name}}
    +
    {{result.type}}
    +
    +
    +
    📍 {{result.lat}}, {{result.lon}}
    + @if (result.importance) { +
    Importance: {{(result.importance * 100).toFixed(1)}}%
    + } +
    + @if (result.address) { +
    + @if (result.address.house_number && result.address.road) { + {{result.address.house_number}} {{result.address.road}} + } + @if (result.address.postcode) { + {{result.address.postcode}} + } + @if (result.address.city) { + {{result.address.city}} + } +
    + } +
    + } +
    + } @else if (!isSearchingLocation && searchQuery.trim() && nominatimResults.length === 0) { +
    Aucun résultat trouvé pour "{{searchQuery}}"
    + } + + @if (selectedLocation) { +
    + Lieu sélectionné : {{selectedLocation.display_name}} +
    + Coordonnées : {{selectedLocation.lat}}, {{selectedLocation.lon}} + @if (selectedLocation.address) { +
    + Adresse : + @if (selectedLocation.address.house_number && selectedLocation.address.road) { + {{selectedLocation.address.house_number}} {{selectedLocation.address.road}}, + } + @if (selectedLocation.address.postcode) { + {{selectedLocation.address.postcode}} + } + @if (selectedLocation.address.city) { + {{selectedLocation.address.city}} + } + + } +
    + } + + @if (selectedEvent?.geometry?.coordinates) { +
    + Coordonnées actuelles : + {{selectedEvent.geometry.coordinates[1]}}, {{selectedEvent.geometry.coordinates[0]}} + @if (selectedEvent.geometry.coordinates[0] === 0 && selectedEvent.geometry.coordinates[1] === 0) { + ⚠️ Coordonnées par défaut (0,0) + } +
    + } + + +
    +

    Coordonnées géographiques

    +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    + @if (areCoordinatesValid()) { +
    + ✅ Coordonnées valides et prêtes à être sauvegardées +
    + } @else if (selectedEvent?.geometry?.coordinates[0] !== 0 || selectedEvent?.geometry?.coordinates[1] !== 0) { +
    + ⚠️ Coordonnées invalides ou incomplètes +
    + } +
    +
    + + +
    +

    Propriétés de l'événement

    +
    + @for (prop of getObjectKeys(selectedEvent?.properties || {}); track prop) { +
    + + + @if (!isGeocodingProperty(prop) || prop === 'where') { + + } +
    + } +
    + + +
    +

    Ajouter une propriété

    +
    + + + +
    +
    +
    + + +
    + +
    +
    + } @else { +
    +

    Aperçu de l'événement

    +
    +
    {{selectedEvent | json}}
    +
    +
    + } +
    + } +
    +
    diff --git a/frontend/src/app/pages/unlocated-events/unlocated-events.scss b/frontend/src/app/pages/unlocated-events/unlocated-events.scss new file mode 100644 index 0000000..af3d261 --- /dev/null +++ b/frontend/src/app/pages/unlocated-events/unlocated-events.scss @@ -0,0 +1,650 @@ +.unlocated-events-page { + padding: 20px; + max-width: 1200px; + margin: 0 auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + + .header { + margin-bottom: 30px; + text-align: center; + + h1 { + color: #2c3e50; + margin-bottom: 10px; + font-size: 2.5rem; + } + + .subtitle { + color: #7f8c8d; + font-size: 1.1rem; + margin: 0; + } + + .loading { + color: #3498db; + font-weight: 500; + margin-top: 10px; + } + } + + .content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 30px; + min-height: 600px; + + @media (max-width: 768px) { + grid-template-columns: 1fr; + gap: 20px; + } + } + + .events-list { + h2 { + color: #2c3e50; + margin-bottom: 20px; + font-size: 1.5rem; + } + + .empty-state { + text-align: center; + padding: 40px 20px; + color: #7f8c8d; + background: #f8f9fa; + border-radius: 8px; + border: 2px dashed #dee2e6; + } + + .events-grid { + display: flex; + flex-direction: column; + gap: 15px; + max-height: 600px; + overflow-y: auto; + padding-right: 10px; + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-track { + background: #f1f1f1; + border-radius: 3px; + } + + &::-webkit-scrollbar-thumb { + background: #c1c1c1; + border-radius: 3px; + } + } + + .event-card { + background: white; + border: 2px solid #e9ecef; + border-radius: 12px; + padding: 20px; + cursor: pointer; + transition: all 0.2s ease; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); + + &:hover { + border-color: #3498db; + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + } + + &.selected { + border-color: #75a0f6; + background: #f8f5ff; + } + + .event-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 12px; + + h3 { + margin: 0; + color: #2c3e50; + font-size: 1.1rem; + flex: 1; + line-height: 1.3; + max-width: 200px; + overflow: auto; + text-overflow: ellipsis; + } + + .event-type { + background: #3498db; + color: white; + padding: 4px 8px; + border-radius: 4px; + font-size: 0.8rem; + font-weight: 500; + margin-left: 10px; + max-width: 100px; + overflow: auto; + text-overflow: ellipsis; + } + } + + .event-details { + .event-description { + color: #5a6c7d; + margin: 0 0 10px 0; + line-height: 1.4; + font-size: 0.95rem; + } + + .event-meta { + display: flex; + flex-direction: column; + gap: 5px; + + .event-date, .event-location { + font-size: 0.85rem; + color: #7f8c8d; + display: flex; + align-items: center; + gap: 5px; + } + } + } + } + } + + .event-editor { + background: white; + border: 2px solid #e9ecef; + border-radius: 12px; + padding: 25px; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); + + .editor-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 25px; + padding-bottom: 15px; + border-bottom: 2px solid #f1f3f4; + + h2 { + margin: 0; + color: #2c3e50; + font-size: 1.4rem; + } + + .editor-actions { + display: flex; + gap: 10px; + } + } + + .editor-content { + .geolocation-section, .properties-section { + margin-bottom: 30px; + padding: 20px; + background: #f8f9fa; + border-radius: 8px; + border: 1px solid #e9ecef; + + h3, h4 { + margin: 0 0 15px 0; + color: #2c3e50; + font-size: 1.1rem; + } + + h4 { + font-size: 1rem; + margin-bottom: 10px; + } + } + + .search-location { + margin-bottom: 15px; + + .search-input-group { + display: flex; + gap: 10px; + margin-bottom: 10px; + + .input { + flex: 1; + padding: 10px 12px; + border: 2px solid #dee2e6; + border-radius: 6px; + font-size: 1rem; + transition: border-color 0.2s ease; + width: 100%; + + &:focus { + outline: none; + border-color: #3498db; + } + } + + .search-btn { + padding: 10px 20px; + white-space: nowrap; + min-width: 120px; + } + + .clear-btn { + padding: 10px 15px; + white-space: nowrap; + min-width: 80px; + } + } + + .searching { + color: #3498db; + font-size: 0.9rem; + margin-top: 5px; + text-align: center; + padding: 10px; + background: #f8f9ff; + border-radius: 4px; + border: 1px solid #e3f2fd; + } + + .no-results { + color: #e74c3c; + font-size: 0.9rem; + margin-top: 10px; + text-align: center; + padding: 10px; + background: #f5fffb; + border-radius: 4px; + border: 1px solid #fecaca; + } + } + + .location-results { + margin-top: 15px; + + h4 { + color: #2c3e50; + margin-bottom: 12px; + font-size: 1rem; + } + + .location-option { + background: white; + border: 1px solid #dee2e6; + border-radius: 8px; + padding: 15px; + margin-bottom: 10px; + cursor: pointer; + transition: all 0.2s ease; + box-shadow: 0 1px 3px rgba(0,0,0,0.1); + + &:hover { + border-color: #3498db; + background: #f8f9ff; + transform: translateY(-1px); + box-shadow: 0 2px 6px rgba(0,0,0,0.15); + } + + &.selected { + border-color: #859fdb; + background: #f5fffb; + box-shadow: 0 2px 8px rgba(231, 76, 60, 0.2); + } + + .location-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 8px; + + .location-name { + font-weight: 500; + color: #2c3e50; + flex: 1; + line-height: 1.3; + font-size: 0.95rem; + } + + .location-type { + background: #3498db; + color: white; + padding: 2px 8px; + border-radius: 12px; + font-size: 0.75rem; + font-weight: 500; + margin-left: 10px; + text-transform: capitalize; + } + } + + .location-details { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 0.85rem; + + .location-coords { + color: #7f8c8d; + font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; + } + + .location-score { + color: #27ae60; + font-weight: 500; + } + + .location-address { + font-size: 0.8rem; + color: #6c757d; + margin-top: 5px; + font-style: italic; + } + } + } + } + + .selected-location { + background: #d4edda; + border: 1px solid #c3e6cb; + border-radius: 6px; + padding: 12px; + margin-top: 15px; + color: #155724; + + small { + color: #6c757d; + } + } + + .current-coordinates { + background: #fff3cd; + border: 1px solid #ffeaa7; + border-radius: 6px; + padding: 12px; + margin-top: 10px; + color: #856404; + font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; + font-size: 0.9rem; + + .warning { + color: #e74c3c; + font-weight: 500; + margin-left: 10px; + } + } + + .coordinates-form { + background: #f8f9fa; + border: 1px solid #e9ecef; + border-radius: 8px; + padding: 20px; + margin-top: 15px; + + h4 { + margin: 0 0 15px 0; + color: #2c3e50; + font-size: 1rem; + } + + .coordinates-inputs { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 15px; + margin-bottom: 15px; + + @media (max-width: 480px) { + grid-template-columns: 1fr; + } + + .coordinate-field { + display: flex; + flex-direction: column; + + label { + font-weight: 500; + color: #2c3e50; + margin-bottom: 5px; + font-size: 0.9rem; + } + + .coordinate-input { + padding: 10px 12px; + border: 2px solid #dee2e6; + border-radius: 6px; + font-size: 0.9rem; + font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; + transition: border-color 0.2s ease; + + &:focus { + outline: none; + border-color: #3498db; + } + + &:invalid { + border-color: #e74c3c; + } + } + } + } + + .coordinate-actions { + display: flex; + gap: 10px; + justify-content: flex-end; + + @media (max-width: 480px) { + flex-direction: column; + } + + .btn { + min-width: 140px; + } + } + + .coordinates-valid { + background: #d4edda; + border: 1px solid #c3e6cb; + border-radius: 4px; + padding: 8px 12px; + margin-top: 10px; + color: #155724; + font-size: 0.85rem; + text-align: center; + } + + .coordinates-invalid { + background: #f8d7da; + border: 1px solid #f5c6cb; + border-radius: 4px; + padding: 8px 12px; + margin-top: 10px; + color: #721c24; + font-size: 0.85rem; + text-align: center; + } + } + + .properties-list { + margin-bottom: 20px; + + .property-item { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 10px; + padding: 10px; + background: white; + border-radius: 6px; + border: 1px solid #dee2e6; + transition: all 0.2s ease; + + &.geocoding-property { + background: #f8f9ff; + border-color: #e3f2fd; + border-left: 3px solid #3498db; + } + + .property-key { + font-weight: 500; + color: #2c3e50; + min-width: 120px; + font-size: 0.9rem; + display: flex; + align-items: center; + gap: 5px; + + .geocoding-badge { + font-size: 0.8rem; + opacity: 0.7; + } + } + + .property-value { + flex: 1; + padding: 8px 10px; + border: 1px solid #dee2e6; + border-radius: 4px; + font-size: 0.9rem; + transition: all 0.2s ease; + + &:focus { + outline: none; + border-color: #3498db; + } + + &[readonly] { + background: #f8f9fa; + color: #6c757d; + cursor: not-allowed; + } + } + + .btn { + padding: 6px 10px; + font-size: 0.8rem; + } + } + } + + .add-property { + .add-property-form { + display: flex; + gap: 10px; + align-items: center; + + .input { + flex: 1; + padding: 8px 10px; + border: 1px solid #dee2e6; + border-radius: 4px; + font-size: 0.9rem; + + &:focus { + outline: none; + border-color: #3498db; + } + } + } + } + + .editor-actions { + text-align: center; + margin-top: 30px; + padding-top: 20px; + border-top: 2px solid #f1f3f4; + } + } + + .event-preview { + .preview-content { + background: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 6px; + padding: 15px; + max-height: 400px; + overflow-y: auto; + + pre { + margin: 0; + font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; + font-size: 0.85rem; + line-height: 1.4; + color: #2c3e50; + } + } + } + } + + // Styles pour les boutons + .btn { + padding: 10px 16px; + border: none; + border-radius: 6px; + font-size: 0.9rem; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + text-decoration: none; + display: inline-block; + text-align: center; + + &:disabled { + opacity: 0.6; + cursor: not-allowed; + } + + &.btn-primary { + background: #3498db; + color: white; + + &:hover:not(:disabled) { + background: #2980b9; + transform: translateY(-1px); + } + } + + &.btn-secondary { + background: #95a5a6; + color: white; + + &:hover:not(:disabled) { + background: #7f8c8d; + } + } + + &.btn-danger { + background: #e74c3c; + color: white; + + &:hover:not(:disabled) { + background: #c0392b; + } + } + + &.btn-sm { + padding: 6px 12px; + font-size: 0.8rem; + } + + &.btn-large { + padding: 15px 30px; + font-size: 1.1rem; + } + } + + .input { + padding: 10px 12px; + border: 2px solid #dee2e6; + border-radius: 6px; + font-size: 1rem; + transition: border-color 0.2s ease; + width: 100%; + box-sizing: border-box; + + &:focus { + outline: none; + border-color: #3498db; + } + } +} diff --git a/frontend/src/app/pages/unlocated-events/unlocated-events.ts b/frontend/src/app/pages/unlocated-events/unlocated-events.ts new file mode 100644 index 0000000..522cdcb --- /dev/null +++ b/frontend/src/app/pages/unlocated-events/unlocated-events.ts @@ -0,0 +1,407 @@ +import { Component, inject, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { OedbApi } from '../../services/oedb-api'; +import { OsmAuth } from '../../services/osm-auth'; +import { ActivatedRoute } from '@angular/router'; + +interface NominatimResult { + place_id: number; + display_name: string; + lat: string; + lon: string; + type: string; + importance: number; + address?: { + house_number?: string; + road?: string; + postcode?: string; + city?: string; + state?: string; + country?: string; + }; +} + +@Component({ + selector: 'app-unlocated-events-page', + standalone: true, + imports: [CommonModule, FormsModule], + templateUrl: './unlocated-events.html', + styleUrl: './unlocated-events.scss' +}) +export class UnlocatedEventsPage implements OnInit { + OedbApi = inject(OedbApi); + private osmAuth = inject(OsmAuth); + private route = inject(ActivatedRoute); + + events: Array = []; + unlocatedEvents: Array = []; + isLoading = false; + selectedEvent: any = null; + isEditing = false; + newKey = ''; + newValue = ''; + + // Géolocalisation + searchQuery = ''; + nominatimResults: NominatimResult[] = []; + isSearchingLocation = false; + selectedLocation: NominatimResult | null = null; + + ngOnInit() { + this.route.queryParamMap.subscribe(map => { + const id = (map.get('id') || '').trim(); + const what = (map.get('what') || '').trim(); + const limitParam = map.get('limit'); + const limit = limitParam ? Number(limitParam) : null; + if (id) { + this.loadSingleEvent(id); + } else { + this.loadEvents({ what: what || undefined, limit: limit || undefined }); + } + }); + } + + loadEvents(overrides: { what?: string; limit?: number } = {}) { + this.isLoading = true; + const today = new Date(); + const endDate = new Date(today); + endDate.setDate(today.getDate() + 30); // Charger 30 jours pour avoir plus d'événements + + const params: any = { + start: today.toISOString().split('T')[0], + end: endDate.toISOString().split('T')[0], + limit: overrides.limit ?? 1000 + }; + if (overrides.what) params.what = overrides.what; + + this.OedbApi.getEvents(params).subscribe((events: any) => { + this.events = Array.isArray(events?.features) ? events.features : []; + this.filterUnlocatedEvents(); + this.isLoading = false; + }); + } + + loadSingleEvent(id: string | number) { + this.isLoading = true; + this.OedbApi.getEventById(id).subscribe({ + next: (feature: any) => { + const f = (feature && (feature as any).type === 'Feature') ? feature : (feature?.feature || null); + this.events = f ? [f] : []; + this.filterUnlocatedEvents(); + this.isLoading = false; + }, + error: () => { + this.events = []; + this.unlocatedEvents = []; + this.isLoading = false; + } + }); + } + + filterUnlocatedEvents() { + this.unlocatedEvents = (this.events || []).filter(ev => { + // Vérifie si la géométrie est un point + if (!ev.geometry || ev.geometry.type !== 'Point') return false; + const coords = ev.geometry.coordinates; + // Vérifie si les coordonnées sont valides + if (!Array.isArray(coords) || coords.length !== 2) return true; + // Si les coordonnées sont [0,0], on considère comme non localisé + if (coords[0] === 0 && coords[1] === 0) return true; + // Si l'une des coordonnées est manquante ou nulle + if (coords[0] == null || coords[1] == null) return true; + return false; + }); + } + + selectEvent(event: any) { + this.selectedEvent = { ...event }; + this.isEditing = true; // Ouvrir directement le formulaire d'édition + this.searchQuery = event?.properties?.where || ''; + this.nominatimResults = []; + this.selectedLocation = null; + + // S'assurer que l'événement a une géométrie valide + if (!this.selectedEvent.geometry) { + this.selectedEvent.geometry = { + type: 'Point', + coordinates: [0, 0] + }; + } + + // Si l'événement a une propriété 'where', proposer automatiquement une recherche + if (event?.properties?.where) { + this.searchLocation(); + } + } + + startEditing() { + this.isEditing = true; + } + + cancelEditing() { + this.isEditing = false; + this.selectedEvent = null; + } + + searchLocation() { + if (!this.searchQuery.trim()) { + this.nominatimResults = []; + return; + } + + this.isSearchingLocation = true; + this.nominatimResults = []; + + // Utiliser la propriété 'where' de l'événement si disponible, sinon utiliser la recherche manuelle + const searchTerm = this.selectedEvent?.properties?.where || this.searchQuery; + + const url = `https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(searchTerm)}&limit=10&addressdetails=1&countrycodes=fr&extratags=1&accept-language=fr`; + + fetch(url) + .then(response => { + if (!response.ok) { + throw new Error(`Erreur HTTP: ${response.status}`); + } + return response.json(); + }) + .then((data: NominatimResult[]) => { + this.nominatimResults = data; + this.isSearchingLocation = false; + console.log('Résultats Nominatim:', data); + }) + .catch(error => { + console.error('Erreur lors de la recherche Nominatim:', error); + this.isSearchingLocation = false; + // Afficher un message d'erreur à l'utilisateur + this.nominatimResults = []; + }); + } + + selectLocation(location: NominatimResult) { + this.selectedLocation = location; + if (this.selectedEvent) { + // Mettre à jour la géométrie + this.selectedEvent.geometry = { + type: 'Point', + coordinates: [parseFloat(location.lon), parseFloat(location.lat)] + }; + + // Mettre à jour les propriétés de l'événement + if (!this.selectedEvent.properties) { + this.selectedEvent.properties = {}; + } + + // Mettre à jour la propriété 'where' avec le nom du lieu + this.selectedEvent.properties.where = location.display_name; + + // Ajouter d'autres propriétés utiles si elles n'existent pas + if (!this.selectedEvent.properties.label && !this.selectedEvent.properties.name) { + this.selectedEvent.properties.label = location.display_name; + } + + // Ajouter des informations géographiques détaillées + this.selectedEvent.properties.lat = location.lat; + this.selectedEvent.properties.lon = location.lon; + + // Ajouter des informations détaillées de Nominatim + if (location.address) { + if (location.address.house_number) this.selectedEvent.properties.housenumber = location.address.house_number; + if (location.address.road) this.selectedEvent.properties.street = location.address.road; + if (location.address.postcode) this.selectedEvent.properties.postcode = location.address.postcode; + if (location.address.city) this.selectedEvent.properties.city = location.address.city; + if (location.address.state) this.selectedEvent.properties.region = location.address.state; + if (location.address.country) this.selectedEvent.properties.country = location.address.country; + } + + if (location.type) this.selectedEvent.properties.place_type = location.type; + if (location.importance) this.selectedEvent.properties.place_importance = location.importance.toString(); + + // Ajouter une note sur la source de géolocalisation + this.selectedEvent.properties.geocoding_source = 'Nominatim'; + this.selectedEvent.properties.geocoding_date = new Date().toISOString(); + + // S'assurer que les coordonnées sont bien mises à jour dans le formulaire + this.updateCoordinates(); + } + } + + clearSearch() { + this.searchQuery = ''; + this.nominatimResults = []; + this.selectedLocation = null; + this.isSearchingLocation = false; + } + + updateCoordinates() { + // Cette méthode est appelée quand les coordonnées sont modifiées dans le formulaire + // Elle s'assure que la géométrie est correctement mise à jour + if (this.selectedEvent && this.selectedEvent.geometry) { + const lat = parseFloat(this.selectedEvent.geometry.coordinates[1]); + const lon = parseFloat(this.selectedEvent.geometry.coordinates[0]); + + if (!isNaN(lat) && !isNaN(lon)) { + this.selectedEvent.geometry.coordinates = [lon, lat]; + } + } + } + + clearCoordinates() { + if (this.selectedEvent) { + this.selectedEvent.geometry = { + type: 'Point', + coordinates: [0, 0] + }; + this.selectedLocation = null; + + // Remettre à zéro les propriétés de localisation + if (this.selectedEvent.properties) { + this.selectedEvent.properties.where = ''; + // Ne pas effacer le label/name s'ils existent déjà + } + } + } + + validateCoordinates() { + if (this.selectedEvent && this.selectedEvent.geometry) { + const lat = this.selectedEvent.geometry.coordinates[1]; + const lon = this.selectedEvent.geometry.coordinates[0]; + + if (this.areCoordinatesValid()) { + console.log('Coordonnées validées:', { lat, lon }); + this.selectedEvent.geometry.coordinates = [lon, lat]; + this.updateCoordinates(); + // Ici on pourrait ajouter une validation supplémentaire ou une notification + } + } + } + + areCoordinatesValid(): boolean { + if (!this.selectedEvent || !this.selectedEvent.geometry) return false; + + const lat = this.selectedEvent.geometry.coordinates[1]; + const lon = this.selectedEvent.geometry.coordinates[0]; + + // Vérifier que les coordonnées sont des nombres valides + if (isNaN(lat) || isNaN(lon)) return false; + + // Vérifier que les coordonnées sont dans des plages valides + if (lat < -90 || lat > 90) return false; + if (lon < -180 || lon > 180) return false; + + // Vérifier que ce ne sont pas les coordonnées par défaut (0,0) + if (lat === 0 && lon === 0) return false; + + return true; + } + + addProperty() { + if (this.newKey.trim() && this.newValue.trim()) { + if (!this.selectedEvent.properties) { + this.selectedEvent.properties = {}; + } + this.selectedEvent.properties[this.newKey.trim()] = this.newValue.trim(); + this.newKey = ''; + this.newValue = ''; + } + } + + removeProperty(key: string) { + if (this.selectedEvent?.properties) { + delete this.selectedEvent.properties[key]; + } + } + + updateEvent() { + if (!this.selectedEvent) return; + + this.isLoading = true; + const eventId = this.selectedEvent.id || this.selectedEvent.properties?.id; + + if (eventId) { + // Mettre à jour un événement existant + this.OedbApi.updateEvent(eventId, this.selectedEvent).subscribe({ + next: (response) => { + console.log('Événement mis à jour:', response); + this.loadEvents(); + this.selectedEvent = null; + this.isEditing = false; + this.isLoading = false; + }, + error: (error) => { + console.error('Erreur lors de la mise à jour:', error); + this.isLoading = false; + } + }); + } else { + // Créer un nouvel événement + const osmUsername = this.osmAuth.getUsername(); + if (osmUsername) { + this.selectedEvent.properties.last_modified_by = osmUsername; + } + + this.OedbApi.createEvent(this.selectedEvent).subscribe({ + next: (response) => { + console.log('Événement créé:', response); + this.loadEvents(); + this.selectedEvent = null; + this.isEditing = false; + this.isLoading = false; + }, + error: (error) => { + console.error('Erreur lors de la création:', error); + this.isLoading = false; + } + }); + } + } + + deleteEvent() { + if (!this.selectedEvent) return; + + const eventId = this.selectedEvent.id || this.selectedEvent.properties?.id; + if (!eventId) return; + + if (confirm('Êtes-vous sûr de vouloir supprimer cet événement ?')) { + this.isLoading = true; + this.OedbApi.deleteEvent(eventId).subscribe({ + next: (response) => { + console.log('Événement supprimé:', response); + this.loadEvents(); + this.selectedEvent = null; + this.isEditing = false; + this.isLoading = false; + }, + error: (error) => { + console.error('Erreur lors de la suppression:', error); + this.isLoading = false; + } + }); + } + } + + getEventTitle(event: any): string { + return event?.properties?.what || + event?.properties?.label || + event?.properties?.name || + 'Événement sans nom'; + } + + getEventDescription(event: any): string { + return event?.properties?.description || + event?.properties?.where || + 'Aucune description'; + } + + getObjectKeys(obj: any): string[] { + return Object.keys(obj || {}); + } + + isGeocodingProperty(prop: string): boolean { + const geocodingProps = [ + 'lat', 'lon', 'place_type', 'place_importance', 'housenumber', 'street', + 'postcode', 'city', 'region', 'country', 'geocoding_source', 'geocoding_date' + ]; + return geocodingProps.includes(prop); + } +} diff --git a/frontend/src/app/services/oedb-api.spec.ts b/frontend/src/app/services/oedb-api.spec.ts new file mode 100644 index 0000000..1b27c58 --- /dev/null +++ b/frontend/src/app/services/oedb-api.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { OedbApi } from './oedb-api'; + +describe('OedbApi', () => { + let service: OedbApi; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(OedbApi); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/services/oedb-api.ts b/frontend/src/app/services/oedb-api.ts new file mode 100644 index 0000000..007ebd3 --- /dev/null +++ b/frontend/src/app/services/oedb-api.ts @@ -0,0 +1,32 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; + +@Injectable({ + providedIn: 'root' +}) +export class OedbApi { + private baseUrl = 'https://api.openeventdatabase.org'; + + constructor(private http: HttpClient) { + } + + getEvents(params: any) { + return this.http.get(`${this.baseUrl}/event`, { params }); + } + + getEventById(id: string | number) { + return this.http.get(`${this.baseUrl}/event/${id}`); + } + + createEvent(feature: any) { + return this.http.post(`${this.baseUrl}/event`, feature); + } + + updateEvent(id: string | number, feature: any) { + return this.http.put(`${this.baseUrl}/event/${id}`, feature); + } + + deleteEvent(id: string | number) { + return this.http.delete(`${this.baseUrl}/event/${id}`); + } +} diff --git a/frontend/src/app/services/osm-auth.spec.ts b/frontend/src/app/services/osm-auth.spec.ts new file mode 100644 index 0000000..136d935 --- /dev/null +++ b/frontend/src/app/services/osm-auth.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { OsmAuth } from '../osm-auth'; + +describe('OsmAuth', () => { + let service: OsmAuth; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(OsmAuth); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/services/osm-auth.ts b/frontend/src/app/services/osm-auth.ts new file mode 100644 index 0000000..cda663f --- /dev/null +++ b/frontend/src/app/services/osm-auth.ts @@ -0,0 +1,222 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { BehaviorSubject, Observable, of } from 'rxjs'; +import { catchError, map, switchMap } from 'rxjs/operators'; +import { environment } from '../../environments/environment'; + +export interface OsmUser { + id: number; + display_name: string; + account_created: string; + description: string; + contributor_terms: { + agreed: boolean; + pd: boolean; + }; + img: { + href: string; + }; + roles: string[]; + changesets: { + count: number; + }; + traces: { + count: number; + }; + blocks: { + received: { + count: number; + active: number; + }; + }; + home: { + lat: number; + lon: number; + zoom: number; + }; + languages: string[]; + messages: { + received: { + count: number; + unread: number; + }; + sent: { + count: number; + }; + }; + preferences: any; +} + +@Injectable({ + providedIn: 'root' +}) +export class OsmAuth { + private readonly STORAGE_KEY = 'osm_auth_data'; + private readonly OAUTH_BASE_URL = 'https://www.openstreetmap.org/oauth'; + + private currentUserSubject = new BehaviorSubject(null); + public currentUser$ = this.currentUserSubject.asObservable(); + + private accessToken: string | null = null; + private clientId: string | null = null; + private redirectUri: string | null = null; + + constructor(private http: HttpClient) { + this.loadStoredAuthData(); + this.loadEnvironmentConfig(); + } + + private loadEnvironmentConfig() { + // Charger la configuration depuis les variables d'environnement + this.clientId = environment.osmClientId; + this.redirectUri = window.location.origin + '/oauth/callback'; + } + + private loadStoredAuthData() { + try { + const stored = localStorage.getItem(this.STORAGE_KEY); + if (stored) { + const authData = JSON.parse(stored); + this.accessToken = authData.accessToken; + if (authData.user) { + this.currentUserSubject.next(authData.user); + } + } + } catch (error) { + console.error('Erreur lors du chargement des données OSM:', error); + this.clearStoredAuthData(); + } + } + + private saveAuthData(user: OsmUser, accessToken: string) { + const authData = { + user, + accessToken, + timestamp: Date.now() + }; + localStorage.setItem(this.STORAGE_KEY, JSON.stringify(authData)); + this.accessToken = accessToken; + this.currentUserSubject.next(user); + } + + private clearStoredAuthData() { + localStorage.removeItem(this.STORAGE_KEY); + this.accessToken = null; + this.currentUserSubject.next(null); + } + + isAuthenticated(): boolean { + return this.accessToken !== null && this.currentUserSubject.value !== null; + } + + getCurrentUser(): OsmUser | null { + return this.currentUserSubject.value; + } + + getAccessToken(): string | null { + return this.accessToken; + } + + getUsername(): string | null { + return this.currentUserSubject.value?.display_name || null; + } + + initiateOAuthLogin(): void { + if (!this.clientId) { + console.error('Client ID OSM non configuré'); + return; + } + + const state = this.generateRandomState(); + sessionStorage.setItem('osm_oauth_state', state); + + const params = new URLSearchParams({ + response_type: 'code', + client_id: this.clientId, + redirect_uri: this.redirectUri!, + scope: 'read_prefs', + state: state + }); + + const authUrl = `${this.OAUTH_BASE_URL}/authorize?${params.toString()}`; + window.location.href = authUrl; + } + + handleOAuthCallback(code: string, state: string): Observable { + const storedState = sessionStorage.getItem('osm_oauth_state'); + if (state !== storedState) { + console.error('État OAuth invalide'); + return of(false); + } + + sessionStorage.removeItem('osm_oauth_state'); + + if (!this.clientId) { + console.error('Client ID OSM non configuré'); + return of(false); + } + + // En production, l'échange du code contre un token se ferait côté serveur + // pour des raisons de sécurité (client_secret) + const tokenData = { + grant_type: 'authorization_code', + code: code, + redirect_uri: this.redirectUri!, + client_id: this.clientId + }; + + // Pour l'instant, on simule une authentification réussie + // En production, il faudrait faire un appel au backend + return this.http.post(`${this.OAUTH_BASE_URL}/token`, tokenData).pipe( + switchMap(response => { + if (response.access_token) { + this.accessToken = response.access_token; + // Appeler fetchUserDetails et retourner son résultat + return this.fetchUserDetails(); + } + return of(false); + }), + catchError(error => { + console.error('Erreur lors de l\'obtention du token OAuth:', error); + return of(false); + }) + ); + } + + private fetchUserDetails(): Observable { + if (!this.accessToken) { + return of(false); + } + + return this.http.get('https://api.openstreetmap.org/api/0.6/user/details.json', { + headers: { + 'Authorization': `Bearer ${this.accessToken}` + } + }).pipe( + map(user => { + this.saveAuthData(user, this.accessToken!); + return true; + }), + catchError(error => { + console.error('Erreur lors de la récupération des détails utilisateur:', error); + this.logout(); + return of(false); + }) + ); + } + + logout(): void { + this.clearStoredAuthData(); + } + + private generateRandomState(): string { + return Math.random().toString(36).substring(2, 15) + + Math.random().toString(36).substring(2, 15); + } + + // Méthode pour configurer les credentials OSM (à appeler depuis l'app) + configureOsmCredentials(clientId: string, clientSecret?: string) { + this.clientId = clientId; + // Le client_secret ne doit jamais être stocké côté client + } +} diff --git a/frontend/src/app/shared/unlocated-events/unlocated-events.html b/frontend/src/app/shared/unlocated-events/unlocated-events.html new file mode 100644 index 0000000..f27bd9b --- /dev/null +++ b/frontend/src/app/shared/unlocated-events/unlocated-events.html @@ -0,0 +1,10 @@ +

    {{unlocated.length}} Évènements non localisés

    + +@if (display_list) { +
      +
    • + {{ event?.properties?.what || event?.properties?.label || event?.properties?.name || 'Évènement sans nom' }} +
      {{event | json}}
      +
    • +
    +} diff --git a/frontend/src/app/shared/unlocated-events/unlocated-events.scss b/frontend/src/app/shared/unlocated-events/unlocated-events.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/shared/unlocated-events/unlocated-events.spec.ts b/frontend/src/app/shared/unlocated-events/unlocated-events.spec.ts new file mode 100644 index 0000000..ea13b85 --- /dev/null +++ b/frontend/src/app/shared/unlocated-events/unlocated-events.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UnlocatedEvents } from './unlocated-events'; + +describe('UnlocatedEvents', () => { + let component: UnlocatedEvents; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [UnlocatedEvents] + }) + .compileComponents(); + + fixture = TestBed.createComponent(UnlocatedEvents); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/shared/unlocated-events/unlocated-events.ts b/frontend/src/app/shared/unlocated-events/unlocated-events.ts new file mode 100644 index 0000000..34e9f6d --- /dev/null +++ b/frontend/src/app/shared/unlocated-events/unlocated-events.ts @@ -0,0 +1,32 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-unlocated-events', + standalone: true, + imports: [CommonModule], + templateUrl: './unlocated-events.html', + styleUrl: './unlocated-events.scss' +}) +export class UnlocatedEvents implements OnInit{ + + @Input() events: Array = []; + unlocated: Array = []; + display_list = false + + ngOnInit() { + this.unlocated = (this.events || []).filter(ev => { + // Vérifie si la géométrie est un point + if (!ev.geometry || ev.geometry.type !== 'Point') return false; + const coords = ev.geometry.coordinates; + // Vérifie si les coordonnées sont valides + if (!Array.isArray(coords) || coords.length !== 2) return true; + // Si les coordonnées sont [0,0], on considère comme non localisé + if (coords[0] === 0 && coords[1] === 0) return true; + // Si l'une des coordonnées est manquante ou nulle + if (coords[0] == null || coords[1] == null) return true; + return false; + }); + console.log('unlocated events', this.unlocated); + } +} diff --git a/frontend/src/app/shared/what-filter/what-filter.ts b/frontend/src/app/shared/what-filter/what-filter.ts new file mode 100644 index 0000000..babd262 --- /dev/null +++ b/frontend/src/app/shared/what-filter/what-filter.ts @@ -0,0 +1,44 @@ +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +@Component({ + selector: 'app-what-filter', + standalone: true, + imports: [CommonModule, FormsModule], + template: ` +
    + + +
    + `, + styles: [` + .what-filter { display: flex; flex-direction: column; gap: 6px; } + .filter-label { font-size: 0.9rem; color: #374151; } + .input { padding: 8px 10px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 0.9rem; } + .input:focus { outline: none; border-color: #3498db; } + `] +}) +export class WhatFilterComponent { + @Input() available: string[] = []; + @Input() label: string | null = null; + + @Input() set selected(val: string) { + this.internalSelected = val || ''; + } + get selected(): string { return this.internalSelected; } + + @Output() selectedChange = new EventEmitter(); + + internalSelected = ''; + + onSelectedChange(value: string) { + this.internalSelected = value || ''; + this.selectedChange.emit(this.internalSelected); + } +} + + diff --git a/frontend/src/environments/environment.prod.ts b/frontend/src/environments/environment.prod.ts new file mode 100644 index 0000000..3ff22a4 --- /dev/null +++ b/frontend/src/environments/environment.prod.ts @@ -0,0 +1,6 @@ +export const environment = { + production: true, + osmClientId: 'your_production_osm_client_id_here', + osmClientSecret: 'your_production_osm_client_secret_here', + apiBaseUrl: 'https://your-production-api-url.com' +}; diff --git a/frontend/src/environments/environment.ts b/frontend/src/environments/environment.ts new file mode 100644 index 0000000..22820d1 --- /dev/null +++ b/frontend/src/environments/environment.ts @@ -0,0 +1,6 @@ +export const environment = { + production: false, + osmClientId: 'your_osm_client_id_here', // À remplacer par la vraie valeur + osmClientSecret: 'your_osm_client_secret_here', // À remplacer par la vraie valeur + apiBaseUrl: 'http://localhost:5000' // URL de base de l'API backend +}; diff --git a/frontend/src/index.html b/frontend/src/index.html new file mode 100644 index 0000000..3e81bf5 --- /dev/null +++ b/frontend/src/index.html @@ -0,0 +1,13 @@ + + + + + OEDB Frontend + + + + + + + + diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/frontend/src/oedb-types.ts b/frontend/src/oedb-types.ts new file mode 100644 index 0000000..3ab1db5 --- /dev/null +++ b/frontend/src/oedb-types.ts @@ -0,0 +1,468 @@ +const oedb = { + presets: { + what: { + 'community': { + label: 'Événement de base', + description: 'Événement communautaire', + category: 'Communauté', + emoji: '\\o/', + durationHours: 24 + }, + // Community / OSM + 'community.osm.event': { + emoji: '🗺️', + label: 'Événement OpenStreetMap', + category: 'Communauté', + description: 'Événement lié à la communauté OpenStreetMap' + }, + 'culture': { + emoji: '📅', + label: 'Culture', + category: 'Autre', + description: 'Événement de type Culture ouvert au public', + durationHours: 24, + properties: { + createdate: {label: 'Createdate', writable: true}, + lastupdate: {label: 'Lastupdate', writable: true}, + start: {label: 'Start', writable: true}, + stop: {label: 'Stop', writable: true}, + type: {label: 'Type', writable: true} + } + }, + 'culture.floss': { + emoji: '📅', + label: 'Culture Free Libre open source software', + category: 'Autre', + description: 'Événement de type Culture Floss', + durationHours: 24, + properties: {} + }, 'culture.viparis': { + emoji: '📅', + label: 'Évènements organisés par Viparis', + category: 'Autre', + description: 'Événement culturel par Viparis, une entreprise qui gère plusieurs grandes salles en Île de France.', + durationHours: 24, + properties: {} + }, + + + // Culture / Arts + 'culture.arts': { + emoji: '🎨', + label: 'Arts et culture', + category: 'Culture', + description: 'Événement artistique et culturel' + }, + 'culture.geek': { + emoji: '🤓', + label: 'Culture geek', + category: 'Culture', + description: 'Événement geek, technologie, gaming' + }, + 'culture.music': { + emoji: '🎵', + label: 'Musique', + category: 'Culture', + description: 'Événement musical général' + }, + + // Music specific + 'music.festival': { + emoji: '🎪', + label: 'Festival de musique', + category: 'Musique', + description: 'Festival musical' + }, + + // Power / Energy + 'power.production.unavail': { + emoji: '⚡', + label: 'Production électrique indisponible', + category: 'Énergie', + description: 'Arrêt ou réduction de production électrique' + }, + 'power.lights.should_be_off': { + emoji: '💡', + label: 'Lumières devraient être éteintes', + category: 'Énergie', + description: 'Lumières éteintes', + durationHours: 300 + }, + 'power.lights.should_be_on': { + emoji: '💡', + label: 'Lumières devraient être allumées', + category: 'Énergie', + description: 'Lumières allumées', + durationHours: 300 + }, + 'power.evse.unavail': { + emoji: '🔌', + label: 'IRVE indisponible', + category: 'Énergie - infrastructure de recharge', + description: 'Arrêt ou réduction de recharge', + durationHours: 300 + }, + 'power.evse.capacity': { + emoji: '🔌', + label: 'IRVE disponible', + category: 'Énergie - infrastructure de recharge', + description: 'Infrastructure de recharge disponible', + durationHours: 300, + properties: { + "capacity:vehicles": {label: 'Nombre de véhicules qui peuvent actuellement se brancher', writable: true}, + "capacity:vehicles:max": {label: 'Nombre de véhicules maximum à pouvoir se brancher', writable: true} + } + }, + 'traffic.counter.bicycle': { + emoji: '🚲', + label: 'Compteur de vélos', + category: 'Circulation', + description: 'Compteur de vélos', + durationHours: 300 + }, + 'traffic.counter.car': { + emoji: '🚗', + label: 'Compteur de voitures', + category: 'Circulation', + description: 'Compteur de voitures', + durationHours: 300 + }, + + + // Sale / Commerce + 'sale': { + emoji: '🛒', + label: 'Vente / Commerce', + category: 'Commerce', + description: 'Événement commercial, vente, marché' + }, + + // Time / Temporal + 'time.daylight.summer': { + emoji: '☀️', + label: 'Heure d\'été', + category: 'Temps', + description: 'Passage à l\'heure d\'été', + durationHours: 24 + }, + + // Tourism + 'tourism.exhibition': { + emoji: '🖼️', + label: 'Exposition', + category: 'Tourisme', + description: 'Exposition, salon, foire' + }, + + // Traffic / Transportation + 'traffic.accident': { + emoji: '💥', + label: 'Accident', + category: 'Circulation', + description: 'Accident de la circulation', + durationHours: 6, + properties: { + severity: {label: 'Gravité', writable: true}, + lanes_closed: {label: 'Voies fermées', writable: true}, + vehicles: {label: 'Nombre de véhicules', writable: true} + } + }, + 'traffic.incident': { + emoji: '⚠️', + label: 'Incident de circulation', + category: 'Circulation', + description: 'Incident sur la route' + }, + 'traffic.obstacle': { + emoji: '🚧', + label: 'Obstacle', + category: 'Circulation', + description: 'Obstacle sur la voie' + }, + 'traffic.partially_closed': { + emoji: '🚦', + label: 'Voie partiellement fermée', + category: 'Circulation', + description: 'Fermeture partielle de voie' + }, + 'traffic.roadwork': { + emoji: '', + image: 'static/cone.png', + label: 'Travaux routiers', + category: 'Circulation', + description: 'Travaux sur la chaussée', + durationHours: 72, + properties: { + contractor: {label: 'Entreprise', writable: true}, + reason: {label: 'Raison', writable: true}, + lanes_affected: {label: 'Voies impactées', writable: true} + } + }, + 'traffic.OperatorAction.NetworkManagement.RoadOrCarriagewayOrLaneManagement': { + emoji: '', + image: 'static/cone.png', + label: 'Travaux de voirie', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction NetworkManagement RoadOrCarriagewayOrLaneManagement', + durationHours: 24, + properties: { + source: {label: 'Source', writable: true}, + } + }, + + 'traffic.OperatorAction.MaintenanceWorks': { + emoji: '', + image: 'static/cone.png', + label: 'Travaux d\'entretien de voirie', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction NetworkManagement RoadOrCarriagewayOrLaneManagement', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.OperatorAction.NetworkManagement.ReroutingManagement': { + emoji: '', + image: 'static/cone.png', + label: 'Gestion des déviations de voirie', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction NetworkManagement ReroutingManagement', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.OperatorAction.ConstructionWorks': { + emoji: '', + image: 'static/cone.png', + label: 'Travaux de construction', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction ConstructionWorks', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.OperatorAction.NetworkManagement.SpeedManagement': { + emoji: '', + image: 'static/cone.png', + label: 'Gestion de la vitesse Limitation temporaire de vitesse', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction SpeedManagement', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + // Gestion générale du réseau + 'traffic.OperatorAction.NetworkManagement.GeneralNetworkManagement': { + emoji: '', + image: 'static/cone.png', + label: 'Gestion générale du réseau', + category: 'Circulation', + description: 'Événement de type Traffic OperatorAction GeneralNetworkManagement', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.closed': { + emoji: '⛔', + label: 'Chaussée fermée', + category: 'Circulation', + description: 'Événement de type Traffic Closed', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.TrafficElement.GeneralInstructionOrMessageToRoadUsers': { + emoji: '', + image: 'static/cone.png', + label: 'Instruction ou message aux usagers', + category: 'Circulation', + description: 'Événement de type Traffic TrafficElement GeneralInstructionOrMessageToRoadUsers', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.TrafficElement.Obstruction.GeneralObstruction': { + emoji: '', + image: 'static/cone.png', + label: 'Obstruction générale', + category: 'Circulation', + description: 'Événement de type Traffic TrafficElement Obstruction GeneralObstruction', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.TrafficElement.Obstruction.InfrastructureDamageObstruction': { + emoji: '⛔', + + label: 'Obstruction d\'infrastructure', + category: 'Circulation', + description: 'Événement de type Traffic TrafficElement Obstruction InfrastructureDamageObstruction', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.TrafficElement.Obstruction.EnvironmentalObstruction': { + emoji: '⛔', + + label: 'Obstruction environnementale', + category: 'Circulation', + description: 'Événement de type Traffic TrafficElement Obstruction EnvironmentalObstruction', + durationHours: 200, + properties: { + source: {label: 'Source', writable: true}, + } + }, + 'traffic.obstacle.flood': { + emoji: '🌊', + label: 'Chaussée inondée', + category: 'Circulation', + description: 'Chaussée inondée', + durationHours: 50, + }, + + 'wildlife': { + emoji: '🦌', + label: 'Animal', + category: 'Vie sauvage', + description: 'Détection d\'animaux', + properties: { + detection_by: { + values: ['human', 'camera'], + default: 'human', + allow_empty: true, + allow_custom: true, + label: 'Détection par', + description: 'Comment l\'animal a été détecté', + }, + animal: { + values: ['deer', 'bear', 'fox', 'wolf', 'rabbit', 'bird', 'fish', 'insect', 'other'], + default: 'deer', + allow_empty: true, + allow_custom: true, + label: 'Animal', + description: 'L\'animal détecté', + }, + } + }, + 'traffic.mammoth': { + emoji: '🦣', + label: 'Mammouth laineux wohoooo! (évènement de test)', + category: 'Obstacle', + description: 'Un mammouth laineux bloque la route (évènement de test)', + durationHours: 48, + properties: { + test: true, + weight: 1000 + } + }, + 'hazard.piranha': { + emoji: '🐟', + label: 'Piranha dans la piscine (évènement de test)', + category: 'Danger', + description: 'Des pirana attaquent dans cette piscine (évènement de test)', + durationHours: 48 + }, + + // Météo étendue + 'weather.storm': { + emoji: '🌪️', + label: 'Tempête', + category: 'Météo', + description: 'Tempête (vent fort)', + durationHours: 48, + properties: { + wind_speed: {label: 'Vent moyen (km/h)', writable: true}, + wind_gust: {label: 'Rafales (km/h)', writable: true}, + severity: {label: 'Sévérité', writable: true} + } + }, + 'weather.thunder': { + emoji: '⚡', + label: 'Éclairs / orage', + category: 'Météo', + description: 'Activité orageuse', + durationHours: 12, + properties: { + lightning_count: {label: 'Nombre d’éclairs', writable: true} + } + }, 'weather.flood': { + emoji: '🌊', + label: 'Inondation', + category: 'Météo', + description: 'Inondation', + durationHours: 24, + properties: { + flood_level: {label: 'Niveau d\'inondation', writable: true} + } + }, + 'weather.snow': { + emoji: '❄️', + label: 'Neige', + category: 'Météo', + description: 'Neige', + durationHours: 12, + properties: { + snow_level: {label: 'Niveau de neige', writable: true} + } + }, + 'weather.earthquake': { + emoji: '🌎', + label: 'Tremblement de terre', + category: 'Météo', + description: 'Séisme', + durationHours: 6, + properties: { + magnitude: {label: 'Magnitude (Mw)', writable: true}, + depth_km: {label: 'Profondeur (km)', writable: true} + } + }, + + // catégories pour la randonnée + 'traffic.interruption': { + emoji: '⛓️‍💥', + label: 'Interruption d\'itinéraire', + category: 'Randonnée', + description: 'Interruption d\'itinéraire', + durationHours: 200, + properties: { + reason: {label: 'Raison', writable: true}, + route: {label: 'Itinéraire', writable: true}, + + } + }, + 'traffic.wrong_way': { + emoji: '⛖', + label: 'Mauvais sens de circulation', + category: 'Randonnée', + description: 'Mauvais sens de circulation', + durationHours: 200, + properties: { + reason: {label: 'Raison', writable: true}, + route: {label: 'Itinéraire', writable: true}, + + } + }, + 'traffic.contestation': { + emoji: '🤯', + label: 'Contestation d\'itinéraire', + category: 'Randonnée', + description: 'Contestation d\'itinéraire', + durationHours: 200, + properties: { + route: {label: 'Itinéraire', writable: true}, + } + } + // ici ajouter d'autres catégories d'évènements à suggérer + } + } +} + +export default oedb; diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss new file mode 100644 index 0000000..1acb019 --- /dev/null +++ b/frontend/src/styles.scss @@ -0,0 +1,281 @@ +/* Theme variables */ +$color-blue: #9fd3f6; /* pastel blue */ +$color-green: #b9e4c9; /* pastel green */ +$color-bg: #f7fafb; +$color-surface: #ffffff; +$color-text: #22303a; +$color-muted: #6b7b86; +$color-success: #b4e5c6; +$color-error: #f6c9c9; +$color-info: #cfe8ff; +$border-radius: 10px; +$shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06); +$shadow-md: 0 6px 18px rgba(0, 0, 0, 0.08); +$spacing: 12px; + +html, body { + height: 100%; + margin: 0; + padding: 0; + background: $color-bg; + color: $color-text; + // font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif; +} +html, body{ + font-family: "Calibri", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +button, .button{ + border-radius: 5px; + background-color: #79a2d1; + padding: 1rem 0.5rem; + border: none; + cursor: pointer; + &:hover{ + background-color: #6992c1; + } + &:active{ + background-color: #5982b1; + } +} +input{ + width: 200px; + padding: 10px 12px; + border-radius: 10px; + border: 1px solid rgba(0, 0, 0, 0.12); + background: #ffffff; + color: #22303a; + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.02); + display: block; + margin-bottom: 0.5rem; + margin-top: 0.25rem; +} + + + +app-root, app-home { + display: block; + // min-height: 100vh; + // height: 100vh; + // overflow: hidden; +} + +/* Generic UI elements */ +.btn { + appearance: none; + border: none; + border-radius: $border-radius; + padding: 10px 14px; + cursor: pointer; + background: linear-gradient(135deg, $color-blue, $color-green); + color: $color-text; + font-weight: 600; + box-shadow: $shadow-sm; + transition: transform 0.04s ease, box-shadow 0.2s ease, opacity 0.2s; + &:hover { box-shadow: $shadow-md; } + &:active { transform: translateY(1px); } +} + +.btn-ghost { + background: $color-surface; + border: 1px solid rgba(0,0,0,0.08); +} + +.input, .select, textarea { + width: 100%; + padding: 10px 12px; + border-radius: $border-radius; + border: 1px solid rgba(0,0,0,0.12); + background: $color-surface; + color: $color-text; + box-shadow: inset 0 1px 0 rgba(0,0,0,0.02); +} + +label { font-size: 0.85rem; color: $color-muted; } + +/* Toasts */ +.toast-container { + position: fixed; + right: 16px; + bottom: 16px; + display: grid; + gap: 8px; + z-index: 1000; +} + +.toast { + min-width: 240px; + max-width: 360px; + padding: 10px 12px; + border-radius: $border-radius; + box-shadow: $shadow-md; + border: 1px solid rgba(0,0,0,0.06); + background: $color-surface; +} + +.toast.is-success { background: $color-success; } +.toast.is-error { background: $color-error; } +.toast.is-info { background: $color-info; } + + +// marquerus maplibre + +.maplibregl-marker{ + background-color: #fff; + border-radius: 50%; + width: 16px; + height: 16px; + padding: 10px; + box-shadow: 0 0 10px 5px rgba(0,0,0,0.2); +} + +.search{ + width: 20%; + .btn{ + padding: 1rem 1.25rem; + cursor: pointer; + height: 2.7rem; + line-height: 0.7rem; + margin-top: 0.15rem; + } +} + +.aside{ + padding-bottom: 150px; + .selected{ + padding: 2rem 1rem; + border-radius: 10px; + border: 1px solid rgba(0,0,0,0.08); + margin-bottom: 10px; + background: #f0f0f0; + width: 100%; + table{ + width: 100%; + overflow: auto; + } + + } +} +.actions{ + + position: fixed; + bottom: 10px; + left: 415px; + right: 10px; + width: 40vw; + display: flex; + flex-direction: row; + justify-content: end; + align-items: center; + gap: 8px; + z-index: 1000; + background: #fff; + padding: 10px; + border-radius: 10px; + box-shadow: 0 0 10px rgba(0,0,0,0.1); +} + +pre{ + max-width: 400px; +} + +.unlocated-events-page{ + .event-card{ + max-width: 400px; + } + .event-description{ + max-height: 50px; + overflow: auto; + text-overflow: ellipsis; + white-space: nowrap; + } +} +nav{ + display: flex; + flex-direction: row; + gap: 10px; + padding: 10px; + a { + padding: 10px; + border-radius: 10px; + border: 1px solid rgba(0,0,0,0.08); + display: inline-block; + margin-bottom: 10px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; + &:hover{ + background-color: #f0f0f0; + } + } +} + +.row, .filters, .controls{ + input{ + display: block; + max-width: 93%; + } + textarea{ + display: block; + max-width: 93%; + } + select{ + max-width: 97%; + } +} + +.presets{ + max-height: 300px; + overflow: auto; +} + +.loading-indicator{ + color: #007bff; + font-size: 12px; + position: fixed; + top: 10px; + left: 10px; + z-index: 1000; + background: #fff; + padding: 10px; + border-radius: 10px; + box-shadow: 0 0 10px rgba(0,0,0,0.1); +} + +.btn-primary{ + background: linear-gradient( 135deg, #9fd3f6, #b9e4c9) !important; + color: #22303a; + &:hover{ + background: linear-gradient( 135deg, #7fa8d6, #95c6a7); + } + &:active{ + background: linear-gradient( 135deg, #5982b1, #6992c1); + } +} + +.main{ + nav{ + background: $color-text ; + a { + + color: white; + &:hover{ + background: white; + color: $color-text; + } + } + } + .content { + main{ + height: calc(100vh - 0.1rem); + overflow: hidden; + } + } +} + +.maplibregl-ctrl-attrib{ + position: fixed; + bottom: 0 ; + right: 0; +} diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/frontend/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..e4955f2 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/frontend/tsconfig.spec.json b/frontend/tsconfig.spec.json new file mode 100644 index 0000000..04df34c --- /dev/null +++ b/frontend/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/oedb/middleware/headers.py b/oedb/middleware/headers.py index 7d4f297..58fd108 100644 --- a/oedb/middleware/headers.py +++ b/oedb/middleware/headers.py @@ -2,6 +2,7 @@ Middleware components for the OpenEventDatabase. """ +import falcon from oedb.utils.logging import logger class HeaderMiddleware: @@ -9,6 +10,21 @@ class HeaderMiddleware: Middleware that adds standard headers to all responses. """ + def process_request(self, req, resp, resource, params): + """ + Handle preflight OPTIONS requests for CORS. + + Args: + req: The request object. + resp: The response object. + resource: The resource object. + params: The request parameters. + """ + if req.method == 'OPTIONS': + logger.debug("Handling CORS preflight request") + resp.status = falcon.HTTP_200 + return True # Skip further processing + def process_response(self, req, resp, resource, params): """ Add standard headers to the response. @@ -21,7 +37,15 @@ class HeaderMiddleware: """ logger.debug("Adding standard headers to response") resp.set_header('X-Powered-By', 'OpenEventDatabase') + + # CORS headers - Configuration optimisée pour embed.js resp.set_header('Access-Control-Allow-Origin', '*') - resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With') - resp.set_header('Access-Control-Allow-Headers', 'Content-Type') - resp.set_header('Access-Control-Allow-Methods','GET, POST, PUT, DELETE, OPTIONS') \ No newline at end of file + resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Authorization, Accept, Origin, User-Agent, Referer') + resp.set_header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, HEAD') + resp.set_header('Access-Control-Allow-Credentials', 'false') + resp.set_header('Access-Control-Max-Age', '86400') # 24 hours + resp.set_header('Access-Control-Expose-Headers', 'Content-Length, Content-Type, Date, Server, X-Powered-By') + + # Headers supplémentaires pour embed.js + resp.set_header('Vary', 'Origin') + resp.set_header('Cache-Control', 'public, max-age=300') # Cache de 5 minutes pour les requêtes embed \ No newline at end of file diff --git a/oedb/resources/db_dump.py b/oedb/resources/db_dump.py new file mode 100644 index 0000000..4c8634d --- /dev/null +++ b/oedb/resources/db_dump.py @@ -0,0 +1,193 @@ +""" +Database dump resource for the OpenEventDatabase. +Provides endpoints to list and create database dumps. +""" + +import os +import subprocess +import datetime +import falcon +import psycopg2.extras +import json +from pathlib import Path +from oedb.utils.db import db_connect +from oedb.utils.serialization import dumps +from oedb.utils.logging import logger + +# Directory to store database dumps +DUMPS_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../dumps')) + +# Ensure the dumps directory exists +os.makedirs(DUMPS_DIR, exist_ok=True) + +class DbDumpListResource: + """ + Resource for listing database dumps. + Handles the /db/dumps endpoint. + """ + + def on_get(self, req, resp): + """ + Handle GET requests to the /db/dumps endpoint. + Lists all available database dumps. + + Args: + req: The request object. + resp: The response object. + """ + logger.info("Processing GET request to /db/dumps") + + try: + # Get list of dump files + dump_files = [] + for ext in ['sql', 'geojson']: + for file_path in Path(DUMPS_DIR).glob(f'*.{ext}'): + stat = file_path.stat() + dump_files.append({ + 'filename': file_path.name, + 'path': f'/db/dumps/{file_path.name}', + 'size': stat.st_size, + 'created': datetime.datetime.fromtimestamp(stat.st_ctime).isoformat(), + 'type': ext + }) + + # Sort by creation time (newest first) + dump_files.sort(key=lambda x: x['created'], reverse=True) + + resp.text = dumps({'dumps': dump_files}) + resp.status = falcon.HTTP_200 + logger.success("Successfully processed GET request to /db/dumps") + except Exception as e: + logger.error(f"Error processing GET request to /db/dumps: {e}") + resp.status = falcon.HTTP_500 + resp.text = dumps({"error": str(e)}) + +class DbDumpCreateResource: + """ + Resource for creating database dumps. + Handles the /db/dumps/create endpoint. + """ + + def on_post(self, req, resp): + """ + Handle POST requests to the /db/dumps/create endpoint. + Creates a new database dump in SQL and GeoJSON formats. + + Args: + req: The request object. + resp: The response object. + """ + logger.info("Processing POST request to /db/dumps/create") + + try: + # Generate timestamp for filenames + timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") + + # Create SQL dump + sql_filename = f"oedb_dump_{timestamp}.sql" + sql_path = os.path.join(DUMPS_DIR, sql_filename) + + # Get database connection parameters from environment + dbname = os.getenv("DB_NAME", "oedb") + host = os.getenv("DB_HOST", "localhost") + user = os.getenv("DB_USER", "postgres") + password = os.getenv("POSTGRES_PASSWORD", "") + + # Set PGPASSWORD environment variable for pg_dump + env = os.environ.copy() + env["PGPASSWORD"] = password + + # Execute pg_dump command + pg_dump_cmd = [ + "pg_dump", + "-h", host, + "-U", user, + "-d", dbname, + "-f", sql_path + ] + + logger.info(f"Creating SQL dump: {sql_filename}") + subprocess.run(pg_dump_cmd, env=env, check=True) + + # Create GeoJSON dump + geojson_filename = f"oedb_dump_{timestamp}.geojson" + geojson_path = os.path.join(DUMPS_DIR, geojson_filename) + + # Connect to database + db = db_connect() + cur = db.cursor(cursor_factory=psycopg2.extras.RealDictCursor) + + # Query all events + logger.info(f"Creating GeoJSON dump: {geojson_filename}") + cur.execute("SELECT * FROM events;") + rows = cur.fetchall() + + # Convert to GeoJSON + features = [] + for row in rows: + # Extract geometry + geom = None + if row.get('events_where'): + try: + geom = json.loads(row['events_where']) + except: + pass + + # Create feature + feature = { + "type": "Feature", + "geometry": geom or {"type": "Point", "coordinates": [0, 0]}, + "properties": { + "id": row.get('events_id'), + "what": row.get('events_what'), + "label": row.get('events_label'), + "when": { + "start": row.get('events_when', {}).get('lower', None), + "stop": row.get('events_when', {}).get('upper', None) + }, + "tags": row.get('events_tags'), + "createdate": row.get('createdate'), + "lastupdate": row.get('lastupdate') + } + } + features.append(feature) + + # Write GeoJSON file + with open(geojson_path, 'w') as f: + json.dump({ + "type": "FeatureCollection", + "features": features + }, f) + + # Return information about created dumps + resp.text = dumps({ + "message": "Database dumps created successfully", + "dumps": [ + { + "filename": sql_filename, + "path": f"/db/dumps/{sql_filename}", + "type": "sql", + "size": os.path.getsize(sql_path) + }, + { + "filename": geojson_filename, + "path": f"/db/dumps/{geojson_filename}", + "type": "geojson", + "size": os.path.getsize(geojson_path) + } + ] + }) + resp.status = falcon.HTTP_201 + logger.success("Successfully processed POST request to /db/dumps/create") + except Exception as e: + logger.error(f"Error processing POST request to /db/dumps/create: {e}") + resp.status = falcon.HTTP_500 + resp.text = dumps({"error": str(e)}) + finally: + if 'db' in locals() and db: + cur.close() + db.close() + +# Create resource instances +db_dump_list = DbDumpListResource() +db_dump_create = DbDumpCreateResource() \ No newline at end of file diff --git a/oedb/resources/demo.py b/oedb/resources/demo.py index 0ecda08..a9280b0 100644 --- a/oedb/resources/demo.py +++ b/oedb/resources/demo.py @@ -18,6 +18,19 @@ class DemoResource: Handles the /demo endpoint and related demo pages. """ + def __init__(self): + """ + Initialize the resource with a Jinja2 environment. + """ + # Set up Jinja2 environment + import jinja2 + import os + template_dir = os.path.join(os.path.dirname(__file__), 'demo', 'templates') + self.jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(template_dir), + autoescape=jinja2.select_autoescape(['html', 'xml']) + ) + def on_get_edit(self, req, resp, id=None): """ Handle GET requests to the /demo/edit endpoint. @@ -39,382 +52,47 @@ class DemoResource: # Set content type to HTML resp.content_type = 'text/html' - # Fetch the event data from the API + # Fetch the event data from the OEDB API + logger.info(f"Fetching event data from API for event ID: {id}") response = requests.get(f'https://api.openeventdatabase.org/event/{id}') - + if response.status_code != 200: + logger.error(f"API returned status {response.status_code} for event {id}") resp.status = falcon.HTTP_404 - resp.text = f"Event with ID {id} not found" + resp.text = f"Event with ID {id} not found on API" return - + event_data = response.json() - - # Create HTML response with form - html = f""" - - - - - - Edit Event - OpenEventDatabase - - - - - - -
    - - -

    Edit Event

    - -
    - - -
    - - -
    - -
    -
    - - -
    - -
    - - -
    Category of the event (e.g., sport.match.football, culture.festival)
    -
    -
    - -
    -
    - - -
    Series or group the event belongs to (e.g., Euro 2024, Summer Festival 2023)
    -
    - -
    - - -
    Specific location name (e.g., Eiffel Tower, Wembley Stadium)
    -
    -
    - -
    -
    - - -
    - -
    - - -
    -
    - -
    - -
    -
    Click on the map to set the event location
    -
    - - -
    - -
    -
    - - - - - """ - + logger.info(f"Successfully retrieved event data for {id}: {type(event_data)}") + + # Validate event data structure + if not isinstance(event_data, dict): + logger.error(f"Invalid event data type: {type(event_data)}") + resp.status = falcon.HTTP_500 + resp.text = "Invalid event data format received from API" + return + + if 'properties' not in event_data: + logger.error(f"Event data missing 'properties': {event_data}") + resp.status = falcon.HTTP_500 + resp.text = "Invalid event data structure - missing properties" + return + + # Render the template with the event data + template = self.jinja_env.get_template('edit.html') + html = template.render( + id=id, + event_data=event_data # Pass Python object directly, let Jinja2 handle JSON conversion + ) + # Set the response body and status - resp.text = html.replace('{event_data}', json.dumps(event_data)) + resp.text = html resp.status = falcon.HTTP_200 logger.success(f"Successfully processed GET request to /demo/edit for event ID: {id}") + except requests.RequestException as e: + logger.error(f"Error fetching event data from API: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Error fetching event data: {str(e)}" except Exception as e: logger.error(f"Error processing GET request to /demo/edit: {e}") resp.status = falcon.HTTP_500 @@ -448,7 +126,7 @@ class DemoResource: # Fetch events from the API try: - response = requests.get('/event?limit=1000') + response = requests.get('/event?limit=5000') if response.status_code == 200 and response.text: events_data = response.json() else: @@ -474,96 +152,16 @@ class DemoResource: 'coordinates': feature.get('geometry', {}).get('coordinates', [0, 0]) }) - # Create HTML response - html = """ - - - - - - Events by Type - OpenEventDatabase - - - - - -

    Events by Type

    -

    This page lists all events from the OpenEventDatabase organized by their type.

    - """ + # Load and render the template with the appropriate variables + template = self.jinja_env.get_template('by_what.html') - # Add event types and their events - if events_by_what: - # Sort event types alphabetically - sorted_what_types = sorted(events_by_what.keys()) - - # Add quick navigation - html += "

    Quick Navigation

      " - for what_type in sorted_what_types: - event_count = len(events_by_what[what_type]) - html += f'
    • {what_type} ({event_count} events)
    • ' - html += "
    " - - # Add sections for each event type - for what_type in sorted_what_types: - events = events_by_what[what_type] - html += f'

    {what_type} ({len(events)} events)

    ' - html += "
      " - - # Sort events by label - sorted_events = sorted(events, key=lambda x: x.get('label', '')) - - for event in sorted_events: - event_id = event.get('id') - event_label = event.get('label', 'Unnamed Event') - coordinates = event.get('coordinates', [0, 0]) - - html += f'
    • {event_label} ' - html += f'[map]
    • ' - - html += "
    " - else: - html += "

    No events found in the database.

    " + # Sort event types alphabetically if we have events + sorted_what_types = sorted(events_by_what.keys()) if events_by_what else [] - html += """ - - - """ + html = template.render( + events_by_what=events_by_what, + sorted_what_types=sorted_what_types + ) # Set the response body and status resp.text = html @@ -589,746 +187,9 @@ class DemoResource: # Set content type to HTML resp.content_type = 'text/html' - # Create HTML response with search form - html = """ - - - - - - Search Events - OpenEventDatabase - - - - - - - -
    - - -

    Search Events

    - -
    -
    -
    - - -
    Category of the event (e.g., sport.match.football, culture.festival)
    -
    - -
    - - -
    -
    - -
    -
    - - -
    - - - - -
    - -
    -
    - - -
    Search for events near a specific location (e.g., 2.3522,48.8566,10000 for events within 10km of Paris)
    -
    - -
    - - -
    Search for events within a geographic bounding box
    -
    -
    - -
    -
    - - -
    Search for events associated with a specific OpenStreetMap ID
    -
    - -
    - - -
    Search for events associated with a specific Wikidata ID
    -
    -
    - -
    -
    - - -
    Maximum number of results to return (default: 200)
    -
    - -
    - - -
    Controls the level of detail in the geometry portion of the response
    -
    -
    - -
    - -
    -
    Draw a polygon on the map to define the search area, or use the form fields above
    -
    - - -
    - -
    - - -
    - - - - - """ + # Render the template + template = self.jinja_env.get_template('search.html') + html = template.render() # Set the response body and status resp.text = html @@ -1354,449 +215,9 @@ class DemoResource: # Set content type to HTML resp.content_type = 'text/html' - # Create HTML response with MapLibre map and filtering controls - html = """ - - - - - - Map by Event Type - OpenEventDatabase - - - - - -
    - -
    -

    Map by Event Type

    - -

    This map shows events from the OpenEventDatabase filtered by their type.

    -

    Use the filter panel on the right to show/hide different event types.

    -
    -

    Loading events...

    -
    -
    - -
    -

    Filter by Event Type

    -
    - - -
    -
      -
    • Loading event types...
    • -
    -
    - - - - - """ + # Render the template + template = self.jinja_env.get_template('map_by_what.html') + html = template.render() # Set the response body and status resp.text = html @@ -1806,6 +227,39 @@ class DemoResource: logger.error(f"Error processing GET request to /demo/map-by-what: {e}") resp.status = falcon.HTTP_500 resp.text = f"Error: {str(e)}" + + def on_get_map_by_what_type(self, req, resp, event_type): + """ + Handle GET requests to the /demo/map-by-what/{type} endpoint. + Returns an HTML page with a MapLibre map showing events of a specific type, + colored by temporality (past/present/future) with a detailed table. + + Args: + req: The request object. + resp: The response object. + event_type: The event type to filter by. + """ + logger.info(f"Processing GET request to /demo/map-by-what/{event_type}") + + try: + # Set content type to HTML + resp.content_type = 'text/html' + + # Render the template with the event type + template = self.jinja_env.get_template('map_by_what_type.html') + html = template.render( + event_type=event_type, + event_type_label=event_type.replace('_', ' ').title() + ) + + # Set the response body and status + resp.text = html + resp.status = falcon.HTTP_200 + logger.success(f"Successfully processed GET request to /demo/map-by-what/{event_type}") + except Exception as e: + logger.error(f"Error processing GET request to /demo/map-by-what/{event_type}: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Error: {str(e)}" events_by_what = defaultdict(list) if events_data.get('features'): @@ -1940,5 +394,94 @@ class DemoResource: """ return demo_view_events.on_get(req, resp) + def on_get_by_id(self, req, resp, id): + """ + Handle GET requests to /demo/by_id/{id}. + Show a map with the event location and a table of its properties. + """ + import requests + import json + logger.info(f"Processing GET request to /demo/by_id/{id}") + try: + resp.content_type = 'text/html' + r = requests.get(f"https://api.openeventdatabase.org/event/{id}") + r.raise_for_status() + feature = r.json() + + # Load and render the template + template = self.jinja_env.get_template('event_details.html') + html = template.render( + id=id, + feature_json=json.dumps(feature), + properties=feature.get('properties') or {} + ) + + resp.text = html + resp.status = falcon.HTTP_200 + logger.success(f"Successfully processed GET request to /demo/by_id/{id}") + except Exception as e: + logger.error(f"Error processing GET request to /demo/by_id/{id}: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Error: {str(e)}" + + def on_get_property_stats(self, req, resp): + """ + Handle GET requests to the /demo/property-stats endpoint. + Returns an HTML page with statistics about property occurrences in the last 200 events. + + Args: + req: The request object. + resp: The response object. + """ + logger.info("Processing GET request to /demo/property-stats") + + try: + # Set content type to HTML + resp.content_type = 'text/html' + + # Fetch the last 200 events from the API + try: + response = requests.get('https://api.openeventdatabase.org/event?limit=200') + if response.status_code == 200 and response.text: + events_data = response.json() + else: + logger.error(f"Error fetching events: Status code {response.status_code}") + events_data = {"features": []} + except Exception as e: + logger.error(f"Error fetching events: {e}") + events_data = {"features": []} + + # Count property occurrences + property_counts = {} + total_events = len(events_data.get('features', [])) + + for feature in events_data.get('features', []): + properties = feature.get('properties', {}) + for prop_name in properties.keys(): + if prop_name in property_counts: + property_counts[prop_name] += 1 + else: + property_counts[prop_name] = 1 + + # Sort properties by occurrence count (descending order) + sorted_properties = sorted(property_counts.items(), key=lambda x: x[1], reverse=True) + + # Render the template + template = self.jinja_env.get_template('property_stats.html') + html = template.render( + property_stats=sorted_properties, + total_events=total_events, + unique_properties=len(sorted_properties) + ) + + # Set the response body and status + resp.text = html + resp.status = falcon.HTTP_200 + logger.success("Successfully processed GET request to /demo/property-stats") + except Exception as e: + logger.error(f"Error processing GET request to /demo/property-stats: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Error: {str(e)}" + # Create a global instance of DemoResource demo = DemoResource() \ No newline at end of file diff --git a/oedb/resources/demo/__init__.py b/oedb/resources/demo/__init__.py index f47cd7f..eddd307 100644 --- a/oedb/resources/demo/__init__.py +++ b/oedb/resources/demo/__init__.py @@ -5,6 +5,7 @@ This package contains modules for the demo endpoints. from oedb.resources.demo.demo_main import demo_main from oedb.resources.demo.demo_traffic import demo_traffic +from oedb.resources.demo.demo_stats import demo_stats from oedb.resources.demo.demo_view_events import demo_view_events # Import DemoResource class from the original demo.py file @@ -25,4 +26,4 @@ spec.loader.exec_module(demo_original) demo = demo_original.demo # Export the demo resources and the demo object -__all__ = ['demo_main', 'demo_traffic', 'demo_view_events', 'demo'] \ No newline at end of file +__all__ = ['demo_main', 'demo_traffic', 'demo_view_events', 'demo_stats', 'demo'] \ No newline at end of file diff --git a/oedb/resources/demo/demo_main.py b/oedb/resources/demo/demo_main.py index c631f71..98ef0e0 100644 --- a/oedb/resources/demo/demo_main.py +++ b/oedb/resources/demo/demo_main.py @@ -44,14 +44,25 @@ class DemoMainResource: OpenEventDatabase Demo + + + +
    + + +
    + × +

    Une erreur s'est produite lors du chargement des événements.

    +

    Consultez le forum OSM pour plus d'informations.

    +
    + + + @@ -108,77 +289,262 @@ class DemoMainResource:
    -

    OpenEventDatabase Demo

    -

    This map shows current events from the OpenEventDatabase.

    - - - - - - - -

    API Endpoints:

    - -

    Demo Pages:

    - +

    + + OpenEventDatabase Demo

    + +

    + Traffic event

    + Any Event

    -

    - - sources - -

    -
    -
    -

    Map Style

    - - - +

    Live

    +

    📊 Statistiques propriétés

    + + + + +
    +
    + +
    +

    Filtres

    +
    + + +
    + + +
    + +
    +
    + + +
    + +
    + +
    diff --git a/oedb/resources/demo/demo_stats.py b/oedb/resources/demo/demo_stats.py new file mode 100644 index 0000000..9602a79 --- /dev/null +++ b/oedb/resources/demo/demo_stats.py @@ -0,0 +1,53 @@ +""" +Stats page for demo: list counts per what, and optional map per selected type. +""" + +import os +import falcon +from collections import Counter +from oedb.utils.logging import logger +from oedb.utils.db import db_connect +import jinja2 + + +class DemoStatsResource: + def __init__(self): + template_dir = os.path.join(os.path.dirname(__file__), 'templates') + self.jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(template_dir), + autoescape=jinja2.select_autoescape(['html', 'xml']) + ) + + def on_get(self, req, resp): + logger.info("Processing GET request to /demo/stats") + resp.content_type = 'text/html' + + selected_what = req.get_param('what') + + try: + db = db_connect() + cur = db.cursor() + # Compter par what + cur.execute(""" + SELECT events_what, COUNT(*) + FROM events + GROUP BY events_what + ORDER BY COUNT(*) DESC + """) + rows = cur.fetchall() + counts = [(r[0], r[1]) for r in rows] + total_events = sum(c for _, c in counts) + template = self.jinja_env.get_template('stats.html') + html = template.render(counts=counts, total_events=total_events, selected_what=selected_what) + resp.text = html + resp.status = falcon.HTTP_200 + logger.success("Successfully processed GET request to /demo/stats") + except Exception as e: + logger.error(f"Error processing GET request to /demo/stats: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Error: {str(e)}" + + +demo_stats = DemoStatsResource() + + diff --git a/oedb/resources/demo/demo_traffic.py b/oedb/resources/demo/demo_traffic.py index 9214fab..c14608a 100644 --- a/oedb/resources/demo/demo_traffic.py +++ b/oedb/resources/demo/demo_traffic.py @@ -48,7 +48,7 @@ class DemoTrafficResource: # Get OAuth2 configuration parameters client_id = os.getenv("CLIENT_ID", "") client_secret = os.getenv("CLIENT_SECRET", "") - client_authorizations = os.getenv("CLIENT_AUTORIZATIONS", "read_prefs") + client_authorizations = os.getenv("CLIENT_AUTHORIZATIONS", "read_prefs") client_redirect = os.getenv("CLIENT_REDIRECT", "") # Check if we have an authorization code in the query parameters @@ -106,7 +106,7 @@ class DemoTrafficResource: logger.error(f"Error during OAuth2 token exchange: {e}") # Load and render the template with the appropriate variables - template = self.jinja_env.get_template('traffic.html') + template = self.jinja_env.get_template('traffic_new.html') html = template.render( client_id=client_id, client_secret=client_secret, @@ -114,7 +114,9 @@ class DemoTrafficResource: client_authorizations=client_authorizations, is_authenticated=is_authenticated, osm_username=osm_username, - osm_user_id=osm_user_id + osm_user_id=osm_user_id, + panoramax_upload_url=os.getenv("PANORAMAX_UPLOAD_URL", ""), + panoramax_token=os.getenv("PANORAMAX_TOKEN", "") ) # Set the response body and status diff --git a/oedb/resources/demo/demo_view_events.py b/oedb/resources/demo/demo_view_events.py index 06bb1e1..d7423e3 100644 --- a/oedb/resources/demo/demo_view_events.py +++ b/oedb/resources/demo/demo_view_events.py @@ -49,7 +49,7 @@ class DemoViewEventsResource: client_redirect = os.getenv("CLIENT_REDIRECT", "") # Load and render the template with the appropriate variables - template = self.jinja_env.get_template('view_events.html') + template = self.jinja_env.get_template('view_events_new.html') html = template.render( client_id=client_id, client_secret=client_secret, diff --git a/oedb/resources/demo/static/demo_styles.css b/oedb/resources/demo/static/demo_styles.css index 2669fc9..a4bf9ab 100644 --- a/oedb/resources/demo/static/demo_styles.css +++ b/oedb/resources/demo/static/demo_styles.css @@ -108,6 +108,9 @@ button:hover { .nav-links { margin-bottom: 20px; + display: flex; + flex-wrap: wrap; + gap: 10px; } .nav-links a { @@ -120,6 +123,99 @@ button:hover { text-decoration: underline; } +/* Navigation container */ +.nav-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + flex-wrap: wrap; +} + +/* Hamburger menu for mobile */ +.menu-toggle { + display: none; + background: none; + border: none; + font-size: 24px; + cursor: pointer; + color: #0078ff; + padding: 5px; +} + +/* Responsive styles */ +@media (max-width: 768px) { + .nav-container { + flex-direction: column; + align-items: flex-start; + } + + .menu-toggle { + display: block; + align-self: flex-end; + margin-bottom: 10px; + } + + .nav-links { + display: none; + flex-direction: column; + width: 100%; + } + + .nav-links.active { + display: flex; + } + + .nav-links a { + padding: 10px 0; + border-bottom: 1px solid #eee; + margin-right: 0; + } +} + +/* Collapsible panel styles */ +.collapsible-panel { + margin-bottom: 15px; +} + +.collapsible-header { + background-color: #f8f9fa; + padding: 10px 15px; + border-radius: 5px; + cursor: pointer; + display: flex; + justify-content: space-between; + align-items: center; + border: 1px solid #e9ecef; +} + +.collapsible-header h3 { + margin: 0; + font-size: 16px; +} + +.collapsible-header .toggle-icon { + transition: transform 0.3s ease; +} + +.collapsible-header.active .toggle-icon { + transform: rotate(180deg); +} + +.collapsible-content { + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease; + border-left: 1px solid #e9ecef; + border-right: 1px solid #e9ecef; + border-bottom: 1px solid #e9ecef; + border-radius: 0 0 5px 5px; +} + +.collapsible-content.active { + max-height: 1000px; +} + /* Authentication section styles */ .auth-section { background-color: #f8f9fa; @@ -421,9 +517,10 @@ button:hover { } #report_issue_button{ - position: fixed; - bottom: 0.5rem; - right: 0.5rem; + /*position: fixed;*/ + /*bottom: 0.5rem;*/ + /*right: 0.5rem;*/ + padding: 2rem 1rem; } /* Tab styles */ @@ -510,4 +607,35 @@ input:invalid, select:invalid { border-color: #f44336; background-color: #fff8f8; +} + +.maplibregl-popup-content{ + min-width: 300px; + max-width: 95vw; +} +.event-popup h3{ + font-size: 1.5rem !important; +} + +.add-event-btn{ + float: left; + width: 130px; +} + +button{ + padding: 1rem 0.5rem; + border-radius: 5px; + background-color: #79a2d1; +} + +#eventsHistogram{ + height: 150px; +} + +.maplibregl-ctrl-attrib + .maplibregl-ctrl-attrib { + display: none; +} + +.icon{ + /*background-color: white; border-radius: 50%; padding: 8px; box-shadow: 0 0 5px rgba(0,0,0,0.3);*/ } \ No newline at end of file diff --git a/oedb/resources/demo/static/edit.css b/oedb/resources/demo/static/edit.css new file mode 100644 index 0000000..bda0b6f --- /dev/null +++ b/oedb/resources/demo/static/edit.css @@ -0,0 +1,98 @@ +body { + margin: 0; + padding: 20px; + font-family: Arial, sans-serif; + background-color: #f5f5f5; +} +.container { + max-width: 1000px; + margin: 0 auto; + background-color: white; + padding: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); +} +h1 { + margin-top: 0; + color: #333; +} +.form-group { + margin-bottom: 15px; +} +label { + display: block; + margin-bottom: 5px; + font-weight: bold; +} +input[type="text"], +input[type="datetime-local"], +select, +textarea { + width: 100%; + padding: 8px; + border: 1px solid #ddd; + border-radius: 4px; + box-sizing: border-box; + font-size: 14px; +} +.required:after { + content: " *"; + color: red; +} +.form-row { + display: flex; + gap: 15px; +} +.form-row .form-group { + flex: 1; +} +button { + background-color: #0078ff; + color: white; + border: none; + padding: 10px 15px; + border-radius: 4px; + cursor: pointer; + font-size: 16px; +} +button:hover { + background-color: #0056b3; +} +.note { + font-size: 12px; + color: #666; + margin-top: 5px; +} +#map { + width: 100%; + height: 300px; + margin-bottom: 15px; + border-radius: 4px; +} +#result { + margin-top: 20px; + padding: 10px; + border-radius: 4px; + display: none; +} +#result.success { + background-color: #d4edda; + border: 1px solid #c3e6cb; + color: #155724; +} +#result.error { + background-color: #f8d7da; + border: 1px solid #f5c6cb; + color: #721c24; +} +.nav-links { + margin-bottom: 20px; +} +.nav-links a { + color: #0078ff; + text-decoration: none; + margin-right: 15px; +} +.nav-links a:hover { + text-decoration: underline; +} \ No newline at end of file diff --git a/oedb/resources/demo/static/edit.js b/oedb/resources/demo/static/edit.js new file mode 100644 index 0000000..67945cb --- /dev/null +++ b/oedb/resources/demo/static/edit.js @@ -0,0 +1,491 @@ + +// Variable globale pour les données de l'événement +let eventData = null + +// Initialize the map +const map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.2137, 46.2276], // Default center (center of metropolitan France) + zoom: 5 +}); + +// Add navigation controls +map.addControl(new maplibregl.NavigationControl()); + +// Add attribution control with OpenStreetMap attribution +map.addControl(new maplibregl.AttributionControl({ + customAttribution: '© OpenStreetMap contributors' +})); + +// Add marker for event location +let marker = new maplibregl.Marker({ + draggable: true +}); +; + +// Function to populate form with event data +function populateForm() { + console.log('🔄 Tentative de récupération des données événement...'); + + // Essayer de récupérer les données depuis window (définies dans le template) + try { + if (typeof window.eventData !== 'undefined' && window.eventData) { + eventData = window.eventData; + console.log('✅ Données événement récupérées depuis window:', eventData); + } else { + throw new Error('Aucune donnée d\'événement trouvée dans window.eventData'); + } + } catch (error) { + console.error('❌ Erreur lors de la récupération des données événement:', error); + showResult('Erreur lors du chargement des données de l\'événement: ' + error.message, 'error'); + return; + } + + // Vérifier la validité des données + if (!eventData) { + console.error('❌ eventData est null ou undefined'); + showResult('Données d\'événement manquantes', 'error'); + return; + } + + if (!eventData.properties) { + console.error('❌ eventData.properties est manquant:', eventData); + showResult('Structure de données d\'événement invalide (properties manquant)', 'error'); + return; + } + + console.log('✅ Données événement validées, remplissage du formulaire...'); + + // Remplir le tableau des propriétés + populatePropertiesTable(eventData.properties); + + const properties = eventData.properties; + + // Set form values + document.getElementById('label').value = properties.label || ''; + document.getElementById('type').value = properties.type || 'scheduled'; + document.getElementById('what').value = properties.what || ''; + + // Handle optional fields + if (properties['what:series']) { + document.getElementById('what_series').value = properties['what:series']; + } + + if (properties.where) { + document.getElementById('where').value = properties.where; + } + + // Format dates for datetime-local input + if (properties.start) { + const startDate = new Date(properties.start); + document.getElementById('start').value = startDate.toISOString().slice(0, 16); + } + + if (properties.stop) { + const stopDate = new Date(properties.stop); + document.getElementById('stop').value = stopDate.toISOString().slice(0, 16); + } + + // Set marker on map + if (eventData.geometry && eventData.geometry.coordinates) { + const coords = eventData.geometry.coordinates; + marker.setLngLat(coords).addTo(map); + + // Center map on event location + map.flyTo({ + center: coords, + zoom: 10 + }); + } + + // Initialiser l'autocomplétion pour le champ "what" + const whatInput = document.getElementById('what'); + if (whatInput && window.initializeEventTypeAutocomplete) { + initializeEventTypeAutocomplete(whatInput); + } +} + +// Function to populate the properties table +function populatePropertiesTable(properties) { + const tableBody = document.getElementById('propertiesTableBody'); + if (!tableBody) return; + + // Clear existing rows + tableBody.innerHTML = ''; + + // Sort properties alphabetically + const sortedProperties = Object.keys(properties).sort(); + + sortedProperties.forEach(key => { + const value = properties[key]; + const row = document.createElement('tr'); + + // Determine value type and format + let displayValue; + let valueType; + + if (value === null) { + displayValue = 'null'; + valueType = 'null'; + } else if (typeof value === 'object') { + displayValue = `
    ${JSON.stringify(value, null, 2)}
    `; + valueType = 'object'; + } else if (typeof value === 'string' && value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/)) { + displayValue = value + ` (${new Date(value).toLocaleString()})`; + valueType = 'datetime'; + } else if (typeof value === 'string' && value.startsWith('http')) { + displayValue = `${value}`; + valueType = 'url'; + } else { + displayValue = String(value); + valueType = typeof value; + } + + row.innerHTML = ` + ${key} + ${displayValue} + ${valueType} + `; + + // Add alternating row colors + if (tableBody.children.length % 2 === 0) { + row.style.backgroundColor = '#f9f9f9'; + } + + tableBody.appendChild(row); + }); +} + +// Attendre que les données soient disponibles avant de peupler le formulaire +function initializeForm(retryCount = 0) { + console.log(`🔄 Tentative d'initialisation ${retryCount + 1}/10`); + + if (typeof window.eventData !== 'undefined' && window.eventData !== null) { + console.log('📄 Données disponibles, initialisation du formulaire...'); + populateForm(); + } else if (retryCount < 10) { + console.log('⏳ En attente des données, nouvelle tentative dans 200ms...'); + setTimeout(() => initializeForm(retryCount + 1), 200); + } else { + console.error('❌ Timeout: Impossible de récupérer les données après 10 tentatives'); + showResult('Impossible de charger les données de l\'événement après plusieurs tentatives', 'error'); + } +} + +// Démarrer l'initialisation +document.addEventListener('DOMContentLoaded', function() { + console.log('🚀 DOM chargé, démarrage de l\'initialisation...'); + // Attendre un peu pour laisser le temps au script du template de s'exécuter + setTimeout(() => initializeForm(), 100); +}); + +// Show fixed result message at bottom of screen +function showFixedResult(message, type) { + let resultElement = document.getElementById('result'); + + if (!resultElement) { + // Create result element if it doesn't exist + resultElement = document.createElement('div'); + resultElement.id = 'result'; + document.body.appendChild(resultElement); + } + + // Style the element as fixed at bottom + resultElement.style.cssText = ` + position: fixed; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + z-index: 10000; + max-width: 90%; + width: auto; + min-width: 300px; + padding: 15px 45px 15px 15px; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + font-family: Arial, sans-serif; + font-size: 14px; + line-height: 1.4; + display: block; + `; + + // Set colors based on type + let bgColor, textColor, borderColor; + switch (type) { + case 'success': + bgColor = '#d4edda'; + textColor = '#155724'; + borderColor = '#c3e6cb'; + break; + case 'error': + bgColor = '#f8d7da'; + textColor = '#721c24'; + borderColor = '#f5c6cb'; + break; + case 'loading': + bgColor = '#d1ecf1'; + textColor = '#0c5460'; + borderColor = '#bee5eb'; + break; + default: + bgColor = '#e2e3e5'; + textColor = '#383d41'; + borderColor = '#d6d8db'; + } + + resultElement.style.backgroundColor = bgColor; + resultElement.style.color = textColor; + resultElement.style.border = `1px solid ${borderColor}`; + + // Add close button + const closeButton = document.createElement('span'); + closeButton.innerHTML = '×'; + closeButton.style.cssText = ` + position: absolute; + top: 8px; + right: 12px; + font-size: 20px; + font-weight: bold; + cursor: pointer; + color: ${textColor}; + opacity: 0.7; + line-height: 1; + `; + + closeButton.addEventListener('click', function() { + resultElement.style.display = 'none'; + }); + + closeButton.addEventListener('mouseenter', function() { + this.style.opacity = '1'; + }); + + closeButton.addEventListener('mouseleave', function() { + this.style.opacity = '0.7'; + }); + + // Set message content + resultElement.innerHTML = message; + resultElement.appendChild(closeButton); + + console.log(`📢 Message fixe affiché (${type}):`, message); +} + +// Add marker on map click +map.on('click', function(e) { + marker.setLngLat(e.lngLat).addTo(map); +}); + +// Add functionality for swapping coordinates button +document.addEventListener('DOMContentLoaded', function() { + const swapButton = document.getElementById('swapCoordinatesButton'); + if (swapButton) { + swapButton.addEventListener('click', function() { + if (!marker || !marker.getLngLat()) { + showResult('Veuillez d\'abord placer un marqueur sur la carte', 'error'); + return; + } + + const currentLngLat = marker.getLngLat(); + const swappedLngLat = [currentLngLat.lat, currentLngLat.lng]; + + // Update marker position + marker.setLngLat(swappedLngLat); + + // Show confirmation message + showResult(`Coordonnées inversées: ${currentLngLat.lng.toFixed(6)}, ${currentLngLat.lat.toFixed(6)} → ${swappedLngLat[0].toFixed(6)}, ${swappedLngLat[1].toFixed(6)}`, 'success'); + + // Auto-hide success message after 3 seconds + setTimeout(() => { + const resultElement = document.getElementById('result'); + if (resultElement && resultElement.className === 'success') { + resultElement.style.display = 'none'; + } + }, 3000); + }); + } +}); + +// Function to show result message +function showResult(message, type) { + const resultElement = document.getElementById('result'); + resultElement.textContent = message; + resultElement.className = type; + resultElement.style.display = 'block'; + + // Scroll to result + resultElement.scrollIntoView({ behavior: 'smooth' }); +} + +// Handle form submission +document.getElementById('eventForm').addEventListener('submit', function(e) { + e.preventDefault(); + + // Disable any ongoing validation during submission + window.validationEnabled = false; + console.log('🔒 Validation désactivée pendant la modification'); + + // Get event ID + const eventId = document.getElementById('eventId').value; + + // Get form values + const label = document.getElementById('label').value; + const type = document.getElementById('type').value; + const what = document.getElementById('what').value; + const what_series = document.getElementById('what_series').value; + const where = document.getElementById('where').value; + const start = document.getElementById('start').value; + const stop = document.getElementById('stop').value; + + // Check if marker is set + if (!marker.getLngLat()) { + showResult('Please set a location by clicking on the map', 'error'); + return; + } + + // Get marker coordinates + const lngLat = marker.getLngLat(); + + // Create event object + const event = { + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [lngLat.lng, lngLat.lat] + }, + properties: { + label: label, + type: type, + what: what, + start: start, + stop: stop + } + }; + + // Add optional properties if provided + if (what_series) { + event.properties['what:series'] = what_series; + } + + if (where) { + event.properties.where = where; + } + + // Submit event to OEDB API + fetch(`https://api.openeventdatabase.org/event/${eventId}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(event) + }) + .then(response => { + if (response.ok) { + return response.json(); + } else { + return response.text().then(text => { + throw new Error(text || response.statusText); + }); + } + }) + .then(data => { + console.log('📅 Réponse API de modification:', data); + + // Extract event ID from response (handle different response structures) + let eventId = null; + if (data.properties && data.properties.id) { + eventId = data.properties.id; + } else if (data.id) { + eventId = data.id; + } else if (typeof data === 'string') { + eventId = data; + } else { + // Fallback: use the eventId from the form + eventId = document.getElementById('eventId').value; + } + + console.log('🆔 ID événement pour les liens:', eventId); + + let successMessage = `✅ Événement mis à jour avec succès !${eventId ? ` ID: ${eventId}` : ''}`; + + if (eventId) { + successMessage += `

    + Voir l'événement + | `; + } + + successMessage += ` + Retour à la carte + `; + + showFixedResult(successMessage, 'success'); + }) + .catch(error => { + console.error('❌ Erreur lors de la modification:', error); + showFixedResult(`❌ Erreur lors de la modification
    ${error.message}`, 'error'); + }) + .finally(() => { + // Re-enable validation after operation is complete + setTimeout(() => { + window.validationEnabled = true; + console.log('🔓 Validation réactivée'); + }, 1000); + }); +}); + +// Handle delete button click +document.getElementById('deleteButton').addEventListener('click', function() { + // Get event ID + const eventId = document.getElementById('eventId').value; + + // Show confirmation dialog + if (confirm('Êtes-vous sûr de vouloir supprimer cet événement ? Cette action ne peut pas être annulée.')) { + // Show loading message + showResult('Suppression en cours...', 'info'); + + // Submit delete request to external API + fetch(`https://api.openeventdatabase.org/event/${eventId}`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + } + }) + .then(response => { + if (response.ok || response.status === 204) { + showResult('✅ Événement supprimé avec succès !', 'success'); + + // Add link to go back to map + const resultElement = document.getElementById('result'); + resultElement.innerHTML += `

    Retour à la carte

    `; + + // Disable form controls + const formElements = document.querySelectorAll('#eventForm input, #eventForm select, #eventForm button'); + formElements.forEach(element => { + element.disabled = true; + }); + + // Redirect to demo page after 3 seconds + setTimeout(() => { + window.location.href = '/demo'; + }, 3000); + } else if (response.status === 404) { + throw new Error('Événement non trouvé sur l\'API externe'); + } else if (response.status === 403) { + throw new Error('Accès non autorisé - un secret pourrait être requis pour supprimer cet événement'); + } else { + return response.text().then(text => { + throw new Error(text || `Erreur HTTP ${response.status}: ${response.statusText}`); + }); + } + }) + .catch(error => { + console.error('Erreur lors de la suppression:', error); + if (error.name === 'TypeError' && error.message.includes('Failed to fetch')) { + showResult('❌ Erreur de connexion : Impossible de joindre l\'API api.openeventdatabase.org', 'error'); + } else { + showResult(`❌ Erreur lors de la suppression : ${error.message}`, 'error'); + } + }); + } +}); \ No newline at end of file diff --git a/oedb/resources/demo/static/event-types.js b/oedb/resources/demo/static/event-types.js new file mode 100644 index 0000000..f25e23c --- /dev/null +++ b/oedb/resources/demo/static/event-types.js @@ -0,0 +1,520 @@ +// Configuration partagée des types d'événements avec leurs emojis et descriptions +window.EVENT_TYPES = { + // Community / OSM + 'community.osm.event': { + emoji: '🗺️', + label: 'Événement OpenStreetMap', + category: 'Communauté', + description: 'Événement lié à la communauté OpenStreetMap' + }, + + // Culture / Arts + 'culture.arts': { + emoji: '🎨', + label: 'Arts et culture', + category: 'Culture', + description: 'Événement artistique et culturel' + }, + 'culture.geek': { + emoji: '🤓', + label: 'Culture geek', + category: 'Culture', + description: 'Événement geek, technologie, gaming' + }, + 'culture.music': { + emoji: '🎵', + label: 'Musique', + category: 'Culture', + description: 'Événement musical général' + }, + + // Music specific + 'music.festival': { + emoji: '🎪', + label: 'Festival de musique', + category: 'Musique', + description: 'Festival musical' + }, + + // Power / Energy + 'power.production.unavail': { + emoji: '⚡', + label: 'Production électrique indisponible', + category: 'Énergie', + description: 'Arrêt ou réduction de production électrique' + }, + + // Sale / Commerce + 'sale': { + emoji: '🛒', + label: 'Vente / Commerce', + category: 'Commerce', + description: 'Événement commercial, vente, marché' + }, + + // Time / Temporal + 'time.daylight.summer': { + emoji: '☀️', + label: 'Heure d\'été', + category: 'Temps', + description: 'Passage à l\'heure d\'été' + }, + + // Tourism + 'tourism.exhibition': { + emoji: '🖼️', + label: 'Exposition', + category: 'Tourisme', + description: 'Exposition, salon, foire' + }, + + // Traffic / Transportation + 'traffic.accident': { + emoji: '💥', + label: 'Accident', + category: 'Circulation', + description: 'Accident de la circulation' + }, + 'traffic.incident': { + emoji: '⚠️', + label: 'Incident de circulation', + category: 'Circulation', + description: 'Incident sur la route' + }, + 'traffic.obstacle': { + emoji: '🚧', + label: 'Obstacle', + category: 'Circulation', + description: 'Obstacle sur la voie' + }, + 'traffic.partially_closed': { + emoji: '🚦', + label: 'Voie partiellement fermée', + category: 'Circulation', + description: 'Fermeture partielle de voie' + }, + 'traffic.roadwork': { + emoji: '', + label: 'Travaux routiers', + category: 'Circulation', + description: 'Travaux sur la chaussée' + }, + 'wildlife': { + emoji: '🦌', + label: 'Animal', + category: 'Vie sauvage', + description: 'Détection d\'animaux' + }, + 'traffic.mammoth': { + emoji: '🦣', + label: 'Mammouth laineux wohoooo! (évènement de test)', + category: 'Obstacle', + description: 'Un mammouth laineux bloque la route' + }, + 'hazard.piranha': { + emoji: '🐟', + label: 'Piranha dans la piscine', + category: 'Danger', + description: 'Des pirana attaquent dans cette piscine' + } + // ici ajouter d'autres catégories d'évènements à suggérer +}; + +// Fonction pour obtenir les suggestions d'autocomplétion +function getEventTypeSuggestions(input) { + const inputLower = input.toLowerCase(); + const suggestions = []; + + for (const [key, config] of Object.entries(window.EVENT_TYPES)) { + // Recherche dans la clé, le label et la catégorie + const searchableText = `${key} ${config.label} ${config.category}`.toLowerCase(); + + if (searchableText.includes(inputLower)) { + suggestions.push({ + value: key, + label: `${config.emoji} ${config.label}`, + category: config.category, + fullText: `${key} - ${config.label}` + }); + } + } + + // Trier par pertinence (correspondance exacte en premier) + suggestions.sort((a, b) => { + const aExact = a.value.toLowerCase().startsWith(inputLower); + const bExact = b.value.toLowerCase().startsWith(inputLower); + + if (aExact && !bExact) return -1; + if (!aExact && bExact) return 1; + + return a.value.localeCompare(b.value); + }); + + return suggestions.slice(0, 10); // Limiter à 10 suggestions +} + +// Fonction pour initialiser l'autocomplétion sur un champ +function initializeEventTypeAutocomplete(inputElement, onSelect) { + if (!inputElement) return; + + let suggestionsContainer = null; + let currentSuggestions = []; + let selectedIndex = -1; + let selectorButton = null; + + // Créer le bouton de sélection + function createSelectorButton() { + selectorButton = document.createElement('button'); + selectorButton.type = 'button'; + selectorButton.className = 'event-type-selector-btn'; + selectorButton.innerHTML = '📋 Types d\'événements'; + selectorButton.style.cssText = ` + margin-top: 5px; + padding: 6px 12px; + background-color: #0078ff; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 12px; + display: inline-block; + `; + + selectorButton.addEventListener('click', function() { + showAllEventTypes(); + }); + + const parent = inputElement.parentElement; + parent.appendChild(selectorButton); + } + + // Créer le conteneur de suggestions + function createSuggestionsContainer() { + suggestionsContainer = document.createElement('div'); + suggestionsContainer.className = 'autocomplete-suggestions'; + suggestionsContainer.style.cssText = ` + position: absolute; + top: 100%; + left: 0; + right: 0; + max-height: 300px; + overflow-y: auto; + background: white; + border: 1px solid #ddd; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + z-index: 1000; + display: none; + margin-top: 2px; + `; + + // Positionner le conteneur parent en relatif + const parent = inputElement.parentElement; + if (parent.style.position !== 'relative') { + parent.style.position = 'relative'; + } + parent.appendChild(suggestionsContainer); + } + + // Afficher tous les types d'événements dans un beau sélecteur + function showAllEventTypes() { + const allTypes = Object.entries(window.EVENT_TYPES).map(([key, config]) => ({ + value: key, + emoji: config.emoji, + label: config.label, + category: config.category, + description: config.description || '', + fullText: `${key} - ${config.label}` + })); + + showEventTypeSelector(allTypes); + } + + // Afficher le sélecteur de types d'événements + function showEventTypeSelector(types) { + if (!suggestionsContainer) return; + + currentSuggestions = types; + selectedIndex = -1; + + // Grouper par catégorie + const groupedTypes = {}; + types.forEach(type => { + if (!groupedTypes[type.category]) { + groupedTypes[type.category] = []; + } + groupedTypes[type.category].push(type); + }); + + let html = ` +
    + 🏷️ Types d'événements disponibles + +
    + `; + + // Afficher chaque catégorie + Object.entries(groupedTypes).forEach(([category, categoryTypes]) => { + html += ` +
    +
    + ${category} +
    + `; + + categoryTypes.forEach((type, index) => { + const globalIndex = types.indexOf(type); + html += ` +
    + ${type.emoji} +
    +
    ${type.label}
    +
    ${type.value}
    + ${type.description ? `
    ${type.description}
    ` : ''} +
    +
    + `; + }); + + html += '
    '; + }); + + suggestionsContainer.innerHTML = html; + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + const dataIndex = parseInt(item.dataset.index); + item.addEventListener('click', () => selectSuggestion(dataIndex)); + }); + } + + // Afficher les suggestions + function showSuggestions(suggestions) { + if (!suggestionsContainer) return; + + currentSuggestions = suggestions; + selectedIndex = -1; + + if (suggestions.length === 0) { + suggestionsContainer.style.display = 'none'; + return; + } + + suggestionsContainer.innerHTML = suggestions.map((suggestion, index) => ` +
    + ${suggestion.label.split(' ')[0]} + ${suggestion.fullText} + ${suggestion.category} +
    + `).join(''); + + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements aux suggestions + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + item.addEventListener('click', () => selectSuggestion(index)); + item.addEventListener('mouseenter', () => highlightSuggestion(index)); + }); + } + + // Mettre en surbrillance une suggestion + function highlightSuggestion(index) { + const items = suggestionsContainer.querySelectorAll('.suggestion-item'); + items.forEach((item, i) => { + item.style.backgroundColor = i === index ? '#f0f8ff' : 'white'; + }); + selectedIndex = index; + } + + // Sélectionner une suggestion + function selectSuggestion(index) { + if (index >= 0 && index < currentSuggestions.length) { + const suggestion = currentSuggestions[index]; + inputElement.value = suggestion.value; + suggestionsContainer.style.display = 'none'; + + if (onSelect) { + onSelect(suggestion); + } + + // Déclencher l'événement input pour les validations + inputElement.dispatchEvent(new Event('input', { bubbles: true })); + } + } + + // Masquer les suggestions + function hideSuggestions() { + if (suggestionsContainer) { + suggestionsContainer.style.display = 'none'; + } + } + + // Créer le conteneur de suggestions et le bouton + createSuggestionsContainer(); + createSelectorButton(); + + // Gestionnaire d'événements pour l'input + inputElement.addEventListener('input', function(e) { + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + return; + } + + if (value.length < 2) { + hideSuggestions(); + return; + } + + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + }); + + // Afficher l'autocomplétion au focus + inputElement.addEventListener('focus', function(e) { + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + } else if (value.length >= 2) { + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + } + }); + + // Afficher l'autocomplétion au keyup + inputElement.addEventListener('keyup', function(e) { + // Ignorer les touches de navigation + if (['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(e.key)) { + return; + } + + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + } else if (value.length >= 2) { + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + } + }); + + // Fonction pour afficher les suggestions filtrées + function showFilteredSuggestions(suggestions) { + if (!suggestionsContainer) return; + + currentSuggestions = suggestions; + selectedIndex = -1; + + if (suggestions.length === 0) { + suggestionsContainer.innerHTML = ` +
    + Aucun type d'événement trouvé +
    + `; + suggestionsContainer.style.display = 'block'; + return; + } + + let html = ` +
    + ${suggestions.length} résultat${suggestions.length > 1 ? 's' : ''} trouvé${suggestions.length > 1 ? 's' : ''} +
    + `; + + suggestions.forEach((suggestion, index) => { + const config = window.EVENT_TYPES[suggestion.value] || {}; + html += ` +
    + ${config.emoji || '📍'} +
    +
    ${config.label || suggestion.value}
    +
    ${suggestion.value}
    +
    + ${config.category || ''} +
    + `; + }); + + suggestionsContainer.innerHTML = html; + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements aux suggestions + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + item.addEventListener('click', () => selectSuggestion(index)); + }); + } + + // Gestionnaire d'événements pour le clavier + inputElement.addEventListener('keydown', function(e) { + if (!suggestionsContainer || suggestionsContainer.style.display === 'none') { + return; + } + + switch (e.key) { + case 'ArrowDown': + e.preventDefault(); + const nextIndex = selectedIndex < currentSuggestions.length - 1 ? selectedIndex + 1 : 0; + highlightSuggestion(nextIndex); + break; + + case 'ArrowUp': + e.preventDefault(); + const prevIndex = selectedIndex > 0 ? selectedIndex - 1 : currentSuggestions.length - 1; + highlightSuggestion(prevIndex); + break; + + case 'Enter': + e.preventDefault(); + if (selectedIndex >= 0) { + selectSuggestion(selectedIndex); + } + break; + + case 'Escape': + hideSuggestions(); + break; + } + }); + + // Masquer les suggestions quand on clique ailleurs + document.addEventListener('click', function(e) { + if (!inputElement.contains(e.target) && !suggestionsContainer?.contains(e.target)) { + hideSuggestions(); + } + }); + + // Masquer les suggestions quand le champ perd le focus + inputElement.addEventListener('blur', function() { + // Délai pour permettre le clic sur une suggestion + setTimeout(hideSuggestions, 200); + }); +} diff --git a/oedb/resources/demo/static/map_by_what.css b/oedb/resources/demo/static/map_by_what.css new file mode 100644 index 0000000..efa558a --- /dev/null +++ b/oedb/resources/demo/static/map_by_what.css @@ -0,0 +1,112 @@ +body { + margin: 0; + padding: 0; + font-family: Arial, sans-serif; +} +#map { + position: absolute; + top: 0; + bottom: 0; + width: 100%; +} + +.map-overlay { + position: absolute; + top: 10px; + left: 10px; + background: rgba(255, 255, 255, 0.9); + padding: 10px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + max-width: 300px; + max-height: 90vh; + overflow-y: auto; +} + +.filter-overlay { + position: absolute; + top: 10px; + right: 10px; + background: rgba(255, 255, 255, 0.9); + padding: 10px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + max-width: 300px; + max-height: 90vh; + overflow-y: auto; +} + +h2, h3 { + margin-top: 0; +} +ul { + padding-left: 20px; +} +a { + color: #0078ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +.event-popup { + max-width: 300px; +} + +.filter-list { + list-style: none; + padding: 0; + margin: 0; +} + +.filter-item { + margin-bottom: 8px; + display: flex; + align-items: center; +} + +.filter-item input { + margin-right: 8px; +} + +.filter-item label { + cursor: pointer; + flex-grow: 1; +} + +.filter-count { + color: #666; + font-size: 0.8em; + margin-left: 5px; +} + +.color-dot { + display: inline-block; + width: 12px; + height: 12px; + border-radius: 50%; + margin-right: 5px; +} + +.nav { + margin-bottom: 15px; +} + +.nav a { + margin-right: 15px; +} + +button { + background-color: #0078ff; + color: white; + border: none; + padding: 5px 10px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + margin-bottom: 5px; +} + +button:hover { + background-color: #0056b3; +} \ No newline at end of file diff --git a/oedb/resources/demo/static/map_by_what.js b/oedb/resources/demo/static/map_by_what.js new file mode 100644 index 0000000..577fc2d --- /dev/null +++ b/oedb/resources/demo/static/map_by_what.js @@ -0,0 +1,302 @@ +// Initialize the map +const map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.3522, 48.8566], // Default center (Paris) + zoom: 4 +}); + +// Add navigation controls +map.addControl(new maplibregl.NavigationControl()); + +// Add attribution control with OpenStreetMap attribution +map.addControl(new maplibregl.AttributionControl({ + customAttribution: '© OpenStreetMap contributors' +})); + +// Store all events and their types +let allEvents = null; +let eventTypes = new Set(); +let eventsByType = {}; +let markersByType = {}; +let colorsByType = {}; + +// Generate a color for each event type +function getColorForType(type, index) { + // Predefined colors for better visual distinction + const colors = [ + '#FF5722', '#E91E63', '#9C27B0', '#673AB7', '#3F51B5', + '#2196F3', '#03A9F4', '#00BCD4', '#009688', '#4CAF50', + '#8BC34A', '#CDDC39', '#FFEB3B', '#FFC107', '#FF9800' + ]; + + return colors[index % colors.length]; +} + +// Fetch events when the map is loaded +map.on('load', function() { + fetchEvents(); +}); + +// Function to fetch events from the API +function fetchEvents() { + // Update event info + document.getElementById('event-info').innerHTML = '

    Loading events...

    '; + + // Fetch events from the public API - using limit=1000 to get more events + fetch('https://api.openeventdatabase.org/event?limit=1000') + .then(response => response.json()) + .then(data => { + if (data.features && data.features.length > 0) { + // Store all events + allEvents = data; + + // Process events by type + processEventsByType(data); + + // Create filter UI + createFilterUI(); + + // Add all events to the map initially + addAllEventsToMap(); + + // Fit map to events bounds + fitMapToBounds(data); + + // Update event info + document.getElementById('event-info').innerHTML = + `

    Found ${data.features.length} events across ${eventTypes.size} different types.

    `; + } else { + document.getElementById('event-info').innerHTML = '

    No events found.

    '; + document.getElementById('filter-list').innerHTML = '
  • No event types available.
  • '; + } + }) + .catch(error => { + console.error('Error fetching events:', error); + document.getElementById('event-info').innerHTML = + `

    Error loading events: ${error.message}

    `; + }); +} + +// Process events by their "what" type +function processEventsByType(data) { + eventTypes = new Set(); + eventsByType = {}; + + // Group events by their "what" type + data.features.forEach(feature => { + const properties = feature.properties; + const what = properties.what || 'Unknown'; + + // Add to set of event types + eventTypes.add(what); + + // Add to events by type + if (!eventsByType[what]) { + eventsByType[what] = []; + } + eventsByType[what].push(feature); + }); + + // Assign colors to each type + let index = 0; + eventTypes.forEach(type => { + colorsByType[type] = getColorForType(type, index); + index++; + }); +} + +// Create the filter UI +function createFilterUI() { + const filterList = document.getElementById('filter-list'); + filterList.innerHTML = ''; + + // Sort event types alphabetically + const sortedTypes = Array.from(eventTypes).sort(); + + // Create a checkbox for each event type + sortedTypes.forEach(type => { + const count = eventsByType[type].length; + const color = colorsByType[type]; + + const li = document.createElement('li'); + li.className = 'filter-item'; + + const checkbox = document.createElement('input'); + checkbox.type = 'checkbox'; + checkbox.id = `filter-${type}`; + checkbox.checked = true; + checkbox.addEventListener('change', () => { + toggleEventType(type, checkbox.checked); + }); + + const colorDot = document.createElement('span'); + colorDot.className = 'color-dot'; + colorDot.style.backgroundColor = color; + + const label = document.createElement('label'); + label.htmlFor = `filter-${type}`; + label.appendChild(colorDot); + label.appendChild(document.createTextNode(type)); + + const countSpan = document.createElement('span'); + countSpan.className = 'filter-count'; + countSpan.textContent = `(${count})`; + label.appendChild(countSpan); + + li.appendChild(checkbox); + li.appendChild(label); + filterList.appendChild(li); + }); + + // Add event listeners for select/deselect all buttons + document.getElementById('select-all').addEventListener('click', selectAllEventTypes); + document.getElementById('deselect-all').addEventListener('click', deselectAllEventTypes); +} + +// Add all events to the map +function addAllEventsToMap() { + // Clear existing markers + clearAllMarkers(); + + // Add markers for each event type + Object.keys(eventsByType).forEach(type => { + addEventsOfTypeToMap(type); + }); +} + +// Add events of a specific type to the map +function addEventsOfTypeToMap(type) { + if (!markersByType[type]) { + markersByType[type] = []; + } + + const events = eventsByType[type]; + const color = colorsByType[type]; + + events.forEach(feature => { + const coordinates = feature.geometry.coordinates.slice(); + const properties = feature.properties; + + // Create popup content + let popupContent = '
    '; + popupContent += `

    ${properties.label || 'Event'}

    `; + popupContent += `

    Type: ${type}

    `; + + // Display all properties + popupContent += '
    '; + popupContent += ''; + + // Sort properties alphabetically for better organization + const sortedKeys = Object.keys(properties).sort(); + + for (const key of sortedKeys) { + // Skip the label as it's already displayed as the title + if (key === 'label') continue; + + const value = properties[key]; + let displayValue; + + // Format the value based on its type + if (value === null || value === undefined) { + displayValue = 'null'; + } else if (typeof value === 'object') { + displayValue = `
    ${JSON.stringify(value, null, 2)}
    `; + } else if (typeof value === 'string' && value.startsWith('http')) { + displayValue = `${value}`; + } else { + displayValue = String(value); + } + + popupContent += ` + + + + `; + } + + popupContent += '
    ${key}:${displayValue}
    '; + popupContent += '
    '; + + popupContent += '
    '; + + // Create popup + const popup = new maplibregl.Popup({ + closeButton: true, + closeOnClick: true + }).setHTML(popupContent); + + // Add marker with popup + const marker = new maplibregl.Marker({ + color: color + }) + .setLngLat(coordinates) + .setPopup(popup) + .addTo(map); + + // Store marker reference + markersByType[type].push(marker); + }); +} + +// Toggle visibility of events by type +function toggleEventType(type, visible) { + if (!markersByType[type]) return; + + markersByType[type].forEach(marker => { + if (visible) { + marker.addTo(map); + } else { + marker.remove(); + } + }); +} + +// Select all event types +function selectAllEventTypes() { + const checkboxes = document.querySelectorAll('#filter-list input[type="checkbox"]'); + checkboxes.forEach(checkbox => { + checkbox.checked = true; + const type = checkbox.id.replace('filter-', ''); + toggleEventType(type, true); + }); +} + +// Deselect all event types +function deselectAllEventTypes() { + const checkboxes = document.querySelectorAll('#filter-list input[type="checkbox"]'); + checkboxes.forEach(checkbox => { + checkbox.checked = false; + const type = checkbox.id.replace('filter-', ''); + toggleEventType(type, false); + }); +} + +// Clear all markers from the map +function clearAllMarkers() { + Object.keys(markersByType).forEach(type => { + if (markersByType[type]) { + markersByType[type].forEach(marker => marker.remove()); + } + }); + markersByType = {}; +} + +// Function to fit map to events bounds +function fitMapToBounds(geojson) { + if (geojson.features.length === 0) return; + + // Create a bounds object + const bounds = new maplibregl.LngLatBounds(); + + // Extend bounds with each feature + geojson.features.forEach(feature => { + bounds.extend(feature.geometry.coordinates); + }); + + // Fit map to bounds with padding + map.fitBounds(bounds, { + padding: 50, + maxZoom: 12 + }); +} \ No newline at end of file diff --git a/oedb/resources/demo/static/oedb.png b/oedb/resources/demo/static/oedb.png new file mode 100644 index 0000000..6cda090 Binary files /dev/null and b/oedb/resources/demo/static/oedb.png differ diff --git a/oedb/resources/demo/static/pouet.mp3 b/oedb/resources/demo/static/pouet.mp3 new file mode 100644 index 0000000..9342b67 --- /dev/null +++ b/oedb/resources/demo/static/pouet.mp3 @@ -0,0 +1 @@ +# Ce fichier est un MP3 binaire qui contiendra le son 'pouet pouet'. diff --git a/oedb/resources/demo/static/search.css b/oedb/resources/demo/static/search.css new file mode 100644 index 0000000..db093e6 --- /dev/null +++ b/oedb/resources/demo/static/search.css @@ -0,0 +1,153 @@ +body { + margin: 0; + padding: 20px; + font-family: Arial, sans-serif; + background-color: #f5f5f5; +} +.container { + max-width: 1200px; + margin: 0 auto; + background-color: white; + padding: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); +} +h1 { + margin-top: 0; + color: #333; +} +.nav-links { + margin-bottom: 20px; +} +.nav-links a { + color: #0078ff; + text-decoration: none; + margin-right: 15px; +} +.nav-links a:hover { + text-decoration: underline; +} +.tabs-container { + margin-top: 20px; +} +.tab-content { + display: none; + padding: 20px; + border: 1px solid #ddd; + border-top: none; +} +.tab-content.active { + display: block; +} +.tab-buttons { + display: flex; + border-bottom: 1px solid #ddd; +} +.tab-button { + padding: 10px 20px; + background-color: #f1f1f1; + border: 1px solid #ddd; + border-bottom: none; + cursor: pointer; + margin-right: 5px; +} +.tab-button.active { + background-color: white; + border-bottom: 1px solid white; + margin-bottom: -1px; +} +#map { + width: 100%; + height: 500px; + margin-top: 20px; + border-radius: 4px; +} +.results-table { + width: 100%; + border-collapse: collapse; + margin-top: 20px; +} +.results-table th, .results-table td { + padding: 8px; + text-align: left; + border-bottom: 1px solid #ddd; +} +.results-table th { + background-color: #f2f2f2; +} +.download-buttons { + margin-top: 20px; + text-align: right; +} +.download-button { + display: inline-block; + padding: 8px 16px; + background-color: #0078ff; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + margin-left: 10px; + text-decoration: none; +} +.download-button:hover { + background-color: #0056b3; +} +.form-row { + display: flex; + gap: 15px; + margin-bottom: 15px; +} +.form-group { + flex: 1; +} +label { + display: block; + margin-bottom: 5px; + font-weight: bold; +} +input[type="text"], +input[type="datetime-local"], +input[type="number"], +select, +textarea { + width: 100%; + padding: 8px; + border: 1px solid #ddd; + border-radius: 4px; + box-sizing: border-box; + font-size: 14px; +} +.note { + font-size: 12px; + color: #666; + margin-top: 5px; +} +button { + background-color: #0078ff; + color: white; + border: none; + padding: 10px 15px; + border-radius: 4px; + cursor: pointer; + font-size: 16px; +} +button:hover { + background-color: #0056b3; +} +#result { + margin-top: 20px; + padding: 10px; + border-radius: 4px; + display: none; +} +#result.success { + background-color: #d4edda; + border: 1px solid #c3e6cb; + color: #155724; +} +#result.error { + background-color: #f8d7da; + border: 1px solid #f5c6cb; + color: #721c24; +} \ No newline at end of file diff --git a/oedb/resources/demo/static/search.js b/oedb/resources/demo/static/search.js new file mode 100644 index 0000000..1ecce10 --- /dev/null +++ b/oedb/resources/demo/static/search.js @@ -0,0 +1,412 @@ +// Initialize the map +const map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.3522, 48.8566], // Default center (Paris) + zoom: 3 +}); + +// Add navigation controls +map.addControl(new maplibregl.NavigationControl()); + +// Add draw controls for polygon +let drawnPolygon = null; +let drawingMode = false; +let points = []; +let lineString = null; +let polygonFill = null; + +// Add a button to toggle drawing mode +const drawButton = document.createElement('button'); +drawButton.textContent = 'Draw Polygon'; +drawButton.style.position = 'absolute'; +drawButton.style.top = '10px'; +drawButton.style.right = '10px'; +drawButton.style.zIndex = '1'; +drawButton.style.padding = '5px 10px'; +drawButton.style.backgroundColor = '#0078ff'; +drawButton.style.color = 'white'; +drawButton.style.border = 'none'; +drawButton.style.borderRadius = '3px'; +drawButton.style.cursor = 'pointer'; +document.getElementById('map').appendChild(drawButton); + +drawButton.addEventListener('click', () => { + drawingMode = !drawingMode; + drawButton.textContent = drawingMode ? 'Cancel Drawing' : 'Draw Polygon'; + + if (!drawingMode) { + // Clear the drawing + points = []; + if (lineString) { + map.removeLayer('line-string'); + map.removeSource('line-string'); + lineString = null; + } + if (polygonFill) { + map.removeLayer('polygon-fill'); + map.removeSource('polygon-fill'); + polygonFill = null; + } + } +}); + +// Handle map click events for drawing +map.on('click', (e) => { + if (!drawingMode) return; + + const coords = [e.lngLat.lng, e.lngLat.lat]; + points.push(coords); + + // If we have at least 3 points, create a polygon + if (points.length >= 3) { + const polygonCoords = [...points, points[0]]; // Close the polygon + + // Create or update the line string + if (lineString) { + map.removeLayer('line-string'); + map.removeSource('line-string'); + } + + lineString = { + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: polygonCoords + } + }; + + map.addSource('line-string', { + type: 'geojson', + data: lineString + }); + + map.addLayer({ + id: 'line-string', + type: 'line', + source: 'line-string', + paint: { + 'line-color': '#0078ff', + 'line-width': 2 + } + }); + + // Create or update the polygon fill + if (polygonFill) { + map.removeLayer('polygon-fill'); + map.removeSource('polygon-fill'); + } + + polygonFill = { + type: 'Feature', + geometry: { + type: 'Polygon', + coordinates: [polygonCoords] + } + }; + + map.addSource('polygon-fill', { + type: 'geojson', + data: polygonFill + }); + + map.addLayer({ + id: 'polygon-fill', + type: 'fill', + source: 'polygon-fill', + paint: { + 'fill-color': '#0078ff', + 'fill-opacity': 0.2 + } + }); + + // Store the drawn polygon for search + drawnPolygon = { + type: 'Polygon', + coordinates: [polygonCoords] + }; + } +}); + +// Handle custom date range selection +document.getElementById('when').addEventListener('change', function() { + const customDateGroup = document.getElementById('customDateGroup'); + const customDateEndGroup = document.getElementById('customDateEndGroup'); + + if (this.value === 'custom') { + customDateGroup.style.display = 'block'; + customDateEndGroup.style.display = 'block'; + } else { + customDateGroup.style.display = 'none'; + customDateEndGroup.style.display = 'none'; + } +}); + +// Handle form submission +document.getElementById('searchForm').addEventListener('submit', function(e) { + e.preventDefault(); + + // Show loading message + const resultElement = document.getElementById('result'); + resultElement.textContent = 'Searching...'; + resultElement.className = ''; + resultElement.style.display = 'block'; + + // Get form values + const formData = new FormData(this); + const params = new URLSearchParams(); + + // Add form fields to params + for (const [key, value] of formData.entries()) { + if (value) { + params.append(key, value); + } + } + + // Handle custom date range + if (formData.get('when') === 'custom') { + params.delete('when'); + } else { + params.delete('start'); + params.delete('stop'); + } + + // Prepare the request + let url = '/event/search'; + let method = 'POST'; + let body = null; + + // If we have a drawn polygon, use it for the search + if (drawnPolygon) { + body = JSON.stringify({ + geometry: drawnPolygon + }); + } else if (formData.get('near') || formData.get('bbox')) { + // If we have near or bbox parameters, use GET request + url = '/event?' + params.toString(); + method = 'GET'; + } else { + // Default to a simple point search in Paris if no spatial filter is provided + body = JSON.stringify({ + geometry: { + type: 'Point', + coordinates: [2.3522, 48.8566] + } + }); + } + + // Make the request + fetch(url + (method === 'GET' ? '' : '?' + params.toString()), { + method: method, + headers: { + 'Content-Type': 'application/json' + }, + body: method === 'POST' ? body : null + }) + .then(response => { + if (response.ok) { + return response.json(); + } else { + return response.text().then(text => { + throw new Error(text || response.statusText); + }); + } + }) + .then(data => { + // Show success message + resultElement.textContent = `Found ${data.features ? data.features.length : 0} events`; + resultElement.className = 'success'; + + // Display results + displayResults(data); + }) + .catch(error => { + // Show error message + resultElement.textContent = `Error: ${error.message}`; + resultElement.className = 'error'; + + // Hide results container + document.getElementById('resultsContainer').style.display = 'none'; + }); +}); + +// Function to display search results +function displayResults(data) { + // Show results container + document.getElementById('resultsContainer').style.display = 'block'; + + // Initialize results map + const resultsMap = new maplibregl.Map({ + container: 'resultsMap', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.3522, 48.8566], // Default center (Paris) + zoom: 4 + }); + + // Add navigation controls to results map + resultsMap.addControl(new maplibregl.NavigationControl()); + + // Add events to the map + resultsMap.on('load', function() { + // Add events as a source + resultsMap.addSource('events', { + type: 'geojson', + data: data + }); + + // Add a circle layer for events + resultsMap.addLayer({ + id: 'events-circle', + type: 'circle', + source: 'events', + paint: { + 'circle-radius': 8, + 'circle-color': '#FF5722', + 'circle-stroke-width': 2, + 'circle-stroke-color': '#FFFFFF' + } + }); + + // Add popups for events + if (data.features) { + data.features.forEach(feature => { + const coordinates = feature.geometry.coordinates.slice(); + const properties = feature.properties; + + // Create popup content + let popupContent = '
    '; + popupContent += `

    ${properties.label || 'Event'}

    `; + + // Display key properties + if (properties.what) { + popupContent += `

    Type: ${properties.what}

    `; + } + if (properties.where) { + popupContent += `

    Where: ${properties.where}

    `; + } + if (properties.start) { + popupContent += `

    Start: ${properties.start}

    `; + } + if (properties.stop) { + popupContent += `

    End: ${properties.stop}

    `; + } + + // Add link to view full event + popupContent += `

    View Event

    `; + + popupContent += '
    '; + + // Create popup + const popup = new maplibregl.Popup({ + closeButton: true, + closeOnClick: true + }).setHTML(popupContent); + + // Add marker with popup + new maplibregl.Marker({ + color: '#FF5722' + }) + .setLngLat(coordinates) + .setPopup(popup) + .addTo(resultsMap); + }); + + // Fit map to events bounds + if (data.features.length > 0) { + const bounds = new maplibregl.LngLatBounds(); + + data.features.forEach(feature => { + bounds.extend(feature.geometry.coordinates); + }); + + resultsMap.fitBounds(bounds, { + padding: 50, + maxZoom: 12 + }); + } + } + }); + + // Populate table with results + const tableBody = document.getElementById('resultsTable').getElementsByTagName('tbody')[0]; + tableBody.innerHTML = ''; + + if (data.features) { + data.features.forEach(feature => { + const properties = feature.properties; + + const row = tableBody.insertRow(); + row.insertCell(0).textContent = properties.id || ''; + row.insertCell(1).textContent = properties.label || ''; + row.insertCell(2).textContent = properties.type || ''; + row.insertCell(3).textContent = properties.what || ''; + row.insertCell(4).textContent = properties.where || ''; + row.insertCell(5).textContent = properties.start || ''; + row.insertCell(6).textContent = properties.stop || ''; + }); + } + + // Store the data for download + window.searchResults = data; +} + +// Handle tab switching +document.querySelectorAll('.tab-button').forEach(button => { + button.addEventListener('click', () => { + // Remove active class from all buttons and content + document.querySelectorAll('.tab-button').forEach(btn => btn.classList.remove('active')); + document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active')); + + // Add active class to clicked button and corresponding content + button.classList.add('active'); + document.getElementById(button.dataset.tab).classList.add('active'); + }); +}); + +// Handle CSV download +document.getElementById('downloadCsv').addEventListener('click', () => { + if (!window.searchResults || !window.searchResults.features) { + alert('No search results to download'); + return; + } + + // Convert GeoJSON to CSV + let csv = 'id,label,type,what,where,start,stop,longitude,latitude\n'; + + window.searchResults.features.forEach(feature => { + const p = feature.properties; + const coords = feature.geometry.coordinates; + + csv += `"${p.id || ''}","${p.label || ''}","${p.type || ''}","${p.what || ''}","${p.where || ''}","${p.start || ''}","${p.stop || ''}",${coords[0]},${coords[1]}\n`; + }); + + // Create download link + const blob = new Blob([csv], { type: 'text/csv' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'search_results.csv'; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); +}); + +// Handle JSON download +document.getElementById('downloadJson').addEventListener('click', () => { + if (!window.searchResults) { + alert('No search results to download'); + return; + } + + // Create download link + const blob = new Blob([JSON.stringify(window.searchResults, null, 2)], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'search_results.json'; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); +}); \ No newline at end of file diff --git a/oedb/resources/demo/static/social.js b/oedb/resources/demo/static/social.js new file mode 100644 index 0000000..8a5a97b --- /dev/null +++ b/oedb/resources/demo/static/social.js @@ -0,0 +1,750 @@ +// Fonctionnalités sociales pour OEDB + +class OEDBSocial { + constructor() { + this.socket = null; + this.position = null; + this.username = ''; + this.friends = []; + this.markers = {}; + this.map = null; + this.lastPouetTime = 0; + this.showOnlyFriends = false; + + // Charger les amis depuis le localStorage + this.loadFriends(); + + // Boutons pour l'interface sociale + this.createSocialUI(); + } + + // Initialiser la connexion WebSocket + init(map, username) { + this.map = map; + this.username = username || localStorage.getItem('oedb_social_username') || ''; + + if (!this.username) { + this.promptForUsername(); + } else { + localStorage.setItem('oedb_social_username', this.username); + } + + // Créer la connexion WebSocket + // Utiliser l'URL relative au serveur actuel + const wsProtocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://'; + const wsUrl = `${wsProtocol}${window.location.host}/ws`; + this.socket = new WebSocket(wsUrl); + + this.socket.onopen = () => { + console.log('Connexion WebSocket établie'); + this.startSendingPosition(); + }; + + this.socket.onmessage = (event) => { + const data = JSON.parse(event.data); + this.handleSocketMessage(data); + }; + + this.socket.onclose = () => { + console.log('Connexion WebSocket fermée'); + // Tentative de reconnexion après 5 secondes + setTimeout(() => this.init(this.map, this.username), 5000); + }; + + this.socket.onerror = (error) => { + console.error('Erreur WebSocket:', error); + this.showToast(`Erreur de connexion au serveur WebSocket. Vérifiez que le serveur est en cours d'exécution sur le port 8765.`, 'error'); + }; + } + + // Demander le pseudo à l'utilisateur + promptForUsername() { + // Créer une boîte de dialogue modale pour demander le pseudo + const modalOverlay = document.createElement('div'); + modalOverlay.className = 'modal-overlay'; + modalOverlay.style.position = 'fixed'; + modalOverlay.style.top = '0'; + modalOverlay.style.left = '0'; + modalOverlay.style.width = '100%'; + modalOverlay.style.height = '100%'; + modalOverlay.style.backgroundColor = 'rgba(0, 0, 0, 0.5)'; + modalOverlay.style.zIndex = '1000'; + modalOverlay.style.display = 'flex'; + modalOverlay.style.justifyContent = 'center'; + modalOverlay.style.alignItems = 'center'; + + const modalContent = document.createElement('div'); + modalContent.className = 'modal-content'; + modalContent.style.backgroundColor = '#fff'; + modalContent.style.padding = '20px'; + modalContent.style.borderRadius = '5px'; + modalContent.style.maxWidth = '400px'; + modalContent.style.width = '80%'; + + const title = document.createElement('h3'); + title.textContent = 'Choisissez un pseudo'; + title.style.marginBottom = '15px'; + + const form = document.createElement('form'); + form.onsubmit = (e) => { + e.preventDefault(); + const input = document.getElementById('username-input'); + const username = input.value.trim(); + if (username) { + this.username = username; + localStorage.setItem('oedb_social_username', username); + document.body.removeChild(modalOverlay); + this.startSendingPosition(); + } + }; + + const input = document.createElement('input'); + input.type = 'text'; + input.id = 'username-input'; + input.placeholder = 'Votre pseudo'; + input.style.width = '100%'; + input.style.padding = '8px'; + input.style.marginBottom = '15px'; + input.style.borderRadius = '4px'; + input.style.border = '1px solid #ddd'; + + const button = document.createElement('button'); + button.type = 'submit'; + button.textContent = 'Valider'; + button.style.padding = '8px 15px'; + button.style.backgroundColor = '#0078ff'; + button.style.color = 'white'; + button.style.border = 'none'; + button.style.borderRadius = '4px'; + button.style.cursor = 'pointer'; + + form.appendChild(input); + form.appendChild(button); + + modalContent.appendChild(title); + modalContent.appendChild(form); + modalOverlay.appendChild(modalContent); + + document.body.appendChild(modalOverlay); + + input.focus(); + } + + // Commencer à envoyer sa position + startSendingPosition() { + if (!this.username || !this.socket) return; + + // Obtenir la position actuelle + this.getCurrentPosition(); + + // Mettre à jour la position toutes les 5 secondes + setInterval(() => { + this.getCurrentPosition(); + }, 5000); + } + + // Obtenir la position GPS actuelle + getCurrentPosition() { + if (navigator.geolocation && this.socket && this.socket.readyState === WebSocket.OPEN) { + navigator.geolocation.getCurrentPosition( + (position) => { + this.position = { + lat: position.coords.latitude, + lng: position.coords.longitude + }; + + // Envoyer la position au serveur WebSocket + this.socket.send(JSON.stringify({ + type: 'position', + username: this.username, + position: this.position, + timestamp: new Date().toISOString(), + showOnlyToFriends: this.showOnlyFriends + })); + }, + (error) => { + console.error('Erreur lors de la récupération de la position:', error); + } + ); + } + } + + // Traiter les messages reçus par WebSocket + handleSocketMessage(data) { + switch (data.type) { + case 'position': + this.updateUserPosition(data); + break; + case 'pouet': + this.receivePouet(data); + break; + case 'friendRequest': + this.receiveFriendRequest(data); + break; + case 'users': + this.updateAllUsers(data.users); + break; + } + } + + // Mettre à jour la position d'un utilisateur sur la carte + updateUserPosition(data) { + // Ignorer les mises à jour de notre propre position + if (data.username === this.username) return; + + // Vérifier si l'utilisateur est visible uniquement pour ses amis + if (data.showOnlyToFriends && !this.friends.includes(data.username)) return; + + // Supprimer l'ancien marqueur s'il existe + if (this.markers[data.username]) { + this.markers[data.username].remove(); + } + + // Créer un élément HTML personnalisé pour le marqueur + const el = document.createElement('div'); + el.className = 'user-marker'; + + // Styles de base pour le marqueur + el.style.width = '40px'; + el.style.height = '40px'; + el.style.borderRadius = '50%'; + el.style.backgroundColor = this.friends.includes(data.username) ? '#4CAF50' : '#0078ff'; + el.style.border = '2px solid white'; + el.style.boxShadow = '0 0 5px rgba(0,0,0,0.3)'; + el.style.display = 'flex'; + el.style.justifyContent = 'center'; + el.style.alignItems = 'center'; + el.style.color = 'white'; + el.style.fontWeight = 'bold'; + el.style.fontSize = '12px'; + el.style.cursor = 'pointer'; + + // Ajouter les initiales de l'utilisateur + const initials = data.username.substring(0, 2).toUpperCase(); + el.textContent = initials; + + // Ajouter un tooltip avec le nom complet + el.title = data.username; + + // Créer le popup + const popupContent = ` +
    +

    ${data.username}

    +

    Position mise à jour: ${this.formatTimestamp(data.timestamp)}

    +
    + + ${!this.friends.includes(data.username) ? ` + + ` : ''} +
    +
    + `; + + const popup = new maplibregl.Popup({ + closeButton: true, + closeOnClick: true + }).setHTML(popupContent); + + // Ajouter des gestionnaires d'événements au popup + popup.on('open', () => { + // Gérer le clic sur le bouton Pouet Pouet + setTimeout(() => { + const pouetBtn = document.querySelector('.pouet-btn'); + if (pouetBtn) { + pouetBtn.addEventListener('click', () => { + this.sendPouet(data.username); + }); + } + + // Gérer le clic sur le bouton Ajouter ami + const addFriendBtn = document.querySelector('.add-friend-btn'); + if (addFriendBtn) { + addFriendBtn.addEventListener('click', () => { + this.sendFriendRequest(data.username); + }); + } + }, 100); + }); + + // Créer le marqueur et l'ajouter à la carte + const marker = new maplibregl.Marker(el) + .setLngLat([data.position.lng, data.position.lat]) + .setPopup(popup) + .addTo(this.map); + + // Stocker le marqueur pour pouvoir le supprimer plus tard + this.markers[data.username] = marker; + } + + // Mettre à jour tous les utilisateurs actifs + updateAllUsers(users) { + // Supprimer les marqueurs des utilisateurs qui ne sont plus actifs + Object.keys(this.markers).forEach(username => { + if (!users.find(user => user.username === username)) { + this.markers[username].remove(); + delete this.markers[username]; + } + }); + } + + // Envoyer un pouet à un utilisateur + sendPouet(username) { + const now = Date.now(); + + // Vérifier si on peut envoyer un pouet (limité à 1 toutes les 10 secondes) + if (now - this.lastPouetTime < 10000) { + const remainingTime = Math.ceil((10000 - (now - this.lastPouetTime)) / 1000); + this.showToast(`Merci d'attendre encore ${remainingTime} secondes avant d'envoyer un autre pouet!`, 'warning'); + return; + } + + if (this.socket && this.socket.readyState === WebSocket.OPEN) { + this.socket.send(JSON.stringify({ + type: 'pouet', + from: this.username, + to: username, + timestamp: new Date().toISOString() + })); + + this.lastPouetTime = now; + this.showToast(`Pouet pouet envoyé à ${username}!`, 'success'); + } + } + + // Recevoir un pouet + receivePouet(data) { + this.showToast(`${data.from} vous a envoyé un pouet pouet!`, 'info'); + + // Jouer un son + const audio = new Audio('/static/pouet.mp3'); + audio.play().catch(e => console.log('Erreur lors de la lecture du son:', e)); + } + + // Envoyer une demande d'ami + sendFriendRequest(username) { + if (this.socket && this.socket.readyState === WebSocket.OPEN) { + this.socket.send(JSON.stringify({ + type: 'friendRequest', + from: this.username, + to: username, + timestamp: new Date().toISOString() + })); + + this.showToast(`Demande d'ami envoyée à ${username}!`, 'success'); + } + } + + // Recevoir une demande d'ami + receiveFriendRequest(data) { + // Créer une boîte de dialogue modale pour la demande d'ami + const modalOverlay = document.createElement('div'); + modalOverlay.className = 'modal-overlay'; + modalOverlay.style.position = 'fixed'; + modalOverlay.style.top = '0'; + modalOverlay.style.left = '0'; + modalOverlay.style.width = '100%'; + modalOverlay.style.height = '100%'; + modalOverlay.style.backgroundColor = 'rgba(0, 0, 0, 0.5)'; + modalOverlay.style.zIndex = '1000'; + modalOverlay.style.display = 'flex'; + modalOverlay.style.justifyContent = 'center'; + modalOverlay.style.alignItems = 'center'; + + const modalContent = document.createElement('div'); + modalContent.className = 'modal-content'; + modalContent.style.backgroundColor = '#fff'; + modalContent.style.padding = '20px'; + modalContent.style.borderRadius = '5px'; + modalContent.style.maxWidth = '400px'; + modalContent.style.width = '80%'; + + const title = document.createElement('h3'); + title.textContent = 'Demande d\'ami'; + title.style.marginBottom = '15px'; + + const message = document.createElement('p'); + message.textContent = `${data.from} souhaite vous ajouter à sa liste d'amis.`; + message.style.marginBottom = '20px'; + + const buttonsContainer = document.createElement('div'); + buttonsContainer.style.display = 'flex'; + buttonsContainer.style.justifyContent = 'space-between'; + + const acceptButton = document.createElement('button'); + acceptButton.textContent = 'Accepter'; + acceptButton.style.padding = '8px 15px'; + acceptButton.style.backgroundColor = '#4CAF50'; + acceptButton.style.color = 'white'; + acceptButton.style.border = 'none'; + acceptButton.style.borderRadius = '4px'; + acceptButton.style.cursor = 'pointer'; + acceptButton.onclick = () => { + this.addFriend(data.from); + document.body.removeChild(modalOverlay); + }; + + const rejectButton = document.createElement('button'); + rejectButton.textContent = 'Refuser'; + rejectButton.style.padding = '8px 15px'; + rejectButton.style.backgroundColor = '#f44336'; + rejectButton.style.color = 'white'; + rejectButton.style.border = 'none'; + rejectButton.style.borderRadius = '4px'; + rejectButton.style.cursor = 'pointer'; + rejectButton.onclick = () => { + document.body.removeChild(modalOverlay); + }; + + buttonsContainer.appendChild(acceptButton); + buttonsContainer.appendChild(rejectButton); + + modalContent.appendChild(title); + modalContent.appendChild(message); + modalContent.appendChild(buttonsContainer); + modalOverlay.appendChild(modalContent); + + document.body.appendChild(modalOverlay); + } + + // Ajouter un ami à la liste d'amis + addFriend(username) { + if (!this.friends.includes(username)) { + this.friends.push(username); + this.saveFriends(); + this.showToast(`${username} a été ajouté à votre liste d'amis!`, 'success'); + + // Mettre à jour le marqueur de cet ami s'il est visible + if (this.markers[username]) { + const position = this.markers[username].getLngLat(); + this.markers[username].remove(); + delete this.markers[username]; + + // Simuler une mise à jour de position pour recréer le marqueur + this.updateUserPosition({ + username: username, + position: { + lng: position.lng, + lat: position.lat + }, + timestamp: new Date().toISOString() + }); + } + } + } + + // Sauvegarder la liste d'amis dans le localStorage + saveFriends() { + localStorage.setItem('oedb_social_friends', JSON.stringify(this.friends)); + } + + // Charger la liste d'amis depuis le localStorage + loadFriends() { + try { + const friendsJson = localStorage.getItem('oedb_social_friends'); + if (friendsJson) { + this.friends = JSON.parse(friendsJson); + } + } catch (e) { + console.error('Erreur lors du chargement des amis:', e); + this.friends = []; + } + } + + // Créer l'interface utilisateur pour les fonctionnalités sociales + createSocialUI() { + // Conteneur principal pour les contrôles sociaux + const socialContainer = document.createElement('div'); + socialContainer.className = 'social-controls'; + socialContainer.style.position = 'absolute'; + socialContainer.style.top = '10px'; + socialContainer.style.right = '10px'; + socialContainer.style.backgroundColor = 'rgba(255, 255, 255, 0.9)'; + socialContainer.style.padding = '10px'; + socialContainer.style.borderRadius = '5px'; + socialContainer.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.1)'; + socialContainer.style.zIndex = '10'; + socialContainer.style.display = 'flex'; + socialContainer.style.flexDirection = 'column'; + socialContainer.style.gap = '10px'; + + // Titre + const title = document.createElement('h3'); + title.textContent = 'Mode Social'; + title.style.margin = '0 0 10px 0'; + title.style.textAlign = 'center'; + + // Bouton pour activer/désactiver le mode social + const toggleButton = document.createElement('button'); + toggleButton.className = 'toggle-social-btn'; + toggleButton.textContent = 'Activer le mode social'; + toggleButton.style.padding = '8px'; + toggleButton.style.backgroundColor = '#0078ff'; + toggleButton.style.color = 'white'; + toggleButton.style.border = 'none'; + toggleButton.style.borderRadius = '4px'; + toggleButton.style.cursor = 'pointer'; + toggleButton.style.fontWeight = 'bold'; + + let socialActive = false; + + toggleButton.addEventListener('click', () => { + socialActive = !socialActive; + + if (socialActive) { + toggleButton.textContent = 'Désactiver le mode social'; + toggleButton.style.backgroundColor = '#f44336'; + this.init(this.map); + } else { + toggleButton.textContent = 'Activer le mode social'; + toggleButton.style.backgroundColor = '#0078ff'; + + // Fermer la connexion WebSocket + if (this.socket) { + this.socket.close(); + this.socket = null; + } + + // Supprimer tous les marqueurs + Object.values(this.markers).forEach(marker => marker.remove()); + this.markers = {}; + } + + // Afficher/masquer les options supplémentaires + optionsContainer.style.display = socialActive ? 'block' : 'none'; + }); + + // Conteneur pour les options supplémentaires + const optionsContainer = document.createElement('div'); + optionsContainer.className = 'social-options'; + optionsContainer.style.display = 'none'; + + // Bouton pour changer de pseudo + const changeUsernameBtn = document.createElement('button'); + changeUsernameBtn.textContent = 'Changer de pseudo'; + changeUsernameBtn.style.width = '100%'; + changeUsernameBtn.style.padding = '8px'; + changeUsernameBtn.style.backgroundColor = '#FFC107'; + changeUsernameBtn.style.border = 'none'; + changeUsernameBtn.style.borderRadius = '4px'; + changeUsernameBtn.style.marginBottom = '10px'; + changeUsernameBtn.style.cursor = 'pointer'; + + changeUsernameBtn.addEventListener('click', () => { + this.promptForUsername(); + }); + + // Case à cocher pour la visibilité uniquement aux amis + const visibilityContainer = document.createElement('div'); + visibilityContainer.style.display = 'flex'; + visibilityContainer.style.alignItems = 'center'; + visibilityContainer.style.marginBottom = '10px'; + + const visibilityCheckbox = document.createElement('input'); + visibilityCheckbox.type = 'checkbox'; + visibilityCheckbox.id = 'visibility-checkbox'; + visibilityCheckbox.checked = this.showOnlyFriends; + + const visibilityLabel = document.createElement('label'); + visibilityLabel.htmlFor = 'visibility-checkbox'; + visibilityLabel.textContent = 'Visible uniquement par mes amis'; + visibilityLabel.style.marginLeft = '5px'; + + visibilityContainer.appendChild(visibilityCheckbox); + visibilityContainer.appendChild(visibilityLabel); + + visibilityCheckbox.addEventListener('change', () => { + this.showOnlyFriends = visibilityCheckbox.checked; + this.getCurrentPosition(); // Mettre à jour immédiatement avec le nouveau paramètre + }); + + // Gestionnaire d'amis + const friendsManager = document.createElement('div'); + friendsManager.style.marginTop = '10px'; + + const friendsTitle = document.createElement('h4'); + friendsTitle.textContent = 'Mes amis'; + friendsTitle.style.margin = '0 0 5px 0'; + + const friendsList = document.createElement('ul'); + friendsList.style.listStyle = 'none'; + friendsList.style.padding = '0'; + friendsList.style.margin = '0'; + friendsList.style.maxHeight = '150px'; + friendsList.style.overflowY = 'auto'; + friendsList.style.border = '1px solid #ddd'; + friendsList.style.borderRadius = '4px'; + friendsList.style.padding = '5px'; + + // Fonction pour mettre à jour la liste d'amis + const updateFriendsList = () => { + friendsList.innerHTML = ''; + + if (this.friends.length === 0) { + const emptyItem = document.createElement('li'); + emptyItem.textContent = 'Aucun ami pour l\'instant'; + emptyItem.style.fontStyle = 'italic'; + emptyItem.style.padding = '5px'; + friendsList.appendChild(emptyItem); + } else { + this.friends.forEach(friend => { + const listItem = document.createElement('li'); + listItem.style.display = 'flex'; + listItem.style.justifyContent = 'space-between'; + listItem.style.alignItems = 'center'; + listItem.style.padding = '5px'; + listItem.style.borderBottom = '1px solid #eee'; + + const friendName = document.createElement('span'); + friendName.textContent = friend; + + const removeBtn = document.createElement('button'); + removeBtn.textContent = 'X'; + removeBtn.style.backgroundColor = '#f44336'; + removeBtn.style.color = 'white'; + removeBtn.style.border = 'none'; + removeBtn.style.borderRadius = '50%'; + removeBtn.style.width = '20px'; + removeBtn.style.height = '20px'; + removeBtn.style.fontSize = '10px'; + removeBtn.style.cursor = 'pointer'; + removeBtn.style.display = 'flex'; + removeBtn.style.justifyContent = 'center'; + removeBtn.style.alignItems = 'center'; + + removeBtn.addEventListener('click', () => { + this.friends = this.friends.filter(f => f !== friend); + this.saveFriends(); + updateFriendsList(); + }); + + listItem.appendChild(friendName); + listItem.appendChild(removeBtn); + friendsList.appendChild(listItem); + }); + } + }; + + // Initialiser la liste d'amis + updateFriendsList(); + + friendsManager.appendChild(friendsTitle); + friendsManager.appendChild(friendsList); + + // Ajouter tous les éléments au conteneur d'options + optionsContainer.appendChild(changeUsernameBtn); + optionsContainer.appendChild(visibilityContainer); + optionsContainer.appendChild(friendsManager); + + // Ajouter tous les éléments au conteneur principal + socialContainer.appendChild(title); + socialContainer.appendChild(toggleButton); + socialContainer.appendChild(optionsContainer); + + // Ajouter le conteneur au document après le chargement du DOM + document.addEventListener('DOMContentLoaded', () => { + document.body.appendChild(socialContainer); + }); + } + + // Afficher un toast (message flottant) + showToast(message, type = 'info') { + // Créer le conteneur de toast s'il n'existe pas + let toastContainer = document.getElementById('toast-container'); + + if (!toastContainer) { + toastContainer = document.createElement('div'); + toastContainer.id = 'toast-container'; + toastContainer.style.position = 'fixed'; + toastContainer.style.top = '20px'; + toastContainer.style.left = '50%'; + toastContainer.style.transform = 'translateX(-50%)'; + toastContainer.style.zIndex = '1000'; + toastContainer.style.display = 'flex'; + toastContainer.style.flexDirection = 'column'; + toastContainer.style.alignItems = 'center'; + toastContainer.style.gap = '10px'; + document.body.appendChild(toastContainer); + } + + // Créer le toast + const toast = document.createElement('div'); + toast.className = `toast toast-${type}`; + toast.style.padding = '10px 15px'; + toast.style.borderRadius = '5px'; + toast.style.boxShadow = '0 2px 10px rgba(0, 0, 0, 0.2)'; + toast.style.minWidth = '250px'; + toast.style.textAlign = 'center'; + toast.style.animation = 'fadeIn 0.3s, fadeOut 0.3s 2.7s'; + toast.style.opacity = '0'; + toast.style.maxWidth = '80vw'; + + // Définir la couleur en fonction du type + switch (type) { + case 'success': + toast.style.backgroundColor = '#4CAF50'; + toast.style.color = 'white'; + break; + case 'warning': + toast.style.backgroundColor = '#FFC107'; + toast.style.color = 'black'; + break; + case 'error': + toast.style.backgroundColor = '#f44336'; + toast.style.color = 'white'; + break; + default: // info + toast.style.backgroundColor = '#0078ff'; + toast.style.color = 'white'; + } + + toast.textContent = message; + + // Ajouter le style d'animation s'il n'existe pas + if (!document.getElementById('toast-style')) { + const style = document.createElement('style'); + style.id = 'toast-style'; + style.textContent = ` + @keyframes fadeIn { + from { opacity: 0; transform: translateY(-20px); } + to { opacity: 1; transform: translateY(0); } + } + @keyframes fadeOut { + from { opacity: 1; transform: translateY(0); } + to { opacity: 0; transform: translateY(-20px); } + } + `; + document.head.appendChild(style); + } + + // Ajouter le toast au conteneur + toastContainer.appendChild(toast); + + // Animer l'entrée + setTimeout(() => { + toast.style.opacity = '1'; + toast.style.transform = 'translateY(0)'; + }, 10); + + // Supprimer le toast après 3 secondes + setTimeout(() => { + toast.style.opacity = '0'; + toast.style.transform = 'translateY(-20px)'; + + setTimeout(() => { + toastContainer.removeChild(toast); + }, 300); + }, 3000); + } + + // Formatter un timestamp en heure locale + formatTimestamp(timestamp) { + const date = new Date(timestamp); + return date.toLocaleTimeString(); + } +} + +// Initialiser l'objet social lorsque le DOM est chargé +document.addEventListener('DOMContentLoaded', () => { + // Créer l'instance sociale + window.oedbSocial = new OEDBSocial(); +}); diff --git a/oedb/resources/demo/static/traffic.css b/oedb/resources/demo/static/traffic.css new file mode 100644 index 0000000..d29c439 --- /dev/null +++ b/oedb/resources/demo/static/traffic.css @@ -0,0 +1,98 @@ +/* Styles spécifiques à la page /demo/traffic */ + +.user-info-panel { + background-color: #f5f5f5; + border-radius: 4px; + padding: 10px; + margin: 10px 0; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +.user-info-panel h3 { + margin-top: 0; + margin-bottom: 10px; + color: #333; +} + +.user-info-panel p { + margin: 5px 0; +} + +.user-points { + font-weight: bold; + color: #0078ff; +} + +.reality-check { + margin-top: 10px; + padding: 10px; + background-color: #fff3e0; + border-radius: 4px; +} + +.reality-check-buttons { + display: flex; + justify-content: space-between; + margin-top: 8px; +} + +.confirm-btn, .deny-btn { + padding: 5px 10px; + border: none; + border-radius: 4px; + cursor: pointer; + font-weight: bold; +} + +.confirm-btn { + background-color: #4caf50; + color: white; +} + +.deny-btn { + background-color: #f44336; + color: white; +} + +.reality-check-info { + margin-top: 10px; + padding: 8px; + background-color: #e8f5e9; + border-radius: 4px; + font-size: 0.9em; +} + +#photoPreviewContainer { + margin-top: 8px; + display: none; +} + +#photoPreview { + max-width: 100%; + border-radius: 4px; +} + +.camera-block { + margin-top: 12px; + background: #f9fafb; + border: 1px solid #e5e7eb; + border-radius: 6px; + padding: 10px; +} +.camera-block .note { font-size: 12px; color: #666; } +.camera-controls { + display: flex; + gap: 8px; + margin-bottom: 8px; +} +.camera-preview video { + width: 100%; + max-height: 260px; + background: #000; + border-radius: 4px; +} +.gps-status { + margin-left: 8px; + font-size: 12px; + color: #555; +} diff --git a/oedb/resources/demo/static/traffic.js b/oedb/resources/demo/static/traffic.js new file mode 100644 index 0000000..3e7224c --- /dev/null +++ b/oedb/resources/demo/static/traffic.js @@ -0,0 +1,944 @@ +// Traffic.js - JavaScript for the traffic reporting page + +// Global variables +let map; +let marker; +let currentPosition; +let currentIssueType = null; +let photoFiles = []; +let panoramaxUploadUrl = ''; +let panoramaxToken = ''; + +// Initialize the map when the page loads +document.addEventListener('DOMContentLoaded', function () { + initMap(); + initTabs(); + initForm(); + setupFormValidation(); + + // Get Panoramax configuration + const panoramaxUploadUrlElement = document.getElementById('panoramaxUploadUrl'); + const panoramaxTokenElement = document.getElementById('panoramaxToken'); + + panoramaxUploadUrl = panoramaxUploadUrlElement ? panoramaxUploadUrlElement.value : ''; + panoramaxToken = panoramaxTokenElement ? panoramaxTokenElement.value : ''; + + // Set up photo upload + const photoInput = document.getElementById('photo'); + if (photoInput) { + photoInput.addEventListener('change', handlePhotoUpload); + } + +// Initialize the map + function initMap() { + // Create the map + map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.2137, 46.2276], // Default center (center of metropolitan France) + zoom: 5 + }); + + // Add navigation controls + map.addControl(new maplibregl.NavigationControl()); + + // Add attribution control with OpenStreetMap attribution + map.addControl(new maplibregl.AttributionControl({ + customAttribution: '© OpenStreetMap contributors' + })); + + // Try to get the user's current location + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition( + function (position) { + currentPosition = [position.coords.longitude, position.coords.latitude]; + + // Center the map on the user's location + map.flyTo({ + center: currentPosition, + zoom: 12 + }); + + // Add a marker at the user's location + marker = new maplibregl.Marker({ + draggable: true + }) + .setLngLat(currentPosition) + .addTo(map); + + // Update coordinates when marker is dragged + marker.on('dragend', updateCoordinates); + + // Update the coordinates display + updateCoordinates(); + }, + function (error) { + console.error('Error getting location:', error); + } + ); + } + + // Add click handler to the map + map.on('click', function (e) { + // If we don't have a marker yet, create one + if (!marker) { + marker = new maplibregl.Marker({ + draggable: true + }) + .setLngLat(e.lngLat) + .addTo(map); + + // Update coordinates when marker is dragged + marker.on('dragend', updateCoordinates); + } else { + // Otherwise, move the existing marker + marker.setLngLat(e.lngLat); + } + + // Update the coordinates display + updateCoordinates(); + }); + } + +// Initialize the tabs + function initTabs() { + const tabItems = document.querySelectorAll('.tab-item'); + const tabPanes = document.querySelectorAll('.tab-pane'); + + tabItems.forEach(item => { + item.addEventListener('click', function () { + // Remove active class from all tabs + tabItems.forEach(tab => tab.classList.remove('active')); + tabPanes.forEach(pane => pane.classList.remove('active')); + + // Add active class to clicked tab + this.classList.add('active'); + + // Show the corresponding tab content + const tabId = this.getAttribute('data-tab'); + document.getElementById(tabId + '-tab').classList.add('active'); + }); + }); + } + +// Initialize the form + function initForm() { + // Set the current date and time as the default + const now = new Date(); + const dateTimeString = now.toISOString().slice(0, 16); + + const startTimeInput = document.getElementById('start'); + if (startTimeInput) { + startTimeInput.value = dateTimeString; + } + + const stopTimeInput = document.getElementById('stop'); + if (stopTimeInput) { + // Set default end time to 1 hour from now + const oneHourLater = new Date(now.getTime() + 60 * 60 * 1000); + stopTimeInput.value = oneHourLater.toISOString().slice(0, 16); + } + + // Set up form submission after DOM is loaded + const reportForm = document.getElementById('reportForm'); + if (reportForm) { + reportForm.addEventListener('submit', submitReport); + } else { + console.warn('Report form not found in DOM'); + } + } + +// Update the coordinates display when the marker is moved + function updateCoordinates() { + if (!marker) return; + + const lngLat = marker.getLngLat(); + currentPosition = [lngLat.lng, lngLat.lat]; + + // Update the coordinates display + const coordinatesElement = document.getElementById('coordinates'); + if (coordinatesElement) { + coordinatesElement.textContent = `${lngLat.lat.toFixed(6)}, ${lngLat.lng.toFixed(6)}`; + } + + // Update the hidden coordinates input + const coordinatesInput = document.getElementById('coordinates-input'); + if (coordinatesInput) { + coordinatesInput.value = JSON.stringify({ + type: 'Point', + coordinates: [lngLat.lng, lngLat.lat] + }); + } + } + +// Handle photo upload + function handlePhotoUpload(event) { + const files = event.target.files; + if (!files || files.length === 0) return; + + // Store the files for later upload + photoFiles = Array.from(files); + + // Show preview of the photos + const previewContainer = document.getElementById('photoPreview'); + if (previewContainer) { + previewContainer.innerHTML = ''; + + photoFiles.forEach(file => { + const reader = new FileReader(); + reader.onload = function (e) { + const img = document.createElement('img'); + img.src = e.target.result; + img.className = 'photo-preview'; + previewContainer.appendChild(img); + }; + reader.readAsDataURL(file); + }); + + previewContainer.style.display = 'flex'; + } + } + +// Submit the report + async function submitReport(event) { + event.preventDefault(); + + // Disable validation during submission + window.validationEnabled = false; + console.log('🔒 Validation désactivée pendant la soumission'); + + // Show loading message + const resultElement = document.getElementById('result'); + showFixedResult('Création de l\'événement en cours...', 'loading'); + + try { + // Check if we have coordinates + if (!currentPosition) { + throw new Error('Please select a location on the map'); + } + + // Get form values + const formData = new FormData(event.target); + const eventData = { + type: formData.get('type') || 'unscheduled', + what: formData.get('what'), + label: formData.get('label'), + description: formData.get('description'), + start: new Date(formData.get('start')).toISOString(), + stop: new Date(formData.get('stop')).toISOString(), + geometry: { + type: 'Point', + coordinates: currentPosition + } + }; + + // Add username if authenticated + const osmUsername = document.getElementById('osmUsername'); + if (osmUsername && osmUsername.value) { + eventData.source = { + name: 'OpenStreetMap user', + id: osmUsername.value + }; + } + + // Upload photos to Panoramax if available + let photoUrls = []; + if (photoFiles.length > 0 && panoramaxUploadUrl && panoramaxToken) { + photoUrls = await uploadPhotos(photoFiles); + if (photoUrls.length > 0) { + eventData.media = photoUrls.map(url => ({ + type: 'image', + url: url + })); + } + } + + // Submit the event to the OEDB API + const response = await fetch('https://api.openeventdatabase.org/event', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + type: 'Feature', + geometry: eventData.geometry, + properties: { + type: eventData.type, + what: eventData.what, + label: eventData.label, + description: eventData.description, + start: eventData.start, + stop: eventData.stop, + ...(eventData.source && { source: eventData.source }), + ...(eventData.media && { media: eventData.media }) + } + }) + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error(errorText || response.statusText); + } + + const data = await response.json(); + + // Extract event ID from response (handle different response structures) + let eventId = null; + if (data.properties && data.properties.id) { + eventId = data.properties.id; + } else if (data.id) { + eventId = data.id; + } else if (typeof data === 'string') { + eventId = data; + } + + console.log('📅 Réponse API complète:', data); + console.log('🆔 ID événement extrait:', eventId); + + // Show success message with links + let successMessage = `✅ Événement créé avec succès !`; + if (eventId) { + successMessage += `
    ID: ${eventId}

    + + Voir l'événement + + | + + Retour à la carte + `; + } else { + successMessage += `
    ID d'événement non disponible

    + + Retour à la carte + `; + } + + showFixedResult(successMessage, 'success'); + + // Reset the form + event.target.reset(); + photoFiles = []; + const previewContainer = document.getElementById('photoPreview'); + if (previewContainer) { + previewContainer.innerHTML = ''; + previewContainer.style.display = 'none'; + } + + // Remove marker from map + if (marker) { + marker.remove(); + marker = null; + currentPosition = null; + } + + // Initialize the form again + initForm(); + + // Re-validate form to disable submit button + validateForm(); + } catch (error) { + console.error('❌ Erreur lors de la création d\'événement:', error); + + // Show error message + showFixedResult( + `❌ Erreur lors de la création de l'événement
    ${error.message}`, + 'error' + ); + } finally { + // Re-enable validation after submission is complete + setTimeout(() => { + window.validationEnabled = true; + console.log('🔓 Validation réactivée'); + }, 1000); + } + } + +// Upload photos to Panoramax + async function uploadPhotos(files) { + const urls = []; + + for (const file of files) { + try { + const uploadData = new FormData(); + uploadData.append('file', file); + + const response = await fetch(panoramaxUploadUrl, { + method: 'POST', + headers: { + 'Authorization': `Token ${panoramaxToken}` + }, + body: uploadData + }); + + if (!response.ok) { + console.error('Failed to upload photo:', await response.text()); + continue; + } + + const data = await response.json(); + if (data.url) { + urls.push(data.url); + } + } catch (error) { + console.error('Error uploading photo:', error); + } + } + + return urls; + } + +// Setup form validation + function setupFormValidation() { + const form = document.getElementById('reportForm'); + if (!form) return; + + // Get all form fields that need validation + const requiredFields = [ + {id: 'label', name: 'Description du problème'}, + {id: 'severity', name: 'Gravité'}, + {id: 'start', name: 'Heure de début'}, + {id: 'stop', name: 'Heure de fin'} + ]; + + const optionalFields = [ + {id: 'cause', name: 'Détails supplémentaires'}, + {id: 'where', name: 'Route/Nom du lieu'} + ]; + + // Add event listeners for real-time validation + [...requiredFields, ...optionalFields].forEach(field => { + const element = document.getElementById(field.id); + if (element) { + element.addEventListener('input', validateForm); + element.addEventListener('change', validateForm); + element.addEventListener('blur', validateForm); + } + }); + + // Add listener for map clicks (location validation) + if (map) { + map.on('click', () => { + setTimeout(validateForm, 100); // Small delay to ensure marker is set + }); + } + + // Initial validation + // validateForm(); + } + + + +}); + + +// Clear error message for a field +function clearFieldError(element) { + const existingError = element.parentNode.querySelector('.field-error'); + if (existingError) { + existingError.remove(); + } +} +// Validate the entire form +function validateForm() { + // Skip validation if disabled (during submission) + if (window.validationEnabled === false) { + console.log('⏸️ Validation ignorée (désactivée)'); + return true; + } + + const form = document.getElementById('reportForm'); + const submitButton = document.getElementById('report_issue_button'); + + if (!form || !submitButton) { + console.warn('🔍 Validation: Formulaire ou bouton de soumission non trouvé'); + return false; + } + + console.group('🔍 Validation du formulaire traffic'); + + let isValid = true; + let firstInvalidField = null; + const errors = []; + const validFields = []; + + // Check required fields + const requiredFields = [ + {id: 'label', name: 'Description du problème', minLength: 3}, + {id: 'severity', name: 'Gravité'}, + {id: 'start', name: 'Heure de début'}, + {id: 'stop', name: 'Heure de fin'} + ]; + + console.log('📝 Vérification des champs requis...'); + + requiredFields.forEach(field => { + const element = document.getElementById(field.id); + if (element) { + let fieldValid = true; + let errorMessage = ''; + const value = element.value.trim(); + + // Check if field is empty + if (!value) { + fieldValid = false; + errorMessage = `${field.name} est requis`; + console.error(`❌ ${field.name}: champ vide`); + } + // Check minimum length for text fields + else if (field.minLength && value.length < field.minLength) { + fieldValid = false; + errorMessage = `${field.name} doit contenir au moins ${field.minLength} caractères`; + console.error(`❌ ${field.name}: trop court (${value.length}/${field.minLength} caractères) - "${value}"`); + } else { + console.log(`✅ ${field.name}: OK - "${value}"`); + validFields.push(field.name); + } + + // Visual feedback + if (fieldValid) { + element.classList.remove('error'); + element.classList.add('valid'); + clearFieldError(element); + } else { + element.classList.remove('valid'); + element.classList.add('error'); + showFieldError(element, errorMessage); + isValid = false; + if (!firstInvalidField) { + firstInvalidField = element; + } + errors.push(errorMessage); + } + } else { + console.warn(`⚠️ ${field.name}: élément non trouvé dans le DOM`); + } + }); + + // Check date logic (start time should be before stop time) + console.log('📅 Vérification de la logique des dates...'); + const startElement = document.getElementById('start'); + const stopElement = document.getElementById('stop'); + + if (startElement && stopElement && startElement.value && stopElement.value) { + const startTime = new Date(startElement.value); + const stopTime = new Date(stopElement.value); + + console.log(`📅 Heure début: ${startTime.toLocaleString()}`); + console.log(`📅 Heure fin: ${stopTime.toLocaleString()}`); + + if (startTime >= stopTime) { + stopElement.classList.remove('valid'); + stopElement.classList.add('error'); + showFieldError(stopElement, 'L\'heure de fin doit être après l\'heure de début'); + isValid = false; + if (!firstInvalidField) { + firstInvalidField = stopElement; + } + errors.push('L\'heure de fin doit être après l\'heure de début'); + console.error(`❌ Dates: L'heure de fin (${stopTime.toLocaleString()}) doit être après l'heure de début (${startTime.toLocaleString()})`); + } else { + console.log(`✅ Dates: Logique correcte (durée: ${Math.round((stopTime - startTime) / 1000 / 60)} minutes)`); + validFields.push('Logique des dates'); + } + } else { + console.warn('⚠️ Dates: Impossible de vérifier la logique (éléments ou valeurs manquants)'); + } + + // Check if location is set (marker exists) + console.log('📍 Vérification de la localisation...'); + if (!marker || !marker.getLngLat()) { + isValid = false; + errors.push('Veuillez sélectionner une localisation sur la carte'); + console.error('❌ Localisation: Aucun marqueur placé sur la carte'); + + // Highlight map container + const mapContainer = document.getElementById('map'); + if (mapContainer) { + mapContainer.classList.add('error'); + if (!firstInvalidField) { + firstInvalidField = mapContainer; + } + } + } else { + const lngLat = marker.getLngLat(); + console.log(`✅ Localisation: Marqueur placé à [${lngLat.lng.toFixed(6)}, ${lngLat.lat.toFixed(6)}]`); + validFields.push('Localisation'); + + // Remove error highlight from map + const mapContainer = document.getElementById('map'); + if (mapContainer) { + mapContainer.classList.remove('error'); + } + } + + // Update submit button state + if (isValid) { + submitButton.disabled = false; + submitButton.classList.remove('disabled'); + submitButton.textContent = 'Signaler le problème'; + console.log(`🎉 VALIDATION RÉUSSIE! Tous les champs sont valides:`); + validFields.forEach(field => console.log(` ✅ ${field}`)); + console.log('🔓 Bouton de soumission débloqué'); + } else { + submitButton.disabled = true; + submitButton.classList.add('disabled'); + submitButton.textContent = `Signaler le problème (${errors.length} erreur${errors.length > 1 ? 's' : ''})`; + console.warn(`⚠️ VALIDATION ÉCHOUÉE! ${errors.length} erreur${errors.length > 1 ? 's' : ''} trouvée${errors.length > 1 ? 's' : ''}:`); + errors.forEach((error, index) => console.error(` ${index + 1}. ${error}`)); + console.log('🔒 Bouton de soumission bloqué'); + + if (validFields.length > 0) { + console.log(`Champs valides (${validFields.length}):`); + validFields.forEach(field => console.log(` ✅ ${field}`)); + } + } + + // Focus on first invalid field if validation was triggered by user action + if (!isValid && firstInvalidField && document.activeElement !== firstInvalidField) { + // Only auto-focus if the user isn't currently typing in another field + if (document.activeElement.tagName !== 'INPUT' && document.activeElement.tagName !== 'SELECT') { + firstInvalidField.focus(); + console.log(`🎯 Focus placé sur le premier champ invalide: ${firstInvalidField.id}`); + } + } + + console.groupEnd(); + return isValid; +} + + +// Fill the form with predefined values based on the selected issue type +function fillForm(issueType) { + currentIssueType = issueType; + + console.log('🎯 Remplissage formulaire pour type:', issueType); + + // Get the form elements + const whatInput = document.getElementById('what'); + const labelInput = document.getElementById('label'); + const descriptionInput = document.getElementById('description'); + const typeSelect = document.getElementById('type'); + + if (!whatInput || !labelInput || !descriptionInput) { + console.error('❌ Éléments de formulaire non trouvés'); + return; + } + + // Set default values based on the issue type + switch (issueType) { + // === ROAD TAB === + case 'pothole': + whatInput.value = 'traffic.obstacle'; + labelInput.value = 'Nid de poule'; + descriptionInput.value = 'Nid de poule sur la chaussée'; + typeSelect.value = 'unscheduled'; + break; + case 'obstacle': + whatInput.value = 'traffic.obstacle'; + labelInput.value = 'Obstacle sur la route'; + descriptionInput.value = 'Obstacle sur la chaussée'; + typeSelect.value = 'unscheduled'; + break; + case 'vehicle': + whatInput.value = 'traffic.obstacle'; + labelInput.value = 'Véhicule en panne'; + descriptionInput.value = 'Véhicule arrêté sur le bas côté de la route'; + typeSelect.value = 'unscheduled'; + break; + case 'danger': + whatInput.value = 'traffic.incident'; + labelInput.value = 'Danger sur la route'; + descriptionInput.value = 'Situation dangereuse sur la route'; + typeSelect.value = 'unscheduled'; + break; + case 'accident': + whatInput.value = 'traffic.accident'; + labelInput.value = 'Accident de la route'; + descriptionInput.value = 'Accident de la circulation'; + typeSelect.value = 'unscheduled'; + break; + case 'flooded_road': + whatInput.value = 'traffic.obstacle'; + labelInput.value = 'Route inondée'; + descriptionInput.value = 'Route inondée, circulation difficile ou impossible'; + typeSelect.value = 'unscheduled'; + break; + case 'roadwork': + whatInput.value = 'traffic.roadwork'; + labelInput.value = 'Travaux routiers'; + descriptionInput.value = 'Travaux en cours sur la chaussée'; + typeSelect.value = 'scheduled'; + break; + case 'traffic_jam': + whatInput.value = 'traffic.partially_closed'; + labelInput.value = 'Embouteillage'; + descriptionInput.value = 'Circulation dense, embouteillage'; + typeSelect.value = 'unscheduled'; + break; + + case 'traffic_mammoth': + whatInput.value = 'traffic.mammoth'; + labelInput.value = 'Obstacle'; + descriptionInput.value = 'Circulation dense, mammouth laineux en obstacle'; + typeSelect.value = 'unscheduled'; + break; + + // === RAIL TAB === + case 'rail_delay': + whatInput.value = 'transport.rail.delay'; + labelInput.value = 'Retard de train'; + descriptionInput.value = 'Retard important sur la ligne ferroviaire'; + typeSelect.value = 'unscheduled'; + break; + case 'rail_cancellation': + whatInput.value = 'transport.rail.cancellation'; + labelInput.value = 'Train annulé'; + descriptionInput.value = 'Annulation de service ferroviaire'; + typeSelect.value = 'unscheduled'; + break; + case 'rail_works': + whatInput.value = 'transport.rail.works'; + labelInput.value = 'Travaux ferroviaires'; + descriptionInput.value = 'Travaux de maintenance sur la voie ferrée'; + typeSelect.value = 'scheduled'; + break; + case 'rail_incident': + whatInput.value = 'transport.rail.incident'; + labelInput.value = 'Incident ferroviaire'; + descriptionInput.value = 'Incident technique sur la ligne'; + typeSelect.value = 'unscheduled'; + break; + + // === WEATHER TAB === + case 'weather_storm': + whatInput.value = 'weather.storm'; + labelInput.value = 'Orage'; + descriptionInput.value = 'Conditions météorologiques orageuses'; + typeSelect.value = 'forecast'; + break; + case 'weather_flood': + whatInput.value = 'weather.flood'; + labelInput.value = 'Inondation'; + descriptionInput.value = 'Inondation affectant la circulation'; + typeSelect.value = 'unscheduled'; + break; + case 'weather_snow': + whatInput.value = 'weather.snow'; + labelInput.value = 'Chutes de neige'; + descriptionInput.value = 'Conditions de neige affectant la circulation'; + typeSelect.value = 'forecast'; + break; + case 'weather_fog': + whatInput.value = 'weather.fog'; + labelInput.value = 'Brouillard dense'; + descriptionInput.value = 'Brouillard réduisant la visibilité'; + typeSelect.value = 'forecast'; + break; + case 'weather_heat': + whatInput.value = 'weather.heat'; + labelInput.value = 'Canicule'; + descriptionInput.value = 'Températures extrêmes, risques de déformation de chaussée'; + typeSelect.value = 'forecast'; + break; + + // === EMERGENCY TAB === + case 'emergency_fire': + whatInput.value = 'emergency.fire'; + labelInput.value = 'Incendie'; + descriptionInput.value = 'Incendie nécessitant une intervention des secours'; + typeSelect.value = 'unscheduled'; + break; + case 'emergency_medical': + whatInput.value = 'emergency.medical'; + labelInput.value = 'Urgence médicale'; + descriptionInput.value = 'Intervention médicale d\'urgence'; + typeSelect.value = 'unscheduled'; + break; + case 'emergency_police': + whatInput.value = 'emergency.police'; + labelInput.value = 'Intervention police'; + descriptionInput.value = 'Intervention des forces de l\'ordre'; + typeSelect.value = 'unscheduled'; + break; + case 'emergency_evacuation': + whatInput.value = 'emergency.evacuation'; + labelInput.value = 'Évacuation'; + descriptionInput.value = 'Évacuation de zone pour raisons de sécurité'; + typeSelect.value = 'unscheduled'; + break; + + // === CIVIC TAB === + case 'civic_bike_lane': + whatInput.value = 'civic.infrastructure.bike'; + labelInput.value = 'Problème piste cyclable'; + descriptionInput.value = 'Dégradation ou obstacle sur piste cyclable'; + typeSelect.value = 'unscheduled'; + break; + case 'civic_sidewalk': + whatInput.value = 'civic.infrastructure.pedestrian'; + labelInput.value = 'Problème trottoir'; + descriptionInput.value = 'Dégradation ou obstacle sur trottoir'; + typeSelect.value = 'unscheduled'; + break; + case 'civic_lighting': + whatInput.value = 'civic.infrastructure.lighting'; + labelInput.value = 'Éclairage défectueux'; + descriptionInput.value = 'Éclairage public en panne ou défaillant'; + typeSelect.value = 'unscheduled'; + break; + case 'civic_garbage': + whatInput.value = 'civic.sanitation.garbage'; + labelInput.value = 'Problème de déchets'; + descriptionInput.value = 'Déchets non collectés ou dépôt sauvage'; + typeSelect.value = 'unscheduled'; + break; + + // === DEFAULT CASE === + default: + console.warn('⚠️ Type d\'événement non reconnu:', issueType); + whatInput.value = 'traffic.incident'; + labelInput.value = 'Incident de circulation'; + descriptionInput.value = 'Incident affectant la circulation'; + typeSelect.value = 'unscheduled'; + } + + console.log('✅ Formulaire rempli:', { + what: whatInput.value, + label: labelInput.value, + type: typeSelect.value + }); + + // Trigger validation after form is filled + validateForm(); + + // Scroll to the form + const formElement = document.getElementById('reportForm'); + if (formElement) { + formElement.scrollIntoView({behavior: 'smooth'}); + + // Focus on first empty field or description for additional details + setTimeout(() => { + const descTextarea = document.getElementById('description'); + if (descTextarea) { + descTextarea.focus(); + // Position cursor at end of existing text + descTextarea.setSelectionRange(descTextarea.value.length, descTextarea.value.length); + } + }, 500); + } +} + +// Show error message for a field +function showFieldError(element, message) { + // Remove existing error message + clearFieldError(element); + + // Create error message element + const errorDiv = document.createElement('div'); + errorDiv.className = 'field-error'; + errorDiv.textContent = message; + + // Insert error message after the field + element.parentNode.insertBefore(errorDiv, element.nextSibling); +} + +// Show fixed result message at bottom of screen +function showFixedResult(message, type) { + let resultElement = document.getElementById('result'); + + if (!resultElement) { + // Create result element if it doesn't exist + resultElement = document.createElement('div'); + resultElement.id = 'result'; + document.body.appendChild(resultElement); + } + + // Style the element as fixed at bottom + resultElement.style.cssText = ` + position: fixed; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + z-index: 10000; + max-width: 90%; + width: auto; + min-width: 300px; + padding: 15px 45px 15px 15px; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + font-family: Arial, sans-serif; + font-size: 14px; + line-height: 1.4; + display: block; + `; + + // Set colors based on type + let bgColor, textColor, borderColor; + switch (type) { + case 'success': + bgColor = '#d4edda'; + textColor = '#155724'; + borderColor = '#c3e6cb'; + break; + case 'error': + bgColor = '#f8d7da'; + textColor = '#721c24'; + borderColor = '#f5c6cb'; + break; + case 'loading': + bgColor = '#d1ecf1'; + textColor = '#0c5460'; + borderColor = '#bee5eb'; + break; + default: + bgColor = '#e2e3e5'; + textColor = '#383d41'; + borderColor = '#d6d8db'; + } + + resultElement.style.backgroundColor = bgColor; + resultElement.style.color = textColor; + resultElement.style.border = `1px solid ${borderColor}`; + + // Add close button + const closeButton = document.createElement('span'); + closeButton.innerHTML = '×'; + closeButton.style.cssText = ` + position: absolute; + top: 8px; + right: 12px; + font-size: 20px; + font-weight: bold; + cursor: pointer; + color: ${textColor}; + opacity: 0.7; + line-height: 1; + `; + + closeButton.addEventListener('click', function() { + resultElement.style.display = 'none'; + }); + + closeButton.addEventListener('mouseenter', function() { + this.style.opacity = '1'; + }); + + closeButton.addEventListener('mouseleave', function() { + this.style.opacity = '0.7'; + }); + + // Set message content + resultElement.innerHTML = message; + resultElement.appendChild(closeButton); + + // Auto-hide loading messages after 10 seconds + if (type === 'loading') { + setTimeout(() => { + if (resultElement.style.display !== 'none') { + resultElement.style.display = 'none'; + } + }, 10000); + } + + console.log(`📢 Message fixe affiché (${type}):`, message); +} diff --git a/oedb/resources/demo/static/traffic_tabs.js b/oedb/resources/demo/static/traffic_tabs.js new file mode 100644 index 0000000..63c3a09 --- /dev/null +++ b/oedb/resources/demo/static/traffic_tabs.js @@ -0,0 +1,63 @@ +// traffic_tabs.js - Handle query parameters for tab selection in traffic.html + +document.addEventListener('DOMContentLoaded', function() { + // Get all tab items + const tabItems = document.querySelectorAll('.tab-item'); + + // Function to activate a tab + function activateTab(tabName) { + // Find the tab item with the given tab name + const tabItem = document.querySelector(`.tab-item[data-tab="${tabName}"]`); + if (!tabItem) return; + + // Remove active class from all tab items + tabItems.forEach(item => item.classList.remove('active')); + + // Add active class to the selected tab item + tabItem.classList.add('active'); + + // Get all tab panes + const tabPanes = document.querySelectorAll('.tab-pane'); + + // Remove active class from all tab panes + tabPanes.forEach(pane => pane.classList.remove('active')); + + // Add active class to the corresponding tab pane + document.getElementById(tabName + '-tab').classList.add('active'); + + // Save active tab to localStorage + localStorage.setItem('activeTab', tabName); + + // Update URL with query parameter + const url = new URL(window.location.href); + url.searchParams.set('tab', tabName); + history.replaceState(null, '', url); + } + + // Add click event listener to each tab item + tabItems.forEach(tab => { + tab.addEventListener('click', function() { + // Get the tab name from data-tab attribute + const tabName = this.getAttribute('data-tab'); + + // Activate the tab + activateTab(tabName); + }); + }); + + // Check for tab query parameter + const urlParams = new URLSearchParams(window.location.search); + const tabParam = urlParams.get('tab'); + + if (tabParam) { + // Activate the tab from query parameter + activateTab(tabParam); + } else { + // Restore active tab from localStorage if no query parameter + const activeTab = localStorage.getItem('activeTab'); + if (activeTab) { + // Activate the tab from localStorage + activateTab(activeTab); + } + } +}); \ No newline at end of file diff --git a/oedb/resources/demo/static/view_events.js b/oedb/resources/demo/static/view_events.js new file mode 100644 index 0000000..6b034dc --- /dev/null +++ b/oedb/resources/demo/static/view_events.js @@ -0,0 +1,174 @@ +// view_events.js - JavaScript for the view saved events page + +// Global variables +let map; +let markers = []; + +// Initialize the map when the page loads +document.addEventListener('DOMContentLoaded', function() { + initMap(); + + // Set up refresh button + const refreshBtn = document.getElementById('refresh-btn'); + if (refreshBtn) { + refreshBtn.addEventListener('click', loadEvents); + } + + // Set up clear button + const clearBtn = document.getElementById('clear-btn'); + if (clearBtn) { + clearBtn.addEventListener('click', clearEvents); + } +}); + +// Initialize the map +function initMap() { + // Create the map + map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.2137, 46.2276], // Default center (center of metropolitan France) + zoom: 5 + }); + + // Add navigation controls + map.addControl(new maplibregl.NavigationControl()); + + // Add attribution control with OpenStreetMap attribution + map.addControl(new maplibregl.AttributionControl({ + customAttribution: '© OpenStreetMap contributors' + })); + + // Load events when the map is loaded + map.on('load', function() { + loadEvents(); + }); +} + +// Function to load events from localStorage +function loadEvents() { + // Clear existing markers + markers.forEach(marker => marker.remove()); + markers = []; + + // Get events from localStorage + const savedEvents = JSON.parse(localStorage.getItem('oedb_events') || '[]'); + + // Update event count + document.getElementById('event-count').textContent = + `${savedEvents.length} event${savedEvents.length !== 1 ? 's' : ''} found`; + + // Clear event list + const eventList = document.getElementById('event-list'); + eventList.innerHTML = ''; + + // If no events, show message + if (savedEvents.length === 0) { + eventList.innerHTML = '
    No saved events found. Use the demo map to save events.
    '; + return; + } + + // Create bounds object to fit map to all markers + const bounds = new maplibregl.LngLatBounds(); + + // Add markers and list items for each event + savedEvents.forEach((event, index) => { + // Skip events without geometry + if (!event.geometry || !event.geometry.coordinates) return; + + // Get coordinates + const coordinates = event.geometry.coordinates; + + // Add marker to map + const marker = new maplibregl.Marker() + .setLngLat(coordinates) + .addTo(map); + + // Add popup with event info + const popup = new maplibregl.Popup({ offset: 25 }) + .setHTML(` +

    ${event.label || 'Unnamed Event'}

    +

    Type: ${event.what || 'Unknown'}

    +

    Start: ${formatDate(event.start)}

    +

    End: ${formatDate(event.stop)}

    + ${event.description ? `

    Description: ${event.description}

    ` : ''} + + `); + + marker.setPopup(popup); + markers.push(marker); + + // Extend bounds to include this marker + bounds.extend(coordinates); + + // Add to event list + const eventItem = document.createElement('div'); + eventItem.className = 'event-item'; + eventItem.innerHTML = ` +
    +

    ${event.label || 'Unnamed Event'}

    +
    + + +
    +
    +
    +

    Type: ${event.what || 'Unknown'}

    +

    When: ${formatDate(event.start)} to ${formatDate(event.stop)}

    + ${event.description ? `

    Description: ${event.description}

    ` : ''} +
    + `; + eventList.appendChild(eventItem); + }); + + // Fit map to bounds if we have any markers + if (!bounds.isEmpty()) { + map.fitBounds(bounds, { padding: 50 }); + } +} + +// Format date for display +function formatDate(dateString) { + if (!dateString) return 'Unknown'; + + const date = new Date(dateString); + return date.toLocaleString(); +} + +// Zoom to a specific event +function zoomToEvent(lng, lat) { + map.flyTo({ + center: [lng, lat], + zoom: 14 + }); +} + +// Delete an event +function deleteEvent(index) { + // Get events from localStorage + const savedEvents = JSON.parse(localStorage.getItem('oedb_events') || '[]'); + + // Remove the event at the specified index + savedEvents.splice(index, 1); + + // Save the updated events back to localStorage + localStorage.setItem('oedb_events', JSON.stringify(savedEvents)); + + // Reload the events + loadEvents(); +} + +// Clear all events +function clearEvents() { + if (confirm('Are you sure you want to delete all saved events?')) { + // Clear events from localStorage + localStorage.removeItem('oedb_events'); + + // Reload the events + loadEvents(); + } +} \ No newline at end of file diff --git a/oedb/resources/demo/templates/by_what.html b/oedb/resources/demo/templates/by_what.html new file mode 100644 index 0000000..99f220b --- /dev/null +++ b/oedb/resources/demo/templates/by_what.html @@ -0,0 +1,65 @@ +{% extends "layout.html" %} + +{% block title %}Events by Type - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Events by Type{% endblock %} + +{% block content %} +

    This page lists all events from the OpenEventDatabase organized by their type.

    + +{% if events_by_what %} + +

    Quick Navigation

    +
      + {% for what_type in sorted_what_types %} +
    • + {{ what_type }} + ({{ events_by_what[what_type]|length }} events) +
    • + {% endfor %} +
    + + + {% for what_type in sorted_what_types %} +

    + {{ what_type }} + ({{ events_by_what[what_type]|length }} events) +

    +
      + {% for event in events_by_what[what_type]|sort(attribute='label') %} +
    • + {% set event_name = event.name or event.title or event.short_description or event.label or 'Unnamed Event' %} + {{ event_name }} + {% if event.label and event.label != event_name %} + ({{ event.label }}) + {% endif %} + {% if event.short_description and event.short_description != event_name and event.short_description != event.label %} + - {{ event.short_description }} + {% endif %} + + [map] + +
    • + {% endfor %} +
    + {% endfor %} +{% else %} +

    No events found in the database.

    +{% endif %} +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/edit.html b/oedb/resources/demo/templates/edit.html new file mode 100644 index 0000000..5fb116b --- /dev/null +++ b/oedb/resources/demo/templates/edit.html @@ -0,0 +1,200 @@ +{% extends "layout.html" %} + +{% block title %}Edit Event - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block head %} + + + + + + +{% endblock %} + +{% block header %}Edit Event{% endblock %} + +{% block content %} +
    +

    Propriétés actuelles de l'événement

    +
    + + + + + + + + + + + +
    PropriétéValeurType
    +
    +
    + +
    + + +
    + + +
    + +
    +
    + + +
    + +
    + + +
    + Category of the event (e.g., sport.match.football, culture.festival)
    + 💡 Tapez au moins 2 caractères pour voir les suggestions avec emojis +
    +
    +
    + +
    +
    + + +
    Series or group the event belongs to (e.g., Euro 2024, Summer Festival 2023)
    +
    + +
    + + +
    Specific location name (e.g., Eiffel Tower, Wembley Stadium)
    +
    +
    + +
    +
    + + +
    + +
    + + +
    +
    + +
    + +
    +
    Click on the map to set the event location
    +
    + + + Utile si les coordonnées longitude/latitude ont été inversées + +
    +
    + +
    + + +
    +
    + +
    +{% endblock %} + +{% block scripts %} + + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/event_details.html b/oedb/resources/demo/templates/event_details.html new file mode 100644 index 0000000..8f2b60f --- /dev/null +++ b/oedb/resources/demo/templates/event_details.html @@ -0,0 +1,354 @@ +{% extends "layout.html" %} + +{% block title %}Événement {{ properties.name or properties.title or properties.short_description or properties.label or id }} - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %} +
    + {% set event_title = properties.name or properties.title or properties.short_description or properties.label or 'Événement sans titre' %} +

    {{ event_title }}

    + {% if properties.label and properties.label != event_title %} +

    {{ properties.label }}

    + {% endif %} + {% if properties.short_description and properties.short_description != event_title and properties.short_description != properties.label %} +

    {{ properties.short_description }}

    + {% endif %} +

    ID: {{ id }}

    + +
    +{% endblock %} + +{% block content %} +
    + + Chargement de la carte... +
    + + + +
    +
    +

    Propriétés de l'événement

    +
    + + + + + + + + + {% for key, value in properties.items()|sort %} + + + + + {% endfor %} + +
    PropriétéValeur
    {{ key }} + {% if key == 'what' %} + + {{ value }} + + + Cliquez pour voir tous les événements de ce type + + {% elif key in ['start', 'stop', 'createdate', 'lastupdate'] and value %} + {{ value }} + + {{ value }} + + + {% elif key == 'url' and value %} + + {{ value }} + + + {% elif value is string and value.startswith('http') %} + + {{ value }} + + + {% else %} + {{ value|safe if value else '-' }} + {% endif %} +
    +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/layout.html b/oedb/resources/demo/templates/layout.html new file mode 100644 index 0000000..9789039 --- /dev/null +++ b/oedb/resources/demo/templates/layout.html @@ -0,0 +1,51 @@ + + + + + + {% block title %}OpenEventDatabase{% endblock %} + + + + + + {% block css %}{% endblock %} + + + + + + + + {% block head %}{% endblock %} + + +
    + + {% include 'partials/demo_nav.html' %} + + +
    +

    {% block header %}OpenEventDatabase{% endblock %}

    +
    + + +
    + {% block content %}{% endblock %} +
    + + + +
    + + + + + + {% block scripts %}{% endblock %} + + \ No newline at end of file diff --git a/oedb/resources/demo/templates/map_by_what.html b/oedb/resources/demo/templates/map_by_what.html new file mode 100644 index 0000000..c52627a --- /dev/null +++ b/oedb/resources/demo/templates/map_by_what.html @@ -0,0 +1,36 @@ +{% extends "layout.html" %} + +{% block title %}Map by Event Type - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Map by Event Type{% endblock %} + +{% block content %} +
    + +
    +

    This map shows events from the OpenEventDatabase filtered by their type.

    +

    Use the filter panel on the right to show/hide different event types.

    +
    +

    Loading events...

    +
    +
    + +
    +

    Filter by Event Type

    +
    + + +
    +
      +
    • Loading event types...
    • +
    +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/map_by_what_type.html b/oedb/resources/demo/templates/map_by_what_type.html new file mode 100644 index 0000000..a2448e4 --- /dev/null +++ b/oedb/resources/demo/templates/map_by_what_type.html @@ -0,0 +1,533 @@ + + + + + + Événements {{ event_type_label }} - OpenEventDatabase + + + + + + + + + + + + +
    +

    + + Événements {{ event_type_label }} +

    +

    Visualisation et liste détaillée des événements de type "{{ event_type }}"

    + + +
    + +
    +
    +
    +
    + +
    +
    +

    Liste des événements

    + +
    +
    +
    + Passés +
    +
    +
    + En cours +
    +
    +
    + À venir +
    +
    + +
    + Total: 0 + Passés: 0 + En cours: 0 + À venir: 0 +
    +
    + +
    +
    + + Chargement des événements... +
    + + + + + + + + + + + + + + + + +
    +
    +
    + + + + diff --git a/oedb/resources/demo/templates/partials/demo_nav.html b/oedb/resources/demo/templates/partials/demo_nav.html new file mode 100644 index 0000000..32420a4 --- /dev/null +++ b/oedb/resources/demo/templates/partials/demo_nav.html @@ -0,0 +1,25 @@ + + + diff --git a/oedb/resources/demo/templates/property_stats.html b/oedb/resources/demo/templates/property_stats.html new file mode 100644 index 0000000..cce00ab --- /dev/null +++ b/oedb/resources/demo/templates/property_stats.html @@ -0,0 +1,177 @@ +{% extends "layout.html" %} + +{% block title %}Statistiques des propriétés - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Statistiques des propriétés des événements{% endblock %} + +{% block content %} +
    + + +
    + Basé sur les {{ total_events }} derniers événements de la base de données +
    + +
    +

    Résumé

    +
    +
    + Nombre total d'événements analysés:
    + {{ total_events }} +
    +
    + Propriétés uniques trouvées:
    + {{ unique_properties }} +
    +
    + Propriété la plus commune:
    + {% if property_stats %} + {{ property_stats[0][0] }}
    + ({{ property_stats[0][1] }} occurrences) + {% else %} + Aucune donnée + {% endif %} +
    +
    +
    + + {% if property_stats %} + + + + + + + + + + + {% for property_name, count in property_stats %} + + + + + + + {% endfor %} + +
    RangNom de la propriétéOccurrencesPourcentage
    {{ loop.index }}{{ property_name }}{{ count }}{{ "%.1f"|format((count / total_events * 100)) }}%
    + {% else %} +
    +

    Aucune donnée disponible

    +

    Impossible de récupérer les statistiques des propriétés pour le moment.

    +
    + {% endif %} + + +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} diff --git a/oedb/resources/demo/templates/search.html b/oedb/resources/demo/templates/search.html new file mode 100644 index 0000000..63a4917 --- /dev/null +++ b/oedb/resources/demo/templates/search.html @@ -0,0 +1,166 @@ +{% extends "layout.html" %} + +{% block title %}Search Events - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block head %} + + + +{% endblock %} + +{% block header %}Search Events{% endblock %} + +{% block content %} +
    +
    +
    + + +
    Category of the event (e.g., sport.match.football, culture.festival)
    +
    + +
    + + +
    +
    + +
    +
    + + +
    + + + + +
    + +
    +
    + + +
    Search for events near a specific location (e.g., 2.3522,48.8566,10000 for events within 10km of Paris)
    +
    + +
    + + +
    Search for events within a geographic bounding box
    +
    +
    + +
    +
    + + +
    Search for events associated with a specific OpenStreetMap ID
    +
    + +
    + + +
    Search for events associated with a specific Wikidata ID
    +
    +
    + +
    +
    + + +
    Maximum number of results to return (default: 200)
    +
    + +
    + + +
    Controls the level of detail in the geometry portion of the response
    +
    +
    + +
    + +
    +
    Draw a polygon on the map to define the search area, or use the form fields above
    +
    + + +
    + +
    + + +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/stats.html b/oedb/resources/demo/templates/stats.html new file mode 100644 index 0000000..787d941 --- /dev/null +++ b/oedb/resources/demo/templates/stats.html @@ -0,0 +1,74 @@ +{% extends "layout.html" %} + +{% block title %}Stats par type - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Statistiques par type d'évènement (what){% endblock %} + +{% block content %} +

    Total: {{ total_events }} évènements

    + + + + + + + + + + {% for what, count in counts %} + + + + + + {% endfor %} + +
    Type (what)NombreActions
    {{ what }}{{ count }} + Voir JSON + Voir sur la carte +
    + +{% if selected_what %} +

    Carte: {{ selected_what }}

    +
    +{% endif %} +{% endblock %} + +{% block scripts %} +{% if selected_what %} + +{% endif %} +{% endblock %} + diff --git a/oedb/resources/demo/templates/traffic.html b/oedb/resources/demo/templates/traffic.html index ce614dd..e077091 100644 --- a/oedb/resources/demo/templates/traffic.html +++ b/oedb/resources/demo/templates/traffic.html @@ -4,20 +4,19 @@ Report Traffic Jam - OpenEventDatabase + + + +
    - + {% include 'partials/demo_nav.html' %}

    Report Road Issue

    @@ -25,6 +24,9 @@ + + +
    @@ -46,17 +48,15 @@ {% endif %} @@ -67,16 +67,19 @@
    - Road + Route
    Rail
    - Weather + Météo
    - Emergency + Urgences +
    +
    + Cycles
    @@ -95,7 +98,7 @@
    - Vehicle on Side + Véhicule sur le bas côté de la route
    @@ -107,15 +110,15 @@
    - Flooded Road + Route inondée
    - Roadwork + Travaux
    - Black Traffic + journée noire bison futé
    @@ -125,15 +128,15 @@
    - Unattended Luggage + Bagage abandonné
    - Delay + Retard
    - Major Delay + Retard important
    @@ -143,15 +146,15 @@
    - Flood Alert + Vigilance rouge inondation
    - Thunderstorm + Vigilance orange orages
    - Fog Warning + Vigilance jaune brouillard
    @@ -161,24 +164,66 @@
    - Emergency Alert + Alerte d'urgence (SAIP)
    - Daylight Saving + Période d'heure d'été +
    +
    +
    + + +
    +
    +
    + + Obstacle vélo +
    +
    + + Décharge sauvage
    -
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    @@ -186,50 +231,56 @@
    - +
    - +
    - +
    - +
    - +
    -
    Click on the map to set the issue location or use the "Get My Current Location" button
    +
    + + Cliquez pour vous géolocaliser +
    +
    Cliquez sur la carte pour définir la localisation du problème ou utilisez le bouton de géolocalisation
    - +
    - View All Saved Events on Map + Voir tous les événements enregistrés sur la carte
    @@ -242,9 +293,9 @@ // Set start time to current time document.getElementById('start').value = nowISO; - // Set end time to current time + 1 hour - const oneHourLater = new Date(now.getTime() + 60 * 60 * 1000); - document.getElementById('stop').value = oneHourLater.toISOString().slice(0, 16); + // Set end time to current time + 6 hours (durée par défaut des signalements) + const sixHoursLater = new Date(now.getTime() + 6 * 60 * 60 * 1000); + document.getElementById('stop').value = sixHoursLater.toISOString().slice(0, 16); } // Call function to set default dates @@ -296,7 +347,7 @@ // Initialize the map const map = new maplibregl.Map({ container: 'map', - style: 'https://demotiles.maplibre.org/style.json', + style: 'https://tiles.openfreemap.org/styles/liberty', center: [2.2137, 46.2276], // Default center (center of metropolitan France) zoom: 5 }); @@ -442,6 +493,18 @@ let markerColor = '#ff3860'; // Default red color switch(issueType) { + case 'bike_obstacle': + labelInput.value = 'Obstacle vélo'; + issueTypeInput.value = 'mobility.cycling.obstacle'; + severitySelect.value = 'medium'; + markerColor = '#388e3c'; // Green + break; + case 'illegal_dumping': + labelInput.value = 'Décharge sauvage'; + issueTypeInput.value = 'environment.dumping.illegal'; + severitySelect.value = 'medium'; + markerColor = '#795548'; // Brown + break; case 'pothole': labelInput.value = 'Nid de poule'; issueTypeInput.value = 'traffic.hazard.pothole'; @@ -561,10 +624,14 @@ } // Handle geolocation button click - document.getElementById('geolocateBtn').addEventListener('click', function() { - // Show loading spinner - document.getElementById('geolocateSpinner').style.display = 'inline-block'; + document.getElementById('geolocateMapBtn').addEventListener('click', function() { + // Update button text and disable it + const originalText = this.textContent; + this.textContent = '📍 Localisation en cours...'; this.disabled = true; + + const statusElement = document.getElementById('geolocateStatus'); + statusElement.textContent = 'Localisation en cours...'; // Check if geolocation is available if (navigator.geolocation) { @@ -583,12 +650,17 @@ zoom: 14 }); - // Hide loading spinner - document.getElementById('geolocateSpinner').style.display = 'none'; - document.getElementById('geolocateBtn').disabled = false; - + // Reset button + document.getElementById('geolocateMapBtn').textContent = '📍 Position obtenue'; + document.getElementById('geolocateMapBtn').disabled = false; + document.getElementById('geolocateMapBtn').style.backgroundColor = '#28a745'; + + const statusElement = document.getElementById('geolocateStatus'); + statusElement.textContent = `Position: ${lat.toFixed(4)}, ${lng.toFixed(4)}`; + statusElement.style.color = '#28a745'; + // Show success message - showResult('Current location detected successfully', 'success'); + showResult('Position actuelle détectée avec succès', 'success'); // Validate form after setting marker validateForm(); @@ -623,26 +695,34 @@ }, // Error callback function(error) { - // Hide loading spinner - document.getElementById('geolocateSpinner').style.display = 'none'; - document.getElementById('geolocateBtn').disabled = false; - + // Reset button + document.getElementById('geolocateMapBtn').textContent = '📍 Réessayer la géolocalisation'; + document.getElementById('geolocateMapBtn').disabled = false; + document.getElementById('geolocateMapBtn').style.backgroundColor = '#dc3545'; + + const statusElement = document.getElementById('geolocateStatus'); + // Show error message - let errorMsg = 'Unable to get your location. '; + let errorMsg = 'Impossible d\'obtenir votre position. '; switch(error.code) { case error.PERMISSION_DENIED: - errorMsg += 'You denied the request for geolocation.'; + errorMsg += 'Vous avez refusé la demande de géolocalisation.'; + statusElement.textContent = 'Permission refusée'; break; case error.POSITION_UNAVAILABLE: - errorMsg += 'Location information is unavailable.'; + errorMsg += 'Les informations de position ne sont pas disponibles.'; + statusElement.textContent = 'Position indisponible'; break; case error.TIMEOUT: - errorMsg += 'The request to get your location timed out.'; + errorMsg += 'La demande de géolocalisation a expiré.'; + statusElement.textContent = 'Temps dépassé'; break; case error.UNKNOWN_ERROR: - errorMsg += 'An unknown error occurred.'; + errorMsg += 'Une erreur inconnue s\'est produite.'; + statusElement.textContent = 'Erreur inconnue'; break; } + statusElement.style.color = '#dc3545'; showResult(errorMsg, 'error'); }, // Options @@ -653,12 +733,17 @@ } ); } else { - // Hide loading spinner - document.getElementById('geolocateSpinner').style.display = 'none'; - document.getElementById('geolocateBtn').disabled = false; - + // Reset button + document.getElementById('geolocateMapBtn').textContent = '📍 Non supporté'; + document.getElementById('geolocateMapBtn').disabled = true; + document.getElementById('geolocateMapBtn').style.backgroundColor = '#6c757d'; + + const statusElement = document.getElementById('geolocateStatus'); + statusElement.textContent = 'Géolocalisation non supportée'; + statusElement.style.color = '#dc3545'; + // Show error message - showResult('Geolocation is not supported by your browser', 'error'); + showResult('La géolocalisation n\'est pas supportée par votre navigateur', 'error'); } }); @@ -721,8 +806,64 @@ setTimeout(validateForm, 100); }); + // Photo preview + const photoInput = document.getElementById('photo'); + if (photoInput) { + photoInput.addEventListener('change', function() { + const file = this.files && this.files[0]; + if (!file) { + document.getElementById('photoPreviewContainer').style.display = 'none'; + return; + } + const url = URL.createObjectURL(file); + const img = document.getElementById('photoPreview'); + img.src = url; + document.getElementById('photoPreviewContainer').style.display = 'block'; + }); + } + + async function uploadPhotoIfConfigured(file, lng, lat, isoDatetime) { + try { + const uploadUrl = document.getElementById('panoramaxUploadUrl')?.value || ''; + const token = document.getElementById('panoramaxToken')?.value || ''; + if (!uploadUrl || !file) { + return null; // pas configuré ou pas de fichier + } + const form = new FormData(); + form.append('file', file, file.name || 'photo.jpg'); + // Métadonnées géo/temps standard + if (typeof lng === 'number' && typeof lat === 'number') { + form.append('lon', String(lng)); + form.append('lat', String(lat)); + } + if (isoDatetime) { + form.append('datetime', isoDatetime); + } + const headers = {}; + if (token) { + headers['Authorization'] = `Bearer ${token}`; + } + const res = await fetch(uploadUrl, { method: 'POST', headers, body: form }); + if (!res.ok) { + const t = await res.text(); + throw new Error(t || `Upload failed (${res.status})`); + } + const data = await res.json().catch(() => ({})); + // On essaie de normaliser quelques champs courants + return { + id: data.id || data.uuid || data.photo_id || null, + url: data.url || data.permalink || data.link || null, + raw: data + }; + } catch (err) { + console.error('Panoramax upload error:', err); + showResult(`Erreur upload photo: ${err.message}`, 'error'); + return null; + } + } + // Handle form submission - document.getElementById('trafficForm').addEventListener('submit', function(e) { + document.getElementById('trafficForm').addEventListener('submit', async function(e) { e.preventDefault(); // Validate form before submission @@ -795,6 +936,18 @@ console.log(`Including OSM username in report: ${osmUsernameValue}`); } + // Upload photo to Panoramax si configuré + let photoInfo = null; + const photoFile = (photoInput && photoInput.files && photoInput.files[0]) ? photoInput.files[0] : null; + if (photoFile) { + photoInfo = await uploadPhotoIfConfigured(photoFile, lngLat.lng, lngLat.lat, start); + if (photoInfo) { + event.properties['photo:service'] = 'panoramax'; + if (photoInfo.id) event.properties['photo:id'] = String(photoInfo.id); + if (photoInfo.url) event.properties['photo:url'] = photoInfo.url; + } + } + // Save event to localStorage saveEventToLocalStorage(event); @@ -1081,9 +1234,9 @@ // Update the content userInfoPanel.innerHTML = ` -

    User Information

    -

    Username: ${username}

    -

    Points: ${points}

    + +

    ${username}

    +

    ${points} points

    `; } diff --git a/oedb/resources/demo/templates/traffic_new.html b/oedb/resources/demo/templates/traffic_new.html new file mode 100644 index 0000000..e6d7a56 --- /dev/null +++ b/oedb/resources/demo/templates/traffic_new.html @@ -0,0 +1,279 @@ +{% extends "layout.html" %} + +{% block title %}Report Traffic Jam - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Report Road Issue{% endblock %} + +{% block content %} + + + + + + + + + +
    + {% if is_authenticated %} +
    +
    +

    Logged in as {{ osm_username }}

    +

    View OSM Profile

    + + +
    +
    + {% else %} +

    Authenticate with your OpenStreetMap account to include your username in the traffic report.

    + + {% endif %} + + +
    + +

    Select Issue Type

    + + +
    +
    + Route +
    +
    + Rail +
    +
    + Météo +
    +
    + Urgences +
    +
    + Cycles +
    +
    + + +
    + +
    +
    +
    + + Pothole +
    +
    + + Obstacle +
    +
    + + Véhicule sur le bas côté de la route +
    +
    + + Danger +
    +
    + + Accident +
    +
    + + Route inondée +
    +
    + + Travaux +
    +
    + + Embouteillage +
    +
    + + Mammouth +
    +
    +
    + + +
    +
    +
    + + Retard +
    +
    + + Annulation +
    +
    + + Travaux +
    +
    + + Incident +
    +
    +
    + + +
    +
    +
    + + Orage +
    +
    + + Inondation +
    +
    + + Neige +
    +
    + + Brouillard +
    +
    + + Canicule +
    +
    +
    + + +
    +
    +
    + + Incendie +
    +
    + + Urgence médicale +
    +
    + + Intervention police +
    +
    + + Évacuation +
    +
    +
    + + +
    +
    +
    + + Problème piste cyclable +
    +
    + + Problème trottoir +
    +
    + + Éclairage défectueux +
    +
    + + Déchets +
    +
    +
    +
    + +

    Report Details

    + +
    +
    + + +
    Catégorie de l'événement (e.g., road.hazard.pothole, road.traffic.jam)
    +
    + +
    + + +
    + +
    + + +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    + +
    + + +
    +
    + + + + + + + + +
    + +
    +
    Cliquez sur la carte pour définir la localisation du problème ou utilisez le bouton "Obtenir ma position actuelle"
    +
    + + +
    + +
    + + + Voir tous les événements enregistrés sur la carte + +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/templates/view_events.html b/oedb/resources/demo/templates/view_events.html index e5b5c42..23a0447 100644 --- a/oedb/resources/demo/templates/view_events.html +++ b/oedb/resources/demo/templates/view_events.html @@ -28,11 +28,7 @@

    Your Saved Events

    - - + {% include 'partials/demo_nav.html' %}
    @@ -77,7 +73,7 @@ // Initialize the map const map = new maplibregl.Map({ container: 'map', - style: 'https://demotiles.maplibre.org/style.json', + style: 'https://tiles.openfreemap.org/styles/liberty', center: [2.2137, 46.2276], // Default center (center of metropolitan France) zoom: 5 }); @@ -140,7 +136,7 @@ // Get event properties const properties = event.properties; const coordinates = event.geometry.coordinates; - const label = properties.label || 'Unnamed Event'; + const label = properties.name || properties.title || properties.short_description || properties.label || 'Unnamed Event'; const what = properties.what || 'unknown'; const timestamp = event.timestamp ? new Date(event.timestamp) : new Date(); const formattedDate = timestamp.toLocaleString(); diff --git a/oedb/resources/demo/templates/view_events_new.html b/oedb/resources/demo/templates/view_events_new.html new file mode 100644 index 0000000..95f7793 --- /dev/null +++ b/oedb/resources/demo/templates/view_events_new.html @@ -0,0 +1,157 @@ +{% extends "layout.html" %} + +{% block title %}View Saved Events - OpenEventDatabase{% endblock %} + +{% block css %} + +{% endblock %} + +{% block header %}Your Saved Events{% endblock %} + +{% block content %} +
    + + + + + + +
    + +
    +

    OpenStreetMap Authentication

    +

    Authenticate with your OpenStreetMap account to include your username in reports.

    + + +
    + +
    + +
    + +
    + + +
    +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/oedb/resources/demo/websocket.py b/oedb/resources/demo/websocket.py new file mode 100644 index 0000000..2c15632 --- /dev/null +++ b/oedb/resources/demo/websocket.py @@ -0,0 +1,337 @@ +import json +import time +import threading +import asyncio +import websockets +from oedb.utils.logging import logger + +class WebSocketManager: + """ + Gestionnaire de WebSockets pour les fonctionnalités sociales d'OEDB. + Gère les connexions WebSocket des utilisateurs et distribue les messages. + Peut être utilisé soit de façon autonome, soit intégré avec uWSGI. + """ + + def __init__(self): + self.clients = {} + self.positions = {} + self.lock = threading.Lock() + self.server = None + + async def handle_connection(self, websocket, path): + """ + Gère une connexion WebSocket entrante. + + Args: + websocket: La connexion WebSocket. + path: Le chemin de la demande. + """ + client_id = id(websocket) + logger.debug(f"Tentative de connexion WebSocket reçue: {client_id} - {path}") + + try: + logger.info(f"Nouvelle connexion WebSocket: {client_id} - {path}") + + # Ajouter le client à la liste + with self.lock: + self.clients[client_id] = { + 'websocket': websocket, + 'username': None, + 'position': None, + 'last_seen': time.time(), + 'show_only_to_friends': False, + } + + # Envoyer la liste des utilisateurs connectés + await self.send_users_list(websocket) + + async for message in websocket: + await self.handle_message(client_id, message) + + except websockets.exceptions.ConnectionClosed: + logger.info(f"Connexion WebSocket fermée: {client_id}") + except Exception as e: + logger.error(f"Erreur WebSocket: {e}") + finally: + # Supprimer le client de la liste + with self.lock: + if client_id in self.clients: + username = self.clients[client_id].get('username') + if username and username in self.positions: + del self.positions[username] + del self.clients[client_id] + + # Informer les autres clients de la déconnexion + await self.broadcast_users_list() + + async def handle_message(self, client_id, message): + """ + Traite un message WebSocket reçu. + + Args: + client_id: L'ID du client qui a envoyé le message. + message: Le message JSON reçu. + """ + try: + data = json.loads(message) + message_type = data.get('type') + + if message_type == 'position': + await self.handle_position_update(client_id, data) + elif message_type == 'pouet': + await self.handle_pouet(data) + elif message_type == 'friendRequest': + await self.handle_friend_request(data) + + except json.JSONDecodeError: + logger.error(f"Message JSON invalide: {message}") + except Exception as e: + logger.error(f"Erreur de traitement du message: {e}") + + async def handle_position_update(self, client_id, data): + """ + Traite une mise à jour de position d'un utilisateur. + + Args: + client_id: L'ID du client qui a envoyé la mise à jour. + data: Les données de position. + """ + username = data.get('username') + position = data.get('position') + show_only_to_friends = data.get('showOnlyToFriends', False) + + if not username or not position: + return + + # Mettre à jour les informations du client + with self.lock: + if client_id in self.clients: + self.clients[client_id]['username'] = username + self.clients[client_id]['position'] = position + self.clients[client_id]['last_seen'] = time.time() + self.clients[client_id]['show_only_to_friends'] = show_only_to_friends + + # Mettre à jour la position dans le dictionnaire des positions + self.positions[username] = { + 'position': position, + 'timestamp': data.get('timestamp'), + 'show_only_to_friends': show_only_to_friends + } + + # Diffuser la position à tous les autres clients + await self.broadcast_position(username, position, data.get('timestamp'), show_only_to_friends) + + # Envoyer la liste mise à jour des utilisateurs + await self.broadcast_users_list() + + async def handle_pouet(self, data): + """ + Traite un 'pouet pouet' envoyé d'un utilisateur à un autre. + + Args: + data: Les données du pouet pouet. + """ + from_user = data.get('from') + to_user = data.get('to') + + if not from_user or not to_user: + return + + # Trouver le client destinataire + recipient_client_id = None + with self.lock: + for client_id, client_info in self.clients.items(): + if client_info.get('username') == to_user: + recipient_client_id = client_id + break + + if recipient_client_id and recipient_client_id in self.clients: + # Envoyer le pouet au destinataire + try: + await self.clients[recipient_client_id]['websocket'].send(json.dumps({ + 'type': 'pouet', + 'from': from_user, + 'timestamp': data.get('timestamp') + })) + logger.info(f"Pouet pouet envoyé de {from_user} à {to_user}") + except Exception as e: + logger.error(f"Erreur d'envoi de pouet pouet: {e}") + + async def handle_friend_request(self, data): + """ + Traite une demande d'ami d'un utilisateur à un autre. + + Args: + data: Les données de la demande d'ami. + """ + from_user = data.get('from') + to_user = data.get('to') + + if not from_user or not to_user: + return + + # Trouver le client destinataire + recipient_client_id = None + with self.lock: + for client_id, client_info in self.clients.items(): + if client_info.get('username') == to_user: + recipient_client_id = client_id + break + + if recipient_client_id and recipient_client_id in self.clients: + # Envoyer la demande d'ami au destinataire + try: + await self.clients[recipient_client_id]['websocket'].send(json.dumps({ + 'type': 'friendRequest', + 'from': from_user, + 'timestamp': data.get('timestamp') + })) + logger.info(f"Demande d'ami envoyée de {from_user} à {to_user}") + except Exception as e: + logger.error(f"Erreur d'envoi de demande d'ami: {e}") + + async def broadcast_position(self, username, position, timestamp, show_only_to_friends): + """ + Diffuse la position d'un utilisateur à tous les autres utilisateurs. + + Args: + username: Le nom d'utilisateur. + position: La position de l'utilisateur. + timestamp: L'horodatage de la mise à jour. + show_only_to_friends: Indique si la position est visible uniquement par les amis. + """ + message = json.dumps({ + 'type': 'position', + 'username': username, + 'position': position, + 'timestamp': timestamp, + 'showOnlyToFriends': show_only_to_friends + }) + + with self.lock: + for client_id, client_info in self.clients.items(): + # Ne pas envoyer à l'utilisateur lui-même + if client_info.get('username') == username: + continue + + try: + await client_info['websocket'].send(message) + except Exception as e: + logger.error(f"Erreur d'envoi de broadcast de position: {e}") + + async def send_users_list(self, websocket): + """ + Envoie la liste des utilisateurs connectés à un client spécifique. + + Args: + websocket: La connexion WebSocket du client. + """ + users = [] + with self.lock: + for client_info in self.clients.values(): + if client_info.get('username'): + users.append({ + 'username': client_info['username'], + 'timestamp': time.time() + }) + + try: + await websocket.send(json.dumps({ + 'type': 'users', + 'users': users + })) + except Exception as e: + logger.error(f"Erreur d'envoi de liste d'utilisateurs: {e}") + + async def broadcast_users_list(self): + """ + Diffuse la liste des utilisateurs connectés à tous les clients. + """ + users = [] + with self.lock: + for client_info in self.clients.values(): + if client_info.get('username'): + users.append({ + 'username': client_info['username'], + 'timestamp': time.time() + }) + + message = json.dumps({ + 'type': 'users', + 'users': users + }) + + with self.lock: + for client_info in self.clients.values(): + try: + await client_info['websocket'].send(message) + except Exception as e: + logger.error(f"Erreur de broadcast de liste d'utilisateurs: {e}") + + async def cleanup_inactive_clients(self): + """ + Nettoie les clients inactifs (pas de mise à jour depuis plus de 5 minutes). + """ + inactive_clients = [] + + with self.lock: + current_time = time.time() + for client_id, client_info in self.clients.items(): + if current_time - client_info['last_seen'] > 300: # 5 minutes + inactive_clients.append(client_id) + + for client_id in inactive_clients: + username = self.clients[client_id].get('username') + if username and username in self.positions: + del self.positions[username] + del self.clients[client_id] + + if inactive_clients: + logger.info(f"Nettoyage de {len(inactive_clients)} clients inactifs") + await self.broadcast_users_list() + + async def cleanup_task(self): + """ + Tâche périodique pour nettoyer les clients inactifs. + """ + while True: + await asyncio.sleep(60) # Exécuter toutes les minutes + await self.cleanup_inactive_clients() + + async def start_server(self, host='0.0.0.0', port=8765): + """ + Démarre le serveur WebSocket. + + Args: + host: L'hôte à écouter. + port: Le port à écouter. + """ + self.server = await websockets.serve(self.handle_connection, host, port) + logger.info(f"Serveur WebSocket démarré sur {host}:{port}") + + # Démarrer la tâche de nettoyage + asyncio.create_task(self.cleanup_task()) + + # Garder le serveur en cours d'exécution + await asyncio.Future() + + def start(self, host='0.0.0.0', port=8765): + """ + Démarre le serveur WebSocket dans un thread séparé. + + Args: + host: L'hôte à écouter. + port: Le port à écouter. + """ + def run_server(): + asyncio.run(self.start_server(host, port)) + + server_thread = threading.Thread(target=run_server, daemon=True) + server_thread.start() + logger.info(f"Serveur WebSocket démarré dans un thread séparé sur {host}:{port}") + +# Créer une instance du gestionnaire WebSocket +ws_manager = WebSocketManager() + +# Démarrer automatiquement le serveur WebSocket +ws_manager.start(host='127.0.0.1', port=8765) diff --git a/oedb/resources/event_form.py b/oedb/resources/event_form.py index db73ad6..48c2fe3 100644 --- a/oedb/resources/event_form.py +++ b/oedb/resources/event_form.py @@ -36,6 +36,9 @@ class EventFormResource: Add Event - OpenEventDatabase + + + + + +
    +

    + OEDB Live +

    + + + +
    + Période: 7 jours (rafraîchit chaque minute) + + +
    +
    +
    + +
    +
    +

    Filtrer par type

    +
    + + +
    +
    + +
    +
    +
    +
    + +
    +

    Arbre des familles d'évènements

    +
    +
    +
    +

    Derniers évènements

    +
    + + + + + + + + + + + + + + +
    IDWhatLabelStartStopLonLat
    +
    +
    +
    + + + + """ + resp.text = html + resp.status = falcon.HTTP_200 + + +live = LiveResource() + + diff --git a/oedb/resources/quality_assurance.py b/oedb/resources/quality_assurance.py new file mode 100644 index 0000000..ad40f86 --- /dev/null +++ b/oedb/resources/quality_assurance.py @@ -0,0 +1,493 @@ +""" +Quality Assurance resource for the OpenEventDatabase. +""" + +import json +import falcon +import urllib.request +import urllib.error +from oedb.models.event import BaseEvent +from oedb.utils.logging import logger + +class QualityAssuranceResource(BaseEvent): + """ + Resource for quality assurance checks on events. + Handles the /quality_assurance endpoint. + """ + + def on_get(self, req, resp): + """ + Handle GET requests to the /quality_assurance endpoint. + Lists problematic events from the last 1000 events. + + Args: + req: The request object. + resp: The response object. + """ + logger.info("Processing GET request to /quality_assurance") + + try: + # Set content type to HTML for the interface + resp.content_type = 'text/html' + + # Get problematic events + problematic_events = self.get_problematic_events() + + # Create HTML response with filtering capabilities + html = self.create_qa_html(problematic_events) + + resp.text = html + resp.status = falcon.HTTP_200 + logger.success("Successfully processed GET request to /quality_assurance") + + except Exception as e: + logger.error(f"Error processing GET request to /quality_assurance: {e}") + resp.status = falcon.HTTP_500 + resp.text = f"Erreur: {str(e)}" + + def get_problematic_events(self): + """ + Get events from the OEDB API and identify problematic ones. + + Returns: + list: List of problematic events with their issues. + """ + logger.info("Fetching events from OEDB API for quality assurance") + + try: + # Fetch events from the OEDB API + api_url = "https://api.openeventdatabase.org/event?" + + with urllib.request.urlopen(api_url) as response: + data = json.loads(response.read().decode('utf-8')) + + if not data or 'features' not in data: + logger.warning("No features found in API response") + return [] + + events = data['features'] + logger.info(f"Retrieved {len(events)} events from API") + + # Analyze events for problems + problematic_events = [] + + for feature in events: + issues = [] + + # Extract event data + event_data = { + 'id': feature.get('properties', {}).get('id'), + 'properties': feature.get('properties', {}), + 'geometry': feature.get('geometry'), + 'coordinates': feature.get('geometry', {}).get('coordinates', []), + 'createdate': feature.get('properties', {}).get('createdate'), + 'lastupdate': feature.get('properties', {}).get('lastupdate') + } + + # Extract coordinates + if event_data['coordinates'] and len(event_data['coordinates']) >= 2: + event_data['longitude'] = float(event_data['coordinates'][0]) + event_data['latitude'] = float(event_data['coordinates'][1]) + else: + event_data['longitude'] = None + event_data['latitude'] = None + + # Check for various issues + issues.extend(self.check_coordinate_issues(event_data)) + issues.extend(self.check_geometry_issues(event_data)) + issues.extend(self.check_property_issues(event_data)) + + # Only add to list if there are issues + if issues: + event_data['issues'] = issues + problematic_events.append(event_data) + + logger.info(f"Found {len(problematic_events)} problematic events out of {len(events)} total") + return problematic_events + + except urllib.error.URLError as e: + logger.error(f"Error fetching events from API: {e}") + return [] + except json.JSONDecodeError as e: + logger.error(f"Error decoding JSON response from API: {e}") + return [] + except Exception as e: + logger.error(f"Unexpected error fetching events: {e}") + return [] + + def check_coordinate_issues(self, event_data): + """Check for coordinate-related issues.""" + issues = [] + + # Check for null or zero coordinates + if event_data['longitude'] is None or event_data['latitude'] is None: + issues.append({ + 'type': 'missing_coordinates', + 'severity': 'high', + 'description': 'Coordonnées manquantes (longitude ou latitude null)' + }) + elif event_data['longitude'] == 0 and event_data['latitude'] == 0: + issues.append({ + 'type': 'zero_coordinates', + 'severity': 'high', + 'description': 'Coordonnées nulles (0,0) - probablement invalides' + }) + + # Check for unrealistic coordinates + if event_data['longitude'] and event_data['latitude']: + if abs(event_data['longitude']) > 180: + issues.append({ + 'type': 'invalid_longitude', + 'severity': 'high', + 'description': f'Longitude invalide: {event_data["longitude"]} (doit être entre -180 et 180)' + }) + + if abs(event_data['latitude']) > 90: + issues.append({ + 'type': 'invalid_latitude', + 'severity': 'high', + 'description': f'Latitude invalide: {event_data["latitude"]} (doit être entre -90 et 90)' + }) + + return issues + + def check_geometry_issues(self, event_data): + """Check for geometry-related issues.""" + issues = [] + + geometry = event_data.get('geometry') + if not geometry: + issues.append({ + 'type': 'missing_geometry', + 'severity': 'high', + 'description': 'Géométrie manquante' + }) + elif geometry.get('type') not in ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon']: + issues.append({ + 'type': 'invalid_geometry_type', + 'severity': 'medium', + 'description': f'Type de géométrie invalide: {geometry.get("type")}' + }) + elif geometry.get('type') == 'Point' and not geometry.get('coordinates'): + issues.append({ + 'type': 'empty_point_coordinates', + 'severity': 'high', + 'description': 'Point sans coordonnées' + }) + + return issues + + def check_property_issues(self, event_data): + """Check for property-related issues.""" + issues = [] + + properties = event_data.get('properties', {}) + + # Check for missing essential properties + if not properties.get('what'): + issues.append({ + 'type': 'missing_what', + 'severity': 'medium', + 'description': 'Propriété "what" manquante (type d\'événement)' + }) + + if not properties.get('label') and not properties.get('name'): + issues.append({ + 'type': 'missing_label', + 'severity': 'low', + 'description': 'Aucun libellé ou nom pour l\'événement' + }) + + # Check for very short or empty descriptions + description = properties.get('description', '') + if isinstance(description, str) and len(description.strip()) < 5: + issues.append({ + 'type': 'short_description', + 'severity': 'low', + 'description': 'Description trop courte ou vide' + }) + + return issues + + def create_qa_html(self, problematic_events): + """Create HTML interface for quality assurance.""" + + # Count issues by type + issue_counts = {} + for event in problematic_events: + for issue in event['issues']: + issue_type = issue['type'] + if issue_type not in issue_counts: + issue_counts[issue_type] = 0 + issue_counts[issue_type] += 1 + + html = """ + + + + + + Contrôle Qualité - OpenEventDatabase + + + + + + + +
    +
    +

    + + Contrôle Qualité des Événements +

    +

    + Analyse des 1000 derniers événements pour détecter les problèmes divers +

    + +
    +
    +
    +

    Filtres

    + +
    + +
    +
    + +
    +
    +
    + +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + +
    +

    Total événements problématiques: """ + str(len(problematic_events)) + """

    + """ + + for issue_type, count in sorted(issue_counts.items(), key=lambda x: x[1], reverse=True): + issue_label = issue_type.replace('_', ' ').title() + html += f"

    {issue_label}: {count}

    " + + html += """ +
    +
    +
    +
    + +
    +
    + """ + + # Add events + for event in problematic_events: + properties = event.get('properties', {}) + event_title = properties.get('name') or properties.get('title') or properties.get('short_description') or properties.get('label') or f'Événement #{event["id"]}' + event_what = properties.get('what', 'Non spécifié') + + # Get severity classes for the card + max_severity = 'low' + for issue in event['issues']: + if issue['severity'] == 'high': + max_severity = 'high' + break + elif issue['severity'] == 'medium' and max_severity == 'low': + max_severity = 'medium' + + html += f""" +
    +
    +
    +
    +
    +

    {event_title}

    +

    + Type: {event_what} | + Coordonnées: + {event.get('latitude', 'N/A')}, {event.get('longitude', 'N/A')} + +

    +
    +
    + +
    + +
    +
    Problèmes détectés:
    +
      + """ + + for issue in event['issues']: + severity_icon = { + 'high': '🔴', + 'medium': '🟡', + 'low': '🟢' + }.get(issue['severity'], '⚪') + + html += f""" +
    • + {severity_icon} {issue['type'].replace('_', ' ').title()}: + {issue['description']} +
    • + """ + + html += """ +
    +
    + +
    + + Créé: """ + str(event.get('createdate', 'N/A')) + """ | + Modifié: """ + str(event.get('lastupdate', 'N/A')) + """ + +
    +
    +
    + """ + + if not problematic_events: + html += """ +
    + + Aucun problème détecté dans les 1000 derniers événements ! 🎉 +
    + """ + + html += """ +
    +
    +
    +
    +
    + + + + + """ + + return html + +# Create a global instance +quality_assurance = QualityAssuranceResource() diff --git a/oedb/resources/rss.py b/oedb/resources/rss.py new file mode 100644 index 0000000..3c903bd --- /dev/null +++ b/oedb/resources/rss.py @@ -0,0 +1,86 @@ +""" +RSS feeds for recent events and by family. +""" + +import falcon +import html +from datetime import datetime +from oedb.utils.logging import logger +from oedb.utils.db import db_connect + + +def _rss_header(title: str, link: str, desc: str) -> str: + return f""" + + + {html.escape(title)} + {html.escape(link)} + {html.escape(desc)} +""" + + +def _rss_footer() -> str: + return """ + + +""" + + +def _row_to_item(row) -> str: + events_id, events_tags, createdate = row + title = html.escape(str(events_tags.get('label') or events_tags.get('what') or f"event {events_id}")) + link = f"https://api.openeventdatabase.org/event/{events_id}" + guid = link + pubdate = datetime.fromisoformat(str(createdate)).strftime('%a, %d %b %Y %H:%M:%S %z') if createdate else '' + description = html.escape(str(events_tags)) + return f""" + + {title} + {link} + {guid} + {pubdate} + {description} + +""" + + +class RSSLatestResource: + def on_get(self, req, resp): + logger.info("Processing GET /rss") + resp.content_type = 'application/rss+xml; charset=utf-8' + db = db_connect() + cur = db.cursor() + cur.execute(""" + SELECT events_id, events_tags, createdate + FROM events + ORDER BY createdate DESC + LIMIT 200 + """) + items = ''.join(_row_to_item(r) for r in cur.fetchall()) + xml = _rss_header('OEDB - Latest events', 'https://api.openeventdatabase.org/event', 'Latest 200 events') + items + _rss_footer() + resp.text = xml + + +class RSSByFamilyResource: + def on_get(self, req, resp, family: str): + logger.info(f"Processing GET /rss/by/{family}") + resp.content_type = 'application/rss+xml; charset=utf-8' + db = db_connect() + cur = db.cursor() + like = family + '%' + cur.execute(""" + SELECT events_id, events_tags, createdate + FROM events + WHERE events_what LIKE %s + ORDER BY createdate DESC + LIMIT 200 + """, (like,)) + items = ''.join(_row_to_item(r) for r in cur.fetchall()) + xml = _rss_header(f'OEDB - {family}', f'https://api.openeventdatabase.org/event?what={family}', f'Latest 200 events in {family}') + items + _rss_footer() + resp.text = xml + + +rss_latest = RSSLatestResource() +rss_by_family = RSSByFamilyResource() + + diff --git a/requirements.txt b/requirements.txt index 718c51d..efe5a58 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,8 +3,9 @@ config==0.5.1 falcon==4.1.0 iso8601==2.1.0 psycopg2_binary==2.9.10 -pyproj==3.7.2 -pytz==2025.2 -Requests==2.32.5 -waitress==3.0.2 -jinja2 \ No newline at end of file +pyproj +pytz +Requests +waitress +jinja2 +icalendar \ No newline at end of file diff --git a/static/cone.png b/static/cone.png new file mode 100644 index 0000000..b10b419 Binary files /dev/null and b/static/cone.png differ diff --git a/static/edit.js b/static/edit.js new file mode 100644 index 0000000..fc0fe66 --- /dev/null +++ b/static/edit.js @@ -0,0 +1,423 @@ +// Variables globales +let map; +let draw; +let currentMarker = null; + +// Initialisation quand le DOM est chargé +document.addEventListener('DOMContentLoaded', function() { + initializeForm(); + initializeMap(); + setupEventHandlers(); +}); + +function initializeForm() { + if (!window.eventData) { + console.error('Aucune donnée d\'événement disponible'); + return; + } + + const properties = window.eventData.properties || {}; + const geometry = window.eventData.geometry || {}; + + // Remplir le tableau des propriétés + populatePropertiesTable(); + + // Remplir les champs du formulaire + document.getElementById('label').value = properties.label || ''; + document.getElementById('type').value = properties.type || 'scheduled'; + document.getElementById('what').value = properties.what || ''; + document.getElementById('what_series').value = properties['what:series'] || ''; + document.getElementById('where').value = properties.where || ''; + + // Convertir les dates pour les inputs datetime-local + if (properties.start) { + const startDate = new Date(properties.start); + document.getElementById('start').value = formatDateTimeLocal(startDate); + } + if (properties.stop) { + const stopDate = new Date(properties.stop); + document.getElementById('stop').value = formatDateTimeLocal(stopDate); + } + + console.log('✅ Formulaire initialisé avec les données de l\'événement'); +} + +function formatDateTimeLocal(date) { + // Convertir une date en format compatible avec datetime-local + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + + return `${year}-${month}-${day}T${hours}:${minutes}`; +} + +function initializeMap() { + if (!window.maplibregl) { + console.error('MapLibre GL JS non disponible'); + return; + } + + const geometry = window.eventData?.geometry || {}; + const coordinates = geometry.coordinates || [2.3522, 48.8566]; // Paris par défaut + + // Initialiser la carte + map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: coordinates, + zoom: coordinates[0] === 0 && coordinates[1] === 0 ? 2 : 12 + }); + + // Ajouter les contrôles + map.addControl(new maplibregl.NavigationControl()); + map.addControl(new maplibregl.GeolocateControl({ + positionOptions: { + enableHighAccuracy: true + } + })); + + // Ajouter un marqueur pour la position actuelle + if (coordinates[0] !== 0 || coordinates[1] !== 0) { + currentMarker = new maplibregl.Marker() + .setLngLat(coordinates) + .addTo(map); + } + + // Gérer les clics sur la carte pour changer la position + map.on('click', function(e) { + const coords = [e.lngLat.lng, e.lngLat.lat]; + + // Supprimer l'ancien marqueur + if (currentMarker) { + currentMarker.remove(); + } + + // Ajouter un nouveau marqueur + currentMarker = new maplibregl.Marker() + .setLngLat(coords) + .addTo(map); + + console.log('📍 Position mise à jour:', coords); + }); + + console.log('✅ Carte initialisée'); +} + +function populatePropertiesTable() { + if (!window.eventData || !window.eventData.properties) { + return; + } + + const tableBody = document.getElementById('propertiesTableBody'); + const properties = window.eventData.properties; + + // Vider le tableau + tableBody.innerHTML = ''; + + // Trier les propriétés alphabétiquement + const sortedKeys = Object.keys(properties).sort(); + + // Ajouter chaque propriété au tableau + sortedKeys.forEach(key => { + const value = properties[key]; + const valueType = typeof value; + + const row = document.createElement('tr'); + row.style.borderBottom = '1px solid #eee'; + + // Formater la valeur pour l'affichage + let displayValue = ''; + if (value === null) { + displayValue = 'null'; + } else if (value === undefined) { + displayValue = 'undefined'; + } else if (typeof value === 'object') { + displayValue = `
    ${JSON.stringify(value, null, 2)}
    `; + } else if (typeof value === 'string' && value.length > 50) { + displayValue = `${value.substring(0, 50)}...`; + } else { + displayValue = String(value); + } + + row.innerHTML = ` + ${key} + ${displayValue} + ${valueType} + `; + + tableBody.appendChild(row); + }); + + console.log('✅ Tableau des propriétés rempli'); +} + +function setupEventHandlers() { + // Gestionnaire de soumission du formulaire + const form = document.getElementById('eventForm'); + if (form) { + form.addEventListener('submit', handleFormSubmit); + } + + // Gestionnaire du bouton de suppression + const deleteButton = document.getElementById('deleteButton'); + if (deleteButton) { + deleteButton.addEventListener('click', handleDelete); + } + + // Gestionnaire du bouton d'inversion des coordonnées + const swapButton = document.getElementById('swapCoordinatesButton'); + if (swapButton) { + swapButton.addEventListener('click', handleSwapCoordinates); + + // Vérifier si c'est un Point pour activer/désactiver le bouton + const geometry = window.eventData?.geometry; + if (!geometry || geometry.type !== 'Point') { + swapButton.disabled = true; + swapButton.textContent = '🔄 Non disponible (pas un Point)'; + swapButton.style.backgroundColor = '#6c757d'; + } + } + + // Initialiser l'autocomplétion pour le champ "what" + const whatInput = document.getElementById('what'); + if (whatInput && window.initializeEventTypeAutocomplete) { + initializeEventTypeAutocomplete(whatInput, function(suggestion) { + console.log('Type d\'événement sélectionné:', suggestion); + + // Émettre un événement de validation du formulaire + setTimeout(() => { + whatInput.dispatchEvent(new Event('input', { bubbles: true })); + }, 100); + }); + console.log('✅ Autocomplétion initialisée pour le champ "what"'); + } +} + +async function handleFormSubmit(e) { + e.preventDefault(); + + const resultElement = document.getElementById('result'); + resultElement.innerHTML = '
    ⏳ Mise à jour en cours...
    '; + resultElement.style.display = 'block'; + + try { + // Récupérer les données du formulaire + const formData = new FormData(e.target); + const eventId = document.getElementById('eventId').value; + + // Construire l'objet événement + const updatedEvent = { + type: 'Feature', + geometry: { + type: 'Point', + coordinates: currentMarker ? + [currentMarker.getLngLat().lng, currentMarker.getLngLat().lat] : + [0, 0] + }, + properties: { + ...window.eventData.properties, + label: formData.get('label'), + type: formData.get('type'), + what: formData.get('what'), + 'what:series': formData.get('what_series') || undefined, + where: formData.get('where') || undefined, + start: formData.get('start') ? new Date(formData.get('start')).toISOString() : undefined, + stop: formData.get('stop') ? new Date(formData.get('stop')).toISOString() : undefined + } + }; + + // Nettoyer les propriétés undefined + Object.keys(updatedEvent.properties).forEach(key => { + if (updatedEvent.properties[key] === undefined) { + delete updatedEvent.properties[key]; + } + }); + + // Envoyer la mise à jour + const response = await fetch(`https://api.openeventdatabase.org/event/${eventId}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(updatedEvent) + }); + + if (response.ok) { + resultElement.innerHTML = ` +
    + + Succès: L'événement a été mis à jour avec succès. +
    Voir l'événement +
    + `; + } else { + const errorData = await response.text(); + throw new Error(`HTTP ${response.status}: ${errorData}`); + } + } catch (error) { + console.error('Erreur lors de la mise à jour:', error); + resultElement.innerHTML = ` +
    + + Erreur: ${error.message} +
    + `; + } +} + +async function handleDelete() { + const eventId = document.getElementById('eventId').value; + const eventLabel = window.eventData?.properties?.label || 'cet événement'; + + if (!confirm(`Êtes-vous sûr de vouloir supprimer "${eventLabel}" ? Cette action est irréversible.`)) { + return; + } + + const resultElement = document.getElementById('result'); + resultElement.innerHTML = '
    ⏳ Suppression en cours...
    '; + resultElement.style.display = 'block'; + + try { + const response = await fetch(`https://api.openeventdatabase.org/event/${eventId}`, { + method: 'DELETE' + }); + + if (response.ok) { + resultElement.innerHTML = ` +
    + + Succès: L'événement a été supprimé avec succès. +
    Retour à la démo +
    + `; + + // Désactiver le formulaire après suppression + document.getElementById('eventForm').style.display = 'none'; + } else { + const errorData = await response.text(); + throw new Error(`HTTP ${response.status}: ${errorData}`); + } + } catch (error) { + console.error('Erreur lors de la suppression:', error); + resultElement.innerHTML = ` +
    + + Erreur: ${error.message} +
    + `; + } +} + +async function handleSwapCoordinates() { + const eventId = document.getElementById('eventId').value; + const resultElement = document.getElementById('result'); + const geometry = window.eventData?.geometry; + + // Vérifications de sécurité + if (!geometry || geometry.type !== 'Point') { + resultElement.innerHTML = ` +
    + Erreur: L'inversion des coordonnées n'est disponible que pour les événements de type Point. +
    + `; + resultElement.style.display = 'block'; + return; + } + + const currentCoords = geometry.coordinates; + if (!Array.isArray(currentCoords) || currentCoords.length < 2) { + resultElement.innerHTML = ` +
    + Erreur: Coordonnées invalides détectées. +
    + `; + resultElement.style.display = 'block'; + return; + } + + // Afficher les coordonnées actuelles et futures + const [currentLon, currentLat] = currentCoords; + const newCoords = [currentLat, currentLon]; // Inverser longitude et latitude + + const confirmMessage = `Voulez-vous inverser les coordonnées ? + +Actuelles: [${currentLon.toFixed(6)}, ${currentLat.toFixed(6)}] (lon, lat) +Nouvelles: [${newCoords[0].toFixed(6)}, ${newCoords[1].toFixed(6)}] (lat→lon, lon→lat) + +Cette action sera sauvegardée immédiatement sur le serveur.`; + + if (!confirm(confirmMessage)) { + return; + } + + resultElement.innerHTML = '
    ⏳ Inversion des coordonnées en cours...
    '; + resultElement.style.display = 'block'; + + try { + // Créer l'événement modifié avec coordonnées inversées + const updatedEvent = { + ...window.eventData, + geometry: { + ...geometry, + coordinates: newCoords + } + }; + + // Envoyer la mise à jour au serveur + const response = await fetch(`https://api.openeventdatabase.org/event/${eventId}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(updatedEvent) + }); + + if (response.ok) { + // Mettre à jour les données locales + window.eventData = updatedEvent; + + // Mettre à jour le marqueur sur la carte + if (currentMarker) { + currentMarker.setLngLat(newCoords); + } + + // Centrer la carte sur les nouvelles coordonnées + if (map) { + map.flyTo({ + center: newCoords, + zoom: Math.max(map.getZoom(), 12) + }); + } + + // Mettre à jour le tableau des propriétés + populatePropertiesTable(); + + resultElement.innerHTML = ` +
    + + Succès: Les coordonnées ont été inversées avec succès.
    + Anciennes: [${currentLon.toFixed(6)}, ${currentLat.toFixed(6)}]
    + Nouvelles: [${newCoords[0].toFixed(6)}, ${newCoords[1].toFixed(6)}]
    +
    + `; + + console.log('✅ Coordonnées inversées avec succès:', { + avant: [currentLon, currentLat], + après: newCoords + }); + } else { + const errorData = await response.text(); + throw new Error(`HTTP ${response.status}: ${errorData}`); + } + } catch (error) { + console.error('Erreur lors de l\'inversion des coordonnées:', error); + resultElement.innerHTML = ` +
    + + Erreur: Impossible d'inverser les coordonnées. ${error.message} +
    + `; + } +} diff --git a/static/event-types.js b/static/event-types.js new file mode 100644 index 0000000..d889e0a --- /dev/null +++ b/static/event-types.js @@ -0,0 +1,519 @@ +// Configuration partagée des types d'événements avec leurs emojis et descriptions +window.EVENT_TYPES = { + // Community / OSM + 'community.osm.event': { + emoji: '🗺️', + label: 'Événement OpenStreetMap', + category: 'Communauté', + description: 'Événement lié à la communauté OpenStreetMap' + }, + + // Culture / Arts + 'culture.arts': { + emoji: '🎨', + label: 'Arts et culture', + category: 'Culture', + description: 'Événement artistique et culturel' + }, + 'culture.geek': { + emoji: '🤓', + label: 'Culture geek', + category: 'Culture', + description: 'Événement geek, technologie, gaming' + }, + 'culture.music': { + emoji: '🎵', + label: 'Musique', + category: 'Culture', + description: 'Événement musical général' + }, + + // Music specific + 'music.festival': { + emoji: '🎪', + label: 'Festival de musique', + category: 'Musique', + description: 'Festival musical' + }, + + // Power / Energy + 'power.production.unavail': { + emoji: '⚡', + label: 'Production électrique indisponible', + category: 'Énergie', + description: 'Arrêt ou réduction de production électrique' + }, + + // Sale / Commerce + 'sale': { + emoji: '🛒', + label: 'Vente / Commerce', + category: 'Commerce', + description: 'Événement commercial, vente, marché' + }, + + // Time / Temporal + 'time.daylight.summer': { + emoji: '☀️', + label: 'Heure d\'été', + category: 'Temps', + description: 'Passage à l\'heure d\'été' + }, + + // Tourism + 'tourism.exhibition': { + emoji: '🖼️', + label: 'Exposition', + category: 'Tourisme', + description: 'Exposition, salon, foire' + }, + + // Traffic / Transportation + 'traffic.accident': { + emoji: '💥', + label: 'Accident', + category: 'Circulation', + description: 'Accident de la circulation' + }, + 'traffic.incident': { + emoji: '⚠️', + label: 'Incident de circulation', + category: 'Circulation', + description: 'Incident sur la route' + }, + 'traffic.obstacle': { + emoji: '🚧', + label: 'Obstacle', + category: 'Circulation', + description: 'Obstacle sur la voie' + }, + 'traffic.partially_closed': { + emoji: '🚦', + label: 'Voie partiellement fermée', + category: 'Circulation', + description: 'Fermeture partielle de voie' + }, + 'traffic.roadwork': { + emoji: '', + label: 'Travaux routiers', + category: 'Circulation', + description: 'Travaux sur la chaussée' + }, + 'wildlife': { + emoji: '🦌', + label: 'Animal', + category: 'Vie sauvage', + description: 'Détection d\'animaux' + }, + 'traffic.mammoth': { + emoji: '🦣', + label: 'Mammouth laineux', + category: 'Obstacle', + description: 'Un mammouth laineux bloque la route' + }, + 'hazard.piranha': { + emoji: '🐟', + label: 'Piranha dans la piscine', + category: 'Danger', + description: 'Des pirana attaquent dans cette piscine' + } +}; + +// Fonction pour obtenir les suggestions d'autocomplétion +function getEventTypeSuggestions(input) { + const inputLower = input.toLowerCase(); + const suggestions = []; + + for (const [key, config] of Object.entries(window.EVENT_TYPES)) { + // Recherche dans la clé, le label et la catégorie + const searchableText = `${key} ${config.label} ${config.category}`.toLowerCase(); + + if (searchableText.includes(inputLower)) { + suggestions.push({ + value: key, + label: `${config.emoji} ${config.label}`, + category: config.category, + fullText: `${key} - ${config.label}` + }); + } + } + + // Trier par pertinence (correspondance exacte en premier) + suggestions.sort((a, b) => { + const aExact = a.value.toLowerCase().startsWith(inputLower); + const bExact = b.value.toLowerCase().startsWith(inputLower); + + if (aExact && !bExact) return -1; + if (!aExact && bExact) return 1; + + return a.value.localeCompare(b.value); + }); + + return suggestions.slice(0, 10); // Limiter à 10 suggestions +} + +// Fonction pour initialiser l'autocomplétion sur un champ +function initializeEventTypeAutocomplete(inputElement, onSelect) { + if (!inputElement) return; + + let suggestionsContainer = null; + let currentSuggestions = []; + let selectedIndex = -1; + let selectorButton = null; + + // Créer le bouton de sélection + function createSelectorButton() { + selectorButton = document.createElement('button'); + selectorButton.type = 'button'; + selectorButton.className = 'event-type-selector-btn'; + selectorButton.innerHTML = '📋 Types d\'événements'; + selectorButton.style.cssText = ` + margin-top: 5px; + padding: 6px 12px; + background-color: #0078ff; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 12px; + display: inline-block; + `; + + selectorButton.addEventListener('click', function() { + showAllEventTypes(); + }); + + const parent = inputElement.parentElement; + parent.appendChild(selectorButton); + } + + // Créer le conteneur de suggestions + function createSuggestionsContainer() { + suggestionsContainer = document.createElement('div'); + suggestionsContainer.className = 'autocomplete-suggestions'; + suggestionsContainer.style.cssText = ` + position: absolute; + top: 100%; + left: 0; + right: 0; + max-height: 300px; + overflow-y: auto; + background: white; + border: 1px solid #ddd; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + z-index: 1000; + display: none; + margin-top: 2px; + `; + + // Positionner le conteneur parent en relatif + const parent = inputElement.parentElement; + if (parent.style.position !== 'relative') { + parent.style.position = 'relative'; + } + parent.appendChild(suggestionsContainer); + } + + // Afficher tous les types d'événements dans un beau sélecteur + function showAllEventTypes() { + const allTypes = Object.entries(window.EVENT_TYPES).map(([key, config]) => ({ + value: key, + emoji: config.emoji, + label: config.label, + category: config.category, + description: config.description || '', + fullText: `${key} - ${config.label}` + })); + + showEventTypeSelector(allTypes); + } + + // Afficher le sélecteur de types d'événements + function showEventTypeSelector(types) { + if (!suggestionsContainer) return; + + currentSuggestions = types; + selectedIndex = -1; + + // Grouper par catégorie + const groupedTypes = {}; + types.forEach(type => { + if (!groupedTypes[type.category]) { + groupedTypes[type.category] = []; + } + groupedTypes[type.category].push(type); + }); + + let html = ` +
    + 🏷️ Types d'événements disponibles + +
    + `; + + // Afficher chaque catégorie + Object.entries(groupedTypes).forEach(([category, categoryTypes]) => { + html += ` +
    +
    + ${category} +
    + `; + + categoryTypes.forEach((type, index) => { + const globalIndex = types.indexOf(type); + html += ` +
    + ${type.emoji} +
    +
    ${type.label}
    +
    ${type.value}
    + ${type.description ? `
    ${type.description}
    ` : ''} +
    +
    + `; + }); + + html += '
    '; + }); + + suggestionsContainer.innerHTML = html; + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + const dataIndex = parseInt(item.dataset.index); + item.addEventListener('click', () => selectSuggestion(dataIndex)); + }); + } + + // Afficher les suggestions + function showSuggestions(suggestions) { + if (!suggestionsContainer) return; + + currentSuggestions = suggestions; + selectedIndex = -1; + + if (suggestions.length === 0) { + suggestionsContainer.style.display = 'none'; + return; + } + + suggestionsContainer.innerHTML = suggestions.map((suggestion, index) => ` +
    + ${suggestion.label.split(' ')[0]} + ${suggestion.fullText} + ${suggestion.category} +
    + `).join(''); + + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements aux suggestions + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + item.addEventListener('click', () => selectSuggestion(index)); + item.addEventListener('mouseenter', () => highlightSuggestion(index)); + }); + } + + // Mettre en surbrillance une suggestion + function highlightSuggestion(index) { + const items = suggestionsContainer.querySelectorAll('.suggestion-item'); + items.forEach((item, i) => { + item.style.backgroundColor = i === index ? '#f0f8ff' : 'white'; + }); + selectedIndex = index; + } + + // Sélectionner une suggestion + function selectSuggestion(index) { + if (index >= 0 && index < currentSuggestions.length) { + const suggestion = currentSuggestions[index]; + inputElement.value = suggestion.value; + suggestionsContainer.style.display = 'none'; + + if (onSelect) { + onSelect(suggestion); + } + + // Déclencher l'événement input pour les validations + inputElement.dispatchEvent(new Event('input', { bubbles: true })); + } + } + + // Masquer les suggestions + function hideSuggestions() { + if (suggestionsContainer) { + suggestionsContainer.style.display = 'none'; + } + } + + // Créer le conteneur de suggestions et le bouton + createSuggestionsContainer(); + createSelectorButton(); + + // Gestionnaire d'événements pour l'input + inputElement.addEventListener('input', function(e) { + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + return; + } + + if (value.length < 2) { + hideSuggestions(); + return; + } + + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + }); + + // Afficher l'autocomplétion au focus + inputElement.addEventListener('focus', function(e) { + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + } else if (value.length >= 2) { + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + } + }); + + // Afficher l'autocomplétion au keyup + inputElement.addEventListener('keyup', function(e) { + // Ignorer les touches de navigation + if (['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(e.key)) { + return; + } + + const value = e.target.value.trim(); + + if (value.length === 0) { + showAllEventTypes(); + } else if (value.length >= 2) { + const suggestions = getEventTypeSuggestions(value); + showFilteredSuggestions(suggestions); + } + }); + + // Fonction pour afficher les suggestions filtrées + function showFilteredSuggestions(suggestions) { + if (!suggestionsContainer) return; + + currentSuggestions = suggestions; + selectedIndex = -1; + + if (suggestions.length === 0) { + suggestionsContainer.innerHTML = ` +
    + Aucun type d'événement trouvé +
    + `; + suggestionsContainer.style.display = 'block'; + return; + } + + let html = ` +
    + ${suggestions.length} résultat${suggestions.length > 1 ? 's' : ''} trouvé${suggestions.length > 1 ? 's' : ''} +
    + `; + + suggestions.forEach((suggestion, index) => { + const config = window.EVENT_TYPES[suggestion.value] || {}; + html += ` +
    + ${config.emoji || '📍'} +
    +
    ${config.label || suggestion.value}
    +
    ${suggestion.value}
    +
    + ${config.category || ''} +
    + `; + }); + + suggestionsContainer.innerHTML = html; + suggestionsContainer.style.display = 'block'; + + // Ajouter les gestionnaires d'événements aux suggestions + const suggestionItems = suggestionsContainer.querySelectorAll('.suggestion-item'); + suggestionItems.forEach((item, index) => { + item.addEventListener('click', () => selectSuggestion(index)); + }); + } + + // Gestionnaire d'événements pour le clavier + inputElement.addEventListener('keydown', function(e) { + if (!suggestionsContainer || suggestionsContainer.style.display === 'none') { + return; + } + + switch (e.key) { + case 'ArrowDown': + e.preventDefault(); + const nextIndex = selectedIndex < currentSuggestions.length - 1 ? selectedIndex + 1 : 0; + highlightSuggestion(nextIndex); + break; + + case 'ArrowUp': + e.preventDefault(); + const prevIndex = selectedIndex > 0 ? selectedIndex - 1 : currentSuggestions.length - 1; + highlightSuggestion(prevIndex); + break; + + case 'Enter': + e.preventDefault(); + if (selectedIndex >= 0) { + selectSuggestion(selectedIndex); + } + break; + + case 'Escape': + hideSuggestions(); + break; + } + }); + + // Masquer les suggestions quand on clique ailleurs + document.addEventListener('click', function(e) { + if (!inputElement.contains(e.target) && !suggestionsContainer?.contains(e.target)) { + hideSuggestions(); + } + }); + + // Masquer les suggestions quand le champ perd le focus + inputElement.addEventListener('blur', function() { + // Délai pour permettre le clic sur une suggestion + setTimeout(hideSuggestions, 200); + }); +} diff --git a/static/map_by_what.css b/static/map_by_what.css new file mode 100644 index 0000000..f000018 --- /dev/null +++ b/static/map_by_what.css @@ -0,0 +1,148 @@ +body { + margin: 0; + padding: 0; + font-family: Arial, sans-serif; +} + +#map { + position: absolute; + top: 0; + bottom: 0; + width: 100%; +} + +.map-overlay { + position: absolute; + top: 10px; + left: 10px; + background: rgba(255, 255, 255, 0.9); + padding: 15px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + max-width: 300px; + z-index: 1; +} + +.filter-overlay { + position: absolute; + top: 10px; + right: 10px; + background: rgba(255, 255, 255, 0.95); + padding: 15px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + max-width: 250px; + max-height: 80vh; + overflow-y: auto; + z-index: 1; +} + +.filter-overlay h3 { + margin-top: 0; + color: #0078ff; +} + +.filter-overlay button { + margin: 5px 5px 10px 0; + padding: 5px 10px; + background: #0078ff; + color: white; + border: none; + border-radius: 3px; + cursor: pointer; + font-size: 12px; +} + +.filter-overlay button:hover { + background: #0056b3; +} + +.filter-list { + list-style: none; + padding: 0; + margin: 0; +} + +.filter-list li { + margin-bottom: 8px; +} + +.filter-list input[type="checkbox"] { + margin-right: 8px; +} + +.filter-list label { + cursor: pointer; + font-size: 14px; +} + +/* Styles pour les marqueurs personnalisés avec forme de goutte */ +.custom-marker { + cursor: pointer; + user-select: none; +} + +.marker-drop { + width: 36px; + height: 46px; + position: relative; + background: #0078ff; + border-radius: 50% 50% 50% 0; + transform: rotate(-45deg); + filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3)); + display: flex; + align-items: center; + justify-content: center; +} + +.marker-drop:after { + content: ''; + width: 8px; + height: 8px; + position: absolute; + background: white; + border-radius: 50%; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 1; +} + +.marker-emoji { + font-size: 18px; + transform: rotate(45deg); + z-index: 2; + position: relative; + line-height: 1; +} + +.custom-marker:hover .marker-drop { + transform: rotate(-45deg) scale(1.1); + transition: transform 0.2s ease; +} + +.event-popup { + max-width: 300px; +} + +.event-popup h3 { + margin-top: 0; + color: #0078ff; +} + +.event-popup p { + margin: 8px 0; +} + +/* Responsive design */ +@media (max-width: 768px) { + .map-overlay, .filter-overlay { + position: static; + max-width: none; + margin-bottom: 10px; + } + + .filter-overlay { + max-height: 200px; + } +} diff --git a/static/map_by_what.js b/static/map_by_what.js new file mode 100644 index 0000000..561dca1 --- /dev/null +++ b/static/map_by_what.js @@ -0,0 +1,295 @@ +// Configuration des critères d'emojis pour les marqueurs de carte +window.EMOJI_CRITERIA = { + // Emoji mammouth pour les événements contenant "mammouth" + mammoth: { + emoji: '🦣', + criteria: (name, description, what) => { + const text = (name + ' ' + description).toLowerCase(); + return text.includes('mammouth'); + } + }, + // Emoji notes de musique pour orchestres, concerts, fanfares ou types musicaux + music: { + emoji: '🎵', + criteria: (name, description, what) => { + const text = (name + ' ' + description + ' ' + what).toLowerCase(); + return text.includes('orchestr') || text.includes('concert') || + text.includes('fanfare') || text.includes('music'); + } + }, + // Emoji éclair pour les types contenant "power" + power: { + emoji: '⚡', + criteria: (name, description, what) => { + return (what || '').toLowerCase().includes('power'); + } + }, + // Emoji vélo pour les types contenant "bike" + bike: { + emoji: '🚴', + criteria: (name, description, what) => { + return (what || '').toLowerCase().includes('bike'); + } + }, + // Emoji casque de chantier pour les travaux + construction: { + emoji: '🏗️️', + criteria: (name, description, what) => { + const text = (name + ' ' + description + ' ' + what).toLowerCase(); + return text.includes('travaux'); + } + }, + // Emoji soleil pour les types contenant "daylight" + daylight: { + emoji: '☀️', + criteria: (name, description, what) => { + return (what || '').toLowerCase().includes('daylight'); + } + }, + // Emoji carte pour les types contenant "community.osm" + osm_community: { + emoji: '🗺️', + criteria: (name, description, what) => { + return (what || '').toLowerCase().includes('community.osm'); + } + } +}; + +// Fonction pour déterminer l'emoji approprié pour un événement +function getEventEmoji(properties) { + const name = properties.name || properties.label || ''; + const description = properties.description || ''; + const what = properties.what || ''; + + + if (what.includes('accident')) return 'PAF!'; + if (what.includes('incident')) return '⚠️'; + if (what.includes('traffic')) return '🚗'; + + // Parcourir les critères dans l'ordre de priorité + for (const [key, config] of Object.entries(window.EMOJI_CRITERIA)) { + if (config.criteria(name, description, what)) { + return config.emoji; + } + } + + // Emoji par défaut selon le type d'événement + if (what.includes('weather')) return '🌤️'; + if (what.includes('gathering')) return '👥'; + + return ' '; // Emoji par défaut +} + +// Variables globales +let map; +let eventMarkers = []; +let eventTypeCounts = {}; +let allEvents = []; + +// Initialisation de la carte +document.addEventListener('DOMContentLoaded', function() { + initMap(); + loadEvents(); +}); + +function initMap() { + // Initialiser la carte MapLibre + map = new maplibregl.Map({ + container: 'map', + style: 'https://tiles.openfreemap.org/styles/liberty', + center: [2.3522, 48.8566], // Paris par défaut + zoom: 4 + }); + + // Ajouter les contrôles de navigation + map.addControl(new maplibregl.NavigationControl()); + + // Ajouter le contrôle de géolocalisation + map.addControl(new maplibregl.GeolocateControl({ + positionOptions: { + enableHighAccuracy: true + }, + trackUserLocation: true, + showUserHeading: true + })); +} + +function loadEvents() { + fetch('https://api.openeventdatabase.org/event?') + .then(response => response.json()) + .then(data => { + if (data.features && data.features.length > 0) { + allEvents = data.features; + processEvents(); + createEventTypeFilters(); + addEventsToMap(); + updateEventInfo(); + } else { + document.getElementById('event-info').innerHTML = '

    No events found

    '; + } + }) + .catch(error => { + console.error('Error loading events:', error); + document.getElementById('event-info').innerHTML = '

    Error loading events

    '; + }); +} + +function processEvents() { + eventTypeCounts = {}; + allEvents.forEach(event => { + const eventType = event.properties.what || 'unknown'; + eventTypeCounts[eventType] = (eventTypeCounts[eventType] || 0) + 1; + }); +} + +function createEventTypeFilters() { + const filterList = document.getElementById('filter-list'); + filterList.innerHTML = ''; + + const sortedTypes = Object.keys(eventTypeCounts).sort(); + + sortedTypes.forEach(eventType => { + const count = eventTypeCounts[eventType]; + const li = document.createElement('li'); + + const checkbox = document.createElement('input'); + checkbox.type = 'checkbox'; + checkbox.id = `filter-${eventType}`; + checkbox.checked = true; + checkbox.addEventListener('change', filterEvents); + + const label = document.createElement('label'); + label.htmlFor = `filter-${eventType}`; + label.textContent = `${eventType} (${count})`; + + li.appendChild(checkbox); + li.appendChild(label); + filterList.appendChild(li); + }); + + // Boutons de sélection + document.getElementById('select-all').addEventListener('click', () => { + document.querySelectorAll('#filter-list input[type="checkbox"]').forEach(cb => { + cb.checked = true; + }); + filterEvents(); + }); + + document.getElementById('deselect-all').addEventListener('click', () => { + document.querySelectorAll('#filter-list input[type="checkbox"]').forEach(cb => { + cb.checked = false; + }); + filterEvents(); + }); +} + +function addEventsToMap() { + // Supprimer les marqueurs existants + eventMarkers.forEach(marker => marker.remove()); + eventMarkers = []; + + // Ajouter les nouveaux marqueurs avec emojis + allEvents.forEach(event => { + const coordinates = event.geometry.coordinates; + const properties = event.properties; + + // Créer l'élément marqueur avec emoji et forme de goutte + const el = document.createElement('div'); + el.className = 'custom-marker'; + + // Créer la forme de goutte en arrière-plan avec emoji + el.innerHTML = ` +
    +
    ${getEventEmoji(properties)}
    +
    + `; + + // Créer le contenu de la popup + const popupContent = createPopupContent(properties); + + // Créer la popup + const popup = new maplibregl.Popup({ + closeButton: true, + closeOnClick: true + }).setHTML(popupContent); + + // Créer et ajouter le marqueur + const marker = new maplibregl.Marker(el) + .setLngLat(coordinates) + .setPopup(popup) + .addTo(map); + + eventMarkers.push({ + marker: marker, + eventType: properties.what || 'unknown', + element: el + }); + }); + + // Ajuster la vue pour inclure tous les événements + if (allEvents.length > 0) { + const bounds = new maplibregl.LngLatBounds(); + allEvents.forEach(event => { + bounds.extend(event.geometry.coordinates); + }); + map.fitBounds(bounds, { padding: 50, maxZoom: 12 }); + } +} + +function createPopupContent(properties) { + const title = properties.label || properties.name || 'Événement'; + const what = properties.what || 'Non spécifié'; + const description = properties.description || 'Aucune description disponible'; + const eventId = properties.id; + + return ` +
    + ${eventId ? + `

    ${title}

    ` : + `

    ${title}

    ` + } +

    Type: ${what}

    +

    Description: ${description}

    + ${eventId ? + `` : + `

    ID non disponible

    ` + } +
    + `; +} + +function filterEvents() { + const checkedTypes = Array.from( + document.querySelectorAll('#filter-list input[type="checkbox"]:checked') + ).map(cb => cb.id.replace('filter-', '')); + + eventMarkers.forEach(({ marker, eventType, element }) => { + if (checkedTypes.includes(eventType)) { + element.style.display = 'block'; + } else { + element.style.display = 'none'; + } + }); + + updateEventInfo(); +} + +function updateEventInfo() { + const checkedTypes = Array.from( + document.querySelectorAll('#filter-list input[type="checkbox"]:checked') + ).map(cb => cb.id.replace('filter-', '')); + + const visibleCount = checkedTypes.reduce((sum, type) => { + return sum + (eventTypeCounts[type] || 0); + }, 0); + + const totalCount = allEvents.length; + + document.getElementById('event-info').innerHTML = ` +

    Showing ${visibleCount} of ${totalCount} events

    +

    Event types: ${checkedTypes.length} selected

    + `; +} diff --git a/test_agenda_debug.html b/test_agenda_debug.html new file mode 100644 index 0000000..6b87d67 --- /dev/null +++ b/test_agenda_debug.html @@ -0,0 +1,66 @@ + + + + Test Agenda Debug + + + +

    Test de l'Agenda avec Debug

    + +
    +

    Instructions de test :

    +
      +
    1. Ouvrez les outils de développement (F12)
    2. +
    3. Allez dans l'onglet "Console"
    4. +
    5. Cliquez sur un des liens ci-dessous
    6. +
    7. Observez les logs dans la console
    8. +
    +
    + +

    Tests à effectuer :

    + + + 🔗 Test 1: Agenda sans filtre + + + + 🔗 Test 2: Agenda avec paramètre de requête (?what=culture) + + + + 🔗 Test 3: Agenda avec fragment (#&what=culture) + + + + 🔗 Test 4: Agenda avec fragment spécifique (#&what=culture.community.ccpl) + + +

    Logs attendus dans la console :

    +
      +
    • 🔗 Fragment reçu: [fragment]
    • +
    • 🧹 Fragment nettoyé: [fragment nettoyé]
    • +
    • 🎯 Paramètre what extrait: [valeur]
    • +
    • ✅ Filtre what défini: [valeur]
    • +
    • 🔍 Chargement des événements avec paramètres: [paramètres]
    • +
    • 📅 Plage de dates: [dates]
    • +
    • 📡 Réponse API reçue: [réponse]
    • +
    • 📊 Nombre d'événements chargés: [nombre]
    • +
    • 🔍 Application du filtre what: [filtre]
    • +
    • ✅ Événements après filtrage: [nombre]
    • +
    + +

    Problèmes à vérifier :

    +
      +
    • ❌ Si aucun log n'apparaît : Le serveur Angular ne fonctionne pas
    • +
    • ❌ Si "Fragment reçu: null" : L'URL ne contient pas de fragment
    • +
    • ❌ Si "Paramètre what extrait: null" : Le parsing du fragment échoue
    • +
    • ❌ Si "Nombre d'événements chargés: 0" : L'API ne retourne pas d'événements
    • +
    • ❌ Si "Événements après filtrage: 0" : Le filtrage ne fonctionne pas
    • +
    + + diff --git a/test_marker.html b/test_marker.html index 47e586f..121ad79 100644 --- a/test_marker.html +++ b/test_marker.html @@ -40,7 +40,7 @@ // Initialize the map const map = new maplibregl.Map({ container: 'map', - style: 'https://demotiles.maplibre.org/style.json', + style: 'https://tiles.openfreemap.org/styles/liberty', center: [2.2137, 46.2276], // Default center (center of metropolitan France) zoom: 5 }); diff --git a/test_osm_cal_api.py b/test_osm_cal_api.py new file mode 100644 index 0000000..3c8a220 --- /dev/null +++ b/test_osm_cal_api.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +""" +Test script for the OSM Calendar extractor with different parameter combinations. +This script tests the functionality of the osm_cal.py script with various +combinations of max_events and offset parameters. +""" + +import sys +import os +from extractors.osm_cal import main as osm_cal_main + +def run_test(max_events, offset): + """ + Run the OSM Calendar extractor with the specified parameters. + + Args: + max_events (int): Maximum number of events to insert + offset (int): Number of events to skip from the beginning of the RSS feed + """ + print(f"\n=== Testing with max_events={max_events}, offset={offset} ===") + osm_cal_main(max_events=max_events, offset=offset) + print("=== Test completed ===\n") + +def main(): + """ + Run tests with different parameter combinations. + """ + print("Starting OSM Calendar API tests...") + + # Test 1: Default parameters (max_events=1, offset=0) + run_test(1, 0) + + # Test 2: Multiple events (max_events=3, offset=0) + run_test(3, 0) + + # Test 3: With offset (max_events=2, offset=2) + run_test(2, 2) + + # Test 4: Large offset (max_events=1, offset=10) + run_test(1, 10) + + # Test 5: Large max_events (max_events=10, offset=0) + run_test(10, 0) + + print("All tests completed.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/test_osm_cal_ical.py b/test_osm_cal_ical.py new file mode 100644 index 0000000..f231704 --- /dev/null +++ b/test_osm_cal_ical.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python3 +""" +Test script for the OSM Calendar extractor's iCal functionality. + +This script tests the ability of the osm_cal.py script to extract +geographic coordinates and location information from iCal files +for events that don't have this information in the RSS feed. +""" + +import sys +import os +from extractors.osm_cal import fetch_ical_data, OSMCAL_EVENT_BASE_URL +from oedb.utils.logging import logger + +def test_fetch_ical_data(): + """ + Test the fetch_ical_data function with a real OSM Calendar event. + """ + print("\n=== Testing fetch_ical_data function ===") + + # Test with a real OSM Calendar event URL + # Note: This event ID might not exist in the future, so the test might fail + event_url = f"{OSMCAL_EVENT_BASE_URL}3973" + + print(f"Fetching iCal data for event: {event_url}") + location_name, coordinates = fetch_ical_data(event_url) + + print(f"Location name: {location_name}") + print(f"Coordinates: {coordinates}") + + if coordinates != [0, 0]: + print("✅ Successfully extracted coordinates from iCal") + else: + print("❌ Failed to extract coordinates from iCal") + + if location_name != "Unknown Location": + print("✅ Successfully extracted location name from iCal") + else: + print("❌ Failed to extract location name from iCal") + + print("=== Test completed ===\n") + + return coordinates != [0, 0] and location_name != "Unknown Location" + +def test_with_invalid_url(): + """ + Test the fetch_ical_data function with an invalid URL. + """ + print("\n=== Testing fetch_ical_data with invalid URL ===") + + # Test with an invalid event URL + event_url = f"{OSMCAL_EVENT_BASE_URL}999999999" + + print(f"Fetching iCal data for invalid event: {event_url}") + location_name, coordinates = fetch_ical_data(event_url) + + print(f"Location name: {location_name}") + print(f"Coordinates: {coordinates}") + + if coordinates == [0, 0]: + print("✅ Correctly returned default coordinates for invalid URL") + else: + print("❌ Unexpectedly returned coordinates for invalid URL") + + if location_name == "Unknown Location": + print("✅ Correctly returned default location name for invalid URL") + else: + print("❌ Unexpectedly returned location name for invalid URL") + + print("=== Test completed ===\n") + + return coordinates == [0, 0] and location_name == "Unknown Location" + +def test_with_non_osmcal_url(): + """ + Test the fetch_ical_data function with a non-OSM Calendar URL. + """ + print("\n=== Testing fetch_ical_data with non-OSM Calendar URL ===") + + # Test with a non-OSM Calendar URL + event_url = "https://example.com/event/123" + + print(f"Fetching iCal data for non-OSM Calendar URL: {event_url}") + location_name, coordinates = fetch_ical_data(event_url) + + print(f"Location name: {location_name}") + print(f"Coordinates: {coordinates}") + + if coordinates == [0, 0]: + print("✅ Correctly returned default coordinates for non-OSM Calendar URL") + else: + print("❌ Unexpectedly returned coordinates for non-OSM Calendar URL") + + if location_name == "Unknown Location": + print("✅ Correctly returned default location name for non-OSM Calendar URL") + else: + print("❌ Unexpectedly returned location name for non-OSM Calendar URL") + + print("=== Test completed ===\n") + + return coordinates == [0, 0] and location_name == "Unknown Location" + +def main(): + """ + Run all tests. + """ + print("Starting OSM Calendar iCal tests...") + + # Run tests + test1 = test_fetch_ical_data() + test2 = test_with_invalid_url() + test3 = test_with_non_osmcal_url() + + # Print summary + print("\n=== Test Summary ===") + print(f"Test 1 (fetch_ical_data): {'PASSED' if test1 else 'FAILED'}") + print(f"Test 2 (invalid URL): {'PASSED' if test2 else 'FAILED'}") + print(f"Test 3 (non-OSM Calendar URL): {'PASSED' if test3 else 'FAILED'}") + + if test1 and test2 and test3: + print("\n✅ All tests PASSED") + else: + print("\n❌ Some tests FAILED") + + print("All tests completed.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/uwsgi.ini b/uwsgi.ini new file mode 100644 index 0000000..1bb2fd7 --- /dev/null +++ b/uwsgi.ini @@ -0,0 +1,21 @@ +[uwsgi] +http = :8080 +http-websockets = true +wsgi-file = wsgi_websocket.py +chdir = . +virtualenv = venv +async = 100 +ugreen = true +processes = 2 +threads = 4 +master = true +vacuum = true +die-on-term = true +pythonpath = . +buffer-size = 65535 +harakiri = 30 +max-requests = 1000 +socket-timeout = 120 +log-date = true +py-autoreload = 1 +touch-reload = %p diff --git a/wsgi_websocket.py b/wsgi_websocket.py new file mode 100644 index 0000000..56b1827 --- /dev/null +++ b/wsgi_websocket.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +""" +Configuration uWSGI pour l'intégration des WebSockets avec OEDB +""" + +import os +import sys +import json +import time +import asyncio +from oedb.utils.logging import logger + +# Import l'application Falcon principale +sys.path.insert(0, os.path.dirname(__file__)) +from backend import app + +# Import le gestionnaire WebSocket +from oedb.resources.demo.websocket import WebSocketManager + +# Créer une instance du gestionnaire WebSocket +ws_manager = WebSocketManager() + +# Gestionnaire de WebSocket pour uWSGI +def websocket_handler(environ, start_response): + """Gestionnaire pour les connexions WebSocket.""" + path = environ.get('PATH_INFO', '') + + # Vérifier si c'est une requête WebSocket et qu'elle est sur le bon chemin + if path == '/ws' and environ.get('HTTP_UPGRADE', '').lower() == 'websocket': + try: + # Importer uwsgi ici car il n'est disponible qu'à l'exécution dans l'environnement uWSGI + import uwsgi + + # Passer la requête au gestionnaire de WebSocket uWSGI + uwsgi.websocket_handshake() + logger.info(f"Nouvelle connexion WebSocket établie") + + client_id = id(environ) + # Simuler la fonction handle_connection pour ce client + try: + # Ajouter le client à la liste + with ws_manager.lock: + ws_manager.clients[client_id] = { + 'websocket': environ, # Utiliser environ comme proxy + 'username': None, + 'position': None, + 'last_seen': time.time(), + 'show_only_to_friends': False, + } + + # Envoyer la liste des utilisateurs connectés + users_list = [] + with ws_manager.lock: + for client_info in ws_manager.clients.values(): + if client_info.get('username'): + users_list.append({ + 'username': client_info['username'], + 'timestamp': time.time() + }) + + # Envoyer la liste des utilisateurs + uwsgi.websocket_send(json.dumps({ + 'type': 'users', + 'users': users_list + }).encode('utf-8')) + + # Boucle de traitement des messages + while True: + msg = uwsgi.websocket_recv() + data = json.loads(msg.decode('utf-8')) + message_type = data.get('type') + + if message_type == 'position': + # Traiter la mise à jour de position + username = data.get('username') + position = data.get('position') + timestamp = data.get('timestamp') + show_only_to_friends = data.get('showOnlyToFriends', False) + + # Mettre à jour les informations du client + with ws_manager.lock: + if client_id in ws_manager.clients: + ws_manager.clients[client_id]['username'] = username + ws_manager.clients[client_id]['position'] = position + ws_manager.clients[client_id]['last_seen'] = time.time() + ws_manager.clients[client_id]['show_only_to_friends'] = show_only_to_friends + + # Mettre à jour dans le dictionnaire des positions + ws_manager.positions[username] = { + 'position': position, + 'timestamp': timestamp, + 'show_only_to_friends': show_only_to_friends + } + + # Diffuser à tous les autres clients + broadcast_position(username, position, timestamp, show_only_to_friends) + + elif message_type in ['pouet', 'friendRequest']: + # Rediriger ces messages vers les destinataires + handle_direct_message(data, message_type) + + except Exception as e: + logger.error(f"Erreur WebSocket: {e}") + finally: + # Supprimer le client de la liste + with ws_manager.lock: + if client_id in ws_manager.clients: + username = ws_manager.clients[client_id].get('username') + if username and username in ws_manager.positions: + del ws_manager.positions[username] + del ws_manager.clients[client_id] + + except Exception as e: + logger.error(f"Erreur de connexion WebSocket: {e}") + return ['500 Internal Server Error', [], [b'WebSocket Error']] + + # Si ce n'est pas une requête WebSocket, passer à l'application WSGI + return app(environ, start_response) + +# Fonctions utilitaires pour les WebSockets uWSGI +def broadcast_position(username, position, timestamp, show_only_to_friends): + """Diffuse la position d'un utilisateur à tous les autres utilisateurs.""" + import uwsgi + + message = json.dumps({ + 'type': 'position', + 'username': username, + 'position': position, + 'timestamp': timestamp, + 'showOnlyToFriends': show_only_to_friends + }).encode('utf-8') + + with ws_manager.lock: + for client_id, client_info in ws_manager.clients.items(): + # Ne pas envoyer à l'utilisateur lui-même + if client_info.get('username') == username: + continue + + try: + # Dans uWSGI, nous devons utiliser environ pour identifier le socket + if 'websocket' in client_info: + uwsgi.websocket_send(message) + except Exception as e: + logger.error(f"Erreur d'envoi de broadcast de position: {e}") + +def handle_direct_message(data, message_type): + """Traite un message direct (pouet ou demande d'ami).""" + import uwsgi + + from_user = data.get('from') + to_user = data.get('to') + + if not from_user or not to_user: + return + + # Trouver le client destinataire + recipient_client_id = None + with ws_manager.lock: + for client_id, client_info in ws_manager.clients.items(): + if client_info.get('username') == to_user: + recipient_client_id = client_id + break + + if recipient_client_id and recipient_client_id in ws_manager.clients: + # Préparer le message selon le type + if message_type == 'pouet': + msg = json.dumps({ + 'type': 'pouet', + 'from': from_user, + 'timestamp': data.get('timestamp') + }).encode('utf-8') + logger.info(f"Pouet pouet envoyé de {from_user} à {to_user}") + elif message_type == 'friendRequest': + msg = json.dumps({ + 'type': 'friendRequest', + 'from': from_user, + 'timestamp': data.get('timestamp') + }).encode('utf-8') + logger.info(f"Demande d'ami envoyée de {from_user} à {to_user}") + + # Envoyer le message + try: + uwsgi.websocket_send(msg) + except Exception as e: + logger.error(f"Erreur d'envoi de message direct: {e}") + +# Appliquer le patch au démarrage +patch_websocket_manager() + +# Application WSGI pour uWSGI +application = websocket_handler + +# Remarque: Pour utiliser ce fichier, démarrez uWSGI avec: +# uwsgi --http :8080 --http-websockets --wsgi-file wsgi_websocket.py --async 100 --ugreen