Re: [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

Torsten Bergmann
Hi Cédrick,

You know <https://www.netlify.com> where you can quickly connect to a GitHub project and serve it with a global CDN easily
in seconds as in <https://www.youtube.com/watch?v=mN9oI98As_4>

As the site runs HTTPS you can even host quickly a HTML/CSS/JS based PWA application. I tried with React and it works
nicely. So when you push a change to GitHub it easily goes live ... using two branches you can distinquish between prod
vs. dev.
 

No direct need for ruby or explicit site generator - but if you need you can also use Pharo and try "Mustache" or "Templ" and
similar to generate the page.
If you want Pharo for a backend or in the middle then either continue running your linux machine or put Pharo into docker and
run it on Azure, AWS or any other cloud based service out there. This way you can raise more instances when traffic raises
and you can scale. Decoupling the services is easy with REST/GraphQL and Pharo has projects to support that (Stargate,
Teapot/Tealight, GraphQL, ...).

You can even go serverless with Pharo Lambda Ultimate.

Many, many possibilities these days...

Have fun
T.
 
 

Gesendet: Samstag, 23. Mai 2020 um 15:13 Uhr
Von: "Cédrick Béler" <[hidden email]>
An: "Pharo Development List" <[hidden email]>, "Any question about pharo is welcome" <[hidden email]>
Betreff: [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

Hi there, 
 
This post is just to talk about one side project I’m exploring and interested in from a long time. I think it may interest other people here.
 
I’d like to have powerful (static based) web site so hosting is really cheap (even free) and hassle free. I’ve my own server for years, it is cheap and simple but, of course, it needs some maintenance (linux update, nginx scripts, …) even if tools are the simplest I’ve found.
 
Recently thanks to student projects ;-), I found some time to learn what I find is a wonderful solution. This solution is to use GitHub DSCM, GitHub Pages and Jekyll (a ruby static site generator that is natively integrated) all together.
https://jekyllrb.com[https://jekyllrb.com
 
The beauty is that you can edit the site straight on GitHub. We get the power of version system and hosting for free… 
It literally is a CMS and the cheapest and reliable that I know of (grav might be another option).
 
Of course, there are some « dynamic » content possibilities too (otherwise GitHub Pages is enough)
- blog posts are natively generated through new files according to a name convention.
- there are plugins too (but you have to watch for compatibility in GitHub).
 
Dealing with forms and comments is possible
- solutions that are hosted on a third-party. Solution like Discus or formspree, … (that’s a NO GO to me)
- web service integration that you can host (note that form spree is on GitHub too https://github.com/formspree/formspree[https://github.com/formspree/formspree])
 
This last point is where I’d like Pharo (Zinc, Iceberg) to be integrated. Again we could imagine a web service system based on Zinc. I could manage form submissions that way and everything I’d like but it may end up complex. Do I need a database ? Do I need to store information and therefore manage the underlying architecture. If it crash, I want only the endpoint to be not available but the whole site still working.
 
An in between elegant solution os to use git for what it’s good at (versioning collaboratively through PR, and also reliable hosting in classic platforms). 
 

The idea is to use the PR mechanisms to submit stuff like blog comments (note that you have a free moderation system). 
This is actually not limited to comments but all kinds of possible interaction…
 
This way is (to me) better in terms of infrastructure management. Such a service also needs to be available (and maintained) but this is a very minimalist machinery (hanling POST request service only - no real content management as deferred to github). And again, a fail safe version (for the last version of the generated pages).
 
Staticman (https://staticman.net[https://staticman.net]) is a nice node application that allows to do this. It’s possible to host the service too.

 
I can use this node app of course, but I believe we could have quite easily such an application in Pharo with Zinc. 
I also wonder if we could use Iceberg to deal with this information straight in a pharo image (that’d be cherry on the cake). 
The super cherry of the cake would be pharo core and lib documentation, demos (you can have one gihub page by organization and/or users - in paid plans, you can have more for private stuff)… One place, one process to contribute, either for code or documentation.
 
Anyway, I have no real question except than asking for feedback and also to know if some people are interested in such project. 
 
Cheers,
 
Cédrick
 
nb: my hidden goal is to provide web site for people, unipersonal and small organizations. So you know, they pay for the service of creation, but then they own it and can do whatever they like. Of course we can also offer paid services like managing dynamic information content. More than comments, I’d like to be able to deal with stuff like orders, facturation, even meeting planning through ics versioned files, etc. 
This really is something I’d like to be able to provide soon (less than 1 yr time - simplest web site with contact form and comments at least). It might become something more serious the future...
 
 

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

cedreek
Hi Torsten,


Hi Cédrick,

You know <https://www.netlify.com> where you can quickly connect to a GitHub project and serve it with a global CDN easily
in seconds as in <https://www.youtube.com/watch?v=mN9oI98As_4>

I actually just discovered after sending the email, as Hugo for as a generator too.

Looks interesting. I’ll try. 


As the site runs HTTPS you can even host quickly a HTML/CSS/JS based PWA application. I tried with React and it works
nicely. So when you push a change to GitHub it easily goes live ... using two branches you can distinquish between prod
vs. dev.
 

No direct need for ruby or explicit site generator - but if you need you can also use Pharo and try "Mustache" or "Templ" and
similar to generate the page.

Yes I think it’s doable too and would be great. I don’t want to really install Jekyll, more rely on the GitHub integration. So it builds too after a change (the delay might be a problem though for some - that’s why people prefer hogo + netlify).

The idea is to help people build their web site and quickly be able to change without asking me to do it. This is for now mostly for friends and some projects we have to make a web site on (and I’m often the guy whose asked for doing a simple site…).

If you want Pharo for a backend or in the middle then either continue running your linux machine or put Pharo into docker and
run it on Azure, AWS or any other cloud based service out there. This way you can raise more instances when traffic raises
and you can scale. Decoupling the services is easy with REST/GraphQL and Pharo has projects to support that (Stargate,
Teapot/Tealight, GraphQL, ...).

You can even go serverless with Pharo Lambda Ultimate.

Many, many possibilities these days...

Oh yes :).  But as I want to keep it really simple, I’ll go for some kind of static site generation. I want people to have a simple vitrine of their activity, with a contact form and a certain feed of article. 
I’ll explore a bit more this tools so lets discuss it too.



Have fun
T.


You too ;-)
Cédrick

 
 

Gesendet: Samstag, 23. Mai 2020 um 15:13 Uhr
Von: "Cédrick Béler" <[hidden email]>
An: "Pharo Development List" <[hidden email]>, "Any question about pharo is welcome" <[hidden email]>
Betreff: [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

Hi there, 
 
This post is just to talk about one side project I’m exploring and interested in from a long time. I think it may interest other people here.
 
I’d like to have powerful (static based) web site so hosting is really cheap (even free) and hassle free. I’ve my own server for years, it is cheap and simple but, of course, it needs some maintenance (linux update, nginx scripts, …) even if tools are the simplest I’ve found.
 
Recently thanks to student projects ;-), I found some time to learn what I find is a wonderful solution. This solution is to use GitHub DSCM, GitHub Pages and Jekyll (a ruby static site generator that is natively integrated) all together.
<a href="https://jekyllrb.com[https://jekyllrb.com" class="">https://jekyllrb.com[https://jekyllrb.com] 
 
The beauty is that you can edit the site straight on GitHub. We get the power of version system and hosting for free… 
It literally is a CMS and the cheapest and reliable that I know of (grav might be another option).
 
Of course, there are some « dynamic » content possibilities too (otherwise GitHub Pages is enough)
- blog posts are natively generated through new files according to a name convention.
- there are plugins too (but you have to watch for compatibility in GitHub).
 
Dealing with forms and comments is possible
- solutions that are hosted on a third-party. Solution like Discus or formspree, … (that’s a NO GO to me)
- web service integration that you can host (note that form spree is on GitHub too <a href="https://github.com/formspree/formspree[https://github.com/formspree/formspree" class="">https://github.com/formspree/formspree[https://github.com/formspree/formspree])
 
This last point is where I’d like Pharo (Zinc, Iceberg) to be integrated. Again we could imagine a web service system based on Zinc. I could manage form submissions that way and everything I’d like but it may end up complex. Do I need a database ? Do I need to store information and therefore manage the underlying architecture. If it crash, I want only the endpoint to be not available but the whole site still working.
 
An in between elegant solution os to use git for what it’s good at (versioning collaboratively through PR, and also reliable hosting in classic platforms). 
 

The idea is to use the PR mechanisms to submit stuff like blog comments (note that you have a free moderation system). 
This is actually not limited to comments but all kinds of possible interaction…
 
This way is (to me) better in terms of infrastructure management. Such a service also needs to be available (and maintained) but this is a very minimalist machinery (hanling POST request service only - no real content management as deferred to github). And again, a fail safe version (for the last version of the generated pages).
 
Staticman (<a href="https://staticman.net[https://staticman.net" class="">https://staticman.net[https://staticman.net]) is a nice node application that allows to do this. It’s possible to host the service too.

 
I can use this node app of course, but I believe we could have quite easily such an application in Pharo with Zinc. 
I also wonder if we could use Iceberg to deal with this information straight in a pharo image (that’d be cherry on the cake). 
The super cherry of the cake would be pharo core and lib documentation, demos (you can have one gihub page by organization and/or users - in paid plans, you can have more for private stuff)… One place, one process to contribute, either for code or documentation.
 
Anyway, I have no real question except than asking for feedback and also to know if some people are interested in such project. 
 
Cheers,
 
Cédrick
 
nb: my hidden goal is to provide web site for people, unipersonal and small organizations. So you know, they pay for the service of creation, but then they own it and can do whatever they like. Of course we can also offer paid services like managing dynamic information content. More than comments, I’d like to be able to deal with stuff like orders, facturation, even meeting planning through ics versioned files, etc. 
This really is something I’d like to be able to provide soon (less than 1 yr time - simplest web site with contact form and comments at least). It might become something more serious the future...