Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Sortie de Ruby on Rails 7.0

 -  Décembre 2021 - 

La version 7.0 du cadriciel Ruby on Rails a fait son apparition le 15 décembre 2021.

Pour rappel, Rails est un framework web complet développé en Ruby qui encourage la lisibilité du code, tout en privilégiant les conventions à la configuration.
Il fait la part belle à l'architecture Modèle-Vue-Contrôleur (MVC) et s’appuie sur un certain nombre de sous-ensembles :

  • Active Model qui permet de créer des objets Ruby suivant un mapping objet-relationnel (ORM)
  • Action View qui est responsable de la génération des pages HTML
  • Action Controller qui gère le cycle de vie des requêtes de l'application (cela inclut les sessions, les filtres, les cookies, le streaming de données et le traitement des exceptions)
  • Action Pack qui traite les requêtes web tout en fournissant la couche de contrôle MVC
  • Active Record qui permet aux modèles d'interagir avec la base de données de l'application
  • Action Cable qui permet d'écrire des fonctionnalités temps réel grâce au protocole WebSocket
  • Action Mailbox qui permet de recevoir des mails dans une application
  • Action Mailer qui permet d'envoyer des mails depuis une application
  • Action Text qui fournit tout qu'il faut pour gérer du contenu incluant du texte enrichi
  • Active Job qui permet d'exécuter des travaux en arrière-plan selon différentes approches de mise en file d'attente
  • Active Storage qui facilite le téléversement de fichiers vers un service de stockage dans les nuages, la transformation et l'extraction de métadonnées
  • Active Support qui fournit un certain nombre d'extensions au langage Ruby

Vous avez forcement croisé un site utilisant ce cadriciel : GitHub, Twitch, Airbnb, Kickstarter ou encore LinuxFr.org !

Une toute nouvelle approche du JavaScript

Allant à l'encontre de la mode des applications web monopage et du tout Node.js, cette version de Rails offre plusieurs possibilités :

  • construire des applications dynamiques en minimisant l'utilisation du JavaScript et en favorisant le HTML au lieu du JSON. Cette approche est possible grâce à la nouvelle bibliothèque Hotwire
  • l'import de modules JavaScript au travers des fichiers versionnés, directement à partir du navigateur grâce à Import maps
  • il est maintenant possible d'utiliser n'importe quel bundler JavaScript, comme esbuild, rollup.js ou le plus classique Webpack, grâce à la nouvelle gem jsbundling-rails
  • suivant la même approche pour le CSS, la gem cssbundling-rails permet dorénavant de compiler facilement sa feuille de style en intégrant Tailwind CSS, Sass ou encore PostCSS

Attributs chiffrés avec Active Record

Il est maintenant possible de déclarer des attributs pour chiffrer certaines données au niveau du modèle :

# app/models/article.rb
class Article < ApplicationRecord
  encrypts :title
end

# Article.create! title: "Sortie de Ruby on Rails 7.0"
# INSERT INTO `articles` (`title`) VALUES ('{\"p\":\"n7J0/ol+a7DeaE[...]1/YjMHbHD4talgF9dt61A==\"}}')

Le chiffrement se fait de manière transparente avant l'enregistrement en base de données.

Chargement asynchrone des requêtes

Lorsqu'une action du contrôleur doit exécuter plusieurs requêtes, il est maintenant possible de le faire simultanément grâce à Relation#load_async.
Jusqu'à présent, exécuter trois requêtes durant 100 ms chacune nécessitait 300 ms. Maintenant, il est possible de le faire en parallèle.

Zeitwerk par défaut

Le chargement automatique dans Rails a toujours été synonyme d'élégance.
L'ancienne approche, qui s'accompagnait d'une série de bizarreries et de fonctionnalités manquantes, a finalement été remplacée exclusivement par le chargeur de code Zeitwerk.

Et la dette technique de LinuxFr.org dans tout ça ?

On ne va pas se mentir : les montées de version majeure de Rails ne sont pas facile à appliquer si l'on souhaite utiliser les dernières fonctionnalités.
Au moment où j'écris, la version propulsant ces quelques lignes recevra des correctifs de sécurité majeurs jusqu'au 1er juin 2022.
Vous l'aurez compris : il nous reste encore 6 mois pour procrastiner tranquillement !

Commentaires : voir le flux Atom ouvrir dans le navigateur

par Thomas J., Benoît Sibaud, palm123

DLFP - Dépêches

LinuxFr.org

Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)


XZ et liblzma: Faille de sécurité volontairement introduite depuis au moins deux mois

 -  31 mars - 

Andres Freund, un développeur Postgres, s’est rendu compte dans les derniers jours que xz et liblzma ont été corrompus par l’un des mainteneurs du (...)