Skip to content

Instantly share code, notes, and snippets.

View evaisse's full-sized avatar

Emmanuel Vaïsse evaisse

  • none
  • Nancy, France
View GitHub Profile
@evaisse
evaisse / README.md
Last active March 5, 2026 14:36
PDR aiktivist

aiktivist

1) Objectif produit

Construire une application web pour piloter des agents IA et converser avec eux, avec :

  • Bun comme runtime et outil principal.
  • Fly.io comme cible de déploiement (déploiement déclenché par push sur main).
  • Filesystem + SQLite (via Bun) pour la persistance.
  • Authentification par login/mot de passe.
@evaisse
evaisse / POCKETBASE_JAVASCRIPT_GOJA.md
Created October 15, 2025 14:45
Specific docs for specific pocketbase Go JS (goja) engine

PocketBase JavaScript (Goja Engine) - Specific Behaviors & Limitations

This document covers the unique aspects, limitations, and unexpected behaviors when working with PocketBase's embedded JavaScript engine (Goja). These are critical differences from standard Node.js or browser JavaScript environments.

Table of Contents

  1. Engine Overview
  2. Module Loading
  3. Authentication Patterns
  4. ES5 vs ES6+ Compatibility
@evaisse
evaisse / main.dart
Created October 9, 2025 08:47
Dart & comparaison , égalité logique (operator ==) , hashCode , compareTo ...
import 'dart:core';
/// Démo d’égalité, hashCode et comparaison d’entités.
///
/// Points clés:
/// - L’égalité logique (operator ==) est basée sur l’ID en minuscules.
/// - Le hashCode est cohérent avec == (utilise le même critère).
/// - compareTo (Comparable<MyEntity>) illustre un ordre de tri.
///
/// Subtilités:
@evaisse
evaisse / main.dart
Last active September 30, 2025 11:56
simple way to make a screen controller/view using provider and without fullstate widgets
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class MyBudgetModel {
final Set<String> activeCategories;
MyBudgetModel(this.activeCategories);
}
class MyBudgetController extends ChangeNotifier {
@evaisse
evaisse / pb_tools.py
Created September 26, 2025 13:13
pocketbase management tools (for CI)
#!/usr/bin/env python3
import argparse
import json
import os
import platform
import sys
import urllib.request
import zipfile
from pathlib import Path
@evaisse
evaisse / POCKETBASE.md
Created September 19, 2025 19:50
POCKETBASE.md
  • ALWAYS write code, comments, and documentation strictly in English, but mirror the user's language for conversational responses and explanations or paths/files where localizations is intended (e.g. *.fr-FR.md).
  • ALWAYS prefer conventions over configurations
  • ALWAYS use conventional commit when commiting to git
  • ALWAYS start by analyzing the AGENTS.md file, then README.md to understand context, llms.txt to understand structure, CONTRIBUTING.md to adopt project's conventions and Makefile to discover local tools.
  • ALWAYS update the related CHANGELOG.md files when a package is modified.
  • ALWAYS outline a step-by-step plan or pseudo-code strategy before generating the final implementation.
  • ALWAYS minimize code volume by strictly adhering to KISS principles and systematically prioritizing the reuse of existing logic or native features over duplication or adding new dependencies.
  • ALWAYS prefer use of local commands (make install, make test, make analyze, npm *) and other user-documen

Tarot de Marseille Guide

Rules for Drawing Tarot de Marseille

Traditional Drawing Methods

Single Card Draw

The simplest method for daily guidance or quick answers.

  • Shuffle the deck while focusing on your question
  • Draw one card from the top or fan out the deck and select intuitively
@evaisse
evaisse / dartupdates.md
Created September 12, 2025 09:58
dart 3.6/3.7/3.8

Nouveautés de Dart pour les version 3.6, 3.7 et 3.8

Ce document présente toutes les fonctionnalités et améliorations majeures apparues dans Dart entre les versions 3.5 (août 2024) et 3.8 (mai 2025).

Dart 3.6 (Novembre 2024)

1. Séparateurs de chiffres (Digit Separators)

La fonctionnalité principale de Dart 3.6 est l'introduction des séparateurs de chiffres pour améliorer la lisibilité des nombres.

Google Way of Dart

Copyright :

There are countless Flutter coding conventions floating around. From the popular “Flutter Clean Architecture” to community-driven style guides, developers have been following external conventions for years. I was one of them.

For the past 5 years, I followed community best practices, enforced strict linting rules, and structured my Flutter apps according to popular Medium articles and YouTube tutorials. My code was “clean,” and my architecture was “proper.”