Ce blog a pour objectif principal d'augmenter la culture informatique
de mes élèves. Il a aussi pour ambition de refléter l'actualité technologique dans ce domaine.
Les élèves ont terminé et rendu leur projet personnel. Certains projets sont impressionnants. Je vais tous les mettre en ligne à l'adresse http://www.apprendre-en-ligne.net/python/projets/ afin que chacun puisse essayer ces programmes.
Mes élèves peuvent voir leur note, avec un petit commentaire, sur Claroline. Je n'ai pas encore tout regardé. Patience...
Quelques jours après la sortie de Bing, le géant américain Google met à disposition un nouvel outil : Google Squared. Cet outil permet de classer les résultats de la requête sous forme de tableau comparatif. Par exemple, saisissez "french presidents", et validez votre recherche. Vos résultats se présenteront en lignes, et plusieurs informations sur cette recherche apparaîtront en colonne (description, date de naissance, image, etc...).
Le chef de produit de Google Squared, Alex Komoroske, et ses collaborateurs ont remarqué que certaines recherches sont complexes à réaliser sur un moteur de recherche classique, et nécessitent parfois de visiter plus d'une dizaine de sites pour répondre exactement à la recherche de l'utilisateur. Cet outil permet donc de synthétiser et mettre en comparaison plusieurs informations. Les tableaux de résultats peuvent également être enregistrés, sous réserve que l'utilisateur soit authentifié sous Google.
Même si des critères pertinents sont utilisés pour comparer les résultats de la recherche, Alex Komoroske prévient tout de même que cet outil n'est pas parfait. A une recherche s'appliquent plusieurs informations (en colonne), qui peuvent ne pas satisfaire l'utilisateur.
Pour palier ce problème, l'outil a été développé de façon à laisser entièrement la main à l'internaute: comme sur un tableur, il peut supprimer ou rajouter des colonnes représentant d'autres points de comparaison (religion, nationalité, etc...) à son gré, et également compléter sa recherche avec d'autres critères de sélection. Par exemple, après une première recherche "french presidents", l'internaute peut saisir "US presidents" et demander à ce que cette nouvelle recherche vienne en complément de la précédente.
Nous remarquons que cet outil s'appuie largement sur WolframAlpha, lancé en mai dernier (voir notre news), en restant moins performant car il ne s'appuie que sur des résultats de recherche, et pas sur un logiciel scientifique doté d'une capacité d'analyse et de calcul...
Ce service, encore en phase de test, n'est disponible pour le moment qu'en anglais. Il reste quelques corrections et améliorations à apporter: nous pourrons constater quelques bugs, noter qu'il ne fournit qu'une liste incomplète des présidents français, et qu'il n'est pas capable de les ranger par ordre chronologique si l'internaute lui demande. Il nous présente cependant une manière pratique et innovante de présenter les résultats.
En glissant une minuscule particule de fer à l'intérieur d'un nanotube de carbone, on peut enregistrer une information binaire qui résistera au temps. Cet exploit de laboratoire répond à un problème majeur : comment assurer la conservation des données à très long terme ?
Que trouveront les archéologues du futur, d'ici quelques siècles voire quelques milliers d'années ? Des pierres taillées du paléolithique certainement, des peintures pariétales sans doute, des hiéroglyphes à coup sûr, des rouleaux de parchemins probablement, de livres peut-être. Mais que deviendront les milliards de milliards d'informations engrangées dans les disques durs, qui se démagnétisent, et sur les disques optiques, qui redoutent la lumière du soleil ?
Même si l'on ne soucie pas des traces laissées à nos lointains descendants, l'archivage à l'échelle des décennies est un problème pris au sérieux et quelques-uns cherchent des solutions exotiques. Dans la revue Nanoletters, une équipe américaine de l'université de Californie, menée par Alex Zettl, propose d'utiliser des nanotubes de carbone, décidément accommodés à toutes les sauces depuis quelques années. Ce n'est d'ailleurs pas la première fois que l'on pense aux nanotubes de carbone pour réaliser une mémoire électronique. Leur cousin, le graphène, est lui aussi annoncé comme un bon candidat.
La solution imaginée par Alex Zettl et ses collègues est toutefois complètement originale. Ces spécialistes de la physique du solide introduisent une nanoparticule cristalline de fer à l'intérieur de ces tubes dont le diamètre intérieur dépasse à peine la vingtaine de nanomètres.
Mémorisez ce texte, il s'autodétruira dans quelques siècles seulement
La position de cette nanoparticule peut être modifiée par l'application d'une tension électrique entre les deux extrémités du nanotube de carbone. Les chercheurs sont ainsi parvenus à la faire glisser sur toute la longueur. Une vidéo présente d'ailleurs ce mouvement à l'intérieur d'un nanotube. A l'inverse, le passage d'un courant électrique permet de mesurer une résistance qui n'est pas la même selon que le minuscule cristal se trouve à une extrémité ou à une autre. Le système peut donc mémoriser une information binaire, de type 0 et 1, avec un dispositif électronique d'une grande simplicité.
La densité d'information qu'il serait possible d'atteindre est excellente puisque l'équipe parle de 1012 bits par pouce carré (un nombre à diviser par 6,25 pour obtenir le centimètre carré comme référence).
L'écriture et la lecture n'ont sans doute rien de spécialement rapide mais les chercheurs sont persuadés que ce positionnement de la nanoparticule métallique est thermodynamiquement extrêmement stable. Ils n'hésitent pas à annoncer une valeur se chiffrant en centaines de milliers d'années. De quoi laisser de la lecture aux générations suivantes...
Même si ces valeurs restent à démontrer, même si l'expérience n'est que la réalisation d'un procédé de laboratoire et pas d'un nouveau type de mémoire, le travail témoigne des efforts actuels pour sécuriser l'information à très long terme.
Aujourd'hui est mis en service le nouveau moteur de recherche de Microsoft : Bing. Les américains et européens peuvent accéder à cet outil dans sa version bêta dès ce lundi 1er juin. Une campagne de communication accompagnera son lancement. Selon le site Advertising Age, le budget promotionnel représenterait 80 à 100 millions de dollars.
Le jour même où Google révélait son nouvel outil Google Wave, Microsoft a présenté son 4ème moteur de recherche. Après "MSN Search", "Windows Live search" et "LIve Search" c'est au tour de "Bing".
Lors de la conférence du "D: All Things Digital" organisée par le "Wall Street Journal" le 28 mai, Microsoft en a dit plus long sur son projet "Kumo". Ce projet consistait en une amélioration du moteur Powerset que Microsoft a racheté l'année dernière pour 100 millions de dollars. L'outil de recherche "Bing" en est le fruit.
Une nouvelle interface, de nouvelles fonctionnalités, Bing se présente comme moteur "d'aide à la décision". Microsoft mise ici sur la pertinence du résultat, plutôt que sur le nombre. En plus du moteur de recherche traditionnel, il propose d'autres outils complémentaires, sur l'idée des comparateurs de prix, permettant notamment de choisir un restaurant en fonction de ses goûts, ou encore de planifier son prochain voyage en fonction du budget de l'internaute...
Le but de cet outil est d'interpréter la requête envoyée par l'utilisateur en la contextualisant. Le résultat peut alors afficher différentes thématiques: images, vidéos, cartes, etc. En recherchant par exemple le nom d'une personnalité, Bing complètera son résultat avec une biographie, des photos, ou encore des extraits de discours récents...
Cet outil sera-t-il suffisant pour laisser croire aux dirigeants de Microsoft qu'il est encore possible de rattraper la part de marché de Google ? Cet objectif semble utopique, quand on sait que la moitié des 20 000 salariés de Google sont des ingénieurs, que 70% d'entre eux travaillent sur la recherche, et que la société a 200 projets d'amélioration de son moteur en interne !
Côté Microsoft, Olivier Marcheteau, responsable de la division grand public, précise qu'une part significative des 9 milliards de dollars qui seront consacrés à la recherche et développement ira au moteur.
Ce robot a pour but d'appliquer certains traitements dans le corps humain, en quantité et aux endroits adéquats. Il ressemble à un tire-bouchon et se déplace grâce à son flagelle, comme certaines bactéries. Dénommé ABF (Bacterial Artificial Flagella), il a été étudié et conçu par le laboratoire Robotique et Systèmes intelligents de l’Ecole fédérale polytechnique de Zurich.
Robot ABF - Laboratoire Robotique et Systèmes intelligents de l’Ecole fédérale polytechnique de Zurich.
Sa taille est de 25 à 60 µm. Son "corps" est composé de plusieurs couches superposées d’iridium, de gallium, d’arsenic et de chrome, qui ont été découpées en rubans. Sa "tête" est composée de chrome, de nickel et d'or. Son déplacement est réalisé grâce à un champ magnétique. Le nickel réagit à ce champ et un logiciel (Un logiciel ou une application est un ensemble de programmes, qui permet à un ordinateur ou à un système informatique...) dirige le robot vers une destination spécifique à une vitesse de 20 micromètres par seconde.
Lors des premiers tests effectués, ce robot a été capable de transporter des microsphères de polystyrène. De nombreuses améliorations sont encore nécessaires, telle que la précision des déplacements, ou encore arriver à stopper le robot une fois la mission accomplie.
A terme, nous pouvons imaginer que ce robot pourrait être capable d'administrer des doses de médicament, ou encore d'éliminer les plaques d'athérome obstruant les artères et pouvant être à l'origine d'infarctus du myocarde...
Lancé en 2005 par l'Institut national de la recherche en informatique et en automatique (Inria) et l'Institut national de la santé et de la recherche médicale (Inserm), le projet OpenVibe permet de commander son ordinateur par simple pensée. C'est ce que l'on nomme une interface BCI ou Brain-Computer Interfaces.
Pour l'instant, pour que le logiciel fonctionne, l'utilisateur doit se munir d'un casque électroencéphalographique, lui permettant de "connecter" des electrodes sur son crane, afin de capter son activité cérébrale (différents signaux émis par le cortex moteur du cerveau).
Il s'agit d'un logiciel "intelligent" qui "apprend" en fonction des signaux émis par son utilisateur: dans un premier temps, l'utilisateur devra réaliser plusieurs mouvements demandés (lever une main, écarter les bras..), afin que le logiciel détecte et analyse le signal cérébral reçu. Dans un second temps, l'utilisateur devra penser au mouvement demandé, sans le faire pour autant. Chacun des signaux émis sera recueilli, analysé, et traduit en commandes informatiques.
A terme, de nouvelles applications pourraient révolutionner le monde du jeu vidéo. Cette technique pourrait également venir en aide aux personnes handicapées dans l'utilisation quotidienne des outils informatiques. Nous pourrions enfin imaginer une communication avec une personne dans le coma: tenter de l'interroger et de détecter l'expression cérébrale d'une réponse.
Un groupe de chercheurs japonais vient de domestiquer le chaos volontairement créé au sein d'un faisceau laser afin de produire d'énormes listes de nombres aléatoires, aujourd'hui indispensables dans de nombreux domaines, technologiques ou scientifiques.
Chaos et hasard sont généralement synonymes d'effets non désirables. Pourtant les chercheurs ont appris à les apprivoiser et le hasard est mis à profit depuis des dizaines d’années par les mathématiciens, les physiciens et les ingénieurs. Pour effectuer des simulations complexes (expériences à réaliser au sein d'accélérateurs, formation de planétésimaux du système solaire...), un outil mathématique puissant est utilisé : l’algorithme, ou méthode, de Monte-Carlo.
Le grand physicien Enrico Fermi l’utilisait dans les années 1930 pour comprendre les résultats d'expériences de physique nucléaire mettant en jeu la diffusion de neutrons. Elle fut redécouverte indépendamment et développée à partir de la seconde guerre mondiale par les grands mathématiciens Stanislaw Ulam et John von Neumann, en collaboration avec Nicholas Metropolis, lorsqu’ils travaillaient sur la bombe atomique. Le nom de Monte-Carlo vient d'ailleurs de Metropolis et fait référence au fait qu’elle nécessite une liste de nombres générés de façon aléatoire ou s’en rapprochant autant que faire se peut.
Par exemple, lorsqu'un neutron se déplace dans un matériau, chaque collision avec un noyau dévie sa trajectoire de façon aléatoire. Pour simuler le comportement d’un grand nombre de neutrons dans une pile atomique ou une bombe nucléaire, il faut donc disposer d’une grande liste de nombres aléatoires.
Il existe bien sûr dans la nature des phénomènes dans lesquels des grandeurs physiques fluctuent aléatoirement et qui peuvent donc fournir de telles listes de nombres. C'est par exemple le cas des désintégrations radioactives ou du bruit thermique dans des composants électroniques. Malheureusement, les nombres ne sont fournis qu’assez lentement, ce qui limite leur utilisation.
Simuler le hasard, tout un art...
On peut essayer de contourner le problème en utilisant des algorithmes mathématiques générant une suite de nombres apparemment aléatoires, von Neumann fut l’un des premiers à proposer des algorithmes de ce genre. On peut ainsi programmer des ordinateurs pour qu’ils deviennent de puissants générateurs de nombres pseudo-aléatoires. On peut alors mettre en pratique la méthode de Monte-Carlo pour, par exemple, simuler les collisions de particules dans les détecteurs du LHC avec l’apparition de nouvelles particules selon des lois de probabilités. Malheureusement, comme l’expression l’indique, un générateur de nombres pseudo-aléatoires ne génère pas vraiment au hasard une suite de nombres et la méthode a donc des limites.
Un groupe de chercheurs japonais vient d’apporter une solution brillante au problème de la génération rapide de listes de nombres aléatoires et ils exposent leur méthode dans un article de Nature Photonics.
L’idée est simple. On prend un faisceau de photons issu d’un laser semi-conducteur et on l’injecte en partie dans le dispositif qui l'a généré. On réalise ainsi une boucle de rétroaction que l’on connaît bien avec les composants électroniques. De cette manière, des effets chaotiques non linéaires de fortes amplitudes apparaissent dans l’émission des impulsions lasers, laquelle ne se fait plus à intervalles réguliers dans le temps. La série aléatoire d’impulsions laser est convertie en une suite de 0 et de 1 et on réalise ainsi un puissant générateur de nombres aléatoires.
Pour être sûr de leur coup, les chercheurs ont utilisé deux lasers chaotiques dont les sorties sont couplées avec une porte logique, un Ou exclusif. Les suites de nombres obtenues passent toutes les tests les qualifiant comme vraies listes de nombres aléatoirement générés. C’est important pour les usagers de ces listes dans le domaine de la cryptographie où, évidemment, une liste pseudo-aléatoire est un facteur de vulnérabilité. Actuellement le débit de ce générateur est de 1,7 Gbit/s mais les chercheurs envisagent de passer dans un avenir proche à 10 Gbits/s.
Les experts en sécurité critiquent depuis longtemps le mécanisme de récupération de mot de passe basé sur une question secrète. Bien souvent, la question est relativement simple et la réponse facile à trouver. Bien plus facile que le mot de passe...
En mars, Brian Green s’est loggué sur son compte World of Warcraft pour y trouver ses personnages en sous-vêtements. Quelqu’un s’était connecté et avait revendu tout l’équipement. Pas de keylogger ou de hacking en cause ici, on a simplement deviné la réponse à sa question secrète.
Pour un jeu, même s’il coûte relativement cher, les conséquences restent minimes. Mais dans d’autres cas, cela aurait pu avoir des effets bien plus dommageables. Ainsi, la candidate à la vice-présidence des États-Unis, Sarah Palin, s’était fait voler son compte Yahoo! Par des petits malins qui avaient utilisé le nom de l’endroit où elle avait rencontré son mari pour accéder au compte.
Une étude a montré que 28 % des personnes proches d’une victime peuvent deviner la réponse de ses questions secrètes. Techniquement, c’est comme si elles avaient le mot de passe. Et les personnes plus éloignées conservaient plus d’une chance sur 6 de deviner juste. Pour des questions comme « Quelle est votre ville/équipe sportive favorite? », le pourcentage pouvait monter de 30 à 57 %.
Cette méthode n’est définitivement pas adaptée pour les changements de mots de passe, et devient carrément inquiétante lorsqu’elle est utilisée par des institutions financières ou des comptes email utilisés pour ce type de service. Reste une solution : répondre volontairement à côté de la plaque. Si pour une question concernant votre ville d’origine vous donnez le nom de votre chien, ce sera déjà plus difficile à deviner. Et si vous y mettez un mot de passe aléatoire, ce sera encore mieux.
Wolfram|Alpha est un nouveau moteur de recherche basé sur le concept de question (en anglais :answer-engine) développé par la compagnie internationale Wolfram Research. Il s'agit d'un service internet qui répond directement à la saisie de questions factuelles par le calcul de la réponse à partir d'une base de données, au lieu de procurer une liste de documents ou de pages web pouvant contenir la réponse. Il a été annoncé en mars 2009 par le physicien britannique et père de Mathematica Stephen Wolfram. Il a été lancé le le 16 mai 2009 à 3h00 du matin.
Olivier Leguay a écrit sur son blog un intéressant article sur les différences entre Wolfram|Alpha et Google.
A la fin de ce tutoriel vous saurez récupérer les données brutes d'une image, les mettre en forme afin de les traiter et de reconstruire l'image résultat. Tout cela sera fait avec l'aide des librairies PIL et NumPy. Côté traitement d'images, nous traiterons la segmentation à deux seuils, la dilatation et l'érosion.
MathMap est un plug-in pour GIMP qui permet de faire des distorsions d'image (par exemple une mise en abyme) spécifiées dans un langage de programmation simple.
Shane Fitzgerald, jeune étudiant en sociologie, a dupé de nombreux journalistes en plaçant de fausses citations dans la biographie de Maurice Jarre sur Wikipedia, peu après son décès. De grands journaux comme le Guardian, le Daily Mail, The Independant et le site de la BBC ont repris les citations sans en vérifier l’authenticité.
Il faut dire que les citations tombaient à pic : « On pourrait dire que ma vie elle-même a été une musique de film. La musique était ma vie, la musique m'a donné la vie, et la musique est ce pour quoi je vais rester dans les mémoires longtemps après que j'aie quitté cette vie. Quand je mourrai, il y aura une dernière valse jouant dans ma tête, que je pourrai seul entendre. »
Fitzgerald dit qu’il s’agissait d’une expérience liée à ses recherches sur la globalisation. Il souhaitait voir comment ses citations seraient reprises, mais ne s’attendait pas à ce qu’elles le soient par des médias importants.
Le canular est passé inaperçu pendant des semaines, jusqu’à ce que Fitzgerald explique ce qu’il avait fait aux journaux concernés. Cela montre que, même pour les journalistes, le fonctionnement de Wikipedia reste un mystère. Les habitués savent que chaque information citée dans l’encyclopédie a la valeur de sa source, et que si elle n’est pas citée, l’information devrait être vérifiée.
Bien que l'étudiant ait réédité 3 fois la biographie, les citations n'y sont restées que quelques heures.
Les pirates responsables d’un botnet ZeuS/Zbot ont sabordé 100.000 PCs. Les victimes se sont vu afficher un écran bleu, après quoi l’ordinateur fut incapable de rebooter. Les données stockées sur l’ordinateur ne sont apparemment pas affectées.
Ce réseau ZeuS/Zbot a commencé à s’étendre en mars. Il récolte les informations personnelles et bancaires des victimes. On ignore pourquoi les pirates ont décidé de saborder les machines, et du même coup, leur réseau. Il est possible qu’ils aient souhaité gagner du temps pour utiliser les informations collectées sans que les victimes ne puissent modifier quoi que ce soit. Il se peut aussi que ce soit le résultat d’une guerre entre deux clans de pirates qui convoitaient le réseau.
Le jeu de go, un domaine où les ordinateurs ne sont pas à la hauteur du cerveau humain. Mais ils y font des progrès spectaculaires en utilisant les méthodes dites « de Monte Carlo ».
Tout bon ingénieur vous le dira : plutôt que de réinventer la roue, regardons d'abord si quelqu'un n'a pas déjà fait quelque chose qui ressemble à notre projet. PythonFrance.com met à disposition des codes sources en Python proposés par des internautes. Il y en a pour tous les goûts.
Voici un programme en Python de 173 caractères seulement qui serait le plus court solveur de sudoku connu actuellement :
def r(a): i=a.find('0') if i<0:print a [m in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)]or r(a[:i]+m+a[i+1:])for m in`14**7*9`]r(raw_input())
Ce programme est extrêmement compact et condensé, voire cryptique. Ce n’est pas la meilleure façon de programmer, mais ça révèle souvent la puissance cachée de certains langages. Ce programme est décrit en anglais et en détail ici, mais voici son principe en gros et en français:
def r(a): ... r(raw_input()) // définit la fonction “r” qui résout le sudoku, puis on l’appelle en passant en paramètre ce que l’utilisateur a entré au clavier. Ca doit être une chaine de 81 caractères contenant ligne par ligne les chiffres de 1 à 9 donnés, et des 0 aux emplacements vides.
i=a.find('0') if i<0:print a // au début de la fonction, on cherche le premier emplacement vide. Si on ne le trouve pas, on imprime le sudoku résolu
la partie principale de la fonction utilise deux concepts puissants de Python:
la “lazy evaluation” qui fait que l’expression “a or b” est équivalente à “if not(a):b”
la “compréhension de liste” qui permet de créer une liste en écrivant une boucle à l’intérieur de [crochets]. Par exemple “l = [x**2 for x in range(10)]” crée la liste des carrés des 10 premiers nombres entiers
ainsi cette expression [(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)] fournit la “liste d’exclusion” contenant les chiffres qui ne peuvent pas figurer dans le trou à la position i. On l’obtient en parcourant toutes les celllules et en ajoutant à la liste la valeur des cases a[j] situées sur la même ligne, la même colonne ou dans le même bloc que i. Le grand test compliqué détermine ces conditions en utilisant les opérateurs modulo (%), ou binaire (|) et ou exclusif (^).
Finalement, le [m in [...] or r(a[:i]+m+a[i+1:])for m in`14**7*9`] remplit successivement la grille avec les chiffres possibles en utilisant la ‘lazy evaluation’ une fois de plus : ce n’est que si le chiffre m n’est pas dans la liste d’exclusion qu’on execute la partie droite du or, laquelle appelle récursivement la fonction r en lui passant la grille en paramètre la grille a[:i]+m+a[i+1:]. Ici , l’opérateur + sert à concaténer des listes : d’abord les i-èmes premières cases, puis le chiffre m proposé pour la case vide, puis les cases à partir de la i+1 ème.
Ce programme utilise donc une approche “force brute” loin d’être optimale en temps de calcul : on essaie les chiffres possibles dans chaque case vide jusqu’à ce que ça marche.
Reste à découvrir une astuce de geek que je ne connaissais pas : 14**7*9 vaut 948721536, un nombre qui contient les chiffres 123456789, dans le désordre, mais ça va aussi pour notre application. Les backquotes ´…´ servent à former une chaine, comme d’ailleurs la fonction str(). L’avantage de ´14**7*9´sur “123456789″ ? ben c’est évident : il faut deux bytes de moins …
En informatique, celui qui connaît un, ou plus, langage de programmation passe facilement pour un cador. Chaque langage, qu’il permette de créer des logiciels ou des pages web, a une syntaxe, une grammaire et un vocabulaire propres, qui les rendent incompréhensibles aux novices. Et puis voir des lignes de code, c’est rarement intéressant. D’où l’idée de David Morgan-Mar, développeur, de créer un langage de programmation plus graphique que les autres. Et pas qu’un peu : son langage permet de créer des programmes dont le code ressemble à des oeuvres d’Art moderne. Plus précisément de Piet Mondrian. D’où le nom du langage : Piet.
A gauche, un programme qui affiche « Piet » et qui ressemble à du Mondrian. A droite, un programme qui affiche les 100 premiers nombres d’une suite Fibonacci.
Piet se base sur un ensemble de 20 couleurs et propose la plupart des fonctions basiques des langages de programmation (les opérations mathématiques, la gestion de la mémoire...). Afin de permettre à chacun de créer un programme-oeuvre d’art, David Morgan-Mar a inventé un système où chaque commande correspond à une variation de couleurs (quelles que soient les couleurs). Le résultat (on peut voir quelques exemples sur cette page) ne ressemble finalement que rarement à du Mondrian, mais oh, allez bon, hein.
Pour les amateurs, on peut même développer son programme Piet en ligne. A noter que David Morgan-Mar n’en est pas à son coup d’essai : il avait déjà créé il y a quelques années un langage de programmation intitulé ZOMBIE, et un autre nommé Ook !, d’après le cri d’un orang-outan dans les livres de Terry Pratchett.
J'ai déjà parlé du site Project Euler dans mon blog de maths, mais après avoir résolu 27 problèmes (j'ai donc atteint le niveau 1), il s'avère qu'il s'agit plus de programmation que de mathématiques. J'ai commencé par les problèmes les plus simples : souvent quelques lignes en Mathematica suffisent, parfois on peut résoudre les problèmes avec un crayon et du papier (et sa tête). Pour les problèmes plus compliqués, je pense utiliser Python, comme beaucoup d'utilisateurs du site.