mirror of
https://github.com/almet/notmyidea.git
synced 2025-04-28 19:42:37 +02:00
174 lines
No EOL
10 KiB
HTML
174 lines
No EOL
10 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<title>
|
|
uMap - Alexis Métaireau </title>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet"
|
|
href="https://blog.notmyidea.org/theme/css/main.css?v2"
|
|
type="text/css" />
|
|
<link href="https://blog.notmyidea.org/feeds/all.atom.xml"
|
|
type="application/atom+xml"
|
|
rel="alternate"
|
|
title="Alexis Métaireau ATOM Feed" />
|
|
<script src="https://cdn.jsdelivr.net/npm/vega@5"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/vega-lite@5"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/vega-embed@6"></script>
|
|
</head>
|
|
<body>
|
|
<div id="content">
|
|
<section id="links">
|
|
<ul>
|
|
<li>
|
|
<a class="main" href="/">Alexis Métaireau</a>
|
|
</li>
|
|
<li>
|
|
<a class=""
|
|
href="https://blog.notmyidea.org/journal/index.html">Journal</a>
|
|
</li>
|
|
<li>
|
|
<a class=""
|
|
href="https://blog.notmyidea.org/code/">Code, etc.</a>
|
|
</li>
|
|
<li>
|
|
<a class=""
|
|
href="https://blog.notmyidea.org/weeknotes/">Notes hebdo</a>
|
|
</li>
|
|
<li>
|
|
<a class=""
|
|
href="https://blog.notmyidea.org/lectures/">Lectures</a>
|
|
</li>
|
|
<li>
|
|
<a class=""
|
|
href="https://blog.notmyidea.org/projets.html">Projets</a>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<header>
|
|
<h1 class="post-title">uMap</h1>
|
|
<div>
|
|
▓▓▓░░░░░░░ 31% (54h / 175 prévues)
|
|
</div>
|
|
<ul>
|
|
<li>54h rémunérées</li>
|
|
<li>4h bénévoles</li>
|
|
</ul>
|
|
</header>
|
|
<article>
|
|
<div id="vis"></div>
|
|
<h2 id="samedi-25-novembre-2023">🗓️ Samedi 25 novembre 2023</h2>
|
|
<p>J’ai passé du temps pour faire passer les tests dans le <span class="caps">CI</span>, et résolu quelques problèmes au passage.</p>
|
|
<h2 id="vendredi-24-novembre-2023">🗓️ Vendredi 24 novembre 2023</h2>
|
|
<p>J’ai exploré l’utilisation de Websockets pour le transport, entre autre sa consommation mémoire, il semblerait que ce soit tout à fait acceptable (1gb de mémoire permet de gérer 1500 connexions concurrentes).</p>
|
|
<p>WebRTC n’est <a href="https://gitlab.torproject.org/legacy/trac/-/issues/8178">actuellement pas supporté par Tor Browser </a>(<a href="https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41021">pour le moment</a>), donc j’imagine que c’est une fausse piste.</p>
|
|
<p>J’ai repassé un bon coup sur la <span class="caps">PR</span> du merge optimiste. Je suis content du résultat: le code et des tests me semblent plus lisibles et compréhensibles.</p>
|
|
<p>L’après-midi à été passée avec Yohan qui m’a fait un tour du frontend. J’en ai profité pour prendre des notes que je pense publier dans la documentation. C’était très utile d’avoir ses explications, le code n’est pas si simple à prendre en main.</p>
|
|
<h2 id="jeudi-23-novembre-2023">🗓️ Jeudi 23 novembre 2023</h2>
|
|
<p>Une matinée passée à la fois à préparer la semaine et à rédiger un résumé de ce que j’ai fait la semaine dernière.
|
|
J’ai passé un peu plus de temps à comprendre en profondeur le code de merge de la <span class="caps">PR</span> de Biondi biondo, pour pouvoir l’expliquer dans un article de blog.</p>
|
|
<p>L’après-midi j’ai participé à la weekly et lu l’article de blog de Figma qui explique leur approche pour implementer du temps réel.</p>
|
|
<p>J’avance petit à petite sur la piste d’utiliser un <span class="caps">CRDT</span> “maison”, voire pas de <span class="caps">CRDT</span> du tout, en fonction de nos besoins réels. Un <span class="caps">CRDT</span> nous permettrait d’avoir plusieurs personnes qui travaillent en même temps sur une même feature (au sens GeoJSON), mais je ne sais pas encore si c’est un cas d’usage réel.</p>
|
|
<h2 id="samedi-18-novembre-2023">🗓️ Samedi 18 novembre 2023</h2>
|
|
<p>J’ai passé un peu de temps à intégrer l’intégration continue de Github. Je pensais que ce serait rapide mais je ne devais pas être très réveillé…</p>
|
|
<h2 id="vendredi-17-novembre-2023">🗓️ Vendredi 17 novembre 2023</h2>
|
|
<p>J’ai passé du temps pour essayer de comprendre comment utiliser SQLite en local à l’intérieur d’un navigateur, en utilisant <a href="https://vlcn.io/docs/cr-sqlite/intro">cr-sqlite</a>. J’ai un prototype qui fonctionne à peu près et qui permet de récupérer les éditions en local pour les synchroniser avec une autre base SQLite.</p>
|
|
<p>Fait un point avec l’équipe sur l’avancement général l’après-midi.</p>
|
|
<p>Ensuite continué à creuser sur l’utilisation de SQLite avec cr-sqlite.</p>
|
|
<h2 id="mardi-14-novembre-2023">🗓️ Mardi 14 novembre 2023</h2>
|
|
<p>Une matinée passée avec Yohan pour à la fois <a href="https://github.com/umap-project/umap/pull/772/">avancer sur la <span class="caps">PR</span> pour merger des conflits simples</a>. On a passé le code en revue et fait quelques changements cosmétiques qui devraient aider à la compréhension générale.</p>
|
|
<p>La deuxième partie de la matinée à été utilisée pour discuter des découvertes et des questions que je me pose quand à comment faire pour ajouter ces fonctions de collaboration temps réel.</p>
|
|
<p>Plusieurs trucs à noter :
|
|
- Il est possible de challenger l’utilisation de geoJSON pour le stockage des données. On a parlé entre autres de pmtiles et de sqlite.</p>
|
|
<p>J’ai passé un début d’après-midi à installer mon environnement de travail sur Linux, puis j’ai :
|
|
- terminé de rebaser la pull request pour faire un merge optimiste.
|
|
- amélioré la vitesse d’execution des tests</p>
|
|
<p>Découvertes :
|
|
- https://www.geopackage.org/
|
|
- https://vlcn.io/docs/js/reactivity</p>
|
|
<h2 id="lundi-13-novembre-2023">🗓️ Lundi 13 novembre 2023</h2>
|
|
<p>J’ai cherché à comprendre comment il serait possible de s’intégrer avec Leaflet. Je connais assez mal l’écosystème donc j’ai cherché les plugins autour de stockage de données et de la synchronisation.</p>
|
|
<p>Beaucoup de clicks, de lecture et de compréhension des contours de l’écosystème <span class="caps">SIG</span>, et de l’écosystème de Leaflet.</p>
|
|
<p>J’ai aussi creusé autour des <span class="caps">SSE</span> et de WebRTC, question de comprendre les limites et avantages de chacun.</p>
|
|
<h2 id="mardi-07-novembre-2023">🗓️ Mardi 07 novembre 2023</h2>
|
|
<ul>
|
|
<li>Lu la documentation d’automerge</li>
|
|
<li>Commencé à faire un prototype pour voir le fonctionnement d’automerge en python</li>
|
|
<li>Installé les dépendances rust, compilé automerge</li>
|
|
<li>Réunion discussion avec Yohan sur mes questions et sur les différentes pistes</li>
|
|
</ul>
|
|
<h2 id="lundi-06-novembre-2023">🗓️ Lundi 06 novembre 2023</h2>
|
|
<ul>
|
|
<li>Lu le code qui est dans uMap actuellement pour comprendre le fonctionnement actuel</li>
|
|
<li>Commencé à rédiger un document avec les différentes options pour faire de la synchro</li>
|
|
<li>Fais des recherches sur les différentes options pour faire de la synchro</li>
|
|
</ul>
|
|
</article>
|
|
<script>
|
|
const spec = {
|
|
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
|
"width": 500,
|
|
"height": 200,
|
|
"data":
|
|
{
|
|
"name": "table",
|
|
"values": [
|
|
{"date": "2023-11-25", "series": "Rémunéré", "count": 3},
|
|
{"date": "2023-11-25", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-24", "series": "Rémunéré", "count": 9},
|
|
{"date": "2023-11-24", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-23", "series": "Rémunéré", "count": 8},
|
|
{"date": "2023-11-23", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-18", "series": "Rémunéré", "count": 0},
|
|
{"date": "2023-11-18", "series": "Bénévole", "count": 4},
|
|
{"date": "2023-11-17", "series": "Rémunéré", "count": 6},
|
|
{"date": "2023-11-17", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-14", "series": "Rémunéré", "count": 8},
|
|
{"date": "2023-11-14", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-13", "series": "Rémunéré", "count": 8},
|
|
{"date": "2023-11-13", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-07", "series": "Rémunéré", "count": 8},
|
|
{"date": "2023-11-07", "series": "Bénévole", "count": 0},
|
|
{"date": "2023-11-06", "series": "Rémunéré", "count": 4},
|
|
{"date": "2023-11-06", "series": "Bénévole", "count": 0},
|
|
]
|
|
}
|
|
,
|
|
"mark": "bar",
|
|
"encoding": {
|
|
"x": {
|
|
"timeUnit": {"unit": "dayofyear", "step": 1},
|
|
"field": "date",
|
|
"axis": {"format": "%d/%m"},
|
|
"title": "Date",
|
|
"step": 1,
|
|
},
|
|
"y": {
|
|
"aggregate": "sum",
|
|
"field": "count",
|
|
"title": "Heures",
|
|
},
|
|
"color": {
|
|
"field": "series",
|
|
"scale": {
|
|
"domain": ["Bénévole", "Rémunéré"],
|
|
"range": ["#e7ba52", "#1f77b4"]
|
|
},
|
|
"title": "Type d'heures"
|
|
}
|
|
}
|
|
};
|
|
|
|
vegaEmbed("#vis", spec)
|
|
// result.view provides access to the Vega View API
|
|
.then(result => console.log(result))
|
|
.catch(console.warn);
|
|
</script>
|
|
<footer>
|
|
<a id="feed" href="/feeds/all.atom.xml">
|
|
<img alt="RSS Logo" src="/theme/rss.svg" />
|
|
</a>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html> |