Opmock : un outil pour le TDD efficace en C et C++

Posté par  . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
32
14
mar.
2011
Ligne de commande

Le [TDD] est une pratique souvent utilisée dans les projets de développement utilisant les « méthodes agiles ». Pour supporter cette pratique, il est nécessaire de disposer d'outils qui permettent d'écrire facilement des tests unitaires, mais également de couper les dépendances d'une section de code, afin de la tester en isolation. Les langages actuels, comme Java ou C#, bénéficient tous de pléthore d'outils de ce type, comme Jmockit ou Mockito. Cependant, le C et le C++ n'ont pas cette chance, bien qu'une quantité impressionnante de code les utilise.

Opmock est un outil de génération automatique de stubs et de mocks, qui permet de simplifier énormément le TDD avec des bases de code importantes en C ou C++, existantes ou nouvelles.

Le projet est placé sous licence GPLv3.

GHC 8.4 et 8.6

32
25
sept.
2018
Programmation fonctionnelle

GHC, le compilateur Haskell est sorti en version 8.6.1 le 22 septembre 2018.
Cette dépêche détaille les nouveautés. De plus, nous n’avions pas fait de dépêche pour la version 8.4.1 du 8 mars 2018, ainsi que pour les versions 8.4.2 et 8.4.3 ayant suivi en avril et mai ; cette dépêche tente de combler ce vide.

Les versions 8.4.2 et 8.4.3 étant principalement des versions mineures consacrées aux corrections de bogues critiques, celles‐ci ne seront pas traitées dans cette dépêche.

Comme d’habitude pour les dépêches concernant les sorties de GHC, nous reviendrons sur les nouveautés de ces versions pour conclure par un petit exemple de Haskell pour vous donner envie d’utiliser ce langage.

Sortie de it-edit (Integrated Terminals Editor) 2.91

31
21
juil.
2016
Ligne de commande

IT-Edit (Integrated Terminals Editor) est disponible en version 2.91.

Cette nouvelle version n'apporte pas de nombreuses améliorations par rapport à la version 2.0, mais constitue une étape importante, car elle est désormais basée sur la nouvelle version majeure de la bibliothèque libvte (bibliothèque implémentant un widget d'émulateur de terminal, utilisé par Gnome-terminal.) IT-Edit se met donc à niveau. À cette occasion, de nombreux bugs et imperfections ont été corrigés.

capture d'éran de it-edit-2.91

Movim: Appel à soutien

31
24
juil.
2014
Communauté

Movim

Ce billet fait suite à la demande de soutien de Timothée Jaussoin sur sa page personnelle: http://edhelas.movim.eu/blog/?post/2014/07/16/Movim-%C3%A0-besoin-d-aide

D'autres billets devraient suivre pour décrire ce qu'il se passe autour de Movim avec notamment les fonctionnalités, une levée de fond sur Kickstarter et bien sûr les dernières nouveautés.

Présentation du projet

Movim pour ceux qui ne connaissent pas, est une application web de réseau social décentralisé, sous licence AGPL, qui se base sur le protocole XMPP, standard de communication déjà largement utilisé.
Le projet est en grande partie développé en PHP, l'interface reposant sur les technologies HTML5.

Movim est compatible avec les bases de données MySQL et PostgreSQL. L'architecture du projet repose sur un système de modules (appelés widgets) lui permettant d'être facilement extensible et modifiable.

Plusieurs dépêches à propos de Movim étaient déjà sorties sur LinuxFr.org. Dont une en particulier qui décrit un peu plus le projet et montre comment installer son propre réseau social avec le couple Movim/Metronome.

IT-Edit 2.0, un éditeur de texte avec terminaux intégrés

31
15
mar.
2016
C et C++

IT-Edit (Integrated Terminals Editor) est disponible en version 2.0. Cette nouvelle version apporte de nombreuses améliorations par rapport à la 1.0.1. Il s'agit d'un éditeur de texte doté de multiples fonctionnalités. Il est écrit en C et utilise GTK+3, gtksourceview3.0, ainsi que libvte-2.90.

logo du logiciel IT-Edit

IT-Edit gère la coloration syntaxique de nombreux langages de programmation. Il intègre des terminaux bien placés, de façon à ne pas perdre de vue la ligne de commande pendant l'écriture de code.

Journal Python comme premier langage de programmation ?

30
22
juil.
2014

Un récent article recensait quel langage est étudié en premier dans le cursus universitaire aux Etat-unis. Il en ressort que Python est le langage le plus utilisé, devant Java, Matlab et C/C++. Ce n'est pas vraiment une surprise, au vu de la popularité du langage et de sa relative simplicité d'apprentissage.

Si je devais apprendre à programmer aujourd'hui je pense que je choisirais Scala, parce qu'il élégant, statiquement typé et combine les notions de programmation fonctionnelle et orientée-objet. Et vous (…)

Journal Découvrons Common Lisp. Comparaison avec l'environnement Python.

Posté par  . Licence CC By‑SA.
30
1
fév.
2017

Salut journal,

Je suis de plus en plus frustré par le langage Python, et comme j'aime bien le Emacs Lisp, à la fois le langage et l'environnement de développement, j'ai retenté le coup avec Common Lisp. C'était assez frustrant mais j'ai pris quelques notes qui pourraient servir aux suivants, d'où ce journal (ça fait un paquet d'années qu'on n'a pas parlé de Common Lisp par ici, ni d'aucun Lisp d'ailleurs même ceux à succès comme Clojure (et à part Guix (…)

EnKoDeur-Mixeur (EKD) en version 3.1.4

29
23
août
2014
Graphisme/photo

Après deux ans pendant lesquels j’ai été éloigné du code, j’ai remis les mains dans le cambouis ! EKD, logiciel de post-production vidéo, image et fichiers audio, vient de sortir en version 3.14. Rien de révolutionnaire dans cette nouvelle mouture mais quelques améliorations :

  1. Des préréglages 4k et 2k ont été ajoutés pour le redimensionnement des vidéos
  2. La lecture et la sauvegarde des infos GPS (si les photos chargées en sont pourvues)
  3. Dans la version GNU/Linux, les dépendances FFmpeg et G’MIC sont intégrées en tant qu’applications portables et ne sont plus requises pour la construction des paquets (deb, rpm, …).

Pour faire avancer le projet, je cherche des développeurs Python qui voudraient intégrer le projet. Et aussi un empaqueteur RPM, un empaqueteur pour Archlinux (voir l'ancienne version ici) et des traducteurs.

Les vidéos et présentations de Kernel Recipes 2018 sont disponibles

29
28
oct.
2018
Noyau

Cette septième édition a donné lieu une fois de plus à de nombreux échanges passionnants entre participants et avec les orateurs. Plus d’une vingtaine d’interventions en trois jours et depuis sept ans, 300 l de café, 20 kg de fromage, quelques litres de sueurs provenant des organisateurs et des orateurs et surtout beaucoup d’interventions talentueuses.

L’ensemble des vidéos et présentations de cette édition est maintenant disponible en ligne.

Photos des participants

Journal Pourquoi Emacs? (Première partie)

Posté par  . Licence CC By‑SA.
Étiquettes :
28
23
nov.
2017

Emacs est, de loin, mon éditeur de code préféré. Dans cet article je vais passer en revue ce qui me plais dans ce logiciel, ou ce qui pourrait plaire à un informaticien. Ces écrits sont un peut long, aussi ils seront séparés en plusieurs parties. Cette partie couvrira les bases, l'édition de texte et l'usage du clavier.

Attention, il ne s'agit pas d'un cours sur Emacs, le but de cet article est d'en parcourir les atouts.

Quelques liens utiles:

Sortie de Haxe 3.2.0

Posté par  (site web personnel) . Édité par palm123, Benoît Sibaud et tuiu pol. Modéré par tuiu pol. Licence CC By‑SA.
28
17
juin
2015
Technologie

Haxe est un langage de programmation orienté objet, open source, basé sur un système de classes comme C# ou Java.
Il permet de mettre en place des types abstraits, des metadatas, des Generics, des Enums, ou encore faire de la programmation fonctionnelle comme en F#.
C’est une solution robuste, multi-paradigme, parfaitement adaptée au développement d’applications web, au jeu et au mobile.

Logo Haxe

Il y a quelques jours, la version 3.2.0 est sortie avec son lot de nouveautés et de corrections.
Cette dépêche présente les principaux changements et profite de l'occasion pour refaire un tour des possibilités offertes par ce langage.

Journal Le système objet de Common Lisp (tutoriel CLOS)

Posté par  . Licence CC By‑SA.
28
4
oct.
2018

Salut,
Je continue à bien apprécier le langage Lisp et un des plaisirs récurrents est de travailler avec son système objet. Je vais vous en donner une présentation complète, avec au passage une introduction à son protocole de méta-objet (MOP, meta-object protocole). Si ce faisant ça vous enlève des à priori sur Lisp de la tête ça aura valu le coup ;)

Journal Utiliser un thème d’icônes standard dans une application PHP

28
26
mar.
2014

Bonjour,

En ces temps d’applications web, on se retrouve à vouloir importer sur le web les technologies utilisées dans les applications desktop. Les icônes font parties de ces problématiques.
Je m’y suis intéressé en partant d’un constat : dans notre application (FusionDirectory), plusieurs problèmes émanent à propos des icônes : différentes icônes pour la même chose (un coup une information est symbolisée par , un coup par  (OK, pour la suite j’évite les images inline et je vais voter pour suivi/image-en-ligne au (…)

Tendances de la semaine pour les développeurs

Posté par  (site web personnel) . Édité par palm123 et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
27
21
déc.
2013
Presse

Cet article est une petite liste d'outils et d'actualités pour le développement d'application.

N'hésitez pas à partager vos découvertes pour la prochaine version la semaine suivante. Cette première semaine est orienté web, mais tous les autres domaines sont les bienvenus.

Scrum, Kanban, Git Pull Request, Tests : tout‐en‐un dans Tuleap 10

27
4
mai
2018
Gestion de versions

Après 114 user stories (ou récits utilisateur) développées, 1 100 rectificatifs et correctifs de sécurité, l’équipe de Tuleap est heureuse de vous annoncer la sortie de Tuleap 10. Cette version, dite majeure (bien qu’il y ait une nouvelle version de Tuleap tous les mois) est l’occasion de synthétiser les grandes fonctionnalités qui ont été développées en 18 mois. Tuleap est une plate‐forme libre tout‐en‐un pour gérer encore plus efficacement les projets logiciels.  C’est ce qu’on appelle une forge logicielle ou un outil de gestion du cycle de vie des applications (ALM, Application lifecycle management).

L’objectif de Tuleap est que les équipes de développement au sens large (chefs de projets, product owner, développeurs, directeurs technique, clients, etc.) partagent la même information sur l’avancement des projets. Chacun a les outils dont il a besoin, à portée de main. Tout est tracé, depuis les premières demandes client, jusqu’au code, aux tests, aux documents et aux livrables. Sur une même plate‐forme, chaque équipe est autonome dans la gestion de son espace de travail, quelle que soit sa façon de travailler : scrum, kanban, waterfall, les trois à la fois… Chaque équipe sélectionne les outils qu’elle souhaite parmi un large choix de greffons, adapte ses outils, crée ses propres groupes utilisateur et configure ses permissions.