Le blog de Phil

J'habite Malakoff, la plus belle ville du monde

C’est grâce à François Fillon qu’Internet est arrivé : n’importe quoi !

François Fillon a déclaré, je cite, « Qu’est-ce qu’a fait M. Macron en matière de technologie ? Il a fait des choses ? Qu’est-ce que j’ai fait moi ? J’ai ouvert les télécommunications à la concurrence. Vous pensez qu’il y aurait de l’Internet en France si on avait toujours France Telecom avec des fonctionnaires ? Et qui s’opposait à cette réforme ? La gauche »

 

Franchement, on est dans un vrai n’importe quoi et dans un pur délire mégalomaniaque.

 

Etant développeur Java (si, si) et travaillant donc dans le domaine, je vais donc me permettre de répondre à François Fillon.

 

D’abord, je rappelle que l’ouverture du capital de France Télécom a été faite sous … Lionel Jospin.

C’était entre 1997 et 2000… selon Wikipédia.

 

Par ailleurs, Internet a commencé, toujours selon Wikipédia, au MIT, organisme public.

 

Par ailleurs, il existe aussi des organismes de normalisation, notamment le W3C.

Heureusement d’ailleurs.

Ça se voit que François Fillon n’a jamais fait des lignes de code en JavaScript, langage ignoble d’ailleurs, et malheureusement incontournable côté client.

Il fallait que ça marche sur Internet Explorer, une daube.

Oh combien c’était vexant de voir son code marcher sur tous les navigateurs … sauf Internet Explorer !

 

Mais l’importance de mon propos n’est pas là.

Il tient en deux points.

 

Le premier est qu’Internet serait arrivé sans François Fillon.

Effectivement, Internet est une nouvelle étape dans les cycles économiques, comme le fut la révolution industrielle.

Internet a changé notre façon de travailler, d’échanger…

Internet a changé le monde de la culture, celui-ci étant plus facilement accessible.

Par ailleurs, et c’est un point important à évoquer, Internet a accéléré la mondialisation.

 

Pour comprendre cette révolution, il faut se placer dans la définition du capitalisme selon Schumpeter.

Selon Schumpeter, le capitalisme est la destruction/création.

A un temps t, je fabrique des biens ou des services.

Mais ces biens sont voués à disparaître, créant de la destruction d’emploi, principalement.

Ils vont disparaître car ils ne seront plus utilisés (qui utilise encore le cheval pour se déplacer de nos jours) où qu’ils seront fabriqués différemment.

C’est le progrès technique.

On parle de destruction.

 

Mas ces biens seront remplacé par d’autres biens, ou seront fabriqués différemment.

Ça va amener de nouveaux marchés, et donc de nouveaux emplois.

On parle de création.

 

Internet en 2000, c’était la création au sens de Schumpeter.

 

Et on arrive à un second problème que François Fillon n’évoque pas, et pourtant qui est si important.

La France a loupé le coche de la révolution Internet, je l’avais d’ailleurs écrit.

Internet est certes arrivé en France, mais nous n’en sommes pas parmi les artisans.

 

Déjà, les entreprises dans ce business, comme Oracle, Microsoft, Google, IBM, Red Hart sont principalement américaines.

 

Dans les langages de programmation, on a :

  • PHP, créé en 1995 par Rasmus Lerdorf, un Canadien/Groenlandais.
  • Java, crée en 1995 par Sun, entreprise américaine, racheté par Oracle, entreprise américaine.
  • C#, crée en 2002 par Microsoft, entreprise américaine.

Evidemment, comme c’est l’informatique de gestion qui est porteuse d’emplois, il convient de rappeler l’importance des bases de données SQL (ça évolue, il est vrai), dont les principales sont Oracle (Américain), DB2 d’IBM (Américain), SQL Server de Microsoft (Américain), PostgreSQL (Américain), MySQL (Appartenant à Oracle).

 

On a même loupé la révolution du Mobile, car on a Apple (Américain), Androïd de Google et Windows Phone de Microsoft.

 

En fait, le problème est plus vaste et sort du cadre de l’informatique.

Dans un premier lieu, on se contente des emplois de service.

Or, ils ne sont pas durables et demandent une forte valeur ajoutée.

Pourquoi pas, mais notre système éducatif n’est pas à la hauteur.

 

Mais il convient de signaler un autre point, qui lui est crucial et critique.

Le capitalisme est basé sur la destruction/création.

On a la destruction. C’est normal, ça fait partie du jeu.

Et on a donc le chômage qui va avec.

 

Mais on n’a pas la création.

En fait, la création vient de ce que l’on appelle l’innovation. Or, l’innovation, la France n’a rien fait de marquant depuis bien longtemps.

Là aussi, avoir une bonne capacité d’innovation passe par une bonne instruction, et donc un bon système éducatif, qui, contrairement au notre, soit d’un niveau élevé, et soit exigent.

 

La question de la destruction/création, et surtout de l’innovation, est une question clé.

La question de l’innovation, c’est se poser la question des emplois de demain, car un nombre important d’emplois aujourd’hui sont voués à disparaître.

 

Au lieu de faire le kéké en se vantant et en disant des conneries plus grosses que lui, François Fillon ferait mieux de réfléchir à la question centrale de l’innovation.

Il serait très préjudiciable que l’on rate la prochaine révolution industrielle, comme le développement durable, par exemple…

8 janvier 2017 Posted by | Election présidentielle 2017, Elections présidentielles 2017, Informatique, Politique, Politique nationale | , , , , | Laisser un commentaire

Malakoff, le public, le privé, et les économies (4/5) : Le secteur privé a aussi des efforts à faire

On tape souvent sur le secteur public en matière d’économie. Pourtant, il y a des choses à dire dans le privé.

 

En ce qui me concerne, dans l’informatique, j’ai souvent vu des fonctionnements qui, s’ils étaient rationalisés, permettrait de livrer un projet dans les coûts et dans les temps.

 

Effectivement, selon un cours de developpez.com, on a :

  • 16,2% seulement des projets étaient conformes aux prévisions initiales,
  • 52,7% avaient subi des dépassements en coût et délai d’un facteur 2 à 3 avec diminution du nombre des fonctions offertes,
  • 31,1% ont été purement abandonnés durant leur développement.

 

Pour ma part, c’est synonyme de gaspillage.

 

Il est normal d’avoir des dépassements temps/coût.

Si on est dans l’ordre de 10%, 20% maximum, pourquoi pas.

On peut parler d’un dépassement temps et/ou coût maitrisé, lié à un imprévu,…

 

Le problème est quand le dépassement temps/coût est un facteur deux ou trois, soit +100% à + 200%.

 

En général, c’est que là, il y a un problème.

 

En ce qui me concerne, je ne compte plus les modèles UML de persistance changés en cours de route (le changement de cardinalité étant le pire), les interfaces que je développe sans savoir à quoi elles ressemblent, les règles métiers à trouver (mémoire : je suis juste le développeur de base)…

 

Exemple : j’ai participé à un projet et en plein milieu, on a enfin parlé à l’utilisateur.

On a enfin écouté ses besoins et, il fallait tout recoder. Notamment le diagramme UML de persistance (la partie critique, c’est la BDD).

 

Je parle de l’informatique, car c’est le point que je vis au quotidien.

Mais je pense que l’on pourrait trouver d’autres exemples, comme ici.

22 décembre 2014 Posted by | Informatique, Politique | , , | Laisser un commentaire

Les projets informatiques sont toujours en retard ? Il est temps d’expliquer que ce n’est pas toujours la faute des développeurs

Puisque que l’on parle en ce moment, sur mon blog, des problèmes d’économies, de retards temps et coût, et de rationalisation des dépenses (notamment pour Malakoff), je vais me permettre d’élargir le problème au secteur privé, et notamment celui de l’informatique.

 

Effectivement, j’ai pris grand plaisir à lire un article sur Developpez.com, « Des retards dans les délais de livraison d’un projet ? Oui, mais à qui la faute ? »

L’article se fait l’écho d’une étude sur le sujet.

 

L’introduction met en avant que si un projet informatique est en retard, on pense que c’est évidemment la faute du développeur.

Il arrive parfois en entreprise que les délais de livraison d’un projet de développement ne soient pas respectés. Lorsqu’il faut en trouver la cause, il est parfois plus facile de désigner du doigt l’apparente lenteur des développeurs. Mais est-ce que ces « développeurs lents » sont vraiment la raison pour laquelle le projet a pris du retard ?

Or, l’étude n’arrive pas à la même conclusion.

[…] il apparaît que les équipes ont du mal à faire la transition entre les étapes « fait » et « testé et prêt à être déployé » comme le suggère le graphique plus haut au niveau du temps passé sur « Completed to Accepted ». Alors si vous avez l’impression que le travail de votre équipe n’est pas assez rapide, il est fort probable que vos développeurs ne sont pas à blâmer. Mais alors qu’elle pourrait en être la cause ? Un petit indice : votre processus.

Et de continuer ce qui un jour ce doit d’être fait :

Bien écrire les spécifications est important, car comment un développeur pourrait-il commencer à travailler sur une fonctionnalité s’il ne la comprend pas au départ ? A ce propos, sur StackExchange, l’utilisateur eagerMoose partageait son expérience en disant « la plupart du temps, il s’avère que ceux qui ont écrit les spécifications n’ont pas pensé à la chose en profondeur et c’est souvent quand nous commençons le design et le développement que commencent les ennuis puisque de nombreuses spécifications semblent avoir des lacunes ». Il n’est pas rare de voir que les intervenants ne se sont pas vraiment penchés sur la fonctionnalité eux-mêmes. Un développeur doit comprendre POURQUOI un utilisateur a besoin de cette fonctionnalité, ce qu’elle est censée faire, mais également comment elle sera employée. D’ailleurs, Sprintly a utilisé cette philosophie lorsqu’il a proposé son outil de gestion de projets. En utilisant le formulaire ci-dessous qui répond au ‘pourquoi’ et ‘comment’, Sprintly pense qu’une direction spécifique sera maintenue pour une fonctionnalité spécifique.

Mieux, on a l’anecdote suivante :

La seconde plainte qui revient le plus parmi les développeurs est le fait que les décideurs changent souvent les spécifications une fois que le travail a commencé. Sprintly y voit un symptôme d’une mauvaise planification des fonctionnalités avant de leur insertion dans la roadmap. Pour éviter cette situation, Sprintly propose d’utiliser des maquettes interactives avant que le développement à proprement parler ne débute.

 

Pour Sprintly, le changement de contexte peut également expliquer les retards pris dans vos projets. Il identifie deux formes :

  • le développeur a réalisé 50% de la tâche A quand vous vous rendez à son bureau pour lui demander de changer de tâche et faire plutôt la tâche B
  • le développeur a réalisé 50% de la tâche A quand vous lui demandez de faire AUSSI la tâche B

« Le problème vient du fait qu’en tant que manager, vous assignez à vos développeurs de nouvelles tâches alors qu’ils sont en plein milieu d’une autre. Si vos priorités sont toujours en train de changer, cela entraînera de gros coûts pour votre équipe » explique Sprintly.

 

Bref, les projets informatiques sont souvent mal spécifiés, donc ils sont livrés en retard, et on désigne à la vindicte populaire les développeurs comme bouc-émissaire.

D’ailleurs Joel Spolsky, un programmeur et écrivain américain auteur de Joel on Software, en parlait dans son blog : « la vraie leçon qu’on peut en tirer est que vous ne devriez jamais laisser les gens travailler sur plus d’une chose à la fois. Assurez-vous qu’ils savent de quoi il s’agit. Les bons managers voient leur responsabilité dans le fait de supprimer les obstacles afin que les gens puissent se concentrer sur une chose et vraiment le faire. En cas d’urgence, pensez à voir si vous pouvez gérer vous-même avant de déléguer à un programmeur qui est profondément immergé dans un projet ».

 

Sprintly conclut en s’adressant aux managers et leur rappelant que c’est leur devoir de fournir aux développeurs un environnement dans lequel ils peuvent mener à bien leurs tâches. Aussi, avant de diriger vers eux leur doigt accusateur, il leur recommande une petite introspection. Voici quelques astuces qu’il leur fournit pour qu’ils puissent s’assurer de ne pas être le poids mort de leur équipe :

 

  • aidez votre équipe à comprendre la vision : travaillez de concert avec votre équipe afin de définir une vision commune de la façon dont vous allez rendre meilleure la vie des utilisateurs. Soyez clair sur les résultats dont vos utilisateurs ont besoin. Il est important d’avoir un développeur motivé ; sa passion pour une fonctionnalité peut devenir un moteur important de vitesse.
  • les développeurs doivent avoir la capacité de refuser une tâche en attendant qu’elle soit mieux fournie en détail
  • réduisez les coûts relatifs aux changements : n’interrompez pas vos développeurs ! Avant de leur envoyer un courriel ou faire une requête, évaluez-en le coût sur la productivité

Bien spécifier un projet, c’est le cadrer et s’assurer de le livrer à temps et dans les coûts. Ou au pire, de limiter les dépassements.

 

Notons que c’est aussi une question de qualité du code.

Dans le livre « Tout sur le code », il est écrit qu’un code de bonne qualité passe par une bonne construction en amont.

24 novembre 2014 Posted by | Informatique | , , , | Un commentaire

Devrait-on introduire la programmation dans les cursus scolaires ?

Je me permets de donner mon avis sur le message posté sur le forum de developpez.com.

 

Selon un sondage, 87% des personnes interrogé sont favorable pour intégrer des cours de programmation dans le cursus scolaire.

Ils sont 4% favorable dès la maternelle, 24% dès le primaire, 41% au collège et 18% dès le lycée.

 

Le Royaume-Uni avait franchi le pas avec l’argument suivant :

« Au lieu d’avoir des enfants qui s’ennuient à apprendre à utiliser Word ou Excel avec des professeurs qui s’ennuient eux-aussi, nous pourrions avoir des enfants qui dès 11 ans sont capables d’écrire des petites animations 2D en utilisant un outil du MIT nommé Scratch, avance le Ministère dans sa déclaration. À 16 ans, ils auront une compréhension des logiques que l’on n’apprend aujourd’hui qu’à partir de l’université et ils pourront écrire leurs propres applications pour Smartphones »

 

Il faut dire qu’aujourd’hui, sur le sujet, on amuse la galerie avec le B2I.

Or, l’informatique étant présente dans la vie de tous les jours, étant donné que l’informatique de gestion a pris le pas, je suis pour des cours sérieux d’informatique.

 

D’ailleurs, l’informatique est présente dans d’autres domaines.

En physique, par exemple, les mesures sont informatisées (avec Labview par exemple) et on résout les équations numériquement (on parle de simulation numérique) avec Runge-Kutta.

Le langage utilisé est le Fortran.

 

Notons que d’autres concepts, comme la base de données, utilisant le langage SQL, sont tout aussi importants (en informatique de gestion).

 

Je suis donc de fait pour l’introduction de cours d’informatique.

Le collège me paraît le mieux.

Ça remplacerait l’ignoble B2I.

 

On pourrait imaginer commencer sur un langage procédural simple (comme le Pascal) et introduire des notions simple en algorithmique.

 

Au lycée, on pourrait introduire la programmation orienté objet. Le langage pourrait être le Java.

Ça tombe bien, le Java est un langage très utilisé.

 

Par ailleurs, il est à noter que dans un pays comme la France où l’économie est très dégradée, l’informatique est un secteur moins sinistré ou on trouve plus facilement un emploi…

10 juin 2014 Posted by | Informatique, Politique | , , , , | Laisser un commentaire

La refonte du site internet de la ville de Malakoff (3/4) : La technique côté serveur

Dans la pratique, hors de question de refaire une page HTML pour un nouveau contenu.

Dans le cas d’un blog, on ne va pas s’amuser à refaire le code HTML pour un nouvel article.

 

En réalité, les articles sont stockés en base de données et la page est construite dynamiquement.

Stocker les informations en BDD (pour base de donné) permet d’en garder trace. Très pratique, notamment pour les recherches.

 

Le web est donc bâti sur une architecture N-tiers.

Le client, avec son navigateur, le serveur qui envoie au client la page HTML (qu’il construit dynamiquement) et la base de données qui stocke l’information.

 

Pour le serveur, il existe trois communautés qui maitrisent le marché (il en existe d’autres).

On a :

Les deux premières sont open-source.

 

Autour de ces communautés s’agrègent des librairies ainsi que des serveurs.

 

En général, PHP est bien pour un site simple. Java est mieux quand la logique métier est complexe.

 

C’est entre autre pour ça que les CMS PHP sont plus matures que les CMS Java (bien que Liferay côté Java soit très bien).

 

Pour PHP, on parle en général de LAMP (pour Linux, système d’exploitation du serveur, Apache pour le serveur, MySQL pour la base de données et PHP).

 

La façon dont le client interagit avec le serveur a également changé.

Avant, le client envoyait une requête et le serveur rechargeait toute la page.

Aujourd’hui, le serveur ne recharge qu’une partie de la page.

On parle de « web 2.0 ».

 

En ce qui concerne le site (actuel) de la ville, c’est le PHP qui est utilisé.

Le site tourne sur un serveur Apache.

 

Par contre, le site de la ville n’est pas « web 2.0 ».

La page est rechargée entièrement.

 

Point gênant également : les requêtes sont en GET.

En général, on préfère que ce soit en POST.

5 novembre 2013 Posted by | Informatique, Malakoff | , , | Laisser un commentaire

La refonte du site internet de la ville de Malakoff (2/4) : La technique côté client

Lorsqu’en conseil de quartier j’ai posé la question, pour ma culture, de savoir quelle technologie était utilisée pour le site de la ville, on m’a répondu que c’était en HTML.

 

En réalité, la réponse est juste et en même temps fausse.

 

Au fond, je m’interrogeais plus sur la communauté utilisée (PHP, Java ou dotnet).

 

Pour en revenir au HTML (au fait, le HTML a été formalisé pour ressembler au XML, on parle de XHTML), effectivement, le navigateur web lit du HTML (ou XHTML).

 

Mais à chaque changement, il est hors de question de refaire une page XHTML. En réalité, elle est générée dynamiquement par un serveur qui crache le code HTML. Et la donnée est stockée dans une base de données. Si on a un blog, on le met à jour. Les articles sont en base de données, le serveur va chercher l’information dans la base de données et se charge de cracher côté client du code XHTML/HTML.

 

On va donc parler de la page HTML/XHTML du site de Malakoff, donc de la page web envoyé au navigateur par le serveur.

 

Or, dire que côté client on a du HTML, c’est vrai et faux.

En réalité, la page web (généré par le serveur dynamiquement) est construite sur trois piliers :

Le HTML/XHTML, le JavaScript et le CSS.

Le tout est normalisé par le W3C qui normalise les langages et donne les bonnes pratiques.

 

Tous les navigateurs respectent le W3C, tous sauf un : Internet Explorer.

 

Je me permets de le rappeler.

 

Le HTML est le langage qui va définir la structure de la page.

Le CSS est le langage qui va définir la mise en page. La page est-elle vertes, écrit-on en italique…

 

Quant au JavaScript, il permet de définir des actions utilisateurs qui se feront sans appeler le serveur.

 

Au début du web, on cliquait sur un lien ou un bouton, on appelait le serveur et on rechargeait la page entière.

 

C’est fini.

Aujourd’hui, la page est une application à elle toute seule et on appelle généralement le serveur qui recharge une partie de la page. On parle de web 2.0 ou d’AJAX (pour Asynchronous JavaScript and XML).

 

Pour le JavaScript et le CSS, on peut les mettre respectivement dans une balise HTML script et une balise style.

 

Là aussi, il y a des conventions. Le JavaScript et le CSS sont à l’extérieur de la page dans des fichiers appropriés.

 

Je me suis donc permis de jeter un coup d’œil sur la page HTML généré sur le site de la ville (lecture à l’aide de Notepad++).

 

Je tiens à donner mon entière satisfaction. La page est codée de façon propre, selon les normes du W3C.

 

Le CSS et le JavaScript est appelé à partir de fichier extérieur.

On utilise des balises div et span comme le recommande le W3C.

 

Certes, il y a un peu de script extérieur entre deux balises scripts, mais c’est du JQuery et c’est un peu spécial.

 

J’espère que la refonte du site gardera cet aspect.

24 octobre 2013 Posted by | Informatique, Malakoff, Politique, politique locale | , , , , , , , , , | Laisser un commentaire

La refonte du site internet de la ville de Malakoff (1/4) : Par pitié, faites un cahier des charges !

Il est prochainement prévu une refonte du site internet de la ville.

Il faut dire que ça consulte. Déjà sur le site, où l’internaute est invité (avec insistance par un pop-up JQuery-Ui) à donner son avis, mais j’ai eu l’occasion de voir le webmaster se déplacer au conseil de quartier centre et au conseil de quartier des collèges.

Elle a aussi été au conseil de quartier Nord.

C’est pour ça que je souhaite rappeler la base : par pitié, faite un cahier des charges.

Effectivement, comme c’est écrit dans l’introduction de l’excellent cours UML de Developpez.com, on a généralement ces chiffres :

  • 16.2% des projets informatiques arrivent à terme, avec toutes les fonctionnalités et dans les temps.
  • 52,7% des projets informatiques arrivent à terme, mais avec un dépassement 2 à 3 en coût et en temps, et avec 2 à 3 fois moins de fonctionnalités.
  • 31,1% des projets sont abandonnés.

Ces chiffres datent de 1995, mais je pense qu’ils doivent être semblables aujourd’hui.

La question est de savoir pourquoi on a de tels chiffres.

La réponse est que la réflexion du projet n’est pas assez prise en amont.

Comme le dit l’excellent livre sur Maven, un cahier des charges ressemble généralement à ça :

maven 001

C’est franchement rigolo, on a aussi comme version humoristique ça :

Or, comment ça se présente dans la pratique ?

Dans la pratique, dans l’ancienne boite où je travaillais, on avait une cliente qui changeant d’avis sur son projet C# du jour au lendemain.

Dans la pratique, après avoir implémenté le modèle POJO Hibernate, j’ai dû le refaire à cause d’un lien entre deux classes mal pensé. Or, ça oblige à revoir les autres couches (DAO, DTO, Service, Controller).

Dans le même ordre d’idée, j’ai dû une fois recoder 3 fois mes classes java car je ne savais pas à quoi ressemblait mon interface graphique…

Or, tout ça a un coût.

Dans le cas du site Internet de la ville, je tiens à rappeler que c’est la ville le client, que c’est la ville qui passera un marché, et que c’est le contribuable qui paiera.

Or, tous ces dérapages peuvent être évités si on a une réflexion en amont.

Ces dérapages seront évités si :

  1. Un cahier des charges fonctionnel est écrit. Dedans, il faut spécifier le besoin, mais également l’interface graphique ainsi que ce qu’il se passe lorsque l’on cliquera sur chaque lien.
  2. Le document de spécification technique. On y indique les technologies utilisées ainsi que les différentes modélisations (UML), notamment celle de la base de données (qui peut éventuellement être faite en merise).

Si ces deux documents ne sont pas rédigés sérieusement, c’est l’assurance d’un dépassement 2 ou 3 en temps et en coût, avec  2 à 3 fois moins de fonctonnalités, voir un abandon du projet.

Dans le cas du site web de la ville, je rappelle que c’est le contribuable qui paye.

19 octobre 2013 Posted by | Informatique, Malakoff, Politique, politique locale | , , , , | 2 commentaires

Finissons-en avec le B2I

Au Royaume-Uni, par le site Developpez.com, j’ai appris qu’il y avait l’intention de donner des cours de programmation dès 5 ans.

En ce qui me concerne, je trouve l’âge trop précoce,  néanmoins, la question mérite d’être posée.

En France, on a le B2I, théoriquement validé par l’ensemble des professeurs, dans la pratique validé par le professeur de technologie.

Il convient d’abord de rappeler que l’informatique est présente dans la vie de tous les jours.

Notons qu’aujourd’hui, 64% des ménages ont un ordinateur, tous les systèmes sont informatisés…

Même les téléphones portables se sont améliorés avec l’arrivée du Smartphone.

Qui plus est, on a aussi les tablettes.

Par ailleurs, les interfaces se sont grandement améliorées. L’arrivée de Windows, même si on peut critiquer beaucoup de choses à Microsoft, a permis une véritable démocratisation de l’informatique.

Internet a aussi accéléré la tendance.

Ma génération, et la suivante, sait utiliser l’ordinateur pour des opérations simples comme écrire un texte avec un traitement de texte, faire des calculs avec un tableur, surfer sur Internet…

Certes, certaines personnes n’y arrivent pas, mais c’est plutôt des personnes âgées, et c’est plutôt un problème de génération.

A priori, même si il ne comprend pas forcement le fonctionnement d’un ordinateur, un jeune sait l’utiliser pour les opérations courantes.

On peut donc se demander quel peut-être la pertinence de juger et de sanctionner comme savoir-faire l’utilisation courante d’un ordinateur.

Je pense que le B2I ne sert à rien, et doit être remplacé par des vrais cours d’informatique, dans lequel on expliquerait le fonctionnement d’un ordinateur, sa logique et dans lequel il y aurait des notions d’algorithmique et de base de données.

On pourrait ajouter en lycée le concept objet.

Pour un apprentissage de base, sur des raisonnements procéduraux, un langage, conçu pour l’enseignement, existe. Il s’agit du Pascal.

Pour le concept objet, on a le Java, qui malgré quelques pièges, permet un apprentissage de la programmation objet. Notons que ce langage est très utilisé, et bien qu’il soit propriété d’Oracle, il est possible de le télécharger gratuitement.

Pourquoi faut-il, selon moi, remplacer le B2I par de vrais cours d’informatiques ?

Il y a trois raisons.

La première est que ça fait partie de la culture générale, comme certaines notions de mathématiques, de physique, de biologie…

La seconde raison est que dans notre société minée par la crise et le chômage de masse, l’informatique est le secteur le moins sinistré. On peut encore y trouver un emploi. Les physiciens, chimistes et biologistes se reconvertissent dans l’informatique.

Enfin, si on reste dans certains domaines, on finit par programmer. Dans le cas de la physique, les principales théories (mécanique classique, quantique, relativiste, électromagnétisme…) sont connues.

Comme il est difficile de trouver une expression littérale pour la solution, on l’approxime avec des méthodes comme Euler ou Runge-Kutta.

On a donc fabriqué une classe de gens qui font de la simulation numérique.

Ils calculent la solution en l’approximant, pas à pas, en écrivant des programmes et en faisant tourner leurs programmes la nuit.

C’est moins cher, dans un premier temps, que de faire un accélérateur de particule ou un tokamak.

11 juillet 2013 Posted by | Informatique, Politique | , , , , | Laisser un commentaire

IE, c’est un cauchemar

Ça fait longtemps que je n’ai pas parlé de mon travail.

En ce moment, je développe une application Java/JEE avec Hibernate, Spring, JSF.

Il y a aussi primefaces et maven.

Notre application est pour l’entreprise dans laquelle je travaille.

Problème: l’entreprise a fait le choix d’utiliser Internet Explorer.

Pour l’instant, c’est la 7, et on va passer à la 8.

Je développer en m’aidant de Firefox, plus pratique grâce à Firebug.

Problème: quand j’ai essayé sous Internet Explorer (IE pour les intimes), une partie de l’application ne marchait pas.

Mieux, j’ai aussi testé sur chrome, safari et Opéra.

La partie en question marchait partout, sauf sous IE (toutes versions).

Après un temps assez long, j’ai fini par trouver la solution à mon problème, heureusement.

 

Le problème de fond est le suivant:

Une page web utilise le langage JavaScript pour les effets dynamique, le HTML pour le squelette de la page, et le CSS pour le design de la page (couleur, caractères…).

Pour ces langages, il y a une norme. C’est le W3C qui s’en charge.

Tous les navigateurs respectent les recommandations du W3C, tous, sauf IE et c’est là le problème.

L’histoire remonte à la guerre entre IE et Netscape. IE a fait son propre JavaScript, pour imposer sa vision des choses.

 

Aujourd’hui, mon entreprise utilise IE pour des raisons de sécurité.

Plus facile si on est sur une plateforme Microsoft.

Mais par pitié, évitez IE.

7 février 2013 Posted by | Informatique | , , , | Laisser un commentaire

Les géants de l’informatique champions de l’optimisation fiscale

Le canard enchaîné de la semaine dernière annonçait que Google devait 1 milliard d’€ au fisc français.

Il s’est trompé. Mais le canard enchaîné corrige.

En fait, Google doit 1,7 milliard d’€ au fisc.

Ils ne sont d’ailleurs pas les seuls.

Microsoft est aussi dans le collimateur (le siège d’Issy-les-Moulineaux a été perquisitionné) et Apple est aussi championne de la fraude l’optimisation fiscale.

Comment-est-ce possible?

Selon Développez.com, on a le schéma suivant.

 

Soit Z une société américaine.

Z crée une société Z2, de toute pièce dans un paradis fiscale.

Z2, qui ne paye pas d’impôts sur les sociétés, verse une redevance à Z, mais pas trop. Ces revenus, de retour sur le sol américain, seront imposés.

Z2 ouvre une filiale en Europe, Z3. Souvent en Irlande, car le taux d’impôt sur les sociétés est moins élevé.

Si Z3 crée une filiale en France, ce sera imposé selon Bercy… On évite.

Mais en Hollande, on est moins regardant pour les transferts hors zone euro (il y a des accords).

Conclusion: Un trésor de guerre qui aurait dû être imposé aux USA dort à l’extérieur.
Et Z paye peu d’impôt, restant dans un état des États-Unis à faible imposition.

 

En attendant, la fondation Modzilla (qui entre-autre produit le navigateur Web), qui est une association à but non-lucrative, paye des impôts elle.

Elle ne pourra plus utiliser l’intégralité de son trésor de guerre pour améliorer le navigateur.

 

7 novembre 2012 Posted by | Informatique | , , , , , | Laisser un commentaire