All right, we are just about to get started with our second speaker.
Virgil Deville is going to present last week docs, open source collaborative documentation
platform.
So if you all give it a hand.
That's, I still worked a lot on the kind of like the thing that I'm launching, that
is supporting the presentation.
So intro-duction to what is this?
This is a last week docs.
It's not taking up, that is being made by the French government, the German government,
and the German government.
It's MIT license.
It works like this, you know, you create a document.
You have a nice looking editor, which will probably remind you, notion, where you can type
mark down and do a slash commands and add different types of blocks.
It's quite useful to take notes together in real time.
So if I put a QR code in here, you would be able to get in here and we would see
your cursor.
It's on the 12th of two great libraries, actually free, wage a yes for CRDT's, block
Node.js for the nice looking editor, and prosignar for the low-level editor.
It's neat that we have in the state to have a not taking up real time, that you don't have
to do formatting, you can just type away, use shortcuts and not worry about how it's going
to look.
So here are the only formatting options or the ones that you see here.
So bold, italic, a bunch of colors for text and background, and that's it.
You don't choose the size of the font type and stuff like that.
So I'm the product manager of this.
It had a lot of success on the open source community.
Someone posted it on the hacker news, and it got a lot of success, like, was on the front
page for two days and that affected a lot of stars.
I don't, I'm not sure why, because we are not doing something very complicated, it's just
a jungle application with some permissions, and we are wrapping the two libraries I talked
about before, but it became quite popular, because we made it easy to install, so a lot
of people are installing it on their server, you can expect edge for nix, it's package
for why you know hosts, and we are not doing that, it's the community, so thanks to them.
And in the fan states, it has become a big part of how we do internal documentation and
external documentation.
So for example, for this tool, we do a user FAQ for the public agents who use this tool,
and you'll find this, you can navigate inside the different pages, you can add media's,
so it's practical to do end user documentation, and you have a little search engine for
all the set pages that are inside, and it's, oh yeah, I mean French, so for example,
if I go here, I can look at how to handle sub document and stuff like that, and it's very easy
to use, you don't need any technical requirements to do that, and it's kind of the subject
of the talk, so I'm a project manager, the developer, I used to work with it, told me like
you're a minimal stack developer, I don't know how to do anything, apart HTML and CSS, and I understand
the bit of git, but for me, I would contribute to open source by doing documentation, stuff
like that, but it was always horrible because every time I would contribute, I would have
to remember how to handle git workflow, and this was terrible, especially for this project
that I'm showing you now, because the team uses the contribution requirements, got me really
confused, like, they use git modules, you have to put an emoji, the size of the commit
message has to be 80 characters long, if you don't have, if you put a space, if you don't
put a space between here and here, the CI breaks, so for me, it was terrible, I had to learn
to be based, stuff I never done before, and it was fun to learn to be based, but I'm
still not going to become developer that does this for a long time, and I started to do
all my documentation on last week's docs, and the purpose of the talk, if I find it again,
here, yes, it's to say that maybe this is a good tool for documentation, maybe not
all documentation, I mean, like technical documentation, we do it inside the GitHub repo,
you use mcadorx, whatever, but you don't do technical documentation every day, like
you, and it makes sense that it's stable and doesn't evolve too much, but for end
user documentation or documentation that needs to evolve a lot, it's nice to have flexible
tools that you can give to mortals, where you invite with an email address, they arrive
on an editor, they have permission access, they can read right, they can create their own
sub documents, and this is basically I think what is docs, so I classified kind of the documentation
to column, the technical ones, and the one that's not really technical, you might have
a video, you might have even embedded PDFs and stuff like that, and especially you might
want to localize it in different languages, and this is what I wanted, I actually
worked on before my talk, and I thought I would have time to prepare the better presentation,
but I put my energy in the last week in launching this thing, which is just a docs application
that is focused on translating the end user documentation, what you've seen before the FAQ,
I do it in my everyday job, specialized for the French government instance, but I noticed
that a lot of people are installing, there is no end user documentation, and I will not
do end user documentation in GitHub, because I do it every day, and I need to do it fast,
so I know this instance, and I thought, okay, maybe we can do this collaborative documentation
how much time did I have left, and I tried to come up with a process, and I started
to get a few contributions, so basically it's a docs instance, I documented the process
in here, I brought the documentation in French with true everything that was French, specialized
instance, and I want to try this process with a few members of the community who ask to
have a place to translate the documentation, so this is what the process describes, and basically
how I'm hoping it will work, is that each language will have its own page, on each page,
I'm going to be able to invite an editor, and I will be the administrator of each pages,
because I'm doing the main documentation, and this is the story of this guy, it's quite interesting,
this is Alexei, so he has all the, I have a little change log, so on the first page, you see
the last date of the documentation, you have the core section of the documentation, and then
if you go inside each thing, you will see the content that you need to translate, so if I go
here, now for now it's a lot of it, it's still in English, it's still in French, but this one
is actually translated, and I gave this to Alexei, and what Alexei is doing, he is a guy
from Ukraine, he is actually our most active translator in the docs community, if we go
on the, we use code in for translations, if we go on the code in page, you will see, so
this guy is doing translation to speak better French, basically, and you can't get a whole
of it on the video conference, because using Ukraine and internet connection is very bad, so
we only chat, and if you look at the two most translated languages on code in, you have Ukraine
and full green, and you have Russian full green, so bigger plus to this Alexei guy, and I
say, okay, you want to help with the Ukraine translation, so here we have in study the, translating
what seems to be docs in Ukraine, I did all the languages that we have in Kradin, and the plan
is to invite progressively the contributors inside the community who wants to translate this
documentation based on the main version, which is English, and then look for updates and translate
the rest, so I've started with my friend Alexei, I have Stefan who might be somewhere here,
but from Netherlands, who will be doing the Netherlands, and of course, I think people will use AI
for this, so in docs we have our own LLM gateway to do this, so for example if I go to English
and we go to a page that is not translated, so for example format document, and we take this text,
it's actually sending a request for translation here to our own LLM gateway in the state,
and it should come back with the translation English, so now translation of text is fairly
easy, it's quite well done, so you just need to review, and I'm hoping that providing a tool where
you can natively do the translation with the AI, people will actually help me with the difficult part,
which is this, you know, like doing the screenshots in each language is a huge hassle when you're
doing user documentation, so I'm hoping by providing a flexible tool where people don't have to
have the hassle of a git workflow, actually care about interfaces because they are end users,
and don't spend too much time manually translating because they have AI, I'm hoping that they will
redo all the screenshots, redo all the screenshots and this way we can all have a shared document
portal that we can put inside of our product, and so I'm recruiting of course, if you happen to be
someone that wants to translate, please go to checkout docs.plar-sweet.eu, and we have a dedicated
matrix channel inside the, so we use matrix for for community communications, there is a
general channel, I just created kind of like a sub channel for translation, and I'm hoping to
coordinate over there, so I have sushi, I have someone for Ukrainian, but all the languages, I think it's
15 languages, still need some people to, to, to, to fill the job, so we'll have administrator of
languages and then editance, and I guess the last thing, yes, I want to say, is that we've been
seeing a lot of people using docs as a adolescent MS, so writing the content collaboratively
reviewing everything, it's nice to have real time, so I don't know if Arno you can go on this document,
so you can show that it works real time, I'm going to send you the, the document, here, here,
and I'm coming back here, and oh shit, I lost it, but these guys, they are using docs as a, as
a adolescent MS, we have an API that is exposing the documents, the public documents, and the
public sub documents, and you can just scrap the marked on and recreate your own documentation
website, pulling contents that's lively edited in real time by people on docs, because this is
what it's made for, if you don't want to use docs as the end user website of your documentation
and maybe we can see Arno, is it you Arno, yes, okay, so this is what's nice with,
wager yes, blocknot, website kit, and everything is that, conflict resolution in real time,
we can work together on this, and this is pretty cool, and I guess I'm done, maybe you have some
questions, but thank you for listening.
Yes.
How do you, how do you, how do you, how do you, so push and explore the documents in the
document?
So the question was how do we have users, handle conflicts and handle GitHub, the idea is that
you use docs, so you don't have GitHub in the mix, is because we have CRDTs, and we have
wager, we have people writing on the same document at the same time, and the conflict resolution
is done for them, never, and you can use this to, as content for Annoza website, yes?
My question is, as well, and explore the documentation, if it's supposed to, for some reason,
for any reason, someone that's in the government, that is to be asked, but probably that, for instance,
with our Mac, our editors, you can do a lot of things, but when you come to the
transform, and unfortunately we do that, you may have blisters, pictures, which are split,
which we do page and so on, so the question is, is it supposed to have an export feature or not,
and yes, how is it kind of, there's a structure, you know, trouble?
Yes, so this is the nice thing about, so, blocknote is not marked on per se, you can convert
blocknote content to mark them, but there are content that is more complicated than marked
on the inside, but we, as it is needed for public agents to export their document in OTT, in
DocX, in PDF, so we have a client-side exporter, and you can choose your format, and it's not perfect yet,
for example, tables, I think images, we are starting to do okay, we've done a bunch of fixes,
tables is stuff, we do import, we are doing export as well, import is done back-and-side,
but we want to do a good job at document portability, because it's very important to our users
to be able to navigate around, not everyone wants to use DocX. Yes, but, you know, if we, this
document is not too hard, if we export this, it should be okay, yeah, because I think there are a bunch
of blocks below, yeah, the void blocks, void blocks, yeah, but they use a lot of microsoft in the state,
yes, yes, yes, I do, I do, I do not think so yet, no, I don't feel so, yeah, is there an API for
import and export, I don't think so, but there could be, and one question here, and I will
go ahead, how does it handle users? Yes, yes, yes, so it uses, or I see, the user base is external,
here it's kick-look, so I invite with the user, you come register, and if your instance is open,
if you invite someone that's not already there, you will receive an invitation email, here it's close,
so it won't work like this, and you can put anything, like you could put Sentinel or whatever,
or open now, and here, yes, so here what I mentioned is that in the front states,
there is a team that does an API for LLMs that we use, the model behind this is a mistrial
lab, if I'm not mistaken, we we have many models installed, the formatting structure below is
Jason, so it's a bit complex, we've noticed that small models don't work really well, if you want
the, if you do an API asking there, so for example, if I say what is a recipe for a Belgian
waffle, it should come back with some formatting, here, five minutes left, yes, so we've seen
that you need a bigger model, small models don't work really well to provide an answer with good
formatting, yes, yes, yes, it's an environment environment viable, if you don't put an API key,
you won't see it's in the front end, so the question was can you disable the feature, yes,
I mean, in the front states, we don't have a forge for all publications yet, and in our department,
the one that everyone uses is GitHub, I'm hoping we can have something like the Germans have,
they have a forge that is called opencode.de, where it's a federal forge, every public agent can
push their code there, I think it even has everything, the CI and stuff, and now they even
added an extension, so you can build your images securely there, I would love to have something like that,
but for now, we use GitHub, and one last question maybe, yes, so how we do this is a bit
dumb, so we snap shots every minute, the documents, when they're so you're right, if you're
unactive for one minute, we snap shots, and this is as free, we start the document in an object
storage, and it's using the versioning of the object storage, so you can restore it with a click,
it would be better if we do something more intelligent, but we are in the process of it.
So it's a backup, the JSON, and I actually, yes, the document is called the white doc,
if you're familiar with white gs, that's what we start, and we start the media as anchors inside the
documents, and I think we are done, thank you.