C’est quoi une carte mère

La carte-mère, ou Motherboard en Anglais est le principal circuit imprimé (ou PCB pour Printed Circuit Board) dans lequel tous les composants internes à l’unité centrale sont assemblés, dont le processeur, les barrettes de RAM, la carte graphique, les cartes d’extension…etc. La carte-mère représente un enjeu important lors de l’achat d’un nouveau PC, ou pour le montage soi-même de son propre PC, que je conseille d’ailleurs fortement aux étudiants en informatique, l’enjeu de la carte-mère c’est qu’elle va décider du type de processeur, du type de la mémoire, des périphériques…etc., c’est pratiquement le composant le plus critique parmi les autres choix de composants. La vidéo de la chaine YouTube éducative PowerCert donne un très bon aperçu sur les plus importantes particularités à connaitre sur les carte-mères.

Illustration sur les carte-mères

Introduction à la programmation dynamique

La programmation dynamique, à ne pas confondre avec la programmation dynamique de la mémoire, qui implique l’utilisation de new et malloc pour créer et détruire à volonté des variables dans la mémoire dynamique. La programmation dynamique quant à elle est dans un niveau d’abstraction plus élevé, ça veut dire que le langage de programmation choisi ou la manière d’implémenter les programmes ça relève du détail et ce n’est plus si important, mais c’est plutôt la manière de résoudre les problèmes qui compte. La programmation dynamique a une réputation d’être difficile à apprendre et à enseigner, d’ailleurs il vaut mieux bien maîtriser les techniques de programmation dans un langage donné pour se lancer dans celle-ci, et même dans les cursus d’enseignement en informatique celle-ci est généralement enseignée en deuxième cycle, s’assurant que l’étudiant a une maîtrise approfondie des techniques de programmation. La vidéo en bas donne une bonne introduction et explication de ce qu’est précisément la programmation dynamique.

Introduction à la programmation dynamique

L’exemple typique pour faire apprendre la programmation dynamique est sans doute la célèbre suite de Fibonacci, et à partir de la vidéo on peut voir que cette suite est utilisée pour nous donner une idée globale de ce qu’est la programmation dynamique, l’idée est que la programmation dynamique est une manière d’optimiser l’exécution d’un programme pour une famille de problèmes bien particulaire, des problèmes qui sont généralement de nature récursive, dans lesquels il existerait de la répétition dans le calcul si la récursivité est faite d’une manière cru et sans optimisation. Deux techniques sont utilisées dans la programmation dynamique, qui sont la méthode de haut en bas et la méthode de bas en haut. Il existe aussi un bon article sur le sujet (voici son lien) qui donne une bonne introduction sur le domaine. Il est aussi important de rappeler que toujours la même règle qui s’applique pour l’apprentissage de n’importe quelle discipline réputée difficile, c’est de s’exercer et de faire beaucoup d’exercices.

Disque dur : HDD versus SSD

Mémoriser l’information est l’un des atouts principaux d’un ordinateur, il a une faculté énorme de mémoriser l’information pour des périodes très très longues, sur ce terrain il bat l’humain à plein couture, un seul disque dur peut mémoriser l’équivalent d’une montagne de livre sans oublier la moindre lettre, alors que la mémoire humaine en comparaison est très faible et moins fiable.

SSD vs HDD

À l’intérieur d’un ordinateur on trouve généralement deux types de mémoires, les mémoires vives, appelées aussi mémoire centrale ou RAM, c’est une mémoire temporaire utilisée lorsque l’ordinateur est en état de marche. Les deuxièmes sont les mémoires mortes ou mémoires secondaires, ça inclut disque dur, la mémoire flash, les CD-ROM, DVD…etc. Leurs capacités sont beaucoup plus grandes que la mémoire vive, par contre elles sont utilisées pour un stockage permanent de l’information, et c’est surtout important lorsque la machine est éteinte. La vidéo en haut fait une comparaison entre les deux technologies contemporaines de disque dur qui sont le HDD et le SSD.

ESP8266, du Wi-Fi facile pour projets amateurs

À ma grande surprise je tombe sur ce petit bijou en vente dans les magasins de vente en électronique, je connaissais déjà pour un bon moment l’existence ce petit microcontrôleur chinois avec wi-fi intégré appelé ESP8266, mais je ne le pensais pas disponible en Algérie, surtout avec un prix imbattable pour étudiant de 1000 DA (ou un peu plus), en comparaison l’Arduino est au moins 2 fois plus chère, en plus pour avoir le wi-fi sur Arduino il faut rajouter un autre module appelé sheild d’autant plus cher. L’image en bas montre le petit gabarit de cette carte que je tiens dans la main.

Moi personnellement, comme beaucoup d’autres d’ailleurs, je suis un fervent amateur d’Arduino, j’en ai déjà parlé sur plusieurs articles (liens des articles), tout simplement pour son aisance d’utilisation et son prix très abordable, ça lui permet d’être un excellent moyen pour étudiants et hobbystes de faire d’impressionnants projets en électronique, et surtout il représente une porte d’entrée pour le domaine réputé fermé et difficile des Systèmes Embarqués. Mais je dois avouer que le ESP8266 se tient comme un sérieux concurrent, il arrive à battre haut la main Arduino sur bien des domaines, comme le prix, le gabarie, le wi-fi, la puissance processeur (80 Mhz contre 16 Mhz), la RAM (144 Ko contre 2 Ko), mémoire flash (512Ko contre 32Ko). La différence de puissance est nettement remarquable, d’ailleurs il existe sur internet plusieurs projets avec dans lesquels il est utilisé dans le multimédia, entre autres le son, l’image, la vidéo, la vidéoludique, qui sont réputés très gourmand en ressources et ainsi difficilement utilisable sur Arduino, L’image en bas est celle du même ESP8266 sur un breadboard.

ESP8266 sur breadboard

L’histoire du ESP8266 est très particulière dans le sens où à la base c’est le fruit d’une société chinoise appelé Espressif Systems, offrant du wi-fi à très bas prix, fermé et destiné principalement à la domotique (IoT : Internet of Things en Anglais) et qui n’était pas du tout destiné à un publique d’amateur et d’hobbystes. Malgré cela quelques hackers ont vu dedans un potentiel en analysant la carte. Effectivement le ESP8266 possède un microcontrôleur puissant avec du wi-fi à moindre prix. Les hackeurs ont réussi à l’ouvrir, de le documenter et de permettre son utilisation facile par tous, il est actuellement même possible d’utiliser le logiciel très agréable d’Arduino avec la carte.

Le Webinar et le Streaming en éducation

Dans cette période de covid-19 et de confinement, il nous est souvent suggéré pour nous enseignants d’utiliser les moyens d’enseignement à distance, deux types de technologies sont généralement utilisées pour cet effet, le streaming,qui est une technologie relativement ancienne qui n’est pas initialement utilisée pour l’éducation, mais plutôt comme télévision amateur où un individu lambda peut animer une diffusion vidéo à partir de son PC, les deux plates-formes les plus connues pour ça sont Youtube live et Twitch, ils sont parfois utilisés en éducation, précisément pour le suivi de projets éducatifs ou pour l’enseignement d’une classe de petite taille. Le logiciel le plus connu pour le streaming que personnellement j’utilise est OBS, son avantage c’est qu’il est open source et gratuit mais il est plein d’options et ainsi plutôt complexe et difficile à utiliser pour les débutants.

Techniques de diffusion vidéos

La deuxième technologie est le Webinar ou le web conferencing, le terme webinar vient de la concaténation des deux termes web et seminar, c’est une technologie relativement récente qui est plus adaptée à un plus grand nombre de participants, entre 100 et 1000 et plus, plus appropriée ainsi aux conférences et les cours magistraux. Le logiciel pour le webinar le plus connu à ma connaissance est Zoom, qui dispose des outils plus appropriés à l’exposition et la présentation éducative. La vidéo en haut donne une explication plus détaillée de ces technologies. Le principal inconvénient de l’utilisation de technologie de diffusion vidéo en Algérie est surtout le upload internet (bande montante/sortante), le minimum actuel pour une bonne diffusion est à partir de 2 mégabits d’upload.

Classement des 10 meilleurs langages de programmation en 2020

C’est toujours compliqué de dire qu’un langage est mieux qu’un autre, ou qu’un langage est mauvais, mais généralement les informaticiens se référent à deux métriques pour comparer les langages, la première est le domaine d’utilisation, il y a des langages qui sont bons pour certaines applications mais qui sont mauvais pour d’autres, il n’existe pas de langage parfait pour tous les domaines, par exemple le C est relativement bas niveau, il est ainsi bon pour les systèmes d’exploitation et les systèmes embarqués, le C++ est réputé pour sa robustesse est son efficacité pour les systèmes complexes, le Python est pour ça par plus simple à apprendre et optimal pour le scripting et le datascience, le JavaScript pour le web…etc.

Et la deuxième métrique est l’appréciation intellectuelle pour certaines mécaniques dans certains langages en comparaison à d’autres. Sur un niveau personnel le programmeur peut se trouver à apprécier un langage qu’un autre, il lui paraît plus simple et plus intuitif à utiliser et les mécaniques que le langage offre sont plus adaptés au déroulement de son processus intellectuel de programmation que d’autres.

Top 10 meilleurs langages de programmation pour 2020

Ainsi faire un classement pour les langages de programmation d’une façon neutre est très difficile, l’auteur de la vidéo en haut s’est donc référé à un site qui fait d’une manière automatique l’extraction de statistique d’utilisation des langages sur GitHub, étant donné qu’actuellement c’est le dépôt de code source le plus important au monde, avoir un aperçu sur les statistiques d’utilisation permet d’avoir un aperçu global sur les tendances d’utilisation des langages. Le site en question est GitHut, vous pouvez le consulter et voir l’évolution des langages même sur les années précédentes.

Le classement est comme suite :

  1. JavaScript
  2. Python
  3. Java
  4. Golang
  5. C++
  6. TypeScript
  7. Ruby
  8. PHP
  9. C#
  10. C

Concours d’intégral dans l’université d’MIT

C’est bien connu, l’université d’MIT (Massachusetts Institute of Technology) est l’une des universités les plus prestigieuses au monde, cette université est beaucoup plus connue pour ses influences dans en technologie, notamment en informatique et en électronique, cependant notre vidéo pour cet article est axée sur une branche en mathématique analytique qui traite les intégrales. Ce n’est un pas un cours ni un domaine de recherche mais plutôt un concours entre étudiants généralement de premier cycle, pour la rapidité de résolution d’intégrales le plus souvent enseignées dans les cours d’analyse en première et deuxième année.

La finale de MIT Integration Bee

L’université d’MIT fait ce genre de concours depuis maintenant 40 ans, c’est appelé précisément Integration Bee et voici le lien des derniers concours en date. Je trouve personnellement que c’est très stimulant et très bénéfique pour les étudiants ce type de concours, ça leur permet d’aborder des concepts en mathématiques qui sont réputés très abstraits et difficiles, alors que la compétition prend les mathématiques d’un autre angle qui les rend beaucoup plus appréciables. De mémoire les étudiants à fin d’apprendre les intégrales devraient exercer sur des séries de plusieurs dizaines problèmes, à force de les résoudre ils acquirent de l’expérience et une certaine habilité pour trouver le bon acheminement d’étapes pour aboutir au résultat, ce qui à mon avis rend le procédé un excellent candidat pour la compétition.

Construction d’une carte graphique basique

Là encore une fois Ben Eater nous fait rêver avec ces deux excellentes vidéos en explorant la conception hardware d’une carte graphique à partir de zéro. En d’autres mots From the ground et en utilisant un nombre réduit de composantes logiques simples de la série TTL 74 il arrive sur quelques breadbord à générer le signal analogique pour une image fixe de résolution 800×600 de fréquence 60 Hertz sur un connecteur VGA, qui est actuellement très répondu dans la majorité des moniteurs.

Carte graphique en TTL 74 – première partie

C’est vrai que sur un point de vue technique la carte est loin égale à la puissance des dernières cartes graphique, mais sur un plan académique c’est une pure merveille, elle permet avec toute simplicité de démonter les concepts de base de la création d’une carte graphique pour des amateurs et des étudiants avec un niveau de première ou deuxième année universitaire, il devient même très intéressant de la mettre en mini-projet un de ces jours sachant que tous les composants sont simples à trouver chez les vendeurs d’électronique.

Carte graphique en TTL 74 – deuxième partie

Domain Name System

En réseau, DNS ou Domain Name System est littéralement un service qui fonctionne en parallèle avec le réseau web d’internet, il fonctionne suivant un protocole que vous allez voir son explication sur la vidéo en bas, qui assure le rôle de trouver l’adresse IP pour n’importe quel nom de domaine, les noms de domaines sont tout simplement les noms de sites web comme www.google.com, www.yahoo.com. www.el-kalam.com…etc.

Domain Name System

En pratique, je me rappelle il y a quelques années de cela que parfois les serveurs DNS d’Algérie Télécom défaillaient, ce qui causait une perte de la connexion internet. La solution pour ce genre de problème reste simple, il suffisait de changer dans les configurations de la carte réseau l’adresse du serveur DNS, à l’époque un serveur très connu était généralement très utilisé c’était openDNS, avec le temps les serveurs DNS de Google sont devenus plus performant et surtout plus facile à mémoriser, des adresses comme 8.8.8.8 et 8.8.4.4 en on peut difficilement faire plus simple.

Désassemblage de la PlayStation 5

Tout le monde en parle, il y a deux jours de cela, le Vise Président dans l’un des départements de conception de la PlayStation de la firme Sony Yasuhiro Ootori sur la vidéo en bas, a fait une démonstration marketing du démontage de leur nouvelle console de salon pas encore mis en vente la PlayStation 5. Voir les entrailles de la nouvelle console est très intéressant, ça donne un aperçu sur les nouvelles technologies qui seront portées vers le PC dans les deux ou trois années à venir, car généralement c’était toujours le cas ainsi, les consoles en toujours eu une longueur d’avance sur les PC, et avec un peu de temps les PC vont dépasser à leur tour les consoles, ce cycle est continuel. Néanmoins, récemment la différence de niveau entre PC et consoles n’est plus aussi flagrante comme avec les premières générations de consoles et de PC, car dans les années 80 et 90 les PC n’était pas comme aujourd’hui connus pour être utilisés pour jouer aux jeux vidéo, en plus à l’époque les fabricants de consoles concevaient eux-même leurs propres puces, qui étaient exclusives à leurs propres machines, cependant actuellement par exemple la PlayStation 5 comme vous allez le voir utilise une puce graphique de la marque AMD, qui va sans doute être utilisé après dans les cartes graphiques pour PC.

Désassemblage de la PlayStation 5

Une dernière chose à mentionner qui a sans doute attiré l’attention est la technologie liquid metal, c’est une technologie apparemment nouvelle propre à Sony, elle est utilisée comme expliqué dans la vidéo, pour faire la dissipation de chaleur, c’est comme la patte thermique du processeur apparemment, ça reste à confirmer après la sortie de la console.