Petit test Boostrap, Less & nouveau tag HTML5

ConFoo Montréal 2017 recherche des conférenciers Ruby

ConFoo - Conférence pour développeursVous voulez mettre vos idées de développement web devant un public? L’appel aux conférenciers pour la conférence ConFoo Montréal 2017 est ouvert! Si vous avez un désir ardent de présenter sur Ruby, les bases de données, JavaScript, ou d’autres sujets de développement web, nous voulons lire vos propositions.

L’appel est ouvert seulement du 21 août au 20 septembre 2016, alors faites vite. Un avantage supplémentaire: si votre proposition est sélectionnée et que vous êtes à l’extérieur de la région de Montréal, nous allons couvrir le transport et l’hôtel.

Vous avez 45 minutes pour impressionner la foule, avec 35 minutes pour votre sujet et 10 minutes pour les questions. Nous avons hâte de voir vos propositions. Impressionnez-nous!

ConFoo Montréal aura lieu du 8 au 10 mars 2017. Pour ceux d’entre vous qui connaissent déjà notre conférence, sachez que cette tradition annuelle se tiendra en plus de ConFoo Vancouver. Visitez notre site pour en savoir plus sur les deux événements.

Posté par afilina le 2016-08-26

Le futur du CSS, un coup d’oeil sur dotCSS 2015

Ruby 2.3.0 est disponible

Nous avons le plaisir de vous annoncer la sortie de Ruby 2.3.0.

Il s’agit de la première version stable de la branche 2.3. Au menu, de nombreuses nouvelles fonctionnalités, avec par exemple…

L’ajout des Frozen String Literal Pragma. Avec Ruby 2.1, "str".freeze avait été optimisé afin de réduire la quantité d’allocations objet. Ruby 2.3 permet en plus l’utilisation d’un nouveau commentaire sémantique et d’une option en ligne de commande, pour freeze d’un seul coup tout ou partie des chaînes de caractères litérales présentes dans le code source. Par ailleurs, du coté du deboggage, il est maintenant possible de savoir où exactement une certaine chaîne de caractère gelée était sur le point d’être modifiée lorsque survient une erreur du type "can't modify frozen String", en utilisant le drapeau --enable-frozen-string-literal-debug.

L’opérateur de navigation sécurisé (Safe navigation operator) &. qui va faciliter la gestion de nil. Déjà présent dans C#, Groovy, Swift ou encore CoffeeScript, cet opérateur permet d’écrire obj&.foo sans se soucier de savoir si foo existe. Il s’agit de la même chose que le [try! d'Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), mais qui est limité à nil. À noter également, l'ajout de Array#dig and Hash#dig`.

La gem did_you_mean a été intégrée à Ruby MRI. Cette librairie permet de proposer au développeur des corrections probables lorsque survient une erreur du type NameError ou NoMethodError. Pratique !

Les méthodes RubyVM::InstructionSequence#to_binary et .load_from_binary, qui ont été ajoutées en tant que fonctionnalités expérimentales. Elles permettent de concevoir un système de pré-compilation ISeq (sur base de bytecode).

Par ailleurs, Ruby 2.3 apporte de nombreuses améliorations coté performances. Par exemple, une optimisation de Proc#call, la refonte du modèle de données liant méthodes et classes, la mise en place d’une nouvelle structure de données pour gérer les ID de façon générique, des optimisations du code machine gérant l’allocation objet et l’appel des méthodes, une structure de donnée plus ingénieuse pour les variables, [la gestion de exception: false dans les argument des méthodes Socket#*_nonblock], etc. Consultez la section “Implementation improvements” du fichier NEWS pour plus de détails.

Vous trouverez une liste exhaustive des changements, ainsi que des notes de compatibilité, dans le fichier NEWS et dans le ChangeLog.

Par rapport à la version précédente, la 2.2, [2946 fichiers ont été modifiés, avec 104 057 insertions(+) et 59 478 suppressions(-)](https://github.com/ruby/ruby/compare/v2_2_0…v2_3_0_preview2.

Joyeux Noël, bonnes vacances et amusez-vous bien avec Ruby 2.3 !

Téléchargement

  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2

    SIZE:   14185617 bytes
    SHA1:   6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9
    SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e
    SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c
    
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz

    SIZE:   17648682 bytes
    SHA1:   2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4
    SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507
    SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc
    
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz

    SIZE:   11294412 bytes
    SHA1:   96e620e38af351c8da63e40cfe217ec79f912ba1
    SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097
    SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327
    
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip

    SIZE:   19840511 bytes
    SHA1:   3f88617568d9a4f491e8b32dca532363f73eaa71
    SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a
    SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef
    

Posté par naruse le 2015-12-25
Traduit par Jean-Denis Vauguet

Ruby 2.0.0-p648 est disponible

Nous avons le plaisir de vous annoncer la sortie de Ruby 2.0.0-p648.

Cette nouvelle version comporte un correctif de sécurité pour Fiddle (wrapper libffi) et plus précisement l’API DL. Plus de détails dans le lien suivant :

Ruby 2.0.0 entre en phase de maintenance de sécurité, jusqu’au 24 février 2016, après quoi la branche 2.0 reviendra à la normale. Nous vous suggérons de passer à une version plus récente de Ruby, telles que la 2.1, la 2.2 ou la toute proche 2.3.

Téléchargement

  • https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2

    SIZE:   10785918 bytes
    SHA1:   504be2eae6cdfe93aa7ed02ec55e35043d067ad5
    SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166
    SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38
    
  • https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz

    SIZE:   13622628 bytes
    SHA1:   2323df55f5e941c45be13500df9daf216098f884
    SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8
    SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94
    
  • https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz

    SIZE:   8303584 bytes
    SHA1:   4500e7b65a3788a2c9d787dc3b7d7e16014d4daf
    SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402
    SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774
    
  • https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip

    SIZE:   15139871 bytes
    SHA1:   2d5521cc12823af20269b9380a9d605a21509b43
    SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd
    SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2
    

Commentaire de version

Merci à toutes les personnes nous ayant aidé à préparer cette release.

Posté par usa le 2015-12-16
Traduit par Jean-Denis Vauguet

Ruby 2.1.8 est disponible

Nous avons le plaisir de vous annoncer la sortie de Ruby 2.1.8.

Cette release comporte un correctif de sécurité pour Fiddle (wrapper libffi) et l’API DL. Plus de détails dans le lien suivant :

Par ailleurs, vous y trouverez de nombreuses corrections de bugs (cf. le ChangeLog).

Téléchargement

  • https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2

    SIZE:   12014426 bytes
    SHA1:   0284eaf42ac76a641abd5cd4b6bd933abeb9934e
    SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387
    SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc
    
  • https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz

    SIZE:   15154017 bytes
    SHA1:   c7e50159357afd87b13dc5eaf4ac486a70011149
    SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d
    SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386
    
  • https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz

    SIZE:   9382672 bytes
    SHA1:   e1f4e043006a762604c042e6aac7540854a92d8c
    SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d
    SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392
    
  • https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip

    SIZE:   16686848 bytes
    SHA1:   b554328fb3d9f2a527adc5830de221b00e3ce2b9
    SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee
    SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6
    

Commentaire de version

Merci à toutes les personnes ayant aidé à préparer cette release.

À noter : la maintenance de la branche 2.1, dont fait partie cette version, se base sur le document Agreement for the Ruby stable version établi par la Ruby Association.

Posté par usa le 2015-12-16
Traduit par Jean-Denis Vauguet

Ruby 2.2.4 est disponible

Nous avons le plaisir de vous annoncer la sortie de Ruby 2.2.4.

Cette release comporte un correctif de sécurité pour Fiddle (wrapper libffi) et l’API DL. Plus de détails dans le lien suivant :

Par ailleurs, vous y trouverez de nombreuses corrections de bugs (cf. le ChangeLog).

Téléchargement

  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2

    SIZE:   13336518 bytes
    SHA1:   6132840a859dbf2ac1498ba313021f299a870038
    SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76
    SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df
    
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz

    SIZE:   16638151 bytes
    SHA1:   818e5e157f76d4912ba3a7c7b4fc5156105e83c3
    SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761
    SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832
    
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz

    SIZE:   10464500 bytes
    SHA1:   9216cf34df7fd5ce8059a6403951d6d47964442a
    SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c
    SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da
    
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip

    SIZE:   18472352 bytes
    SHA1:   b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a
    SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4
    SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b
    

Commentaire de version

Merci à toutes les personnes (développeurs et utilisateurs) ayant participé à la préparation de cette release, notamment à travers la remontée de bugs.

Posté par nagachika le 2015-12-16
Traduit par Jean-Denis Vauguet

Faille CVE-2015-7551 : vulnérabilité liée à une chaîne de caractère dans Fiddle et DL

La librairie Fiddle (wrapper libffi) et l’API DL comportent une vulnérabilité liée à la possibilité de compromettre une chaîne de caractère. Cette vulnérabilité s’est vue assigner l’identifiant CVE CVE-2015-7551.

Détails

La vulnérabilité a tout d’abord été signalée sous l’identifiant CVE-2009-5147 dans DL. Elle a été corrigée, puis malheureusement réintroduite lors de la réécriture de DL avec Fiddle et libffi.

La correction initiale pour CVE-2009-5147 s’est faite dans Ruby 1.9.1, mais n’a pas été portée sur les autres branches, de sorte que les versions de Ruby incorporant DL (mise à part Ruby 1.9.1) sont touchées par cette faille.

Voici une démonstration de la vulnérabilité :

handle = Fiddle::Handle.new(dangerous_user_input)

Ou bien encore :

handle = Fiddle::Handle.new(some_library)
function_pointer = handle[dangerous_user_input]

Nous invitons fortement tous les utilisateurs d’une version affectée par cette vulnérabilité à procéder à une mise à jour, ou au minimum à implémenter un contournement (hotfix) le plus rapidement possible (cf. ci-après).

Versions affectées

  • Toutes les releases de niveau “patch” pour Ruby 1.9.2 et Ruby 1.9.3 (DL et Fiddle).
  • Toutes les releases de niveau “patch” pour Ruby 2.0.0 avant p648 (DL et Fiddle).
  • Toutes les versions de Ruby 2.1 antérieures à Ruby 2.1.8 (DL et Fiddle).
  • Toutes les versions de Ruby 2.2 antérieures à Ruby 2.2.4 (Fiddle).
  • Ruby 2.3.0-preview 1 et -preview 2 (Fiddle).
  • Sur le trunk, toute version avant la révision 53153 (Fiddle).

Contournements

Si vous ne pouvez pas mettre à jour votre version de Ruby, vous pouvez choisir d’implémenter un contournement pour Fiddle :

class Fiddle::Handle
  alias :old_initialize :initialize

  def initialize file, *args
    raise SecurityError if file.tainted? && $SAFE > 0
    old_initialize file, *args
  end

  alias :sym :[]
  alias :old_call :[]

  def [] fun
    raise SecurityError if fun.tainted? && $SAFE > 0
    old_call fun
  end
end

Si vous utilisez encore DL, passez à Fiddle.

Remerciements

À Christian Hofstaedtler zeha@debian.org pour avoir remonter le bug !

Historique

  • Initialement publié le 16 décembre 2015 à 12:00:00 UTC

Posté par usa le 2015-12-16
Traduit par Jean-Denis Vauguet

Ruby 2.3.0-preview2 est disponible

Nous avons le plaisir de vous annoncer la sortie de Ruby 2.3.0-preview2.

Cette seconde preview de la branche 2.3 amène de nombreuses nouvelles fonctionnalités et améliorations.

On notera en particulier l’ajout des Frozen String Literal Pragma. Avec Ruby 2.1, "str".freeze avait été optimisé afin de réduire la quantité d’allocations objet. Ruby 2.3 permet en plus l’utilisation d’un nouveau commentaire sémantique et d’une option en ligne de commande, pour freeze d’un seul coup tout ou partie des chaînes de caractères litérales présentes dans le code source. Par ailleurs, du coté du deboggage, il est maintenant possible de savoir où exactement une certaine chaîne de caractère gelée était sur le point d’être modifiée lorsque survient une erreur du type "can't modify frozen String", en utilisant le drapeau --enable-frozen-string-literal-debug.

Autre nouveauté, l’opérateur de navigation sécurisé (Safe navigation operator) &. qui va faciliter la gestion de nil. Déjà présent dans C#, Groovy, Swift ou encore CoffeeScript, cet opérateur permet d’écrire obj&.foo sans se soucier de savoir si foo existe. À noter également, l’ajout de Array#dig and Hash#dig.

La gem did_you_mean a été intégrée à Ruby MRI. Cette librairie permet de proposer au développeur des corrections probables lorsque survient une erreur du type NameError ou NoMethodError. Pratique !

Les méthodes RubyVM::InstructionSequence#to_binary et .load_from_binary ont été ajoutées en tant que foncionnalités expérimentales. Elles permettent de concevoir un système de pré-compilation ISeq (sur base de bytecode).

Par ailleurs, Ruby 2.3 apporte de nombreuses améliorations coté performances. Par exemple, une optimisation de Proc#call, la refonte du modèle de données liant méthodes et classes, la mise en place d’une nouvelle structure de données pour gérer les ID de façon générique, des optimisations du code machine gérant l’allocation objet et l’appel des méthodes, etc.

À vous maintenant de tester Ruby 2.3.0-preview2 et de faire vos retours.

Changements depuis la 2.2

Consultez les fichiers NEWS et ChangeLog pour plus de détails sur cette release.

Par rapport à la version précédente, la 2.2, [1097 fichiers ont été modifiés, avec 97 466 insertions(+) et 58 685 suppressions(-)](https://github.com/ruby/ruby/compare/v2_2_0…v2_3_0_preview2.

Téléchargement

  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2

    • SIZE: 14126752 bytes
    • SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810
    • SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb
    • SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz

    • SIZE: 17623519 bytes
    • SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d
    • SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3
    • SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz

    • SIZE: 11249780 bytes
    • SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b
    • SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11
    • SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip

    • SIZE: 19841531 bytes
    • SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6
    • SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d
    • SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65

Commentaire de version

Vous pouvez également consulter un calendrier de release (avec diverses infos).

Posté par naruse le 2015-12-11
Traduit par Jean-Denis Vauguet

Dot Go