Jython supporte maintenant Python 2.5

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
14
19
juin
2009
Python
Le 8 juin dernier, la version 2.5.0 de Jython a été publiée. Pour rappel, c'est un interprète Python écrit en Java. Cette nouvelle version supporte désormais les fonctionnalités de Python 2.5 (version de Python sortie en 2006, voir les nouveautés de Python 2.5).

Le développement de Jython s'était essoufflé fin 2004 avec le départ du développeur le plus actif, Samuele Pedroni, qui s'est consacré à PyPy (implémentation de Python, écrite en Python). Jython était alors figé sur Python 2.2. En mars 2008, le projet est relancé par SUN (éditeur du langage Java) qui embauche Ted Leung et Frank Wierzbicki pour développer Jython. Jython 2.5 est le fruit de ce travail.

La 2e partie de cette dépêche contient d'autres brèves Python : vidéos de Pycon FR, Python 3.1, compilateur à la volée PyPy et EuroPython.

Sortie de Pharo 1.1

Posté par  (site web personnel) . Modéré par baud123.
14
28
juil.
2010
Technologie
Trois mois après la version 1.0, Pharo 1.1 est annoncé. Comme il est d'usage en Smalltalk, Pharo est à la fois un compilateur, une machine virtuelle et un environnement de développement. Pharo est diffusé sous licence MIT.

Smalltalk reste la référence en matière de programmation dynamique, réflexive et orientée objet, d'outils de débogage et de refactorisation, source d'inspiration des systèmes Java, Objective-C et Ruby entre autres.

La suite de cette dépêche détaille les modifications apportées par Pharo 1.1 par rapport à la version 1.0, ainsi que des informations complémentaires pour toute personne désirant se lancer dans l'aventure !

Une nouvelle version (0.11) de remotefs est disponible

Posté par  . Modéré par Nÿco.
Étiquettes :
14
16
fév.
2009
Linux
Remotefs est un système de fichier en réseau conçu pour fonctionner sur du matériel à faible performance comme les routeurs offrant le raccordement d'un disque dur ou des NAS.

Les caractéristiques principales sont :
  • Transmissions sur réseau très performante ;
  • Utilisation sur réseau Adresse IPv6 possible ;
  • Liste de contrôle d'accès ACL (POSIX) ;
  • Chiffrement SSL, si besoin.


Il est fourni sous forme de paquet deb ou RPM pour i386, mais aussi pour des systèmes basés sur OpenWrt, ou encore sous forme d'ebuild pour Gentoo. Bien sûr, il est également possible de télécharger les sources sous licence GPL.
À noter, les paquets pour plateforme OpenWrt sont expérimentaux. C'est à dire qu'ils ont été compilés pour ce système, mais n'ont pas été testés. Tout retour dessus sera grandement apprécié.

En vrac, spécial Ruby

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
14
24
mai
2010
Ruby
Il y a en ce moment pas mal d'activité autour de Ruby. JRuby 1.5 et Rubinius 1.0 ont été annoncés sur LinuxFr il y a quelques jours, et une troisième implémentation Ruby a franchi une étape importante récemment : MacRuby a atteint la version 0.6.

MacRuby est une implémentation de Ruby 1.9 (sous licence GPL) qui repose sur les technologies core de Mac OS X telles que Objective-C, LLVM et Foundation. Les premiers benchmarks montrent que MacRuby a des performances intéressantes à ce stade de développement, bien qu'en deçà de celles de Ruby 1.9.

Du côté du Ruby Summer of Code, les 20 projets sélectionnés ont été annoncés. Ceux-ci sont très variés, allant de l'amélioration de points spécifiques dans Ruby on Rails aux extensions en C dans JRuby, en passant par la contribution à Camping et Hackety Hack, deux projets initiés par Why the Lucky Stiff. À ce sujet, Smashing Magazine a publié la légende de _Why, dont je vous recommande fortement la lecture, que vous souhaitiez découvrir le personnage ou vous remémorer ses actes les plus glorieux.

Rubygems, l'outil de gestion de paquets spécifiques à Ruby, est sorti en version 1.3.7. La principale nouveauté est que rubygems.org devient le dépôt par défaut, remplaçant gems.rubyforge.org, qui va continuer de fonctionner pendant encore un bout de temps pour assurer la migration.

Haml et Sass sont deux projets Ruby liés pour des raisons historiques qui viennent de sortir en version 3 (sous licence MIT). Le premier est un moteur de templating qui permet d'écrire des templates très concis. Le second est une extension de CSS3 pour faciliter la vie des personnes qui doivent écrire et maintenir des CSS : Sass offre des variables (c'est quand même fou que CSS ne le propose pas de base !), des sélecteurs imbriqués, des mixins (plusieurs règles CSS regroupées sous un même nom que l'on peut utiliser à plusieurs endroits dans ses feuilles de style), et plein d'autres ajouts très utiles.

Pour finir, je souhaite parler de TomDoc. C'est un document qui liste un ensemble de règles pour commenter du code en Ruby. Il va à l'encontre des règles de RDoc, mais la syntaxe proposée par TomDoc me semble être une avancée suffisante pour que cela vaille la peine de marquer cette rupture. J'espère que les développeurs Ruby qui passent dans le coin seront du même avis que moi et vont se mettre à utiliser TomDoc.

Forum général.petites-annonces Stage de fin d'étude en pré-embauche - développeur backend python/go sur Grenoble

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
14
18
nov.
2016

Contexte du stage de fin d'études proposé

Algoo est une société proposant des services de développement d'applications web sur mesure.

La stratégie de l'entreprise est d'accroitre largement le CA généré par la commercialisation de Tracim et à terme d'en vivre en tant qu'activité principale.

Dans cette optique, algoo souhaite recruter un développeur backend en charge du développement du noyau de Tracim. Ce recrutement passe par un stage de fin d'études de pré-embauche qui permettra de recruter un candidat de valeur (…)

Petites brèves, spécial Javascript

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
14
18
juin
2010
Internet
HTTP-console est un outil en ligne de commande qui vous permet de faire des requêtes HTTP et d'examiner la réponse. C'est donc une sorte de Curl, mais son mode interactif en fait un outil très pratique si vous avez à débugger une API Rest. Pour ceux qui préfèrent les interfaces web à la ligne de commande, vous pouvez regarder Hurl (code source).

PDF.js est une bibliothèque javascript qui permet de générer des fichiers PDF simplement. Elle peut être utilisée dans un navigateur web ou coté serveur avec Node.js.

À propos de Node.js, Ryan Dahl, son créateur, viendra en parler lors du Web Workers Camp le 3 juillet à la Cantine, Paris. Node.js est une implémentation Javascript côté serveur qui utilise le moteur V8 de Google Chrome. Il est publié sous licence MIT et est très performant. Par exemple, il est possible de faire tourner des composants serveur XMPP avec xmpp.js.

Enfin, pour ceux qui préfèrent utiliser jQuery (une bibliothèque Javascript facilitant le développement d'un site web), Rebecca Murphey a mis en ligne un livre intitulé « jQuery fundamentals », sous licence CC by-sa. Celui se compose de trois parties : une introduction au Javascript, les concepts de base de jQuery et jQuery avancé (la troisième partie n'est pas encore là).

StropheCappuccino est un ensemble de classes Javascript qui - comme le nom l'indique - lient Capuccino (framework pour applications desktop-like) à Strophe (bibliothèque XMPP). Il permet donc d'écrire de vraies applications desktop en Javascript se reposant sur XMPP.

GNU Smalltalk 3.2.3 et VisualGST 0.8.0

Posté par  . Modéré par tuiu pol.
Étiquettes :
14
3
jan.
2011
GNU
GNU Smalltalk (http://smalltalk.gnu.org/) est une machine virtuelle qui permet d'exécuter des programmes écrit dans le langage Smalltalk.

Smalltalk est un langage objet, dynamique typé et hautement réflexif. La dernière version de GNU Smalltalk a un meilleur support du générateur du binding pour GTK+, le support des Announcements (un système d'événements). GNU Smalltalk peut aussi être utilisé en tant que langage de script sans interface graphique.

VisualGST est l'interface de GNU Smalltalk. Cette version améliore encore l'interface avec une meilleure intégration des outils comme les implémenteurs/émetteurs dans la fenêtre principale, mais aussi l'utilisation des onglets pour les différents navigateurs.

Journal Besoin d'arguments pour obtenir une station de travail sous GNU/Linux ?

Posté par  (site web personnel) . Licence CC By‑SA.
14
16
jan.
2015

Ce journal est dans le domaine public, et à défaut sous licence CC0.

Bonjour,

J'ai commencé une mission chez un client institutionnel pour développer des applications C++ distribuées et temps réel souple seulement pour GNU/Linux.

A l'arrivé, une machine bureautique sous MS-Windows (i5, 4 Go RAM) est fournie. Comme pour ma mission précédente, j'ouvre donc un ticket pour obtenir une seconde machine sous GNU/Linux :

  • PC sans moniteur, sans OS, sans disque-dur, sans carte graphique ;
  • processeur i7 (avec (…)

Emtec lance le programme One Laptop Per Hacker

Posté par  . Modéré par Bruno Michel.
Étiquettes :
14
26
déc.
2008
Communauté
EMTEC annonce son programme "One Laptop Per Hacker" (OLPH) et ouvre son processus de développement à la communauté.

EMTEC invite les développeurs, contributeurs, développeurs d'interfaces humaines, artistes graphiques et sonores, traducteurs, gestionnaires de projets, "moddeurs" et en général toute personne créative passionnée par les environnements libres à rejoindre le programme "One Laptop Per Hacker".

Soyez parmi les premiers à recevoir un Gdium à un prix "développeur".

PPassKeeper, interface de stockage de données sensibles.

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
13
27
nov.
2008
Sécurité
Que vous soyez développeur ou simple utilisateur, la sauvegarde de données sensibles telles que les mots de passe est source de soucis.
En tant qu'utilisateur, on aime avoir le choix. C'est d'autant plus vrai en sécurité où chacun a ses propres exigences et sa propre topologie.
En tant que développeur, stockages variés et plus sécurisés riment avec moins de portabilité.

Pour essayer de concilier les deux mondes, la bibliothèque "PPasskeeper" voit le jour.

La version 0.9 venant tout juste de sortir (version que je considère comme étant la bêta 1), n'hésitez pas à l'essayer via son utilitaire de gestion de mot de passe graphique ou en ligne de commande.
Je n'ai pu tester la bibliothèque que sous Linux et Windows (XP et Vista), de plus, la liste des modules est assez courte (KWallet, registre Windows et fenêtres de demande de mot de passe en GTK, Win32 ou Qt).

Formation JAVA : + de 100 tutoriaux progressifs pour s'auto-former

Posté par  . Modéré par j.
Étiquettes :
13
2
nov.
2009
Java
Quel centre de formation nouvelles technologies met aujourd’hui en ligne gratuitement une partie de ses cours et travaux pratiques ? Ils ne sont pas nombreux. Parmi ceux qui le font, le centre de formation Objis met à disposition en accès gratuit plus de 100 tutoriaux progressifs dédiés à la programmation Java Entreprise.

NdM : on notera que les tutoriaux ne sont pas sous licence Libre et que la majorité des copies d'écran sont réalisées sur un système propriétaire.

NdM 2 : Par ailleurs, le site du zéro qui, jusqu'à présent publiait ses tutoriaux en accès gratuit, a annoncé leur placement sous licence Creative Commons non libre CC-BY-NC-SA, afin de pérenniser cette diffusion gratuite.

Attempto Controlled English

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
13
30
déc.
2010
Technologie
Attempto Controlled English (ACE) est un sous ensemble de l'anglais conçu pour être non ambigüe. Il est constitué d'un petit ensemble de règles syntaxiques, sémantique et d'interprétation. Il est aussi conçu pour être un langage logique du premier ordre. Constitué d'un ensemble d'outils permettant d'exprimer et de manipuler du texte en anglais, l'outil principal Attempto Parser Engine (APE) est capable de fournir une représentation logique d'une phrase en anglais ACE.

Ecrit en Swi-Prolog, APE est capable rendre un ensemble de phrases sous forme logique en utilisant la représentation DRS (Discourse representation structures). Cette représentation est disponible sous différents formats (Prolog, XML, OWL, etc.) et APE peut être utilisé en tant que webservice, serveur web ou en simple ligne de commande.

Quelques outils gravitent autour du projet. Citons ACE editor qui permet d'écrire des phrases compatible ACE, RACE (ACE reasoner) qui permet de réaliser des déductions sur du texte ACE, ACEWiki un wiki sémantique.

ACE est un projet de l'université de Zurich mené depuis 1996 et est distribué en LGPL. ACE a été choisi comme anglais controllé par le projet de l'Union Européenne "EU Network of Excellence REWERSE (Reasoning on the Web with Rules and Semantics)"

3 frameworks de développement : Ruby on Rails, Snap et Lamson

Posté par  (site web personnel) . Modéré par tuiu pol.
Étiquettes :
13
25
mai
2010
Internet
Ce week-end, la version 2.3.6 de Ruby on Rails est sorti, suivi de peu par la version 2.3.7. Ces versions apportent un bon nombre de correctifs pour divers problèmes, mais surtout préparent le terrain pour Rails 3. Certaines API vont être supprimées dans Rails 3, et la version 2.3.6 permet d'être averti si votre application Rails utilise une de ces API.

La version 3 va également apporter un grand plus au niveau de la sécurité en échappant par défaut toutes les chaînes de caractères pouvant être sujettes à une attaque XSS. La version 2.3.6 devait permettre de tester ce comportement en installant le greffon Rails XSS. Mais, certains commits n'ont pas été backportés depuis Rails3, rendant ainsi cette protection non seulement inefficace mais aussi source de plantages. Heureusement, la version 2.3.7 est sortie juste après pour réparer ça. Au final, si vous êtes un utilisateur de Rails, vous êtes encouragés à sauter la version 2.3.6 et à passer directement à la version 2.3.7.

Mise à jour : Rails 2.3.8 vient de sortir pour corriger un problème lorsque l'on n'utilise pas le greffon Rails XSS. C'est donc vers cette version qu'il faut migrer.

Et si vous préférez la programmation fonctionnelle, sachez que le développement web vous est aussi ouvert. Par exemple, Snap est un framework web en Haskell sous licence MIT. Snap se décompose en trois parties :
  • Une bibliothèque serveur HTTP très rapide, qui s'appuie sur la boucle événementielle de la libev ;
  • Une monade particulièrement bien adaptée au développement web ;
  • Un moteur de templating XML qui permet de générer entre autres du HTML.
Snap est encore très jeune, mais ses performances sont déjà impressionnantes : plus rapide qu'apache !

Enfin, Lamson est un framework de développement en Python sous la double licence BSD et GPL. Sa particularité est d'être un framework pour les mails. Il propose une approche similaire à celle de Django ou Ruby on Rails, mais pour développer des applications qui gèrent des mails. Vous avez ainsi la possibilité de router des mails entrants, d'utiliser le modèle MVC, d'utiliser des données en provenance de différentes bases de données (relationnelles ou non), d'utiliser un ORM si vous le souhaitez, ou encore d'écrire des tests unitaires. Bref, Lamson permet enfin d'écrire facilement des applications qui gèrent des mails, que ce soient des filtres anti-spams, des mailing-listes, ou des applications très spécifiques.

CAMP 0.7.0 : bibliothèque de réflexion en C++ sous LGPL

Posté par  (site web personnel, Mastodon) . Modéré par Nÿco.
Étiquettes :
13
16
juin
2010
Technologie
La réflexion (ou introspection) est un mécanisme qui permet à un programme d'examiner, voire de modifier ses structures internes. En d'autres termes, c'est la capacité d'un programme à examiner son propre état. Cela permet par exemple d'effectuer des mesures de performance, d'inspecter des modules, de déboguer un programme, ou encore de le faire d'évoluer automatiquement en fonction des besoins et de l'environnement.

Certains langages de programmation offrent ce type de fonctionnalité, notamment Smalltalk, Java et C#, qui fournissent des outils pour connaître et utiliser la classe d'un objet, ses propriétés et ses méthodes (on parle en général de méta-classe, de méta-propriété et de méta-fonction).

L'introspection peut être utilisée pour fournir des bindings vers des langages de script, pour écrire des éditeurs de propriétés, ou faire de la sérialisation. L'intérêt étant que le code de ces outils est écrit une fois pour fonctionner sur la structure abstraite (méta-classe, méta-propriété, méta-fonction), et peut ensuite être utilisé dans n'importe quel programme.

Malheureusement, le langage C++ ne fournit aucun moyen de faire de la réflexion. Il existe cependant un certain nombre de bibliothèques fournissant ce type de fonctionnalité, la plus connue étant probablement Qt avec ses QObjects.

Cependant, pour générer toutes les « méta-informations » nécessaires à la réflexion, la majeure partie de ces bibliothèques requiert soit d'utiliser un pré-compilateur (moc pour Qt), soit de déclarer ses informations en ajoutant tout un tas de macros dans l'en-tête de chaque classe ; C++ Mirror faisant exception. De plus, il est souvent nécessaire d'hériter d'une classe de base (QObject pour Qt).

Ceci a amené Tegesoft à développer CAMP, une bibliothèque de réflexion généraliste pour C++. CAMP utilise intensivement les templates C++, ainsi que boost (ensemble de bibliothèques C++ permettant d'étendre les fonctionnalités du langage). Il est non-intrusif, à l'exception de la gestion du polymorphisme pour les méta-classes ; une alternative basée sur le RTTI (Run-Time Type Information : fait de déterminer, à l'exécution du programme, le type d'une variable, dans les langages orienté-objet) du langage devrait être ajoutée dans la prochaine version.

CAMP ressemble à Luabind ou à boost::python, mais est généraliste. De ce fait, il est possible d'écrire un module pour CAMP permettant d'embarquer un interpréteur Python, un autre pour embarquer un interpréteur Lua, ou encore un pour faire de la sérialisation XML, l'intérêt étant que le binding des classes n'est fait ici qu'une seule fois. Lorsqu'un nouveau module pour CAMP est disponible, vous n'avez aucun binding supplémentaire à écrire.

Le mieux dans tout ça ? C'est sous LGPL ! La version 0.6.0 de CAMP était déjà distribuée sous GPL, mais une licence plus permissive a été choisie afin de favoriser l'utilisation de la bibliothèque.

De plus, un nouveau site internet (basé sur Redmine) est disponible, avec bug tracker, wiki, et documentation de l'API. Le code est quant à lui hébergé sur GitHub. Un forum est également disponible.