À Savoir

Page d'Acceuil

Alpha

À Propos de

À Savoir

Contact

Cool

Création

Liens

Vous


Bienvenue chez Blady.

Voici quelques bonnes petites choses à savoir ou bien qu'il est bon de se remémorer.

Ce mois-ci découvrons :

Et toujours :


  1. Utilisation des variables globales et locales (octobre 2000)

    Chacun connaît la règle : utiliser au maximum des variables locales. La raison provient de très nombreux plantages ou anomalies que vous n'avez pas manqué de rencontrer. Ces plantages découlent de l'utilisation de variables globales modifiées par plusieurs routines dans un premier temps de façon voulue puis à votre insu, quand vous avez utilisé cette variable parce qu'elle était disponible sans penser à son utilisation ailleurs. Dans le cas qui nous préoccupe, pas de faux prétexte, les éditeurs actuels sont suffisamment souples, la mémoire des ordinateurs ne demande qu'à être remplie : créez une nouvelle variable locale chaque fois que vous en sentez le besoin.
    retour en haut de la page

  2. Installation Mac OS X réussie (mars 2017)

    MacOS X est le système d'Apple à base d'Unix. Voici ci-après les opérations que j'ai effectuées pour l'installation de MacOS version 10.11(El Capitan) avec les outils de développement XCode.
    -> 10.11 : comprend l'installation de la mise à jour MacOS 10.11.6, XCode 7.3.1, des outils de développement "Command Line Developer Tools" 7.3.1, Java 8 update 111, XQuartz 2.7.11, du correctif de sécurité 2017-001.
    (Historique : installation des versions 10.1, 10.3, 10.4, 10.6, 10.8, 10.9).
    Retour en haut de la page

  3. Nommer une variable et autres objets (octobre 2000)

    Quelques suggestions pour choisir le nom des identificateurs utilisés dans un programme.
    Retour en haut de la page

  4. Compilation de 'cc' en natif sur Mac OS X (août 2001)

    OBSOLETE - Pourquoi compiler un compilateur ? En effet, pour le compiler on doit déjà en posséder un. De plus il est déjà natif sous Mac OS X, en langage C. Justement, il est intéressant de greffer sur ce compilateur C (cc), issu du compilateur de GNU (gcc), d'autres langages comme le Fortran, le Pascal ou l'Ada.
    Nous allons prendre les codes sources proposés sur Darwin 1.3 correspondant à gcc 2.95.2.
    Dans un premier temps suivons les instructions pour compiler avec le package de fichiers à remplacer : gcc_a
    retour en haut de la page

  5. Les apports de la programmation orientée objet (mars 2015)

    Quels sont les avantages à utiliser un langage orienté objet (LOO) ?
    Un premier article sur la théorie de la programmation orientée objet (POO) où, après une introduction mettant en perspective la dimension historique de la POO, les concepts d'encapsulation, d'héritage, de surcharge, de superposition, de généricité et de polymorphisme sont abordés.
    Un second article pratique met en oeuvre les notions du précédent avec Ada 95 et Ada 2005.
    L'unité "Figures" illustre les articles en utilisant les objets simples avec le code en Ada 95 et celui en Ada 2005.
    L'unité "Figures_Abstraites" illustre le texte en Ada utilisant les objets abstraits avec le code en Ada 95 et celui Ada 2005.
    L'unité "Figures_Multiples" illustre le texte en Ada utilisant les interfaces avec le code en Ada 2005.
    Les tours de Hanoï en LOO, exemple du livre "Les langages à objets" (excellent bien qu'ancien, 1992 déjà) de Michel Beaudouin-Lafon (Armand Colin), avec le code Ada 2005 proposant la technique de l'encapsulation des fonctions constructeurs dans des paquetages locaux ainsi que le code Ada 2005 proposant la technique des pointeurs sur objets.
    Le problème mathématique des tours de Hanoï a été inventé par Édouard Lucas en 1883 (voir plus sur Wikipédia).
    Retour en haut de la page

  6. Construire un code source (septembre 2006)

    Quel que soit le langage utilisé, il est important de structurer le code source d'un programme. Plus le texte sera agréable à l'oeil dans sa structuration, plus il sera compréhensible instantanément, donc moins il y aura d'erreur. L'utilisation d'un reformateur de code avant toute comparaison ou archivage nous apporte une grande aide dans cette tâche.
    Retour en haut de la page

  7. Bien débuter un programme (mai 2001)

    Voici quelques suggestions pour débuter le codage d'un nouveau programme.
    Retour en haut de la page

  8. Utilisation des touches spéciales (août 2001)

    Beaucoup de trucs et astuces circulent dans les forums pour pouvoir utiliser des caractères spéciaux dans le terminal de Mac OS X. Pour ma part, avec les options par défaut du terminal, j'obtiens les caractères suivants:
    { : <opt>-(
    } : <opt>-)
    [ : <maj>-<opt>-(
    ] : <maj>-<opt>-)
    | : <maj>-<opt>-L
    \ : <maj>-<opt>-<: />
    Il en manque deux essentiels : ~ et `. Pour ceux-là, il est nécessaire d'ajouter les deux lignes suivantes dans le fichier .tcshrc à la source de votre répertoire d'utilisateur:
    # ctrl-N
    bindkey -s "\016" "~"
    # touche "`"
    bindkey -s "\000" "`"
    Je n'ai pas trouvé de man sur bindkey mais "bindkey -h" donne un aperçu de la commande.
    Avec la mise à jour 10.1.1 ` et ~ s'obtiennent traditionnellement :
    ` : <` £>
    ~ : <opt>-N
    L'utilisation de bindkey n'est plus nécessaire.
    Retour en haut de la page

  9. Programmer avec Logo (août 2001)

    Langage d'apprentissage de la programmation, dans lequel on donne des ordres à une « tortue », qui porte un crayon et peut donc dessiner quand elle se déplace. La syntaxe en français permet l'accès au langage aux plus jeunes - même si le langage ne se limite pas à eux. On peut aussi grouper les instructions dans des procédures. Créé en 1971 au MIT, c'est un petit cousin du LISP.
    On est cependant confronté à plusieurs dialectes Logo en anglais et en français. Certains sont plus riches que d'autres. J'ai mis les différents dialectes Logo en français que j'ai retrouvé. J'ai mis celui présenté par feu Hebdogiciel dans ses pages pédago, avec le Logo de l'Apple II qui apparaissait assez complet. J'ai ajouté les deux Logo actuel en français que j'ai trouvé sur la grande toile MSW et LWH.
    A propos de ce dernier je n'y pas trouvé d'instruction concernant les listes...
    La colonne Logo FR est mon interprétation toute personnelle de l'équivalent anglais.
    Retour en haut de la page

  10. Programmer à quel prix ? (septembre 2014)

    Le matériel minimum indispensable (ordinateur et accessoires) pour satisfaire son hobby "la programmation" avec son prix à y mettre réactualisé avec les MacBookPro, iMac et MacMini (le premier prix a démarré avec l'iMac G3 ensuite avec l'eMac G4 puis avec le MacMini complété par clavier, souris, écran, CD/DVD). Évolution du prix du Macintosh.
    Retour en haut de la page

  11. Utilisation de GDB avec Ada (décembre 2012)

    GDB peut paraître rudimentaire. Il est néanmoins efficace pour déverminer les programmes Ada en utilisant les points d'arrêt, le pas à pas, les exceptions et les tâches Ada.
    Retour en haut de la page

  12. Exécution asynchrone et multitâche (juin 2002)

    Une grande part des algorithmes sont décris comme une suite d'opérations exécutées en séquences de façon synchrone, hors le besoin en exécution asynchrone évolue, mais pas forcément les solutions pour y répondre. Utilisation des possibilités du multitâche natif du langage Ada.
    Retour en haut de la page

  13. Le standard POSIX avec Ada (août 2012)

    Sans parvenir à s'imposer complètement, tous les systèmes d'exploitation ou presque, y compris Windows, se réclament de POSIX; explications avec la bibliothèque Posix Ada Florist GPL 2012 (y compris pour windows avec WPOSIX janvier 2012) et quelques programmes de test.
    Retour en haut de la page

  14. Comment migrer de Pascal à Ada (juillet 2007)

    Une solution existe pour redonner vie à d'anciens programmes écrits en Pascal : utiliser Ada ! Cette solution permet de bénéficier des avantages d'un langage moderne, complet et disponible sur de nombreuses plates-formes.
    Une grande aide nous vient de l'utilitaire P2Ada qui opère automatiquement la majeure partie de la traduction Pascal vers Ada.
    Ce mois ci découvrons l'installation et l'utilisation de P2Ada avec un programme simple, un programme graphique et un programme objet.
    Retour en haut de la page

  15. Analyse descendante et ascendante (novembre 2002)

    Que sont exactement les analyses descendante et ascendante en programmation ? Laquelle appliquer ? Voici quelques réponses.
    Retour en haut de la page

  16. Choisir une licence de publication (janvier 2004)

    Écrire des programmes informatiques, c'est bien. Les publier sur Internet par exemple c'est mieux. Mais sous quelle forme ?
    Voyons d'abord quelques licences existantes (APSL, GPL, ACL, GMGPL) ainsi que le brevet logiciel, l'utilité d'une licence et enfin le choix.
    Retour en haut de la page

  17. Encoder son adresse e-mail (octobre 2003)

    Les robots chercheurs d'adresses e-mail sont des logiciels automatisés qui parcourent inlassablement les pages HTML sur Internet pour collecter les adresses e-mail à l'insu de leurs propriétaires. Les adresses sont ensuite utilisées pour le Spam (envoi répété de messages indésirables) ou de virus pour démultiplier la diffusion par messagerie. Afin d'être passe partout sur Internet (codage ASCII pur), le codage HTML permet d'utiliser des caractères accentués avec une séquence "&...;", par exemple le "é" est codé "&eacute;". Cela fonctionne aussi pour les caractères ASCII normaux comme le "a" est codé "&#97;". Attention certains éditeurs HTML en Wysiwyg vont retransformer le code en clair ! Pour éviter cela, il faut alors l'insérer dans une commande du type : "document.write('<a href=
    "&#109;&#97;&#105;&#108;&#116;&#111;&#58;'+
    '&#116;&#111;&#116;&#111;&#116; &#64;'+
    '&#116;&#111;&#116;&#111;&#46;&#99;&#111;&#109;'+
    '">'+'&#116;&#111;&#116;&#111;'+'</a>');"
    Nous pouvons alors coder notre adresse e-mail en HTML, aller voir le code de la page "Contact". Elle n'apparaît plus en clair dans le code source HTML, disparu le fameux "@", clé de recherche utilisée par les robots. Pour combien de temps encore?
    Retour en haut de la page

  18. Installation de MySQL 4.1.4 (octobre 2004)

    MySQL est un système de gestion de bases de données relationnelles (SGBDR) basé sur le langage SQL. Il s'agit d'un langage normalisé de requêtes pour bases de données relationnelles (Strutured Query Language) créé dans les années 70 par E. F. Codd d'abord pour IBM puis repris par Oracle. Maintenant disponible par tout un chacun sur Mac, installons MySQL dont la renommée n'est pas à faire avec son pilote JDBC. Le texte contient aussi les commandes SQL usuelles.
    Retour en haut de la page

  19. Installation de Tomcat 5.0.28 (octobre 2004)

    Tomcat est un serveur de "servlets" JAVA. Ces applications accessibles par Internet en Java et s'exécutant sur le serveur Web. De la même veine que le serveur HTTP Apache déjà présent sur Mac OS X, installons Tomcat. Le package TomcatStartupItem permet à Tomcat de démarrer automatiquement à l'initialisation du Mac.
    Retour en haut de la page

  20. Installation de Jalopy (septembre 2008)

    Jalopy est un formateur de code source pour le langage de programmation Java. Il applique des règles largement paramétrables pour produire un style clair et reproductible. Le formatage d'un code source est particulièrement utile lorsque des modifications sont apportées par plusieurs personnes avec des styles de codage différents car cela permet d'uniformiser le code source avant de visualiser les différences avec la précédente version par exemple. C'est utile aussi pour une personne seule dont le style de codage est erratique ;-) Installons sur Mac OS X ce programme sous licence BSD.
    Retour en haut de la page

  21. Installation de Checklink 4.81 (septembre 2012)

    Checklink est un programme qui vérifie les balises liens et les balises ancres d'un document HTML avec les protocoles HTTP ou HTTPS. Pour les liens la vérification porte sur la validité de l'URL donnée par le lien en incluant les fragments (référence aux balises ancres). L'unicité des balises ancre au sein d'un même document est également vérifié. La vérification peut se faire de manière récursive sur les liens du document HTML. Installons sur MacOS 10.8 ce programme écrit en Perl.
    Retour en haut de la page

  22. Comment programmer l'affichage correct des accents ? (avril 2017)

    D'une question apparemment simple, attention à ne pas être piégé par les apparences. Les langages de programmation - essentiellement d'origine américaine - n'ont vraiment intégré l'accentuation que très récemment.
    Cet article est certainement valable aussi pour de nombreux langages de programmation. Je vais, cependant, l'illustrer avec le langage Ada avec l'affichage puis la saisie correcte de caractères accentués.
    Retour en haut de la page

  23. Utilisation des exceptions Ada avec GNAT (mars 2012)

    Durant le fonctionnement d'un programme en Ada, les anomalies issues du système comme celles détectées par le programme sont transformées en exceptions. Ada nous propose un certain nombre de façons de réagir face à la levée d'une exception comme ne rien faire se qui va provoquer l'arrêt du programme. Parfois, voire souvent, il est utile d'obtenir plus d'information sur l'origine de l'anomalie comme identifier ou tracer la procédure où elle a été déclenchée. GNAT nous vient en aide en enrichissant les informations proposées de base par Ada sur les exceptions. Contient également le code de l'unité remplaçant l'utilisation de addr2line par atos pour les versions de Mac OS X supérieure ou égale à 10.5.
    Retour en haut de la page

  24. Utilisation des systèmes d'aide Unix (juin 2007)

    Outre le système d'aide présent dans les applications Mac. Les commandes du Terminal ont aussi leur système d'aide. Sur les systèmes de type Unix, l'aide peut être invoquée de plusieurs façons : les commandes man, info, whatis, apropos et help.
    Retour en haut de la page

  25. Les systèmes CVS, SVN et GIT de contrôle des versions d'un logiciel (mai 2013)
    1. Concurent Versioning System (CVS) est un système de contrôle des versions d'un logiciel comprenant un serveur de code source et de plusieurs outils. Les systèmes de contrôle de version sont généralement utilisés dans le cycle de développement d'un logiciel pour suivre et coordonner les changements du code source au sein de l'équipe de développement. Un serveur CVS est adapté à la spécificité du développement logiciel avec des fichiers au format texte, avec un grand nombre de fichiers, avec des modifications simultanés et avec des livraisons multiples.
      Voyons maintenant son fonctionnement.
    2. Subversion-SVN est aussi un gestionnaire de codes sources.
      Voyons son fonctionnement en mode basique, avec modifications en local.
    3. Git est un système de contrôle des versions (Version Control System - VCS) du code source d'un logiciel. La particularité de GIT est qu'il est distribué, ce qui a pour conséquence de posséder en local l'ensemble des versions sans dépendre d'un serveur distant. Son système de gestion des branches est très particulier et déroute à coup sûr lors des premiers contacts. Il est très différents de SVN, par exemple.
      Voyons son
      fonctionnement (1,2 Mo) avec GIT GUI, GITK et GPS : son installation, sa configuration, la création d'un dépôt, l'indexation, l'historique, les branches, les tags.

    Retour en haut de la page

  26. Comment vérifier une signature électronique ? (janvier 2007)

    Avec la prolifération des virus et autres pirates informatiques, l'installation sur son ordinateur du moindre programme anodin est source d'inquiétude. La question est : Comment s'assurer que le programme à installer provient bien de l'éditeur souhaité et non d'un autre beaucoup moins souhaité ? Voyons maintenant quelques solutions (sha1, md5 et pgp).
    Retour en haut de la page

  27. Comment transmettre les évolutions d'un code source ? (octobre 2007)

    Transmettre directement le code source modifié complet n'est souvent pas la bonne approche. Du côté du réceptionnaire, le code source a certainement évolué également, en récupérant le code complet, il perdra ses modifications. Voyons maintenant comment fusionner (patcher) les évolutions.
    Retour en haut de la page

  28. Comment migrer de C vers Ada (décembre 2007)

    Une solution existe pour la traduction de fichiers d'en-têtes en C en unités Ada afin de s'interfacer avec les bibliothèques correspondantes. Cette grande aide nous vient de l'utilitaire C2Ada qui opère automatiquement la majeure partie de la traduction C vers Ada. C2Ada fait également bien mieux en traduisant aussi du code complet en C en code Ada.
    Ce mois ci, découvrons l'installation et l'utilisation de C2Ada avec quelques améliorations.
    Retour en haut de la page

  29. Utilisation du compilateur Ada GNAT et de GPS (juin 2016)
    1. GNAT : Quelques rappels et astuces sur l'utilisation de GNAT (voir son installation sur Mac en page créations).
      Au sommaire, l'utilisation avec le terminal, la convention spécifique des noms de fichiers, les options indispensables (pour maximum d'information à la compilation, pendant le déverminage et un maximum de performance à l'exécution), l'utilisation de bibliothèques par défaut, l'analyse de la complexité, la conversion du code source en HTML, les pragma utiles, une astuce pour pragma Inline / Import / Export, les nouvelles options de GNAT 2016 notamment avec le dernier standard Ada 2012, le formateur de code source gnapp et l'utilitaire gnatclean de nettoyage des fichiers issus de la compilation.
    2. GNAT : Nous allons aborder dans ce tutoriel comment créer notre propre bibliothèque Ada pour une utilisation avec un programme principal en Ada puis aussi avec un programme principal en C ou en Objective-C. Ce mois-ci, une bibliothèque Ada statique indépendante puis une bibliothèque externe pour utilisation en C (appelle d'une procédure Ada) et avec XCode en Objective-C (allocation en Ada d' instances de classes, appelle de méthodes de classes et de méthodes d'instances) : Sources - Objective-C 2.0 et Ada 2005 - mai 2013, résultats.
    3. GPS : Les premiers pas (1 Mo) avec l'environnement intégré de développement GPS (voir son installation sur Mac PPC en page créations).
      Au sommaire son installation sur Mac Intel, intégration à X11, création d'un projet et quelques astuces d'édition et de recherche.
    Retour en haut de la page

  30. Comment migrer de Java vers Ada (mars 2013)

    Le but n'est pas de convertir au langage Ada les programmeurs Java. Bien d'autres notamment sur Internet apporteront l'argumentaire pour cela bien mieux que nous pourrions le faire. Les questions sont plutôt tournés vers les programmeurs en Java qui s'essaye à Ada, comme :

    • où trouver un compilateur ?
    • quelles sont les structures de programmation ?
    • quelles sont les bibliothèques ?

    Rien ne nous empêche alors de profiter de l'énorme potentiel d'Ada même venant de Java, ce que nous allons voir en détail. Une grande aide viendra de l'utilitaire J2Ada qui opère automatiquement la majeure partie de la traduction Java vers Ada.
    Ce mois ci, découvrons les premiers pas en Ada avec le compilateur GNAT, les équivalences Ada des structures Java (commentaires, types de bases, caractères, instructions, expressions, exceptions, tableaux, tableaux anonymes, tableaux multi-dimensionnels, les classes, les méthodes, les constructeurs) avec le source des exemples (Ada 2005 - V1.3a).
    Retour en haut de la page

  31. Installation et utilisation d'AdaStudio (décembre 2010)

    Visual Ada Developer (VAD) est un logiciel libre basé sur TCL/TK (Tool Command Language/ToolKit) pour construire des interfaces utilisateurs graphiques en Ada. Les applications créées par VAD sont portables sur Mac, Windows, Linux ou OS/2. VAD est présent sur le site Internet de son auteur Leonid Dulman.
    Ce mois-ci voyons son utilisation (608 Ko) avec comment construire VAD à partir du code source puis les premiers pas de la construction d'une interface utilisateur graphique.
    Retour en haut de la page

  32. Utilisation de la bibliothèque graphique GTKAda (décembre 2015)

    GTKAda est la boite à outil graphique en Ada basée sur GTK+ pour construire des applications portables sur la plupart des plates-formes, voir son installation pour Quartz et X11.
    Ce mois-ci voyons son utilisation (600 Ko) avec xterm, GPS (inclut une astuce pour contourner un problème d'exécution)  puis les premiers pas de la construction d'une interface utilisateur graphique avec Glade (GtkBuilder) et Gate3 (source de l'exemple - Ada) ainsi que la gestion des événements, des widgets button, label, text entry, check button et cursor (source de l'exemple - Ada); la bibliothèque graphique Cairo (source de l'exemple - Ada), le multitâche (source de l'exemple - Ada); et les événements.
    Retour en haut de la page

  33. Installation et utilisation de la bibliothèque graphique GNOGA (mai 2017)

    GNOGA est une bibliothèque graphique créée nativement en Ada. Sa particularité est de permettre de construire des applications graphiques orientées Web indépendantes de la plate-forme. Double indépendance garantie d'une part de fait du langage Ada lui même, Ada assure qu'un code source aura un comportement identique quelque soit la plate-forme d'exécution de part son compilateur (s'il accepte la compilation), d'autre part avec l'utilisation du HTML et Javascript pour le rendu graphique dans un navigateur Web.
    Ce mois-ci voyons son installation et utilisation (600 Ko) puis les premiers pas de la construction d'une interface utilisateur graphique pour le calcul de factorielles, les graphiques en 2D, les évènements, les éléments visuels basics, les formulaires avec la récupération des résultats (méthodes GET, POST et par évènements), les vues, les éléments visuels composés et les connexions multiples (sources hello.adb, hello2.adb, hello3.adb, hello3get.adb, hello3post.adb, hello3evt.adb, hello4.adb, hello5_list.adb, hello5_iframe.adb, hello5_av.adb, hello6.ada - Ada).
    Retour en haut de la page

Cette page vous a-t-elle aidé ?
Oui: dites en quoi elle a vous été utile.
Elle a été utile, mais: indiquez les informations erronées ou incomplètes.
Elle n'a pas été utile: dites ce qui vous aurait aidé.

À bientôt...

Il est interdit de reproduire, même partiellement, le contenu de cette page sans autorisation écrite préalable.

Toutes les marques déposées sont la propriété de leur dépositaire.