Legal stuff about this site and your private life:

  • We use a cookie to keep your preferences (language, NSFW status, login status) during navigation.
  • We use your local storage to save the announces you closed (like this one).
  • We don't save informations you don't give
  • We don't share your email address if you comment or register
  • There is no tracker of any kind.

If you're not OK with this, move your way.

06:21 PM
06:16 PM

Le Manuel pratique de la culture maraîchère de Paris est un livre de 1845 faisant état de la culture intensive réalisée par les maraîchers de Paris. Ce projet est lereformattage de cet ouvrage tombé dans le domaine public, au format LaTeX.

07:49 AM
Article "Travailler avec Git, le workflow d'Opus Codium et ExperimentsLabs" has been updated. ajout de section "Git add -p, késako ?"
07:12 PM
09:44 AM
Article "Travailler avec Git, le workflow d'Opus Codium et ExperimentsLabs" has been updated. typos et rephrasage
09:29 AM

Depuis deux ans maintenant, je travaille régulièrement avec l'équipe d'Opus Codium. Nous avons un workflow concernant la gestion de nos dépôts Git que je souhaitais partager avec vous.

05:54 PM
Project "Elabs CMS" has been updated.
11:15 PM

The Experiments Labs engine was a good exercise, but I have no more time to spend on it. It will be archived and the website will become a standard Rails application.

10:03 PM
  • Language: English
  • License: MIT
  • Published on: 17 Jan 2020 10:03 PM
  • SFW:
  • Tags: VueJS
  • Albums: Not in an album

Small jigsaw game where you have to swap tiles to reconstruct an image.You can use your own images or select one in a set from Wikimedia.

03:02 PM

Rails: Check Pundit authorization in RSpec

Pundit provide two helper methods to help you ensure the actions are authorized/scoped: verify_authorized and verify_policy_scoped. They are meant to be used in an after_action hook.

As the check is made after the action, I see no point of using it in production, so I use it in RSpec:

# rails_helper.rb
# ...
config.before(:suite) do
  FactoryBot.create :user, :known
  ApplicationController.send(:after_action, :verify_authorized, {except: [:index]})
  ApplicationController.send(:after_action, :verify_policy_scoped, {only: [:index]})
# ...

This way, it's still checked during all the tests using controllers.

12:54 PM

Rail: sending emails via a rake task won't work if you use the_mail.deliver_later. Use the_mail.deliver, instead.

Keep in mind that .deliver will be blocking in the context of the Rails server.

06:13 AM

I heard that finding names for projects is "the hardest thing in development, after cache invaliadation". And that's right.

"Site compare" was a bad name because of two things: it compares sites, that's true. But it does not compare sites. So that's false.

"Capyxel"? After all, that does not mean anything, but it's about Capybara and pixels. Without being too obvious. So why not?

06:08 AM
Project "Capyxel" has been updated. Change the project name to "Capyxel"
03:09 PM
  • Language: English
  • License: MIT
  • Published on: 13 Aug 2019 03:09 PM
  • SFW:
  • Tags: No tags
  • Albums: Not in an album

Fed up of searching for document examples?

07:14 AM
07:12 AM
  • Language: English
  • License: MIT
  • Published on: 15 Jul 2019 07:12 AM
  • SFW:
  • Tags: ruby
  • Albums: Not in an album

Tool to compare two websites with screenshots diff.

10:05 AM

This is a compilations of notes that leads to the setup of a control repo managed with r10k and the use of Hiera.

03:04 PM

This is a compilation of notes that leads to an installation of a Puppet server on an Ubuntu server 18.04.

04:17 PM
10:48 PM
06:54 AM

If you have issues with the KDE menu / KRunner items (items not appearing, wrong targets on .desktop entries, ...), you can try to rebuild the cache by running kbuildsycoca5 as an user.

10:25 PM
  • Language: English
  • License: MIT
  • Published on: 14 Feb 2019 10:25 PM
  • SFW:
  • Tags: VueJS
  • Albums: Not in an album

Small app to compute volumes of liquids to use in e-liquids mixes.

08:39 AM

After testing Vuex(3.0.1) in a Nativescript-vue (2.0) app I noticed that when using ModalViews or ListViews, $store is not available in the list items components or modal component. For now, use a StackLayout for lists and I pass the $store as a prop to the ModalView:

<!-- Instead of a ListView -->
<StackLayout class="list-group">
  <MyComponent v-for="item in items" :item="item" :key="" class="list-group-item"/>

In MyComponent, the method to open the modal is like:

import ItemForm from '../forms/ItemForm'

export default {
  name: 'MyComponent',
  props: {
    item: { required: true, type: Object },
  methods: {
    openForm () {
      const props = {item: this.item, store: this.$store} // props for ItemForm
      this.$showModal(ItemForm, { props })                // Show ItemForm as a ModalView
02:31 PM

Elabs engine has been updated with an announcement system and a totally new UI.

Updating to this version breaks the original style and layout.

Join the project !