Sortie de gfast-copy et de fast-copy sur www.open-source-projects.net

11
28
oct.
2017
C et C++

Icône de gfast-copy

Copier un unique (gros) fichier d’une source vers une destination donnée n’est pas une tâche pour laquelle les systèmes sont toujours optimisés.

Selon la philosophie UNIX, un programme doit accomplir une unique tâche précise et l’accomplir du mieux possible. C’est ce qui a donné naissance à gfast-copy et à fast-copy. Ces programmes font une chose banale mais le font bien.

Sortie d'it-edit version 3.0

18
3
juin
2017
C et C++

La version 3.0 de l'éditeur it-edit (Integrated Terminals Editor) est disponible.

La principale amélioration de cette nouvelle version est l'intégration optionnelle de la correction orthographique à l'aide de la bibliothèque de Sébastien Wilmet (mainteneur de gtk-sourceview3 - sur laquelle se base it-edit - et auteur de Texilla entre autres) gspell-1.

Mais c'est loin d'être le seul changement dans le code d'it-edit, et pas le seul ajout non plus.

Capture d'écran

Il s'agit de la 4e version majeure d'it-edit, et vous pouvez en voir une description plus détaillée dans l'annonce de la version 1.0.1.

Outils utiles pour développeur

58
3
mar.
2017
C et C++

Le but de cette dépêche est de recenser quelques outils utiles pour les développeurs (pas uniquement C et C++) et de donner accès à des ressources intéressantes pour leur prise en main.

Tout d’abord comment définit‐on un « outil utile » ? Ce sont des logiciels (libres, c’est mieux) qu’il n’est pas obligatoire d’utiliser mais qui permettent de gagner en productivité (ou de moins se prendre la tête avec un bogue). Ces outils sont utilisables indépendamment, mais utilisés ensemble peuvent former un tout qui donne les fonctionnalités d’un environnement de développement intégré.

Il est fort probable que pour certains cette dépêche vienne enfoncer des portes ouvertes. Mais pensez aux nouveaux pour qui elle sera, peut‐être, profitable.

C++17 garantit le court-circuit de copie (suite de la précédente dépêche)

Posté par . Édité par Oliver H, Davy Defaud, David Marec, Snark, Benoît Sibaud et lmg HS. Modéré par tankey. Licence CC by-sa
Tags :
27
13
déc.
2016
C et C++

Le calendrier de l’Avent du C++ continue son bonhome de chemin. Chaque jour, ou presque, une nouvelle surprise est offerte aux lecteurs de LinuxFr.org. La dépêche sur l’élision de la copie nous a mis l’eau à la bouche :

Comment résoudre le dilemme entre cette optimisation et le fait de ne pas pouvoir en bénéficier dans un code portable ?

Alors, entrons dans les entrailles de la spécification technique P0135 guidés par cette dépêche pédagogique, et découvrons comment le C++ s’améliore de version en version.

Une fille nerd s’électrocute en touchant la nouvelle tour C++17 de sa voisine avec garantie de court-circuit de copie

C++ se court-circuite le constructeur de copie

Posté par . Édité par Oliver H, Davy Defaud, lmg HS, gbdivers, gipoisson, Benoît Sibaud, palm123 et Storm. Modéré par tankey. Licence CC by-sa
Tags :
37
11
déc.
2016
C et C++

Le calendrier de l’Avent du C++ continue. Après quelques trous dans le calendrier, aujourd’hui une nouvelle surprise : le court-circuit du constructeur de copie.

Cette fonctionnalité est présente dans le C++ depuis la nuit des temps et pourtant peu connue, alors que ses effets de bords peuvent être redoutables. Cette dépêche très pédagogique explique tous les détails d’une optimisation ultime.

Une nerd s’électrocute en touchant la vieille tour C++ de sa voisine à cause des effets de bords du court-circuit du constructeur de copie (C++98 copy elision)

C++17 exprime la virgule flottante en hexadécimal et offre des cadeaux aux lecteurs de LinuxFr.org

Posté par . Édité par Davy Defaud, Oliver H, ZeroHeure et Storm. Modéré par Benoît Sibaud. Licence CC by-sa
Tags :
29
7
déc.
2016
C et C++

Chaque jour (ouvré) de décembre a droit à sa surprise. Après le if constexpr, aujourd’hui, le calendrier de l’Avent du C++ présente la spécification technique P0245 concernant le littéral pour exprimer la virgule flottante en hexadécimal.

Les Nerdettes s’entraînent pour le concours des littéraux hexadécimaux sur LinuxFr.org

C++17 branche à la compilation (`if constexpr`)

Posté par . Édité par Oliver H, Davy Defaud, Benoît Sibaud et Xavier Claude. Modéré par Benoît Sibaud. Licence CC by-sa
Tags :
27
5
déc.
2016
C et C++

Chaque jour de décembre a droit à sa surprise. Après la fixation de l’ordre d’évaluation des expressions, aujourd’hui, le calendrier de l’Avent du C++ présente la spécification technique P0292 concernant les conditions à la compilation, grâce à if constexpr.

Logo C++FRUG représenté par un gros "C++" au centre du cercle de la Francophonie

C++17 indique la disponibilité des en‐têtes (header)

Posté par . Édité par Davy Defaud, Benoît Sibaud, ZeroHeure, Xavier Claude, Bruno Michel et Nils Ratusznik. Modéré par tankey. Licence CC by-sa
Tags :
37
2
déc.
2016
C et C++

Chaque jour de décembre a droit à sa surprise. Après l'ordre d'évaluation, aujourd'hui, le calendrier de l’Avent du C++ présente la Spécification Technique P0061 concernant une macro magique : #define __has_include.

Une personne déprime de ne plus rien comprendre au C++ et son collègue le rassure que LinuxFr.org publie le calendrier de l'Avent du C++ avec des explications pédagogiques

C++17 fixe l’ordre d’évaluation des expressions

Posté par . Édité par Oliver H, Davy Defaud, Benoît Sibaud et palm123. Modéré par Xavier Claude. Licence CC by-sa
Tags :
55
1
déc.
2016
C et C++

Le C++ est un langage bien présent et depuis longtemps dans les logiciels libres (environnements de bureau, outils bureautiques, navigateurs Web…). L’an 2017 approche à grands pas avec la promesse d’un tout nouveau C++17.

Pour finir l’année, voici le calendrier de l’Avent du C++ avec des dépêches pédagogiques sur ce qui nous attend en 2017. Après deux dépêches de mise‐en‐bouche, nous entrons enfin dans le vif du sujet avec deux spécifications techniques concernant l’ordre d’évaluation des expressions. Allez, c’est parti !   ᕕ(ᐛ)ᕗ

Bjarne propose de changer le C++ pour corriger son livre qu'il tient dans ses mains

C++17, Genèse d’une version mineure

Posté par (page perso) . Édité par Benoît Sibaud, Davy Defaud, cracky, palm123, Lucas, Adrien Dorsaz, RyDroid, Martin Peres, ZeroHeure, M5oul et Storm. Modéré par tankey. Licence CC by-sa
Tags :
61
2
oct.
2016
C et C++

La série de dépêches C++ continue. Cette seconde dépêche nous amène dans les réunions du comité de standardisation en vue de publier la prochaine version C++17 et nous permettra de vérifier ce titre provocateur (comment ça mineure ?). Cette dépêche peut intéresser tous les lecteurs de LinuxFr.org, pas seulement les développeurs. Les prochaines dépêches seront plus techniques.

Deux collègues discutent : « C++ est enfin sorti », « Trop top », « Va falloir se palucher les 1700 pages du nouveau standard », « Gloups ». Une note repositionnable sur le dessin indique : « Il y en a qui ne connaissent pas encore LinuxFr.org »

Les coulisses du standard C++

99
20
août
2016
C et C++

Le C++ a bientôt la quarantaine et pourtant très actif en ce moment avec la finalisation de la prochaine version C++17. Profitons‐en pour faire le point avec une série d’articles sur le C++. Cette première dépêche nous dévoile la face cachée du C++, et donc peut intéresser tous les lecteurs LinuxFr.org. :-)

Évolution du langage C++

Douzième rencontre parisienne C++ mercredi 27 avril 2016

Posté par (page perso) . Édité par Benoît Sibaud, ZeroHeure et tankey. Modéré par tankey. Licence CC by-sa
16
24
avr.
2016
C et C++

L'association C++FRUG organise la douzième rencontre parisienne C++ Francophone avec pour nom de code : decltype(new event).

Horaires Programme
19:00 Accueil
19:30 Présentations éclairs (Lightning talks)
20:00 Pause dinatoire, pizzas et bières offertes par Mobiskill Partner
20:30 Révolution des <algorithme> en C++17
21:15 Informations générales et fin de la rencontre

Onzième rencontre C++ francophone jeudi 31 mars 2016 à Paris

Posté par (page perso) . Édité par Nils Ratusznik, Xavier Teyssier, Benoît Sibaud, eggman et palm123. Modéré par Benoît Sibaud. Licence CC by-sa
13
16
mar.
2016
C et C++

Le C++ FRUG vous convie à leur onzième rencontre francophone. Cette édition a pour nom std::move(meetup) car elle se tient à l'école 42.

Informations pratiques :

Le programme :

  • de 19:00 à 19:30 : accueil ;
  • de 19:30 à 20:15 : fonction passée en argument template, par Martin Morterol (LRI) ;
  • de 20:15 à 21:00 : pause dinatoire, pizzas et bières gratos ;
  • de 21:00 à 21:45 : système de fichiers dans les nuages, par Quentin Hocquet (Infinit).

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.

Bibliothèque de génération et de manipulation de formes libsdl2_gfxutils

Posté par (page perso) . Édité par tankey, Benoît Sibaud et palm123. Modéré par patrick_g. Licence CC by-sa
16
1
fév.
2016
C et C++

J'annonce de part ce présent message, la réécriture de la bibliothèque de génération et de manipulation de formes libSDL2_gfxutils. Elle est publiée sous GPLv3.

Dixième rencontre C++ Francophone jeudi 21 janvier 2016 (Paris, Châtelet Les Halles)

Posté par (page perso) . Édité par palm123, Xavier Claude, Benoît Sibaud et ZeroHeure. Modéré par Pierre Jarillon. Licence CC by-sa
Tags :
9
17
jan.
2016
C et C++

Joël Falcou organise depuis 2013 les rencontres du Groupe des Utilisateurs C++ Francophone (abrégé C++ FRUG d'après la traduction en anglais).

La dixième édition import <new_blood> est pour très bientôt

  • ce jeudi 21 janvier 2016 de 19h à 22h
  • au 43 Rue Beaubourg, Paris (Mobiskill Partner)

Le programme

  • 19:30 - 20:15 : PrOgO, animation 3D pour l’apprentissage de la Programmation Orientée-Objet par Fahima Djelil (Université Blaise Pascal Clermont-Ferrand)
  • 20h15 - 21h00 : Pause dînatoire, pizzas et bières offertes par Mobiskill Partner
  • 21h00 - 21h45 : Question Pour Un Champion++, Venez vous creusez la tête en participant à un petit Quizz C++11/14 en live.

Publication d'evQueue sous licence libre

Posté par . Édité par ZeroHeure. Modéré par tankey. Licence CC by-sa
33
18
mar.
2015
C et C++

EvQueue est un ordonnanceur de tâches et un moteur de queueing libre. Il permet la planification de tâches simples mais aussi la gestion de workflows, enchaînements de briques logicielles de base dans un but plus avancé. La description des enchaînements de tâches est basée sur XML et XPath, reprenant ainsi des briques très standardisées pour la structure des workflows.

Le moteur d'evQueue est écrit en C++ en mode événementiel, il se démarque ainsi de certains ordonnanceurs par sa légèreté et sa rapidité. L'interface de pilotage Web est quant à elle développée en PHP. Elle permet le suivi des tâches et workflows en cours, la création de workflow notamment en mode graphique, et la planification de tâches.

En plus de l'interface de pilotage Web, evQueue propose une API réseau permettant son contrôle à distance (lancement de tâches, suivi des tâches en exécution…). L'exécution de traitements lourds est en effet une problématique récurrente des systèmes Web où les clients sont en mode asynchrone. L'utilisation d'evQueue résout cette problématique, assurant un suivi simple à mettre en place en AJAX côté utilisateur et une excellente visibilité pour les administrateurs systèmes.

Une documentation sur l'installation et l'utilisation d'evQueue, ainsi que des exemples de workflows sont disponibles sur le site d'evQueue.

EvQueue est développé et maintenu par l'équipe informatique de l'UFC-Que Choisir. Il est publié sous licence libre depuis mars 2015 (GPL 3). Il est utilisé pour les besoins informatiques de l'association depuis presque trois ans ; à ce jour, plus de quatre millions de workflows ont été lancés.

BellePoule - Gestion de compétitions d'escrime

Posté par (page perso) . Édité par BAud, Nils Ratusznik, palm123, Xavier Claude, yPhil, ZeroHeure et Bruno Michel. Modéré par ZeroHeure. Licence CC by-sa
47
15
mai
2014
C et C++

S'il est un sport dont la gestion des compétitions ne peut se passer de l'outil informatique, c'est bien l'escrime :

Un événement typique rassemblant 140 tireurs engendrera, rien que pour le tour de poules, 1029 opérations mathématiques élémentaires (additions, soustractions, divisions) pour calculer un classement tenant compte du ratio victoires/défaites, des touches données et des touches reçues.

Titre de l'image

Petite difficulté supplémentaire, un match d'escrime est extrêmement rapide et n’excédera jamais plus de 3 minutes en poule. Ce petit millier d'opérations se doit donc d'être réalisé dans les plus brefs délais.

Les solutions logicielles répondant à ce besoin se comptent sur les doigts d'une main. Elle sont toutes fermées, à l'exclusion du système BellePoule dont le code source est publié sous licence GPLv3. C'est également la seule à offrir la dématérialisation des échanges avec les arbitres, par le biais d'un système de feuilles de match électroniques.

Libération de navitia : un calculateur d’itinéraire pour les transports en communs

Posté par . Édité par Florent Zara, palm123 et Benoît Sibaud. Modéré par ZeroHeure. Licence CC by-sa
52
30
avr.
2014
C et C++

La société Canal TP a ouvert sous licence Affero-GPL son produit phare : le calculateur d’itinéraires pour transports en commun Navitia. Il s’agit d’un serveur qui expose une API REST afin d’être intégrée dans divers services (site web, application mobile, client CLI…). Les sources de données acceptées sont le format GTFS souvent utilisé pour diffuser des horaires en OpenData et OpenStreetMap pour les itinéraires piétons.

Le cœur est en C++11 avec une interface en Python pour gérer l’API REST.

En plus de la fonction centrale de calcul des itinéraires, voici certaines autres fonctionnalités :

  • approche à pied, vélo, vélo libre service
  • prochains départs, arrivées (pour l’instant théorique, le temps réel est encore en développement)
  • « isochrones » (terme approximatif qui revient à calculer le temps pour atteindre tous les arrêts depuis un point)
  • service « à proximité »
  • explorer le référentiel de données (par exemple l’ensemble des lignes passant par tel arrêt)

C : Science et éducation : EZ-Draw 1.2 est sorti

Posté par . Édité par Davy Defaud, Nÿco et ZeroHeure. Modéré par Pierre Jarillon. Licence CC by-sa
Tags :
30
19
avr.
2014
C et C++

Pour qui veut apprendre à réaliser une interface graphique, il y a un très grand choix de langages et de bibliothèques graphiques. Dans le cas particulier du langage C (ou C++), les bibliothèques graphiques communément utilisées (GTK+, Qt, etc.) sont très complètes, mais nécessitent un important effort d’apprentissage ; pour tout dire, elles ne sont clairement pas adaptées pour le débutant ou l’autodidacte. C’est pour cette raison que je développe EZ-Draw depuis maintenant six ans, et j’ai le plaisir de vous annoncer la sortie de la nouvelle version 1.2.

EZ-Draw (Easy Draw) est une petite boîte à outil graphique pour le langage C, fonctionnant à la fois sous GNU/Linux, Mac OS X et Windows (toutes versions).

EZ-Draw est conçu pour l’apprentissage de la programmation événementielle et des interfaces graphiques. Il permet de créer de façon très simple des fenêtres, y dessiner, réagir à la souris et au clavier, faire des animations.

Au menu des nouveautés :

  • lecture et affichage des images aux formats PNG, JPEG, GIF et BMP ;
  • nouvelle documentation récrite avec Sphinx ;
  • traduction de tout le projet en anglais, et documentation bilingue ;
  • nouveaux jeux : Doodle in London, 2048 / 2584, Bubblet.

Le logiciel est sous licence LGPL ; il est utilisé en particulier dans la Licence d’informatique de l’Université d’Aix‐Marseille, dans des projets d’algorithmique ou des projets de jeux en 2D (souvent inspirés des jeux sur smartphones).

Coder efficacement, bonnes pratiques et erreurs à éviter

30
14
avr.
2014
C et C++

Développer une application peut rapidement devenir un enfer si vous n'avez pas anticipé certaines difficultés et fait les bons choix au moment de sa conception. Ce livre vous aidera à vous poser les bonnes questions et à tirer le meilleur parti de la programmation objet, en particulier en C++, sans tomber dans les pièges les plus fréquents. Il clarifie certains concepts délicats et passe en revue un ensemble de bonnes pratiques, qui rendront vos projets plus évolutifs et plus faciles à maintenir.

Titre de l'image

Encore un exemple de code spaghetti : Toyota

Posté par (page perso) . Édité par ZeroHeure, palm123, Benoît Sibaud, Nicolas Casanova et BAud. Modéré par tuiu pol. Licence CC by-sa
Tags :
53
6
mar.
2014
C et C++

Après plusieurs journaux récents concernant des histoires de mauvaises pratiques de code dans des logiciels de sécurité (goto fail pour Apple et goto cleanup pour GnuTLS, divers patchs monolignes erronés), nous avons maintenant une histoire où de mauvaises pratiques de code dans de l'embarqué ont entraîné un accident grave.

Toyota a mis en vente en 2005 sur le marché son modèle Camry, dont le moteur est contrôlé par de l'électronique et du logiciel. Par exemple la pression sur la pédale de frein est détectée par un capteur que le système doit analyser pour commander le freinage.

Un jour lors d'un freinage périlleux le freinage électronique a échoué à freiner efficacement, entraînant un accident qui a coûté la vie à la conductrice et blessé gravement son amie.

Dans un procès fait à Toyota, deux experts en embarqué ont donné leur avis sur le code source que Toyota avait utilisé dans sa voiture. C'était du code très sale, comme vous pouvez le voir dans la suite de cette dépêche.

NdM : merci à Zarmakuizz pour son journal.

LibLogicalAccess : bibliothèque C++ pour la RFID

Posté par . Édité par Florent Zara et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC by-sa
24
16
juil.
2013
C et C++

LibLogicalAccess, une nouvelle bibliothèque logicielle destinée à la lecture / écriture sur les puces RFID, est disponible depuis quelques semaines aux intéressés de l’identification par radio fréquence. Sous licence LGPL, elle se positionne comme une alternative C++ libre pour Linux et Windows à l'utilisation de puces RFID avec des lecteurs dépourvus de contrôleur NFC (n'entrant donc pas sous le giron de la libnfc), majorité des lecteurs déployés dans le monde aujourd'hui.

C++11 : sur le fil

Posté par . Édité par Florent Zara et Xavier Teyssier. Modéré par Xavier Claude. Licence CC by-sa
Tags :
28
7
juin
2013
C et C++

Dans la course effrénée que se livrent les compilateurs, GCC vient de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

  • les rvalue-references pour le pointeur this
  • l'utilisation de decltype sur des expressions de type incomplet

NdM : merci à nazcafan pour son journal.